From 4df22f0b945ce0f9007f3b0e56702f1d5331bfa4 Mon Sep 17 00:00:00 2001 From: lihao Date: Mon, 20 Oct 2025 14:30:24 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E6=A3=80=E6=8A=A5=E5=91=8A=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=8E=A8=E9=80=81qms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../c003/maintain/rule/SyncDeleteQcQmsRule.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncDeleteQcQmsRule.java b/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncDeleteQcQmsRule.java index 36df2825..d4824fd3 100644 --- a/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncDeleteQcQmsRule.java +++ b/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncDeleteQcQmsRule.java @@ -29,9 +29,7 @@ import nc.vo.qc.c003.entity.ReportVO; import nc.vo.sm.UserVO; import nccloud.baseapp.core.log.NCCForUAPLogger; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; +import java.util.*; public class SyncDeleteQcQmsRule implements IRule { @@ -51,6 +49,7 @@ public class SyncDeleteQcQmsRule implements IRule { throw new BusinessException("箱变的QMS接口缺少配置"); } Set firstIds = new HashSet<>(); + List cfirstbids =new ArrayList<>(); // 查询上游到货单的数据 for (ReportVO vo : reportVOS) { ReportItemVO[] bvo = vo.getBVO(); @@ -59,13 +58,14 @@ public class SyncDeleteQcQmsRule implements IRule { } for (ReportItemVO itemVO : bvo) { firstIds.add(itemVO.getCfirstid()); + cfirstbids.add(itemVO.getCfirstbid()); } } if (!firstIds.isEmpty()) { // 上游到货单 BillQuery billquery = new BillQuery(ArriveVO.class); ArriveVO[] arriveVOS = billquery.query(firstIds.toArray(new String[0])); - buildSyncData(arriveVOS); + buildSyncData(arriveVOS,cfirstbids); } } catch (Exception e) { logger.error("SyncQcQmsRule-exp:" + e.getMessage(), e); @@ -78,7 +78,7 @@ public class SyncDeleteQcQmsRule implements IRule { * * @param arriveVOS 到货单VO */ - private void buildSyncData(ArriveVO[] arriveVOS) throws BusinessException { + private void buildSyncData(ArriveVO[] arriveVOS,List cfirstbids) throws BusinessException { for (ArriveVO arriveVO : arriveVOS) { ArriveHeaderVO hvo = arriveVO.getHVO(); ArriveItemVO[] bvo = arriveVO.getBVO(); @@ -131,7 +131,12 @@ public class SyncDeleteQcQmsRule implements IRule { String materialtype = skipNull(materialMap.get("materialtype")); String materialspec = skipNull(materialMap.get("materialspec")); itemObj.put("wlxhgg", materialtype + materialspec); // 物料型号规格 - itemObj.put("sjsl", "0"); // 送检数量(设计单位),按设计计量单位统计的送检数量 + if(cfirstbids.contains(reportItemVO.getCfirstbid())){ + itemObj.put("sjsl", "0"); // 送检数量(设计单位),按设计计量单位统计的送检数量 + }else{ + itemObj.put("sjsl", reportHeaderVO.getNapplynum().toString()); // 送检数量(设计单位),按设计计量单位统计的送检数量 + } + itemObj.put("jldw", cunitname); // 计量单位 itemObj.put("bz", reportItemVO.getVbdef1()); // 明细备注,用于填写该送检物料的补充说明 itemObj.put("bipzyid", pkReportbill); // 质检报告ID