From 6d66c26bc6eb5d886c281dce905ebaef831de60e Mon Sep 17 00:00:00 2001 From: mzr Date: Mon, 1 Sep 2025 12:47:27 +0800 Subject: [PATCH] =?UTF-8?q?refactor(uapbd):=20=E7=B2=BE=E5=AF=86-=E5=90=AF?= =?UTF-8?q?=E6=BA=90=E7=89=A9=E6=96=99=E7=9A=84=E5=90=AF=E6=BA=90=E7=89=A9?= =?UTF-8?q?=E6=96=99=E7=BC=96=E7=A0=81=E8=B5=8B=E5=80=BC=E8=B0=83=E6=95=B4?= =?UTF-8?q?=20-=20=E6=96=B0=E5=A2=9E=E6=96=B9=E6=B3=95=20queryMaterialPlan?= =?UTF-8?q?InfoByPks=20=E6=9F=A5=E8=AF=A2=E7=89=A9=E6=96=99=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E4=BF=A1=E6=81=AF=20-=20=E5=9C=A8=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF=E6=97=B6=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=90=AF=E6=BA=90=E7=89=A9=E6=96=99=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/MaterialToJmQmsListener.java | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToJmQmsListener.java b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToJmQmsListener.java index 3d6f6fc..9d888cb 100644 --- a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToJmQmsListener.java +++ b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToJmQmsListener.java @@ -10,19 +10,23 @@ import nc.bs.businessevent.IBusinessEvent; import nc.bs.businessevent.IBusinessListener; import nc.bs.businessevent.bd.BDCommonEvent; import nc.bs.dao.BaseDAO; +import nc.bs.framework.common.NCLocator; import nc.bs.logging.Log; import nc.bs.trade.business.HYPubBO; import nc.bs.uapbd.util.MyHelper; import nc.bs.uapbd.util.ThirdPartyPostRequestUtil; import nc.jdbc.framework.processor.MapProcessor; +import nc.pubitf.uapbd.IMaterialPubService; +import nc.util.mmf.framework.base.MMValueCheck; import nc.vo.bd.material.MaterialVO; import nc.vo.bd.material.marbasclass.MarBasClassVO; +import nc.vo.bd.material.plan.MaterialPlanVO; import nc.vo.org.OrgVO; import nc.vo.pub.BusinessException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 精密-物料新增修改后同步启源的物料 @@ -103,7 +107,13 @@ public class MaterialToJmQmsListener implements IBusinessListener { // 计量单位 String pkMaterial = vo.getPk_material(); Map unitMap = getGoodsInfo(pkMaterial); - + Map planMap = queryMaterialPlanInfoByPks(new String[]{pkMaterial}, pkOrg, + new String[]{MaterialPlanVO.DEF2}); + String qyCode = ""; + if (MMValueCheck.isNotEmpty(planMap) && + MMValueCheck.isNotEmpty(planMap.get(pkMaterial))) { + qyCode = planMap.get(pkMaterial).getDef2(); + } // 1=未启用;2=已启用;3=已停用; Integer enablestate = vo.getEnablestate(); String statusCode = (3 == enablestate) ? "1" : "0"; @@ -113,7 +123,8 @@ public class MaterialToJmQmsListener implements IBusinessListener { long cts = System.currentTimeMillis(); singleObj.put("batchid", cts); JSONObject contentObj = new JSONObject(); - contentObj.put("meswlbh", vo.getCode()); // 启源物料编码 + // 计划信息自定义项2(原系统编码)BIP传启源物料档案的物料编码,BIP中物料编码传启源自定义字段“BIP物料编码” + contentObj.put("meswlbh", qyCode); // 启源物料编码 contentObj.put("bipwlbh", vo.getCode()); // BIP物料编码 contentObj.put("wlmc", vo.getName()); // 物料名称 contentObj.put("wlxhgg", vo.getMaterialtype() + vo.getMaterialspec()); // 物料型号规格 @@ -200,4 +211,18 @@ public class MaterialToJmQmsListener implements IBusinessListener { return true; } + public static Map queryMaterialPlanInfoByPks(String[] pks, String pk_stockorg, + String[] fields) throws BusinessException { + Map map = null; + List vids = Stream.of(pks).filter(Objects::nonNull).distinct().toList(); + if (vids.isEmpty()) { + map = new HashMap<>(); + } else { + map = NCLocator.getInstance().lookup(IMaterialPubService.class) + .queryMaterialPlanInfoByPks(vids.toArray(new String[0]), pk_stockorg, fields); + } + + return map; + } + }