From 9401a7b4be97da316af7edf6f4e69432c2dd2c3b Mon Sep 17 00:00:00 2001 From: mzr Date: Mon, 29 Sep 2025 11:00:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AF=E6=BA=90=E9=A2=86=E6=96=99=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ic/m4d/APIMaterialOutMaintainImpl.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java b/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java index 1c9eaa67..02426c71 100644 --- a/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java +++ b/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java @@ -432,22 +432,28 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain { for (MaterialOutVO outVO : outVOS) { MaterialOutBodyVO[] bodys = outVO.getBodys(); for (MaterialOutBodyVO body : bodys) { - sourceIds.add(body.getCfirstbillhid()); + sourceIds.add(body.getCsourcebillhid()); } } // 查询备料计划行上的成套套数 nbsetpartsnum AggPickmVO[] newPickmVOS = queryService.queryBillsByPks(sourceIds.toArray(new String[0])); + if (newPickmVOS == null) { + throw new BusinessException("没有查询到材料出库关联的备料计划!"); + } // 获取备料计划行上的成套套数的合计值 Double sum = 0d; - for (AggPickmVO newPickmVO : newPickmVOS) { - PickmItemVO[] pickmItemVOS = (PickmItemVO[]) newPickmVO.getChildren(PickmItemVO.class); - for (PickmItemVO pickmItemVO : pickmItemVOS) { - Double nbsetpartsnum = pickmItemVO.getNbsetpartsnum().toDouble(); - sum += nbsetpartsnum; + if (newPickmVOS != null) { + for (AggPickmVO newPickmVO : newPickmVOS) { + PickmItemVO[] pickmItemVOS = (PickmItemVO[]) newPickmVO.getChildren(PickmItemVO.class); + for (PickmItemVO pickmItemVO : pickmItemVOS) { + Double nbsetpartsnum = pickmItemVO.getNbsetpartsnum().toDouble(); + sum += nbsetpartsnum; + } } } JSONObject result = new JSONObject(); result.put("vbillcode", paramMap.get("vbillcode"));// 生产订单号 + result.put("outcode", outVOS[0].getHead().getVbillcode());// 材料出库单号 result.put("batchId", paramMap.get("batchId"));// 领料批次id result.put("nbsetpartsnum", sum);// 累计领料套数 return result;