物料页签修改后推送高压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 com.alibaba.fastjson.serializer.SerializerFeature;
|
||||||
import nc.bs.bd.assignservice.multiorg.MultiOrgAssignVO;
|
import nc.bs.bd.assignservice.multiorg.MultiOrgAssignVO;
|
||||||
import nc.bs.bd.baseservice.ArrayClassConvertUtil;
|
import nc.bs.bd.baseservice.ArrayClassConvertUtil;
|
||||||
|
import nc.bs.bd.cache.CacheProxy;
|
||||||
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.businessevent.bd.BDCommonEventUtil;
|
||||||
import nc.bs.dao.BaseDAO;
|
import nc.bs.dao.BaseDAO;
|
||||||
|
import nc.bs.dao.DAOException;
|
||||||
import nc.bs.framework.common.NCLocator;
|
import nc.bs.framework.common.NCLocator;
|
||||||
import nc.bs.logging.Log;
|
import nc.bs.logging.Log;
|
||||||
|
import nc.bs.logging.Logger;
|
||||||
import nc.bs.trade.business.HYPubBO;
|
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.impl.bd.material.baseinfo.MaterialAsstFrame1ChangedListener;
|
||||||
|
import nc.jdbc.framework.SQLParameter;
|
||||||
|
import nc.jdbc.framework.processor.ColumnListProcessor;
|
||||||
import nc.jdbc.framework.processor.MapProcessor;
|
import nc.jdbc.framework.processor.MapProcessor;
|
||||||
import nc.pubitf.uapbd.IMaterialPubService;
|
import nc.pubitf.uapbd.IMaterialPubService;
|
||||||
import nc.util.mmf.framework.base.MMValueCheck;
|
import nc.util.mmf.framework.base.MMValueCheck;
|
||||||
import nc.vo.am.common.util.StringUtils;
|
import nc.vo.am.common.util.StringUtils;
|
||||||
import nc.vo.bd.material.MaterialVO;
|
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.marbasclass.MarBasClassVO;
|
||||||
import nc.vo.bd.material.plan.MaterialPlanVO;
|
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.org.OrgVO;
|
||||||
import nc.vo.pub.BusinessException;
|
import nc.vo.pub.BusinessException;
|
||||||
import nc.vo.pub.lang.UFBoolean;
|
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 addUrl = "/bip/order/materialAdd";
|
||||||
private static final String updateUrl = "/bip/order/materialUpdate";
|
private static final String updateUrl = "/bip/order/materialUpdate";
|
||||||
private Map<String, String> configParams;
|
private Map<String, String> configParams;
|
||||||
private BaseDAO baseDAO = new BaseDAO();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void doAction(IBusinessEvent event) throws BusinessException {
|
public void doAction(IBusinessEvent event) throws BusinessException {
|
||||||
BDCommonEvent e = (BDCommonEvent) event;
|
BDCommonEvent e = (BDCommonEvent) event;
|
||||||
String eventType = event.getEventType();
|
String eventType = event.getEventType();
|
||||||
Object[] objs = e.getObjs();
|
Object[] objs = e.getObjs();
|
||||||
|
|
||||||
// EventType是事件编码 1002-新增后 1004-修改后 1071-状态由停用变为启用后 1069-状态由启用变为停用后
|
// EventType是事件编码 1002-新增后 1004-修改后 1071-状态由停用变为启用后 1069-状态由启用变为停用后
|
||||||
if ("1004".equals(eventType)) {
|
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);
|
configParams = MyHelper.getConfigParams("gy-config", null);
|
||||||
if (configParams.isEmpty()) {
|
if (configParams.isEmpty()) {
|
||||||
throw new BusinessException("高压的gymes接口缺少配置");
|
throw new BusinessException("高压的gymes接口缺少配置");
|
||||||
|
|
@ -99,7 +149,7 @@ public class MaterialToGyMesListener implements IBusinessListener {
|
||||||
private void buildSyncData(MaterialVO[] useVOs, String eventType) throws BusinessException {
|
private void buildSyncData(MaterialVO[] useVOs, String eventType) throws BusinessException {
|
||||||
|
|
||||||
// String orgId = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.PK_ORG, OrgVO.CODE, "C046");
|
// 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();
|
JSONArray dataArr = new JSONArray();
|
||||||
for (MaterialVO vo : useVOs) {
|
for (MaterialVO vo : useVOs) {
|
||||||
String pkMaterial = vo.getPk_material();
|
String pkMaterial = vo.getPk_material();
|
||||||
|
|
@ -142,7 +192,7 @@ public class MaterialToGyMesListener implements IBusinessListener {
|
||||||
singleObj.put("materialCategory", pk_marbasclass); // 物料分类
|
singleObj.put("materialCategory", pk_marbasclass); // 物料分类
|
||||||
singleObj.put("specification", vo.getMaterialspec()); // 规格
|
singleObj.put("specification", vo.getMaterialspec()); // 规格
|
||||||
singleObj.put("model", vo.getMaterialtype()); // 型号文字
|
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("primaryUnit", unitMap.get("measrate").toString().split("/")[0]);
|
||||||
// 主单位
|
// 主单位
|
||||||
singleObj.put("materialUnit", unitMap.get("measrate").toString().split("/")[1]); // 单位
|
singleObj.put("materialUnit", unitMap.get("measrate").toString().split("/")[1]); // 单位
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue