PC复核下发
This commit is contained in:
+22
-4
@@ -790,7 +790,12 @@ public class StockOutOrderDomainService {
|
||||
outMaterialDetailPO.setCheckVolume(pickingMaterialDetailPO.getTotalVolume());
|
||||
outMaterialDetailPO.setCheckNetWeight(pickingMaterialDetailPO.getTotalNetWeight());
|
||||
outMaterialDetailPO.setCheckGrossWeight(pickingMaterialDetailPO.getTotalGrossWeight());
|
||||
outMaterialDetailPO.setWaitCheckQuantity(outMaterialDetailPO.getPickingQuantity());
|
||||
// 复核明细按已拣货完成数量:优先使用 picking_material_detail 汇总的拣货数量(真实拣货数据)
|
||||
if (pickingMaterialDetailPO.getPickingQuantity() != null && pickingMaterialDetailPO.getPickingQuantity().compareTo(BigDecimal.ZERO) > 0) {
|
||||
outMaterialDetailPO.setWaitCheckQuantity(pickingMaterialDetailPO.getPickingQuantity());
|
||||
} else {
|
||||
outMaterialDetailPO.setWaitCheckQuantity(outMaterialDetailPO.getPickingQuantity());
|
||||
}
|
||||
}
|
||||
List<OutMaterialDetailPO> children = outMaterialDetailPO.getChildren();
|
||||
if (!CollectionUtils.isEmpty(children)) {
|
||||
@@ -808,7 +813,12 @@ public class StockOutOrderDomainService {
|
||||
outMaterialDetailPOChild.setCheckVolume(pickingMaterialDetailPO1.getTotalVolume());
|
||||
outMaterialDetailPOChild.setCheckNetWeight(pickingMaterialDetailPO1.getTotalNetWeight());
|
||||
outMaterialDetailPOChild.setCheckGrossWeight(pickingMaterialDetailPO1.getTotalGrossWeight());
|
||||
outMaterialDetailPOChild.setWaitCheckQuantity(outMaterialDetailPOChild.getPickingQuantity());
|
||||
// 复核明细按已拣货完成数量:优先使用 picking_material_detail 汇总的拣货数量(真实拣货数据)
|
||||
if (pickingMaterialDetailPO1.getPickingQuantity() != null && pickingMaterialDetailPO1.getPickingQuantity().compareTo(BigDecimal.ZERO) > 0) {
|
||||
outMaterialDetailPOChild.setWaitCheckQuantity(pickingMaterialDetailPO1.getPickingQuantity());
|
||||
} else {
|
||||
outMaterialDetailPOChild.setWaitCheckQuantity(outMaterialDetailPOChild.getPickingQuantity());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -821,7 +831,10 @@ public class StockOutOrderDomainService {
|
||||
for (OutMaterialDetailPO outMaterialDetailPO : outMaterialDetailPOList){
|
||||
weightLimit = weightLimit.add(outMaterialDetailPO.getWeightLimit());
|
||||
volumeLimit = volumeLimit.add(outMaterialDetailPO.getVolumeLimit());
|
||||
wantNumber = wantNumber.add(outMaterialDetailPO.getPickingQuantity());
|
||||
// 待复核数量按已拣货完成数量:优先 waitCheckQuantity(来自 picking_material_detail),否则用 pickingQuantity
|
||||
BigDecimal qty = (outMaterialDetailPO.getWaitCheckQuantity() != null && outMaterialDetailPO.getWaitCheckQuantity().compareTo(BigDecimal.ZERO) > 0)
|
||||
? outMaterialDetailPO.getWaitCheckQuantity() : outMaterialDetailPO.getPickingQuantity();
|
||||
wantNumber = wantNumber.add(qty != null ? qty : BigDecimal.ZERO);
|
||||
alreadyNumber = alreadyNumber.add(outMaterialDetailPO.getCheckQuantity());
|
||||
}
|
||||
OutMaterialCheckPO outMaterialCheckPO = new OutMaterialCheckPO();
|
||||
@@ -863,7 +876,12 @@ public class StockOutOrderDomainService {
|
||||
|
||||
// 3. 为每个物料明细设置更多属性(从库存表中获取值)
|
||||
setMaterialMoreDetailListFromInventory(materialDetailList, batchDetailMap);
|
||||
materialDetailList.removeIf(detail -> detail.getPickingQuantity() != null && detail.getPickingQuantity().compareTo(BigDecimal.ONE) < 0);
|
||||
// 过滤无拣货数量的明细:pickingQuantity 或 waitCheckQuantity 任一 >= 1 则保留(waitCheckQuantity 来自 picking_material_detail 已拣货数量)
|
||||
materialDetailList.removeIf(detail -> {
|
||||
BigDecimal pickQty = detail.getPickingQuantity() != null ? detail.getPickingQuantity() : BigDecimal.ZERO;
|
||||
BigDecimal waitQty = detail.getWaitCheckQuantity() != null ? detail.getWaitCheckQuantity() : BigDecimal.ZERO;
|
||||
return pickQty.compareTo(BigDecimal.ONE) < 0 && waitQty.compareTo(BigDecimal.ONE) < 0;
|
||||
});
|
||||
stockOutOrderPO.setMaterialDetailList(materialDetailList);
|
||||
return stockOutOrderPO;
|
||||
}
|
||||
|
||||
+6
-1
@@ -191,11 +191,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="queryTotalsByOutNumberAndBaseId" resultType="com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO">
|
||||
SELECT
|
||||
b.TOTAL_AREA,b.TOTAL_VOLUME,b.TOTAL_NET_WEIGHT,b.TOTAL_GROSS_WEIGHT
|
||||
IFNULL(SUM(b.PICKING_QUANTITY), 0) AS picking_quantity,
|
||||
IFNULL(SUM(b.TOTAL_AREA), 0) AS total_area,
|
||||
IFNULL(SUM(b.TOTAL_VOLUME), 0) AS total_volume,
|
||||
IFNULL(SUM(b.TOTAL_NET_WEIGHT), 0) AS total_net_weight,
|
||||
IFNULL(SUM(b.TOTAL_GROSS_WEIGHT), 0) AS total_gross_weight
|
||||
FROM
|
||||
PICKING_MATERIAL_DETAIL b
|
||||
WHERE
|
||||
b.OUT_UNIQUE_ID = #{outUniqueId}
|
||||
AND b.DEL_FLAG = 1
|
||||
</select>
|
||||
|
||||
<update id="addQuantity" parameterType="com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate">
|
||||
|
||||
Reference in New Issue
Block a user