物料页签修改后推送高压MES
This commit is contained in:
		
							parent
							
								
									3b92d6f854
								
							
						
					
					
						commit
						6e114fe2d8
					
				|  | @ -6,22 +6,32 @@ import com.alibaba.fastjson.JSONObject; | |||
| import com.alibaba.fastjson.serializer.SerializerFeature; | ||||
| import nc.bs.bd.assignservice.multiorg.MultiOrgAssignVO; | ||||
| import nc.bs.bd.baseservice.ArrayClassConvertUtil; | ||||
| import nc.bs.bd.cache.CacheProxy; | ||||
| import nc.bs.businessevent.IBusinessEvent; | ||||
| import nc.bs.businessevent.IBusinessListener; | ||||
| import nc.bs.businessevent.bd.BDCommonEvent; | ||||
| import nc.bs.businessevent.bd.BDCommonEventUtil; | ||||
| import nc.bs.dao.BaseDAO; | ||||
| import nc.bs.dao.DAOException; | ||||
| import nc.bs.framework.common.NCLocator; | ||||
| import nc.bs.logging.Log; | ||||
| import nc.bs.logging.Logger; | ||||
| import nc.bs.trade.business.HYPubBO; | ||||
| import nc.bs.uapbd.util.MyHelper; | ||||
| import nc.bs.uapbd.util.ThirdPartyPostRequestUtil; | ||||
| import nc.impl.bd.material.baseinfo.MaterialAsstFrame1ChangedListener; | ||||
| import nc.jdbc.framework.SQLParameter; | ||||
| import nc.jdbc.framework.processor.ColumnListProcessor; | ||||
| import nc.jdbc.framework.processor.MapProcessor; | ||||
| import nc.pubitf.uapbd.IMaterialPubService; | ||||
| import nc.util.mmf.framework.base.MMValueCheck; | ||||
| import nc.vo.am.common.util.StringUtils; | ||||
| import nc.vo.bd.material.MaterialVO; | ||||
| import nc.vo.bd.material.marassistant.MarAssistantVO; | ||||
| import nc.vo.bd.material.marbasclass.MarBasClassVO; | ||||
| import nc.vo.bd.material.plan.MaterialPlanVO; | ||||
| import nc.vo.bd.material.prod.MaterialProdVO; | ||||
| import nc.vo.bd.material.stock.MaterialStockVO; | ||||
| import nc.vo.org.OrgVO; | ||||
| import nc.vo.pub.BusinessException; | ||||
| import nc.vo.pub.lang.UFBoolean; | ||||
|  | @ -42,17 +52,57 @@ public class MaterialToGyMesListener implements IBusinessListener { | |||
|     private static final String addUrl = "/bip/order/materialAdd"; | ||||
|     private static final String updateUrl = "/bip/order/materialUpdate"; | ||||
|     private Map<String, String> configParams; | ||||
|     private BaseDAO baseDAO = new BaseDAO(); | ||||
| 
 | ||||
|     @Override | ||||
|     public void doAction(IBusinessEvent event) throws BusinessException { | ||||
|         BDCommonEvent e = (BDCommonEvent) event; | ||||
|         String eventType = event.getEventType(); | ||||
|         Object[] objs = e.getObjs(); | ||||
| 
 | ||||
|         // EventType是事件编码 1002-新增后 1004-修改后 1071-状态由停用变为启用后 1069-状态由启用变为停用后 | ||||
|         if ("1004".equals(eventType)) { | ||||
|             MaterialVO[] useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class); | ||||
|             MaterialVO[] useVOs = null; | ||||
|             if ("13636fc1-0215-4102-a11e-af4be73a05ab".equals(e.getSourceID())) {//库存信息修改后 | ||||
|                 HYPubBO hyPub = new HYPubBO(); | ||||
|                 List<MaterialVO> list = new ArrayList<>(); | ||||
|                 for (int i = 0; i < e.getNewObjs().length; ++i) { | ||||
|                     MaterialStockVO newVO = (MaterialStockVO) e.getNewObjs()[i]; | ||||
|                     String pk_material = newVO.getPk_material(); | ||||
|                     if (pk_material == null) { | ||||
|                         continue; | ||||
|                     } | ||||
|                     MaterialVO materialVO = (MaterialVO) hyPub.queryByPrimaryKey(MaterialVO.class, pk_material); | ||||
|                     list.add(materialVO); | ||||
|                 } | ||||
|                 useVOs = list.toArray(new MaterialVO[0]); | ||||
|             } else if ("8b7d49ab-7a65-4885-bcf1-7df89b84df4b".equals(e.getSourceID())) {//计划信息修改后 | ||||
|                 HYPubBO hyPub = new HYPubBO(); | ||||
|                 List<MaterialVO> list = new ArrayList<>(); | ||||
|                 for (int i = 0; i < e.getNewObjs().length; ++i) { | ||||
|                     MaterialPlanVO newVO = (MaterialPlanVO) e.getNewObjs()[i]; | ||||
|                     String pk_material = newVO.getPk_material(); | ||||
|                     if (pk_material == null) { | ||||
|                         continue; | ||||
|                     } | ||||
|                     MaterialVO materialVO = (MaterialVO) hyPub.queryByPrimaryKey(MaterialVO.class, pk_material); | ||||
|                     list.add(materialVO); | ||||
|                 } | ||||
|                 useVOs = list.toArray(new MaterialVO[0]); | ||||
|             } else if ("a3133495-8c94-47b4-83d4-0d32bd08ac82".equals(e.getSourceID())) {//生产信息修改后 | ||||
|                 HYPubBO hyPub = new HYPubBO(); | ||||
|                 List<MaterialVO> list = new ArrayList<>(); | ||||
|                 for (int i = 0; i < e.getNewObjs().length; ++i) { | ||||
|                     MaterialProdVO newVO = (MaterialProdVO) e.getNewObjs()[i]; | ||||
|                     String pk_material = newVO.getPk_material(); | ||||
|                     if (pk_material == null) { | ||||
|                         continue; | ||||
|                     } | ||||
|                     MaterialVO materialVO = (MaterialVO) hyPub.queryByPrimaryKey(MaterialVO.class, pk_material); | ||||
|                     list.add(materialVO); | ||||
|                 } | ||||
|                 useVOs = list.toArray(new MaterialVO[0]); | ||||
|             } else { | ||||
|                 useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class);//物料修改后 | ||||
|             } | ||||
|             configParams = MyHelper.getConfigParams("gy-config", null); | ||||
|             if (configParams.isEmpty()) { | ||||
|                 throw new BusinessException("高压的gymes接口缺少配置"); | ||||
|  | @ -99,7 +149,7 @@ public class MaterialToGyMesListener implements IBusinessListener { | |||
|     private void buildSyncData(MaterialVO[] useVOs, String eventType) throws BusinessException { | ||||
| 
 | ||||
| //        String orgId = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.PK_ORG, OrgVO.CODE, "C046"); | ||||
|         String pkOrg = MyHelper.getStrValByCondition("ORG_ORGS", OrgVO.PK_ORG, OrgVO.CODE + " = '" + "C046" + "'"+ " and ISBUSINESSUNIT = '" + "Y" +"'"); | ||||
|         String pkOrg = MyHelper.getStrValByCondition("ORG_ORGS", OrgVO.PK_ORG, OrgVO.CODE + " = '" + "C046" + "'" + " and ISBUSINESSUNIT = '" + "Y" + "'"); | ||||
|         JSONArray dataArr = new JSONArray(); | ||||
|         for (MaterialVO vo : useVOs) { | ||||
|             String pkMaterial = vo.getPk_material(); | ||||
|  | @ -142,7 +192,7 @@ public class MaterialToGyMesListener implements IBusinessListener { | |||
|             singleObj.put("materialCategory", pk_marbasclass); // 物料分类 | ||||
|             singleObj.put("specification", vo.getMaterialspec()); // 规格 | ||||
|             singleObj.put("model", vo.getMaterialtype()); // 型号文字 | ||||
|             singleObj.put("intervalModel",vo.getMaterialtype()); // 产品类型 例如35-KV-断路器(物料自定义字段) | ||||
|             singleObj.put("intervalModel", vo.getMaterialtype()); // 产品类型 例如35-KV-断路器(物料自定义字段) | ||||
|             singleObj.put("primaryUnit", unitMap.get("measrate").toString().split("/")[0]); | ||||
|             // 主单位 | ||||
|             singleObj.put("materialUnit", unitMap.get("measrate").toString().split("/")[1]); // 单位 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue