From 83470dbf643666f4168498cf870cd36f560717a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 26 Feb 2026 13:44:41 +0800 Subject: [PATCH] =?UTF-8?q?pda=E6=94=B6=E8=B4=A7=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StockReceiptOrderApplicationService.java | 60 ++++++++++--------- 1 file changed, 32 insertions(+), 28 deletions(-) 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 9c0001448..d25ed4add 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 @@ -665,18 +665,20 @@ public class StockReceiptOrderApplicationService { List receiptMaterialDetailDOList = stockReceiptOrderDO.getMaterialDetailList(); receiptMaterialDetailDOList.forEach(receiptMaterialDetailDO -> { List receiptMaterialDetailDOChildrenList1 = receiptMaterialDetailDO.getChildren(); - 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()); - //只留二级 - List receiptMaterialDetailDOChildrenList2 = receiptMaterialDetailDOChildrenList1.stream().filter(p -> 2 == p.getLevel()).collect(Collectors.toList()); - receiptMaterialDetailDO.setChildren(receiptMaterialDetailDOChildrenList2); + 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()); + //只留二级 + List receiptMaterialDetailDOChildrenList2 = receiptMaterialDetailDOChildrenList1.stream().filter(p -> 2 == p.getLevel()).collect(Collectors.toList()); + receiptMaterialDetailDO.setChildren(receiptMaterialDetailDOChildrenList2); + } }); //收货装配参数 StockReceiptOrderDO assembleStockReceiptOrderDO = assembleParamByReceipt(stockReceiptOrderDO); @@ -727,24 +729,26 @@ public class StockReceiptOrderApplicationService { List receiptMaterialDetailDOList = stockReceiptOrderDO.getMaterialDetailList(); receiptMaterialDetailDOList.forEach(receiptMaterialDetailDO -> { List receiptMaterialDetailDOChildrenList1 = receiptMaterialDetailDO.getChildren(); - ReceiptMaterialDetailDO receiptMaterialDetailDOChildren = receiptMaterialDetailDOChildrenList1.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()); - //只留二级 - List receiptMaterialDetailDOChildrenList2 = new ArrayList<>(); - for (int i = 0; i < receiptMaterialDetailDOChildrenList1.size(); i++){ - if (i == 0){ - continue; + if (receiptMaterialDetailDOChildrenList1 != null && receiptMaterialDetailDOChildrenList1.size() > 0) { + ReceiptMaterialDetailDO receiptMaterialDetailDOChildren = receiptMaterialDetailDOChildrenList1.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()); + //只留二级 + List receiptMaterialDetailDOChildrenList2 = new ArrayList<>(); + for (int i = 0; i < receiptMaterialDetailDOChildrenList1.size(); i++){ + if (i == 0){ + continue; + } + receiptMaterialDetailDOChildrenList2.add(receiptMaterialDetailDOChildrenList1.get(i)); } - receiptMaterialDetailDOChildrenList2.add(receiptMaterialDetailDOChildrenList1.get(i)); + receiptMaterialDetailDO.setChildren(receiptMaterialDetailDOChildrenList2); } - receiptMaterialDetailDO.setChildren(receiptMaterialDetailDOChildrenList2); }); NoReceiptOrderDO noReceiptOrderDO = assembleParamByNoOrderReceipt(stockReceiptOrderDO); return stockReceiptOrderDomainService.noOrderReceipt(noReceiptOrderDO);