From 50838e11bc8eaaacb033eb2bfcec7a53811fe2d6 Mon Sep 17 00:00:00 2001 From: mzr Date: Wed, 8 Oct 2025 10:48:01 +0800 Subject: [PATCH] =?UTF-8?q?feat(uapbd):=20=E7=89=A9=E6=96=99=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E8=87=B3=E8=89=BE=E6=99=AEMES=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=8D=95=E8=8E=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/MaterialToEpicMesListener.java | 64 ++++++++++--------- 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java index 25ce8095..ffe16156 100644 --- a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java +++ b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java @@ -46,39 +46,43 @@ public class MaterialToEpicMesListener implements IBusinessListener { Object[] objs = e.getObjs(); // EventType是事件编码 1002-新增后 1004-修改后 1071-状态由停用变为启用后 1069-状态由启用变为停用后 1061批改后 - if ("1002".equals(eventType) || "1004".equals(eventType) || "1061".equals(eventType) || - "1071".equals(eventType) || "1069".equals(eventType)) { - MaterialVO[] useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class); - configParams = MyHelper.getConfigParams("Dldz-config", null); - if (configParams.isEmpty()) { - throw new BusinessException("电力电子的艾普MES接口缺少配置"); - } - buildSyncData(useVOs, eventType); - } else if ("1009".equals(eventType)) { - // 物料可见性范围-分配后 1009 - configParams = MyHelper.getConfigParams("Dldz-config", null); - if (configParams.isEmpty()) { - throw new BusinessException("电力电子的艾普MES接口缺少配置"); - } - HYPubBO hyPub = new HYPubBO(); - List voList = new ArrayList<>(); - for (Object obj : objs) { - MultiOrgAssignVO vo = (MultiOrgAssignVO) obj; - String pkMaterial = vo.getPk_doc(); - String pkOrg = vo.getPk_org(); - String orgCode = (String) hyPub.findColValue(OrgVO.getDefaultTableName(), OrgVO.CODE, "dr =0 and pk_org = '" + pkOrg + "' "); - // 检查当前组织是否为电力电子 - if (MyHelper.checkIfDldzOrg(orgCode, configParams)) { - continue; + try { + if ("1002".equals(eventType) || "1004".equals(eventType) || "1061".equals(eventType) || + "1071".equals(eventType) || "1069".equals(eventType)) { + MaterialVO[] useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class); + configParams = MyHelper.getConfigParams("Dldz-config", null); + if (configParams.isEmpty()) { + throw new BusinessException("电力电子的艾普MES接口缺少配置"); } - MaterialVO materialVO = (MaterialVO) hyPub.queryByPrimaryKey(MaterialVO.class, pkMaterial); - voList.add(materialVO); - } - if (!voList.isEmpty()) { - MaterialVO[] useVOs = voList.toArray(new MaterialVO[0]); buildSyncData(useVOs, eventType); - } + } else if ("1009".equals(eventType)) { + // 物料可见性范围-分配后 1009 + configParams = MyHelper.getConfigParams("Dldz-config", null); + if (configParams.isEmpty()) { + throw new BusinessException("电力电子的艾普MES接口缺少配置"); + } + HYPubBO hyPub = new HYPubBO(); + List voList = new ArrayList<>(); + for (Object obj : objs) { + MultiOrgAssignVO vo = (MultiOrgAssignVO) obj; + String pkMaterial = vo.getPk_doc(); + String pkOrg = vo.getPk_org(); + String orgCode = (String) hyPub.findColValue(OrgVO.getDefaultTableName(), OrgVO.CODE, "dr =0 and pk_org = '" + pkOrg + "' "); + // 检查当前组织是否为电力电子 + if (MyHelper.checkIfDldzOrg(orgCode, configParams)) { + continue; + } + MaterialVO materialVO = (MaterialVO) hyPub.queryByPrimaryKey(MaterialVO.class, pkMaterial); + voList.add(materialVO); + } + if (!voList.isEmpty()) { + MaterialVO[] useVOs = voList.toArray(new MaterialVO[0]); + buildSyncData(useVOs, eventType); + } + } + } catch (BusinessException ex) { + logDl.error("EpicMes-Material-exp:" + ex.getMessage(), ex); } }