Compare commits
	
		
			2 Commits
		
	
	
		
			9058c4532b
			...
			91e2b52dc3
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								 | 
						91e2b52dc3 | |
| 
							
							
								 | 
						6469ce7f6d | 
| 
						 | 
					@ -3,22 +3,27 @@ package nccloud.api.uapbd.material.listener;
 | 
				
			||||||
import com.alibaba.fastjson.JSON;
 | 
					import com.alibaba.fastjson.JSON;
 | 
				
			||||||
import com.alibaba.fastjson.JSONObject;
 | 
					import com.alibaba.fastjson.JSONObject;
 | 
				
			||||||
import com.alibaba.fastjson.serializer.SerializerFeature;
 | 
					import com.alibaba.fastjson.serializer.SerializerFeature;
 | 
				
			||||||
 | 
					import nc.bs.bd.assignservice.multiorg.MultiOrgAssignVO;
 | 
				
			||||||
import nc.bs.bd.baseservice.ArrayClassConvertUtil;
 | 
					import nc.bs.bd.baseservice.ArrayClassConvertUtil;
 | 
				
			||||||
import nc.bs.businessevent.IBusinessEvent;
 | 
					import nc.bs.businessevent.IBusinessEvent;
 | 
				
			||||||
import nc.bs.businessevent.IBusinessListener;
 | 
					import nc.bs.businessevent.IBusinessListener;
 | 
				
			||||||
import nc.bs.businessevent.bd.BDCommonEvent;
 | 
					import nc.bs.businessevent.bd.BDCommonEvent;
 | 
				
			||||||
import nc.bs.dao.BaseDAO;
 | 
					import nc.bs.dao.BaseDAO;
 | 
				
			||||||
import nc.bs.logging.Log;
 | 
					import nc.bs.logging.Log;
 | 
				
			||||||
 | 
					import nc.bs.trade.business.HYPubBO;
 | 
				
			||||||
import nc.bs.uapbd.util.MyHelper;
 | 
					import nc.bs.uapbd.util.MyHelper;
 | 
				
			||||||
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
 | 
					import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
 | 
				
			||||||
import nc.jdbc.framework.processor.MapProcessor;
 | 
					import nc.jdbc.framework.processor.MapProcessor;
 | 
				
			||||||
import nc.vo.bd.material.MaterialVO;
 | 
					import nc.vo.bd.material.MaterialVO;
 | 
				
			||||||
import nc.vo.bd.material.marbasclass.MarBasClassVO;
 | 
					import nc.vo.bd.material.marbasclass.MarBasClassVO;
 | 
				
			||||||
import nc.vo.bd.material.stock.MaterialStockVO;
 | 
					import nc.vo.bd.material.stock.MaterialStockVO;
 | 
				
			||||||
import nc.vo.org.FactoryVO;
 | 
					import nc.vo.org.OrgVO;
 | 
				
			||||||
import nc.vo.pub.BusinessException;
 | 
					import nc.vo.pub.BusinessException;
 | 
				
			||||||
 | 
					import nccloud.baseapp.core.log.NCCForUAPLogger;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
import java.util.HashMap;
 | 
					import java.util.HashMap;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
import java.util.Map;
 | 
					import java.util.Map;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					@ -40,7 +45,7 @@ public class MaterialToEpicMesListener implements IBusinessListener {
 | 
				
			||||||
        Object[] objs = e.getObjs();
 | 
					        Object[] objs = e.getObjs();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // EventType是事件编码 1002-新增后 1004-修改后 1071-状态由停用变为启用后 1069-状态由启用变为停用后
 | 
					        // EventType是事件编码 1002-新增后 1004-修改后 1071-状态由停用变为启用后 1069-状态由启用变为停用后
 | 
				
			||||||
        if ("1002".equals(eventType) || "1004".equals(eventType)) {
 | 
					        if ("1004".equals(eventType)) {
 | 
				
			||||||
            MaterialVO[] useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class);
 | 
					            MaterialVO[] useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class);
 | 
				
			||||||
            configParams = MyHelper.getConfigParams("Dldz-config", null);
 | 
					            configParams = MyHelper.getConfigParams("Dldz-config", null);
 | 
				
			||||||
            if (configParams.isEmpty()) {
 | 
					            if (configParams.isEmpty()) {
 | 
				
			||||||
| 
						 | 
					@ -53,13 +58,32 @@ public class MaterialToEpicMesListener implements IBusinessListener {
 | 
				
			||||||
            if (configParams.isEmpty()) {
 | 
					            if (configParams.isEmpty()) {
 | 
				
			||||||
                throw new BusinessException("电力电子的艾普MES接口缺少配置");
 | 
					                throw new BusinessException("电力电子的艾普MES接口缺少配置");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            buildSyncData(useVOs, eventType);
 | 
				
			||||||
        } else if ("1009".equals(eventType)) {
 | 
					        } else if ("1009".equals(eventType)) {
 | 
				
			||||||
            Object[] newObjs = e.getNewObjs();
 | 
					            // 物料可见性范围-分配后 1009
 | 
				
			||||||
            // ÎïÁϿɼûÐÔ·¶Î§-·ÖÅäºó
 | 
					            configParams = MyHelper.getConfigParams("Dldz-config", null);
 | 
				
			||||||
            for (Object obj : newObjs) {
 | 
					            if (configParams.isEmpty()) {
 | 
				
			||||||
                MaterialVO vo = (MaterialVO) obj;
 | 
					                throw new BusinessException("电力电子的艾普MES接口缺少配置");
 | 
				
			||||||
                String pkMaterial = vo.getPk_material();
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            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);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,8 +94,8 @@ public class MaterialToEpicMesListener implements IBusinessListener {
 | 
				
			||||||
        for (MaterialVO vo : useVOs) {
 | 
					        for (MaterialVO vo : useVOs) {
 | 
				
			||||||
            // 判断物料的业务单元是否是电力电子公司,不是则跳过
 | 
					            // 判断物料的业务单元是否是电力电子公司,不是则跳过
 | 
				
			||||||
            String pkOrg = vo.getPk_org();
 | 
					            String pkOrg = vo.getPk_org();
 | 
				
			||||||
            String orgCode = MyHelper.transferField(FactoryVO.getDefaultTableName(), FactoryVO.CODE, FactoryVO.PK_FACTORY, pkOrg);
 | 
					            String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg);
 | 
				
			||||||
            if (MyHelper.checkIfDldzOrg(orgCode, configParams)) {
 | 
					            if (!"1009".equals(eventType) && MyHelper.checkIfDldzOrg(orgCode, configParams)) {
 | 
				
			||||||
                continue;
 | 
					                continue;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            // 字段值翻译
 | 
					            // 字段值翻译
 | 
				
			||||||
| 
						 | 
					@ -116,6 +140,7 @@ public class MaterialToEpicMesListener implements IBusinessListener {
 | 
				
			||||||
                SerializerFeature.WriteNullStringAsEmpty
 | 
					                SerializerFeature.WriteNullStringAsEmpty
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        logDl.error("EpicMes-Material-param = " + jsonStr);
 | 
					        logDl.error("EpicMes-Material-param = " + jsonStr);
 | 
				
			||||||
 | 
					        NCCForUAPLogger.debug("EpicMes-Material-param = " + jsonStr);
 | 
				
			||||||
        String baseUrl = configParams.get("epicMesUrl");
 | 
					        String baseUrl = configParams.get("epicMesUrl");
 | 
				
			||||||
        String requestUrl = baseUrl + reqUrl;
 | 
					        String requestUrl = baseUrl + reqUrl;
 | 
				
			||||||
        logDl.error("EpicMes-Material-url = " + requestUrl);
 | 
					        logDl.error("EpicMes-Material-url = " + requestUrl);
 | 
				
			||||||
| 
						 | 
					@ -133,6 +158,7 @@ public class MaterialToEpicMesListener implements IBusinessListener {
 | 
				
			||||||
        // 类型(I:新增 U:修改 D:删除)
 | 
					        // 类型(I:新增 U:修改 D:删除)
 | 
				
			||||||
        Map<String, String> map = new HashMap<>();
 | 
					        Map<String, String> map = new HashMap<>();
 | 
				
			||||||
        map.put("1002", "I");
 | 
					        map.put("1002", "I");
 | 
				
			||||||
 | 
					        map.put("1009", "I");
 | 
				
			||||||
        map.put("1004", "U");
 | 
					        map.put("1004", "U");
 | 
				
			||||||
        map.put("1069", "U");
 | 
					        map.put("1069", "U");
 | 
				
			||||||
        map.put("1071", "U");
 | 
					        map.put("1071", "U");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue