feat(uapbd): 物料同步至艾普MES增加异常捕获
This commit is contained in:
parent
4de8c5b102
commit
50838e11bc
|
|
@ -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<MaterialVO> 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<MaterialVO> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue