diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockReceiptOrder/StockReceiptOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockReceiptOrder/StockReceiptOrderApplicationService.java index ab54e472b..b4bec23b1 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockReceiptOrder/StockReceiptOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockReceiptOrder/StockReceiptOrderApplicationService.java @@ -783,15 +783,22 @@ public class StockReceiptOrderApplicationService { receiptMaterialDetailDOList.forEach(receiptMaterialDetailDO -> { List receiptMaterialDetailDOChildrenList1 = receiptMaterialDetailDO.getChildren(); if (receiptMaterialDetailDOChildrenList1 != null && receiptMaterialDetailDOChildrenList1.size() > 0) { - ReceiptMaterialDetailDO receiptMaterialDetailDOChildren = receiptMaterialDetailDOChildrenList1.stream().filter(p -> 1 == p.getLevel()).collect(Collectors.toList()).get(0); - receiptMaterialDetailDO.setMaterialDetailId(receiptMaterialDetailDOChildren.getMaterialDetailId()); - receiptMaterialDetailDO.setReceiptQuantity(receiptMaterialDetailDOChildren.getReceiptQuantity()); - receiptMaterialDetailDO.setMaterialStatusCode(receiptMaterialDetailDOChildren.getMaterialStatusCode()); - receiptMaterialDetailDO.setBatchNumber(receiptMaterialDetailDOChildren.getBatchNumber()); - receiptMaterialDetailDO.setContainerId(receiptMaterialDetailDOChildren.getContainerId()); - receiptMaterialDetailDO.setLevel(receiptMaterialDetailDOChildren.getLevel()); - receiptMaterialDetailDO.setMaterialMoreDetailList(receiptMaterialDetailDOChildren.getMaterialMoreDetailList()); - receiptMaterialDetailDO.setMaterialDetailSerialNumberList(receiptMaterialDetailDOChildren.getMaterialDetailSerialNumberList()); + //ReceiptMaterialDetailDO receiptMaterialDetailDOChildren = receiptMaterialDetailDOChildrenList1.stream().filter(p -> 1 == p.getLevel()).collect(Collectors.toList()).get(0); + ReceiptMaterialDetailDO receiptMaterialDetailDOChildren = + receiptMaterialDetailDOChildrenList1.stream() + .filter(p -> 1 == p.getLevel()) + .findFirst() // 返回 Optional + .orElse(null); // 没有符合条件的元素时返回null(也可以自定义默认值) + if (receiptMaterialDetailDOChildren != null) { + receiptMaterialDetailDO.setMaterialDetailId(receiptMaterialDetailDOChildren.getMaterialDetailId()); + receiptMaterialDetailDO.setReceiptQuantity(receiptMaterialDetailDOChildren.getReceiptQuantity()); + receiptMaterialDetailDO.setMaterialStatusCode(receiptMaterialDetailDOChildren.getMaterialStatusCode()); + receiptMaterialDetailDO.setBatchNumber(receiptMaterialDetailDOChildren.getBatchNumber()); + receiptMaterialDetailDO.setContainerId(receiptMaterialDetailDOChildren.getContainerId()); + receiptMaterialDetailDO.setLevel(receiptMaterialDetailDOChildren.getLevel()); + receiptMaterialDetailDO.setMaterialMoreDetailList(receiptMaterialDetailDOChildren.getMaterialMoreDetailList()); + receiptMaterialDetailDO.setMaterialDetailSerialNumberList(receiptMaterialDetailDOChildren.getMaterialDetailSerialNumberList()); + } //只留二级 List receiptMaterialDetailDOChildrenList2 = receiptMaterialDetailDOChildrenList1.stream().filter(p -> 2 == p.getLevel()).collect(Collectors.toList()); receiptMaterialDetailDO.setChildren(receiptMaterialDetailDOChildrenList2);