diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java index bfdc6b5c2..75f4b8cbb 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java @@ -280,6 +280,16 @@ public class StockInOrderDomainService { // //统计总体积 // BigDecimal volumeLimit = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getVolumeLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add); // stockInOrderDO.setVolumeLimit(volumeLimit); + //复制新建时原单明细的收货数量、上架数量、作业数量等执行数据不能带入新单,统一清空 + if (!CollectionUtils.isEmpty(stockInOrderDO.getMaterialDetailList())) { + stockInOrderDO.getMaterialDetailList().forEach(detail -> { + if (detail != null) { + detail.setReceiptQuantity(null); + detail.setShelvesQuantity(null); + detail.setActualQuantity(null); + } + }); + } stockInOrderService.insert(stockInOrderDO); return materialDetailService.batchInsert(stockInOrderDO.getInOrderNumber(), stockInOrderDO.getMaterialDetailList()); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java index 4de4955b9..3d431a636 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java @@ -349,6 +349,19 @@ public class StockOutOrderDomainService { if (stockOutOrderDO.getCheckTaskDistribution() == null) { stockOutOrderDO.setCheckTaskDistribution(2); } + //复制新建时原单明细的库存数量、分配数量、拣货/复核数量等执行数据不能带入新单,统一清空 + if (!CollectionUtils.isEmpty(stockOutOrderDO.getMaterialDetailList())) { + stockOutOrderDO.getMaterialDetailList().forEach(detail -> { + if (detail != null) { + detail.setInventoryQuantity(null); + detail.setAllocationQuantity(null); + detail.setAlreadyAllocationQuantity(null); + detail.setPickingQuantity(null); + detail.setCheckQuantity(null); + detail.setActualQuantity(null); + } + }); + } stockOutOrderService.insert(stockOutOrderDO); return outMaterialDetailService.batchInsert(stockOutOrderDO.getOutOrderNumber(), stockOutOrderDO.getMaterialDetailList()); }