PDA复核页面查询
This commit is contained in:
+12
-1
@@ -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;
|
||||
|
||||
+11
@@ -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<PickingMaterialD
|
||||
|
||||
public PickingMaterialDetailPO queryTotalsByOutNumberAndBaseId(Long outUniqueId);
|
||||
|
||||
/**
|
||||
* 按出库单号汇总拣货完成数量(实际下发时的收货数量)
|
||||
*/
|
||||
BigDecimal sumPickingQuantityByOutOrderNumber(String outOrderNumber);
|
||||
|
||||
/**
|
||||
* 按出库单号统计有拣货数量的物料种类数
|
||||
*/
|
||||
Integer countMaterialTypesByOutOrderNumber(String outOrderNumber);
|
||||
|
||||
/**
|
||||
* 新增拣货单物料明细
|
||||
*/
|
||||
|
||||
+11
@@ -7,6 +7,7 @@ import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialD
|
||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -24,6 +25,16 @@ public interface PickingMaterialDetailMapper extends BaseMapper<PickingMaterialD
|
||||
|
||||
public PickingMaterialDetailPO queryTotalsByOutNumberAndBaseId(@Param("outUniqueId") Long outUniqueId);
|
||||
|
||||
/**
|
||||
* 按出库单号汇总拣货完成数量(实际下发/拣货完成的数量)
|
||||
*/
|
||||
BigDecimal sumPickingQuantityByOutOrderNumber(@Param("outOrderNumber") String outOrderNumber);
|
||||
|
||||
/**
|
||||
* 按出库单号统计有拣货数量的物料种类数
|
||||
*/
|
||||
Integer countMaterialTypesByOutOrderNumber(@Param("outOrderNumber") String outOrderNumber);
|
||||
|
||||
/**
|
||||
* @description 根据拣货单增加拣货数量
|
||||
* @author ZhouGY
|
||||
|
||||
+12
@@ -67,6 +67,18 @@ public class PickingMaterialDetailImpl extends ServiceImpl<PickingMaterialDetail
|
||||
return pickingMaterialDetailMapper.queryTotalsByOutNumberAndBaseId(outUniqueId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal sumPickingQuantityByOutOrderNumber(String outOrderNumber) {
|
||||
BigDecimal sum = pickingMaterialDetailMapper.sumPickingQuantityByOutOrderNumber(outOrderNumber);
|
||||
return sum != null ? sum : BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer countMaterialTypesByOutOrderNumber(String outOrderNumber) {
|
||||
Integer count = pickingMaterialDetailMapper.countMaterialTypesByOutOrderNumber(outOrderNumber);
|
||||
return count != null ? count : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增拣货单物料明细
|
||||
*/
|
||||
|
||||
+17
@@ -203,6 +203,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
AND b.DEL_FLAG = 1
|
||||
</select>
|
||||
|
||||
<select id="sumPickingQuantityByOutOrderNumber" resultType="java.math.BigDecimal">
|
||||
SELECT IFNULL(SUM(pmd.PICKING_QUANTITY), 0)
|
||||
FROM picking_material_detail pmd
|
||||
INNER JOIN out_material_detail omd ON pmd.OUT_UNIQUE_ID = omd.UNIQUE_ID AND omd.DEL_FLAG = 1
|
||||
WHERE omd.OUT_ORDER_NUMBER = #{outOrderNumber}
|
||||
AND pmd.DEL_FLAG = 1
|
||||
</select>
|
||||
|
||||
<select id="countMaterialTypesByOutOrderNumber" resultType="java.lang.Integer">
|
||||
SELECT COUNT(DISTINCT pmd.MATERIAL_BASE_INFO_ID)
|
||||
FROM picking_material_detail pmd
|
||||
INNER JOIN out_material_detail omd ON pmd.OUT_UNIQUE_ID = omd.UNIQUE_ID AND omd.DEL_FLAG = 1
|
||||
WHERE omd.OUT_ORDER_NUMBER = #{outOrderNumber}
|
||||
AND pmd.DEL_FLAG = 1
|
||||
AND IFNULL(pmd.PICKING_QUANTITY, 0) > 0
|
||||
</select>
|
||||
|
||||
<update id="addQuantity" parameterType="com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate">
|
||||
UPDATE picking_material_detail
|
||||
<set>
|
||||
|
||||
Reference in New Issue
Block a user