From 86700813aeaa625a36cdac9bde9ebb165acd618f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 14 Mar 2026 20:38:33 +0800 Subject: [PATCH] =?UTF-8?q?PDA=E5=A4=8D=E6=A0=B8=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StockOutOrderApplicationService.java | 13 ++++++++++++- .../facade/IPickingMaterialDetailService.java | 11 +++++++++++ .../mapper/PickingMaterialDetailMapper.java | 11 +++++++++++ .../persistence/PickingMaterialDetailImpl.java | 12 ++++++++++++ .../PickingMaterialDetailMapper.xml | 17 +++++++++++++++++ 5 files changed, 63 insertions(+), 1 deletion(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java index f52ad744f..7e824fc0b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java @@ -36,6 +36,7 @@ import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialCheckPO; import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO; import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO; import com.mhd.wms.domain.outMaterialDetail.service.OutMaterialDetailDomainService; +import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService; import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder; import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService; import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO; @@ -80,6 +81,8 @@ public class StockOutOrderApplicationService { private IStockOutOrderService stockOutOrderService; @Autowired private IOutMaterialDetailService outMaterialDetailService; + @Autowired + private IPickingMaterialDetailService pickingMaterialDetailService; /** @@ -151,7 +154,15 @@ public class StockOutOrderApplicationService { BigDecimal reduce = materialDetailList.stream().map(OutMaterialDetailPO::getOutboundQuantity).reduce(BigDecimal.ZERO, BigDecimal::add); stockOutOrderPO.setTotalOutboundQuantity(reduce); stockOutOrderPO.setAllocationQuantity(stockOutOrderPO1.getAllocationQuantity()); - stockOutOrderPO.setPickingQuantity(stockOutOrderPO1.getPickingQuantity()); + // PDA复核物料总数量:使用实际下发时的拣货完成数量(picking_material_detail),而非计划数量 + String outOrderNumber = stockOutOrderPO.getOutOrderNumber(); + BigDecimal actualPickingQty = pickingMaterialDetailService.sumPickingQuantityByOutOrderNumber(outOrderNumber); + stockOutOrderPO.setPickingQuantity(actualPickingQty.compareTo(BigDecimal.ZERO) > 0 ? actualPickingQty : stockOutOrderPO1.getPickingQuantity()); + // 物料种类:按有拣货数量的明细统计 + Integer materialTypeCount = pickingMaterialDetailService.countMaterialTypesByOutOrderNumber(outOrderNumber); + if (materialTypeCount != null && materialTypeCount > 0) { + stockOutOrderPO.setMaterialQuantity(materialTypeCount); + } stockOutOrderPO.setCheckQuantity(stockOutOrderPO1.getCheckQuantity()); } return stockOutOrderPOS; diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/facade/IPickingMaterialDetailService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/facade/IPickingMaterialDetailService.java index adf4361c3..52849db3e 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/facade/IPickingMaterialDetailService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/facade/IPickingMaterialDetailService.java @@ -9,6 +9,7 @@ import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO; import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; /** @@ -26,6 +27,16 @@ public interface IPickingMaterialDetailService extends IService + + + + UPDATE picking_material_detail