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); } }