pda上架报错;

This commit is contained in:
王奎兴
2026-03-06 09:39:22 +08:00
parent 4371be3999
commit 2f31cc736a
@@ -337,15 +337,19 @@ public class StockShelfOrderApplicationService {
List<ShelfMaterialDetailDO> shelfMaterialDetailDOList = stockReceiptOrderDO.getMaterialDetailList();
shelfMaterialDetailDOList.forEach(shelfMaterialDetailDO -> {
List<ShelfMaterialDetailDO> shelfMaterialDetailDOChildrenList1 = shelfMaterialDetailDO.getChildren();
ShelfMaterialDetailDO shelfMaterialDetailDOChildren = shelfMaterialDetailDOChildrenList1.stream().filter(p -> 1 == p.getLevel()).collect(Collectors.toList()).get(0);
shelfMaterialDetailDO.setMaterialDetailId(shelfMaterialDetailDOChildren.getMaterialDetailId());
shelfMaterialDetailDO.setShelvesQuantity(shelfMaterialDetailDOChildren.getShelvesQuantity());
shelfMaterialDetailDO.setWarehouseId(shelfMaterialDetailDOChildren.getWarehouseId());
shelfMaterialDetailDO.setStorageSectionId(shelfMaterialDetailDOChildren.getStorageSectionId());
shelfMaterialDetailDO.setStorageLocationId(shelfMaterialDetailDOChildren.getStorageLocationId());
shelfMaterialDetailDO.setContainerId(shelfMaterialDetailDOChildren.getContainerId());
shelfMaterialDetailDO.setLevel(shelfMaterialDetailDOChildren.getLevel());
shelfMaterialDetailDO.setMaterialDetailSerialNumberList(shelfMaterialDetailDOChildren.getMaterialDetailSerialNumberList());
ShelfMaterialDetailDO shelfMaterialDetailDOChildren = null;
List<ShelfMaterialDetailDO> shelfMaterialDetailDOChildrenList11 = shelfMaterialDetailDO.getChildren().stream().filter(p -> 1 == p.getLevel()).collect(Collectors.toList());
if (shelfMaterialDetailDOChildrenList11 != null && !shelfMaterialDetailDOChildrenList11.isEmpty() && shelfMaterialDetailDOChildrenList11.size() != 0) shelfMaterialDetailDOChildren = shelfMaterialDetailDOChildrenList11.get(0);
if (shelfMaterialDetailDOChildren != null) {
shelfMaterialDetailDO.setMaterialDetailId(shelfMaterialDetailDOChildren.getMaterialDetailId());
shelfMaterialDetailDO.setShelvesQuantity(shelfMaterialDetailDOChildren.getShelvesQuantity());
shelfMaterialDetailDO.setWarehouseId(shelfMaterialDetailDOChildren.getWarehouseId());
shelfMaterialDetailDO.setStorageSectionId(shelfMaterialDetailDOChildren.getStorageSectionId());
shelfMaterialDetailDO.setStorageLocationId(shelfMaterialDetailDOChildren.getStorageLocationId());
shelfMaterialDetailDO.setContainerId(shelfMaterialDetailDOChildren.getContainerId());
shelfMaterialDetailDO.setLevel(shelfMaterialDetailDOChildren.getLevel());
shelfMaterialDetailDO.setMaterialDetailSerialNumberList(shelfMaterialDetailDOChildren.getMaterialDetailSerialNumberList());
}
//只留二级
List<ShelfMaterialDetailDO> shelfMaterialDetailDOChildrenList2 = shelfMaterialDetailDOChildrenList1.stream().filter(p -> 2 == p.getLevel()).collect(Collectors.toList());
shelfMaterialDetailDO.setChildren(shelfMaterialDetailDOChildrenList2);
@@ -469,7 +473,15 @@ public class StockShelfOrderApplicationService {
if (shelfMaterialDetailPO == null){
throw new ServiceException("物料明细不存在");
}
if (shelfMaterialDetailDO.getShelvesQuantity().compareTo(BigDecimal.ZERO) == 0){
List<ShelfMaterialDetailDO> children = shelfMaterialDetailDO.getChildren();
BigDecimal childrenShelvesQuantitySum = BigDecimal.ZERO;
if (!CollectionUtils.isEmpty(children)) {
childrenShelvesQuantitySum = children.stream()
.map(ShelfMaterialDetailDO::getShelvesQuantity)
.filter(Objects::nonNull)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (shelfMaterialDetailDO.getShelvesQuantity().compareTo(BigDecimal.ZERO) == 0 && childrenShelvesQuantitySum.compareTo(BigDecimal.ZERO) == 0){
//未进行上架直接跳过
continue;
}