出库明细分配数量为0则不生成拣货任务;

This commit is contained in:
王奎兴
2026-02-07 13:47:39 +08:00
parent 48a2a28025
commit d1135022c8
@@ -541,53 +541,56 @@ public class StockOutOrderDomainService {
List<PickingMaterialDetailDO> pickingMaterialDetailList = new ArrayList<>(); List<PickingMaterialDetailDO> pickingMaterialDetailList = new ArrayList<>();
if (!CollectionUtils.isEmpty(outMaterialDetailPOS)){ if (!CollectionUtils.isEmpty(outMaterialDetailPOS)){
outMaterialDetailPOS.forEach(outMaterialDetailPO -> { outMaterialDetailPOS.forEach(outMaterialDetailPO -> {
PickingMaterialDetailDO pickingMaterialDetailDO = new PickingMaterialDetailDO(); BigDecimal allocationQuantity = outMaterialDetailPO.getAllocationQuantity();
BeanUtils.copyProperties(outMaterialDetailPO, pickingMaterialDetailDO); if (allocationQuantity != null && allocationQuantity.compareTo(BigDecimal.ZERO) > 0) {
pickingMaterialDetailDO.setPickingOrderNumber(pickingOrderDO.getPickingOrderNumber()); PickingMaterialDetailDO pickingMaterialDetailDO = new PickingMaterialDetailDO();
pickingMaterialDetailDO.setQuantity(outMaterialDetailPO.getAllocationQuantity()); BeanUtils.copyProperties(outMaterialDetailPO, pickingMaterialDetailDO);
//设置出库明细关联id pickingMaterialDetailDO.setPickingOrderNumber(pickingOrderDO.getPickingOrderNumber());
pickingMaterialDetailDO.setOutUniqueId(outMaterialDetailPO.getUniqueId()); pickingMaterialDetailDO.setQuantity(outMaterialDetailPO.getAllocationQuantity());
pickingMaterialDetailDO.setMaterialCode(outMaterialDetailPO.getMaterialNo()); //设置出库明细关联id
pickingMaterialDetailDO.setMaterialName(outMaterialDetailPO.getCommodityName()); pickingMaterialDetailDO.setOutUniqueId(outMaterialDetailPO.getUniqueId());
pickingMaterialDetailDO.setBarCode(outMaterialDetailPO.getBarCode()); pickingMaterialDetailDO.setMaterialCode(outMaterialDetailPO.getMaterialNo());
//设置批次属性字段(从出库单明细中获取) pickingMaterialDetailDO.setMaterialName(outMaterialDetailPO.getCommodityName());
pickingMaterialDetailDO.setBatchRefNo(outMaterialDetailPO.getBatchRefNo()); pickingMaterialDetailDO.setBarCode(outMaterialDetailPO.getBarCode());
pickingMaterialDetailDO.setSheetRefNo(outMaterialDetailPO.getSheetRefNo()); //设置批次属性字段(从出库单明细中获取)
pickingMaterialDetailDO.setBoxPalletNo(outMaterialDetailPO.getBoxPalletNo()); pickingMaterialDetailDO.setBatchRefNo(outMaterialDetailPO.getBatchRefNo());
pickingMaterialDetailDO.setExtAttr1(outMaterialDetailPO.getExtAttr1()); pickingMaterialDetailDO.setSheetRefNo(outMaterialDetailPO.getSheetRefNo());
pickingMaterialDetailDO.setExtAttr2(outMaterialDetailPO.getExtAttr2()); pickingMaterialDetailDO.setBoxPalletNo(outMaterialDetailPO.getBoxPalletNo());
pickingMaterialDetailDO.setProductionDate(outMaterialDetailPO.getProductionDate()); pickingMaterialDetailDO.setExtAttr1(outMaterialDetailPO.getExtAttr1());
pickingMaterialDetailDO.setExpiryDate(outMaterialDetailPO.getExpiryDate()); pickingMaterialDetailDO.setExtAttr2(outMaterialDetailPO.getExtAttr2());
pickingMaterialDetailDO.setInventoryDate(outMaterialDetailPO.getInventoryDate()); pickingMaterialDetailDO.setProductionDate(outMaterialDetailPO.getProductionDate());
pickingMaterialDetailDO.setExtAttr3(outMaterialDetailPO.getExtAttr3()); pickingMaterialDetailDO.setExpiryDate(outMaterialDetailPO.getExpiryDate());
pickingMaterialDetailDO.setExtAttr4(outMaterialDetailPO.getExtAttr4()); pickingMaterialDetailDO.setInventoryDate(outMaterialDetailPO.getInventoryDate());
pickingMaterialDetailList.add(pickingMaterialDetailDO); pickingMaterialDetailDO.setExtAttr3(outMaterialDetailPO.getExtAttr3());
List<OutMaterialDetailPO> outMaterialDetailPOListChildren = outMaterialDetailPO.getChildren(); pickingMaterialDetailDO.setExtAttr4(outMaterialDetailPO.getExtAttr4());
if (!CollectionUtils.isEmpty(outMaterialDetailPOListChildren)){ pickingMaterialDetailList.add(pickingMaterialDetailDO);
outMaterialDetailPOListChildren.forEach(outMaterialDetailPOChildren -> { List<OutMaterialDetailPO> outMaterialDetailPOListChildren = outMaterialDetailPO.getChildren();
PickingMaterialDetailDO pickingMaterialDetailDOChildren = new PickingMaterialDetailDO(); if (!CollectionUtils.isEmpty(outMaterialDetailPOListChildren)){
BeanUtils.copyProperties(pickingMaterialDetailDO, pickingMaterialDetailDOChildren); outMaterialDetailPOListChildren.forEach(outMaterialDetailPOChildren -> {
BeanUtils.copyProperties(outMaterialDetailPOChildren, pickingMaterialDetailDOChildren); PickingMaterialDetailDO pickingMaterialDetailDOChildren = new PickingMaterialDetailDO();
pickingMaterialDetailDOChildren.setPickingOrderNumber(pickingOrderDO.getPickingOrderNumber()); BeanUtils.copyProperties(pickingMaterialDetailDO, pickingMaterialDetailDOChildren);
pickingMaterialDetailDOChildren.setQuantity(outMaterialDetailPOChildren.getAllocationQuantity()); BeanUtils.copyProperties(outMaterialDetailPOChildren, pickingMaterialDetailDOChildren);
//设置出库明细关联id pickingMaterialDetailDOChildren.setPickingOrderNumber(pickingOrderDO.getPickingOrderNumber());
pickingMaterialDetailDOChildren.setOutUniqueId(outMaterialDetailPOChildren.getUniqueId()); pickingMaterialDetailDOChildren.setQuantity(outMaterialDetailPOChildren.getAllocationQuantity());
pickingMaterialDetailDOChildren.setMaterialCode(outMaterialDetailPOChildren.getMaterialNo()); //设置出库明细关联id
pickingMaterialDetailDOChildren.setMaterialName(outMaterialDetailPOChildren.getCommodityName()); pickingMaterialDetailDOChildren.setOutUniqueId(outMaterialDetailPOChildren.getUniqueId());
pickingMaterialDetailDOChildren.setBarCode(outMaterialDetailPOChildren.getBarCode()); pickingMaterialDetailDOChildren.setMaterialCode(outMaterialDetailPOChildren.getMaterialNo());
//设置批次属性字段(从出库单明细中获取) pickingMaterialDetailDOChildren.setMaterialName(outMaterialDetailPOChildren.getCommodityName());
pickingMaterialDetailDOChildren.setBatchRefNo(outMaterialDetailPOChildren.getBatchRefNo()); pickingMaterialDetailDOChildren.setBarCode(outMaterialDetailPOChildren.getBarCode());
pickingMaterialDetailDOChildren.setSheetRefNo(outMaterialDetailPOChildren.getSheetRefNo()); //设置批次属性字段(从出库单明细中获取)
pickingMaterialDetailDOChildren.setBoxPalletNo(outMaterialDetailPOChildren.getBoxPalletNo()); pickingMaterialDetailDOChildren.setBatchRefNo(outMaterialDetailPOChildren.getBatchRefNo());
pickingMaterialDetailDOChildren.setExtAttr1(outMaterialDetailPOChildren.getExtAttr1()); pickingMaterialDetailDOChildren.setSheetRefNo(outMaterialDetailPOChildren.getSheetRefNo());
pickingMaterialDetailDOChildren.setExtAttr2(outMaterialDetailPOChildren.getExtAttr2()); pickingMaterialDetailDOChildren.setBoxPalletNo(outMaterialDetailPOChildren.getBoxPalletNo());
pickingMaterialDetailDOChildren.setProductionDate(outMaterialDetailPOChildren.getProductionDate()); pickingMaterialDetailDOChildren.setExtAttr1(outMaterialDetailPOChildren.getExtAttr1());
pickingMaterialDetailDOChildren.setExpiryDate(outMaterialDetailPOChildren.getExpiryDate()); pickingMaterialDetailDOChildren.setExtAttr2(outMaterialDetailPOChildren.getExtAttr2());
pickingMaterialDetailDOChildren.setInventoryDate(outMaterialDetailPOChildren.getInventoryDate()); pickingMaterialDetailDOChildren.setProductionDate(outMaterialDetailPOChildren.getProductionDate());
pickingMaterialDetailDOChildren.setExtAttr3(outMaterialDetailPOChildren.getExtAttr3()); pickingMaterialDetailDOChildren.setExpiryDate(outMaterialDetailPOChildren.getExpiryDate());
pickingMaterialDetailDOChildren.setExtAttr4(outMaterialDetailPOChildren.getExtAttr4()); pickingMaterialDetailDOChildren.setInventoryDate(outMaterialDetailPOChildren.getInventoryDate());
pickingMaterialDetailList.add(pickingMaterialDetailDOChildren); pickingMaterialDetailDOChildren.setExtAttr3(outMaterialDetailPOChildren.getExtAttr3());
}); pickingMaterialDetailDOChildren.setExtAttr4(outMaterialDetailPOChildren.getExtAttr4());
pickingMaterialDetailList.add(pickingMaterialDetailDOChildren);
});
}
} }
}); });
pickingOrderDO.setMaterialDetailList(pickingMaterialDetailList); pickingOrderDO.setMaterialDetailList(pickingMaterialDetailList);