From e2f5896be242ec0309a238f40108c86f5fb16ef5 Mon Sep 17 00:00:00 2001 From: zhaoqing <3160641494@qq.com> Date: Wed, 22 Jul 2026 20:14:19 +0800 Subject: [PATCH] =?UTF-8?q?fix(oms):=E4=BF=AE=E6=94=B9=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E7=9A=84=E5=8D=95=E5=8F=B7=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ReserveStockInOrderDomainService.java | 7 +++++++ .../service/ReserveStockOutOrderDomainService.java | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java index a379ff8e9..26a352e07 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java @@ -18,6 +18,7 @@ import com.mhd.oms.domain.reservationInMaterialDetail.repository.facade.IReserva import com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.InventoryAdjustmentRecordPO; import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder; import com.mhd.oms.domain.reservationStockInOrder.repository.facade.IReservationStockInOrderService; +import com.mhd.oms.domain.reservationStockInOrder.service.ReservationStockInOrderDomainService; import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO; import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialGoodsRulePO; import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialWarehouseControlPO; @@ -78,6 +79,8 @@ public class ReserveStockInOrderDomainService { private IReservationStockInOrderService reservationStockInOrderService; @Autowired private IReservationInMaterialDetailService reservationInMaterialDetailService; + @Autowired + private ReservationStockInOrderDomainService reservationStockInOrderDomainService; /** * 分页查询入库单列表 @@ -488,6 +491,10 @@ public class ReserveStockInOrderDomainService { } BigDecimal quantity = materialDetailList.stream().map(ReserveInMaterialDetail::getReserveQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add); reservationStockInOrder.setQuantity(quantity); + // 生成业务单号,防止与已生成的入库业务单号重复 + String newOrderNumber = reservationStockInOrderDomainService.generateReserveOrderNumber(); + reservationStockInOrder.setInOrderNumber(newOrderNumber); + reservationStockInOrder.setBusinessOrderNo(newOrderNumber); reservationStockInOrderService.save(reservationStockInOrder); reservationInMaterialDetailService.saveBatch(inMaterialDetailList); return update; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java index 324750480..9fe704cb1 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java @@ -16,6 +16,7 @@ import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO; import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder; import com.mhd.oms.domain.reservationStockOutOrder.repository.facade.IReservationStockOutOrderService; +import com.mhd.oms.domain.reservationStockOutOrder.service.ReservationStockOutOrderDomainService; import com.mhd.oms.domain.reserveInMaterialDetail.entity.ReserveInMaterialDetail; import com.mhd.oms.domain.reserveOutMaterialDetail.entity.ReserveOutMaterialDetail; import com.mhd.oms.domain.reserveOutMaterialDetail.repository.facade.IReserveOutMaterialDetailService; @@ -75,6 +76,9 @@ public class ReserveStockOutOrderDomainService { @Autowired private ReserveStockOutOrderMapper stockOutOrderMapper; + @Autowired + private ReservationStockOutOrderDomainService reservationStockOutOrderDomainService; + /** * 分页查询出库单列表 */ @@ -302,6 +306,10 @@ public class ReserveStockOutOrderDomainService { Long shipperId = reservationStockOutOrder.getShipperId(); String jsbz = reservationStockInOrderMapper.getJsbz(shipperId); reservationStockOutOrder.setSettlementCurrency(jsbz); + // 生成出库业务单号,防止与已生成的出库业务单号重复 + String newOrderNumber = reservationStockOutOrderDomainService.generateReserveOrderNumber(); + reservationStockOutOrder.setOutOrderNumber(newOrderNumber); + reservationStockOutOrder.setBusinessOrderNo(newOrderNumber); reservationStockOutOrderService.save(reservationStockOutOrder); String outOrderNumber = reservationStockOutOrder.getOutOrderNumber(); List materialDetailList = outMaterialDetailService.list(new QueryWrapper().lambda().eq(ReserveOutMaterialDetail::getOutOrderNumber, outOrderNumber));