出库不减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 = "删除标志") @ApiModelProperty(value = "删除标志")
private Integer delFlag; private Integer delFlag;
@ApiModelProperty(value = "是否已退货")
private Integer isReturn;
} }
@@ -69,4 +69,6 @@ public class BusinessDeliveryDetailsLinkDTO extends BaseVOEntity {
private Integer delFlag; private Integer delFlag;
@ApiModelProperty("运输单信息") @ApiModelProperty("运输单信息")
private TmsTransportNote tmsTransportNote; private TmsTransportNote tmsTransportNote;
} @ApiModelProperty(value = "是否已退货")
private Integer isReturn;
}
@@ -68,4 +68,7 @@ public class BusinessDeliveryDetailsLinkPO extends BaseVOEntity {
@ApiModelProperty("删除标志") @ApiModelProperty("删除标志")
private Integer delFlag; private Integer delFlag;
}
@ApiModelProperty(value = "是否已退货")
private Integer isReturn;
}
@@ -73,4 +73,7 @@ public class BusinessDeliveryDetailsLinkDO extends BaseVOEntity {
@ApiModelProperty("删除标志") @ApiModelProperty("删除标志")
private Integer delFlag; private Integer delFlag;
}
@ApiModelProperty(value = "是否已退货")
private Integer isReturn;
}
@@ -79,6 +79,8 @@ public class ReservationStockOutOrderDomainService {
private WmsServiceFeign wmsServiceFeign; private WmsServiceFeign wmsServiceFeign;
@Autowired @Autowired
private IReservationDeliveryDetailsLinkService reservationDeliveryDetailsLinkService; private IReservationDeliveryDetailsLinkService reservationDeliveryDetailsLinkService;
@Autowired
private IBusinessDeliveryDetailsLinkService businessDeliveryDetailsLinkService;
/** /**
* 分页查询出库单列表 * 分页查询出库单列表
@@ -727,73 +729,82 @@ public class ReservationStockOutOrderDomainService {
public void returnGoods(String invoiceNumber) { public void returnGoods(String invoiceNumber) {
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
List<ReservationDeliveryDetailsLink> list = reservationDeliveryDetailsLinkService.list(new QueryWrapper<ReservationDeliveryDetailsLink>().lambda().eq(ReservationDeliveryDetailsLink::getInvoiceNumber, invoiceNumber)); BusinessDeliveryDetailsLink businessDeliveryDetailsLink = businessDeliveryDetailsLinkService.getOne(new QueryWrapper<BusinessDeliveryDetailsLink>().lambda().eq(BusinessDeliveryDetailsLink::getInvoiceNumber, invoiceNumber), false);
if (list != null && !list.isEmpty() && list.size()==1) { if (businessDeliveryDetailsLink != null) {
ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = list.get(0); businessDeliveryDetailsLink.setIsReturn(1); // 1表示已退货
String orderNumber = reservationDeliveryDetailsLink.getOrderNumber(); businessDeliveryDetailsLink.setUpdateBy(loginUser.getUserPo().getUserId());
Integer bag = reservationDeliveryDetailsLink.getBag(); businessDeliveryDetailsLink.setUpdateByName(loginUser.getUserPo().getUserName());
ReservationStockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<ReservationStockOutOrder>().lambda().eq(ReservationStockOutOrder::getOutOrderNumber, orderNumber), false); businessDeliveryDetailsLink.setUpdateTime(new Date());
if (stockOutOrder != null) { businessDeliveryDetailsLinkService.updateById(businessDeliveryDetailsLink);
ReservationStockInOrder reservationStockInOrder = new ReservationStockInOrder(); // String invoiceNumber1 = businessDeliveryDetailsLink.getInvoiceNumber();
reservationStockInOrder.setOrganizationId(stockOutOrder.getOrganizationId()); List<ReservationDeliveryDetailsLink> list = reservationDeliveryDetailsLinkService.list(new QueryWrapper<ReservationDeliveryDetailsLink>().lambda().eq(ReservationDeliveryDetailsLink::getInvoiceNumber, invoiceNumber));
reservationStockInOrder.setOrganizationName(stockOutOrder.getOrganizationName()); if (list != null && !list.isEmpty() && list.size()==1) {
reservationStockInOrder.setTopOrganizationId(stockOutOrder.getTopOrganizationId()); ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = list.get(0);
reservationStockInOrder.setShipperId(stockOutOrder.getShipperId()); String orderNumber = reservationDeliveryDetailsLink.getOrderNumber();
reservationStockInOrder.setShipperName(stockOutOrder.getShipperName()); Integer bag = reservationDeliveryDetailsLink.getBag();
reservationStockInOrder.setShipperCode(stockOutOrder.getShipperCode()); ReservationStockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<ReservationStockOutOrder>().lambda().eq(ReservationStockOutOrder::getOutOrderNumber, orderNumber), false);
reservationStockInOrder.setBusinessOrderNo(stockOutOrder.getOutOrderNumber()); if (stockOutOrder != null) {
reservationStockInOrder.setIssueStatus(0); ReservationStockInOrder reservationStockInOrder = new ReservationStockInOrder();
reservationStockInOrder.setCreateTime(new Date()); reservationStockInOrder.setOrganizationId(stockOutOrder.getOrganizationId());
reservationStockInOrder.setCreateBy(loginUser.getUserPo().getUserId()); reservationStockInOrder.setOrganizationName(stockOutOrder.getOrganizationName());
reservationStockInOrder.setCreateByName(loginUser.getUserPo().getUserName()); reservationStockInOrder.setTopOrganizationId(stockOutOrder.getTopOrganizationId());
reservationStockInOrder.setStatus(1); reservationStockInOrder.setShipperId(stockOutOrder.getShipperId());
reservationStockInOrder.setAuditStatus(1); reservationStockInOrder.setShipperName(stockOutOrder.getShipperName());
reservationStockInOrder.setOrderTypeName("退货入库"); reservationStockInOrder.setShipperCode(stockOutOrder.getShipperCode());
reservationStockInOrder.setOrderTypeCode("tui_huo_ru_ku"); reservationStockInOrder.setBusinessOrderNo(stockOutOrder.getOutOrderNumber());
reservationStockInOrder.setDirectWarehouse(1); reservationStockInOrder.setIssueStatus(0);
reservationStockInOrder.setCloseOrder(2); reservationStockInOrder.setCreateTime(new Date());
reservationStockInOrder.setOrderSource(1); reservationStockInOrder.setCreateBy(loginUser.getUserPo().getUserId());
reservationStockInOrder.setOrderStatus("新增"); reservationStockInOrder.setCreateByName(loginUser.getUserPo().getUserName());
reservationStockInOrder.setSalesmanId(loginUser.getUserPo().getUserId().toString()); reservationStockInOrder.setStatus(1);
reservationStockInOrder.setSalesmanName(loginUser.getUserPo().getUserName()); reservationStockInOrder.setAuditStatus(1);
Random random = new Random(); reservationStockInOrder.setOrderTypeName("退货入库");
int num = random.nextInt(1000); // 0~999 reservationStockInOrder.setOrderTypeCode("tui_huo_ru_ku");
String str = String.format("%03d", num); // 不足三位前面补零 reservationStockInOrder.setDirectWarehouse(1);
reservationStockInOrder.setInOrderNumber("退"+stockOutOrder.getOutOrderNumber()+str); reservationStockInOrder.setCloseOrder(2);
reservationStockInOrderMapper.insert(reservationStockInOrder); reservationStockInOrder.setOrderSource(1);
reservationDeliveryDetailsLink.setReturnOrderNumber(reservationStockInOrder.getInOrderNumber()); reservationStockInOrder.setOrderStatus("新增");
reservationDeliveryDetailsLinkService.updateById(reservationDeliveryDetailsLink); reservationStockInOrder.setSalesmanId(loginUser.getUserPo().getUserId().toString());
String returnOrderNumber = stockOutOrder.getReturnOrderNumber(); reservationStockInOrder.setSalesmanName(loginUser.getUserPo().getUserName());
if (returnOrderNumber == null) { Random random = new Random();
stockOutOrder.setReturnOrderNumber(reservationStockInOrder.getInOrderNumber()); int num = random.nextInt(1000); // 0~999
} else { String str = String.format("%03d", num); // 不足三位前面补零
stockOutOrder.setReturnOrderNumber(returnOrderNumber + "," + reservationStockInOrder.getInOrderNumber()); 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);
} }
} }
} }