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 4c6f3ac51..aa0066995 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 @@ -894,6 +894,7 @@ public class StockOutOrderDomainService { Long uniqueId = outMaterialDetailDO.getUniqueId(); BigDecimal outWeight = outMaterialDetailDO.getOutWeight(); BigDecimal outVolume = outMaterialDetailDO.getOutVolume(); + BigDecimal outQuantity = outMaterialDetailDO.getOutQuantity(); PickingMaterialDetail pickingMaterialDetail = pickingMaterialDetailService.getOne(new QueryWrapper().lambda() .eq(PickingMaterialDetail::getOutUniqueId, uniqueId) .eq(PickingMaterialDetail::getDelFlag, 1), false); @@ -903,9 +904,18 @@ public class StockOutOrderDomainService { pickingMaterialDetail.setTotalGrossWeight(outVolume); pickingMaterialDetail.setVolumeLimit(outVolume); pickingMaterialDetail.setTotalVolume(outVolume); - pickingMaterialDetail.setPickingQuantity(outMaterialDetailDO.getOutQuantity()); - pickingMaterialDetail.setAlreadyPickingQuantity(outMaterialDetailDO.getOutQuantity()); + pickingMaterialDetail.setPickingQuantity(outQuantity == null || outQuantity.compareTo(BigDecimal.ZERO) == 0 ? outMaterialDetailDO.getOutQuantity() : outQuantity); + pickingMaterialDetail.setAlreadyPickingQuantity(outQuantity == null || outQuantity.compareTo(BigDecimal.ZERO) == 0 ? outMaterialDetailDO.getOutQuantity() : outQuantity); pickingMaterialDetailService.updateById(pickingMaterialDetail); + OutMaterialDetail outMaterialDetail = outMaterialDetailService.getOne(new LambdaQueryWrapper() + .eq(OutMaterialDetail::getUniqueId, uniqueId) + .eq(OutMaterialDetail::getDelFlag, 1), false); + if (outMaterialDetail != null) { + outMaterialDetail.setOutWeight(outWeight); + outMaterialDetail.setOutVolume(outVolume); + outMaterialDetail.setOutQuantity(outQuantity == null || outQuantity.compareTo(BigDecimal.ZERO) == 0 ? outMaterialDetailDO.getOutQuantity() : outQuantity); + outMaterialDetailService.updateById(outMaterialDetail); + } } } }