出库交接详情,物料明细根据复核单生成1;
This commit is contained in:
+3
@@ -303,6 +303,9 @@ public class StockOutOrderApplicationService {
|
||||
}
|
||||
if (pickQty.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
detailList.remove(i);
|
||||
} else if (Integer.valueOf(1).equals(review) && d.getUniqueId() != null) {
|
||||
// 需要复核时:用 picking_material_detail 的拣货数量覆盖展示,保证已拣货数量正确
|
||||
d.setPickingQuantity(pickQty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+18
-9
@@ -125,15 +125,6 @@ public class DeliveTaskImpl extends ServiceImpl<DeliveTaskMapper, DeliveTask> im
|
||||
}
|
||||
deliveTaskPO.setHandoverStatus(handoverTaskOrder.getStatus());//交接状态: 1-未交接 2-已交接,与PC端保持一致
|
||||
String orderNumber = handoverTaskOrder.getOrderNumber();//出库单号
|
||||
PickingOrderDTO pickingOrderDTO = new PickingOrderDTO();
|
||||
pickingOrderDTO.setOrderNumber(orderNumber);
|
||||
PickingOrderDO pickingOrderDO = pickingOrderAssembler.toDO(pickingOrderDTO);
|
||||
List<PickingOrderPO> pickingList = pickingOrderService.queryList(pickingOrderDO);
|
||||
if (!pickingList.isEmpty()) {
|
||||
PickingOrderPO pickingOrderPOS = pickingList.get(0);
|
||||
BigDecimal pickingQuantity = pickingOrderPOS.getPickingQuantity();//已拣货数量
|
||||
deliveTaskPO.setPickingQuantity(pickingQuantity);
|
||||
}
|
||||
// 已复核数量、出库单信息:直接从出库单获取(需在物料统计前获取,用于判断是否需要复核)
|
||||
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new LambdaQueryWrapper<StockOutOrder>()
|
||||
.eq(StockOutOrder::getOutOrderNumber, orderNumber));
|
||||
@@ -143,6 +134,24 @@ public class DeliveTaskImpl extends ServiceImpl<DeliveTaskMapper, DeliveTask> im
|
||||
deliveTaskPO.setShipperName(stockOutOrder.getShipperName());
|
||||
deliveTaskPO.setCarrier(stockOutOrder.getCarrier());
|
||||
deliveTaskPO.setCheckQuantity(stockOutOrder.getCheckQuantity());//已复核数量
|
||||
// 已拣货数量:需要复核时用 picking_material_detail 汇总(与交接详情一致),否则用 picking_order
|
||||
BigDecimal pickingQuantity;
|
||||
if (Integer.valueOf(1).equals(stockOutOrder.getReview())) {
|
||||
pickingQuantity = pickingMaterialDetailMapper.sumPickingQuantityByOutOrderNumber(orderNumber);
|
||||
} else {
|
||||
PickingOrderDTO pickingOrderDTO = new PickingOrderDTO();
|
||||
pickingOrderDTO.setOrderNumber(orderNumber);
|
||||
List<PickingOrderPO> pickingList = pickingOrderService.queryList(pickingOrderAssembler.toDO(pickingOrderDTO));
|
||||
pickingQuantity = pickingList.isEmpty() ? BigDecimal.ZERO : (pickingList.get(0).getPickingQuantity() != null ? pickingList.get(0).getPickingQuantity() : BigDecimal.ZERO);
|
||||
}
|
||||
deliveTaskPO.setPickingQuantity(pickingQuantity != null ? pickingQuantity : BigDecimal.ZERO);
|
||||
} else {
|
||||
// 无出库单时仍从拣货单取已拣货数量
|
||||
PickingOrderDTO pickingOrderDTO = new PickingOrderDTO();
|
||||
pickingOrderDTO.setOrderNumber(orderNumber);
|
||||
List<PickingOrderPO> pickingList = pickingOrderService.queryList(pickingOrderAssembler.toDO(pickingOrderDTO));
|
||||
BigDecimal pickingQuantity = pickingList.isEmpty() ? BigDecimal.ZERO : (pickingList.get(0).getPickingQuantity() != null ? pickingList.get(0).getPickingQuantity() : BigDecimal.ZERO);
|
||||
deliveTaskPO.setPickingQuantity(pickingQuantity);
|
||||
}
|
||||
// 物料种类数:从出库明细按料号去重统计,pickingQuantity 为 0 的过滤掉(与交接详情一致)
|
||||
List<OutMaterialDetail> omdList = outMaterialDetailService.list(new LambdaQueryWrapper<OutMaterialDetail>()
|
||||
|
||||
Reference in New Issue
Block a user