出库不减o库存问题修改;

This commit is contained in:
王奎兴
2026-05-29 16:39:02 +08:00
parent 8daa7f3ff3
commit b5cdd42381
5 changed files with 91 additions and 70 deletions
@@ -64,5 +64,7 @@ public class BusinessDeliveryDetailsLink extends BaseVOEntity {
@ApiModelProperty(value = "删除标志")
private Integer delFlag;
@ApiModelProperty(value = "是否已退货")
private Integer isReturn;
}
}
@@ -69,4 +69,6 @@ public class BusinessDeliveryDetailsLinkDTO extends BaseVOEntity {
private Integer delFlag;
@ApiModelProperty("运输单信息")
private TmsTransportNote tmsTransportNote;
}
@ApiModelProperty(value = "是否已退货")
private Integer isReturn;
}
@@ -68,4 +68,7 @@ public class BusinessDeliveryDetailsLinkPO extends BaseVOEntity {
@ApiModelProperty("删除标志")
private Integer delFlag;
}
@ApiModelProperty(value = "是否已退货")
private Integer isReturn;
}
@@ -73,4 +73,7 @@ public class BusinessDeliveryDetailsLinkDO extends BaseVOEntity {
@ApiModelProperty("删除标志")
private Integer delFlag;
}
@ApiModelProperty(value = "是否已退货")
private Integer isReturn;
}
@@ -79,6 +79,8 @@ public class ReservationStockOutOrderDomainService {
private WmsServiceFeign wmsServiceFeign;
@Autowired
private IReservationDeliveryDetailsLinkService reservationDeliveryDetailsLinkService;
@Autowired
private IBusinessDeliveryDetailsLinkService businessDeliveryDetailsLinkService;
/**
* 分页查询出库单列表
@@ -727,73 +729,82 @@ public class ReservationStockOutOrderDomainService {
public void returnGoods(String invoiceNumber) {
LoginUser loginUser = SecurityUtils.getLoginUser();
List<ReservationDeliveryDetailsLink> list = reservationDeliveryDetailsLinkService.list(new QueryWrapper<ReservationDeliveryDetailsLink>().lambda().eq(ReservationDeliveryDetailsLink::getInvoiceNumber, invoiceNumber));
if (list != null && !list.isEmpty() && list.size()==1) {
ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = list.get(0);
String orderNumber = reservationDeliveryDetailsLink.getOrderNumber();
Integer bag = reservationDeliveryDetailsLink.getBag();
ReservationStockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<ReservationStockOutOrder>().lambda().eq(ReservationStockOutOrder::getOutOrderNumber, orderNumber), false);
if (stockOutOrder != null) {
ReservationStockInOrder reservationStockInOrder = new ReservationStockInOrder();
reservationStockInOrder.setOrganizationId(stockOutOrder.getOrganizationId());
reservationStockInOrder.setOrganizationName(stockOutOrder.getOrganizationName());
reservationStockInOrder.setTopOrganizationId(stockOutOrder.getTopOrganizationId());
reservationStockInOrder.setShipperId(stockOutOrder.getShipperId());
reservationStockInOrder.setShipperName(stockOutOrder.getShipperName());
reservationStockInOrder.setShipperCode(stockOutOrder.getShipperCode());
reservationStockInOrder.setBusinessOrderNo(stockOutOrder.getOutOrderNumber());
reservationStockInOrder.setIssueStatus(0);
reservationStockInOrder.setCreateTime(new Date());
reservationStockInOrder.setCreateBy(loginUser.getUserPo().getUserId());
reservationStockInOrder.setCreateByName(loginUser.getUserPo().getUserName());
reservationStockInOrder.setStatus(1);
reservationStockInOrder.setAuditStatus(1);
reservationStockInOrder.setOrderTypeName("退货入库");
reservationStockInOrder.setOrderTypeCode("tui_huo_ru_ku");
reservationStockInOrder.setDirectWarehouse(1);
reservationStockInOrder.setCloseOrder(2);
reservationStockInOrder.setOrderSource(1);
reservationStockInOrder.setOrderStatus("新增");
reservationStockInOrder.setSalesmanId(loginUser.getUserPo().getUserId().toString());
reservationStockInOrder.setSalesmanName(loginUser.getUserPo().getUserName());
Random random = new Random();
int num = random.nextInt(1000); // 0~999
String str = String.format("%03d", num); // 不足三位前面补零
reservationStockInOrder.setInOrderNumber("退"+stockOutOrder.getOutOrderNumber()+str);
reservationStockInOrderMapper.insert(reservationStockInOrder);
reservationDeliveryDetailsLink.setReturnOrderNumber(reservationStockInOrder.getInOrderNumber());
reservationDeliveryDetailsLinkService.updateById(reservationDeliveryDetailsLink);
String returnOrderNumber = stockOutOrder.getReturnOrderNumber();
if (returnOrderNumber == null) {
stockOutOrder.setReturnOrderNumber(reservationStockInOrder.getInOrderNumber());
} else {
stockOutOrder.setReturnOrderNumber(returnOrderNumber + "," + reservationStockInOrder.getInOrderNumber());
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = businessDeliveryDetailsLinkService.getOne(new QueryWrapper<BusinessDeliveryDetailsLink>().lambda().eq(BusinessDeliveryDetailsLink::getInvoiceNumber, invoiceNumber), false);
if (businessDeliveryDetailsLink != null) {
businessDeliveryDetailsLink.setIsReturn(1); // 1表示已退货
businessDeliveryDetailsLink.setUpdateBy(loginUser.getUserPo().getUserId());
businessDeliveryDetailsLink.setUpdateByName(loginUser.getUserPo().getUserName());
businessDeliveryDetailsLink.setUpdateTime(new Date());
businessDeliveryDetailsLinkService.updateById(businessDeliveryDetailsLink);
// String invoiceNumber1 = businessDeliveryDetailsLink.getInvoiceNumber();
List<ReservationDeliveryDetailsLink> list = reservationDeliveryDetailsLinkService.list(new QueryWrapper<ReservationDeliveryDetailsLink>().lambda().eq(ReservationDeliveryDetailsLink::getInvoiceNumber, invoiceNumber));
if (list != null && !list.isEmpty() && list.size()==1) {
ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = list.get(0);
String orderNumber = reservationDeliveryDetailsLink.getOrderNumber();
Integer bag = reservationDeliveryDetailsLink.getBag();
ReservationStockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<ReservationStockOutOrder>().lambda().eq(ReservationStockOutOrder::getOutOrderNumber, orderNumber), false);
if (stockOutOrder != null) {
ReservationStockInOrder reservationStockInOrder = new ReservationStockInOrder();
reservationStockInOrder.setOrganizationId(stockOutOrder.getOrganizationId());
reservationStockInOrder.setOrganizationName(stockOutOrder.getOrganizationName());
reservationStockInOrder.setTopOrganizationId(stockOutOrder.getTopOrganizationId());
reservationStockInOrder.setShipperId(stockOutOrder.getShipperId());
reservationStockInOrder.setShipperName(stockOutOrder.getShipperName());
reservationStockInOrder.setShipperCode(stockOutOrder.getShipperCode());
reservationStockInOrder.setBusinessOrderNo(stockOutOrder.getOutOrderNumber());
reservationStockInOrder.setIssueStatus(0);
reservationStockInOrder.setCreateTime(new Date());
reservationStockInOrder.setCreateBy(loginUser.getUserPo().getUserId());
reservationStockInOrder.setCreateByName(loginUser.getUserPo().getUserName());
reservationStockInOrder.setStatus(1);
reservationStockInOrder.setAuditStatus(1);
reservationStockInOrder.setOrderTypeName("退货入库");
reservationStockInOrder.setOrderTypeCode("tui_huo_ru_ku");
reservationStockInOrder.setDirectWarehouse(1);
reservationStockInOrder.setCloseOrder(2);
reservationStockInOrder.setOrderSource(1);
reservationStockInOrder.setOrderStatus("新增");
reservationStockInOrder.setSalesmanId(loginUser.getUserPo().getUserId().toString());
reservationStockInOrder.setSalesmanName(loginUser.getUserPo().getUserName());
Random random = new Random();
int num = random.nextInt(1000); // 0~999
String str = String.format("%03d", num); // 不足三位前面补零
reservationStockInOrder.setInOrderNumber("退"+stockOutOrder.getOutOrderNumber()+str);
reservationStockInOrderMapper.insert(reservationStockInOrder);
reservationDeliveryDetailsLink.setReturnOrderNumber(reservationStockInOrder.getInOrderNumber());
reservationDeliveryDetailsLinkService.updateById(reservationDeliveryDetailsLink);
String returnOrderNumber = stockOutOrder.getReturnOrderNumber();
if (returnOrderNumber == null) {
stockOutOrder.setReturnOrderNumber(reservationStockInOrder.getInOrderNumber());
} else {
stockOutOrder.setReturnOrderNumber(returnOrderNumber + "," + reservationStockInOrder.getInOrderNumber());
}
String deliveryName = stockOutOrder.getDeliveryName();
if (deliveryName == null) {
stockOutOrder.setDeliveryName(reservationDeliveryDetailsLink.getDeliveryName());
} else {
stockOutOrder.setDeliveryName(deliveryName + "," + reservationDeliveryDetailsLink.getDeliveryName());
}
String invoiceNumber1 = stockOutOrder.getInvoiceNumber();
if (invoiceNumber1 == null) {
stockOutOrder.setInvoiceNumber(reservationDeliveryDetailsLink.getInvoiceNumber());
} else {
stockOutOrder.setInvoiceNumber(invoiceNumber1 + "," + reservationDeliveryDetailsLink.getInvoiceNumber());
}
String customerNumber = stockOutOrder.getCustomerNumber();
if (customerNumber == null) {
stockOutOrder.setCustomerNumber(reservationDeliveryDetailsLink.getCustomerNumber());
} else {
stockOutOrder.setCustomerNumber(customerNumber + "," + reservationDeliveryDetailsLink.getCustomerNumber());
}
BigDecimal returnQuantity = stockOutOrder.getReturnQuantity();
if (returnQuantity == null || returnQuantity.compareTo(BigDecimal.ZERO) == 0) {
stockOutOrder.setReturnQuantity(new BigDecimal(bag));
} else {
stockOutOrder.setReturnQuantity(returnQuantity.add(new BigDecimal(bag)));
}
stockOutOrderService.updateById(stockOutOrder);
}
String deliveryName = stockOutOrder.getDeliveryName();
if (deliveryName == null) {
stockOutOrder.setDeliveryName(reservationDeliveryDetailsLink.getDeliveryName());
} else {
stockOutOrder.setDeliveryName(deliveryName + "," + reservationDeliveryDetailsLink.getDeliveryName());
}
String invoiceNumber1 = stockOutOrder.getInvoiceNumber();
if (invoiceNumber1 == null) {
stockOutOrder.setInvoiceNumber(reservationDeliveryDetailsLink.getInvoiceNumber());
} else {
stockOutOrder.setInvoiceNumber(invoiceNumber1 + "," + reservationDeliveryDetailsLink.getInvoiceNumber());
}
String customerNumber = stockOutOrder.getCustomerNumber();
if (customerNumber == null) {
stockOutOrder.setCustomerNumber(reservationDeliveryDetailsLink.getCustomerNumber());
} else {
stockOutOrder.setCustomerNumber(customerNumber + "," + reservationDeliveryDetailsLink.getCustomerNumber());
}
BigDecimal returnQuantity = stockOutOrder.getReturnQuantity();
if (returnQuantity == null || returnQuantity.compareTo(BigDecimal.ZERO) == 0) {
stockOutOrder.setReturnQuantity(new BigDecimal(bag));
} else {
stockOutOrder.setReturnQuantity(returnQuantity.add(new BigDecimal(bag)));
}
stockOutOrderService.updateById(stockOutOrder);
}
}
}