给maximo提供新增仪表主数据+设备主数据接口

tags/yfai-mes-ext-v1.0
gsz 12 months ago
parent 6463468513
commit 32655d74de

@ -3,6 +3,8 @@ package cn.estsh.i3plus.ext.mes.api.busi;
import cn.estsh.i3plus.ext.mes.pojo.model.MaximoParamModel; import cn.estsh.i3plus.ext.mes.pojo.model.MaximoParamModel;
import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ResultBean;
import java.util.Map;
/** /**
* @Description : IMaximoService * @Description : IMaximoService
* @Author :gsz * @Author :gsz
@ -15,13 +17,13 @@ public interface IMaximoService {
* @param paramModel * @param paramModel
* @return * @return
*/ */
ResultBean doMeterMainData(MaximoParamModel paramModel); Map doMeterMainData(MaximoParamModel paramModel);
/** Maximo /** Maximo
* @param paramModel * @param paramModel
* @return * @return
*/ */
ResultBean doAssetMainData(MaximoParamModel paramModel); Map doAssetMainData(MaximoParamModel paramModel);
} }

@ -2,9 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.busi;
import cn.estsh.i3plus.ext.mes.api.busi.IMaximoService; import cn.estsh.i3plus.ext.mes.api.busi.IMaximoService;
import cn.estsh.i3plus.ext.mes.pojo.model.MaximoParamModel; import cn.estsh.i3plus.ext.mes.pojo.model.MaximoParamModel;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.impp.framework.base.controller.MesBaseController; import cn.estsh.impp.framework.base.controller.MesBaseController;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean; import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -14,6 +12,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController @RestController
@RequestMapping("/white/maximo") @RequestMapping("/white/maximo")
@ -25,34 +25,35 @@ public class MesWhiteListController extends MesBaseController {
@PostMapping(value = "/meter/main-data") @PostMapping(value = "/meter/main-data")
@ApiOperation(value = "Maximo仪表主数据", notes = "Maximo仪表主数据") @ApiOperation(value = "Maximo仪表主数据", notes = "Maximo仪表主数据")
public ResultBean doMeterMainData(@RequestBody MaximoParamModel paramModel) { public Map doMeterMainData(@RequestBody MaximoParamModel paramModel) {
// 数据校验 // 数据校验
ValidatorBean.checkNotNull(paramModel.getMeterName(), "meterName不能为空"); ValidatorBean.checkNotNull(paramModel.getMeterName(), "meterName不能为空");
ValidatorBean.checkNotNull(paramModel.getAssetNum(), "assetNum不能为空"); ValidatorBean.checkNotNull(paramModel.getAssetNum(), "assetNum不能为空");
ValidatorBean.checkNotNull(paramModel.getBaseMeasureUnitId(), "baseMeasureUnitId不能为空"); ValidatorBean.checkNotNull(paramModel.getBaseMeasureUnitId(), "baseMeasureUnitId不能为空");
ValidatorBean.checkNotNull(paramModel.getSiteId(), "siteId不能为空"); ValidatorBean.checkNotNull(paramModel.getSiteId(), "siteId不能为空");
ResultBean resultMap = maximoService.doMeterMainData(paramModel); Map resultMap = maximoService.doMeterMainData(paramModel);
LOGGER.info("Maximo仪表主数据 返回 resultMap:{}", resultMap); LOGGER.info("Maximo仪表主数据 返回 resultMap:{}", resultMap);
return resultMap.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return resultMap;
} }
@PostMapping(value = "/asset/main-data") @PostMapping(value = "/asset/main-data")
@ApiOperation(value = "Maximo设备主数据", notes = "Maximo设备主数据") @ApiOperation(value = "Maximo设备主数据", notes = "Maximo设备主数据")
public ResultBean doAssetMainData(@RequestBody MaximoParamModel paramModel) { public Map doAssetMainData(@RequestBody MaximoParamModel paramModel) {
// 数据校验 // 数据校验
ValidatorBean.checkNotNull(paramModel.getAssetNum(), "assetNum不能为空"); ValidatorBean.checkNotNull(paramModel.getAssetNum(), "assetNum不能为空");
ValidatorBean.checkNotNull(paramModel.getDescription(), "description不能为空"); ValidatorBean.checkNotNull(paramModel.getDescription(), "description不能为空");
ValidatorBean.checkNotNull(paramModel.getSiteId(), "siteId不能为空"); ValidatorBean.checkNotNull(paramModel.getSiteId(), "siteId不能为空");
ValidatorBean.checkNotNull(paramModel.getStatus(), "status不能为空"); ValidatorBean.checkNotNull(paramModel.getStatus(), "status不能为空");
ValidatorBean.checkNotNull(paramModel.getFailureCode(), "failureCode不能为空"); ValidatorBean.checkNotNull(paramModel.getFailureCode(), "failureCode不能为空");
ResultBean resultMap = maximoService.doAssetMainData(paramModel); Map resultMap = maximoService.doAssetMainData(paramModel);
LOGGER.info("Maximo设备主数据 返回 resultMap:{}", resultMap); LOGGER.info("Maximo设备主数据 返回 resultMap:{}", resultMap);
return resultMap.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return resultMap;
// return ResultBean.success().setResultMap(resultMap).setSuccess((Boolean) resultMap.get("success"));
} }

@ -2,13 +2,24 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.api.busi.IMaximoService; import cn.estsh.i3plus.ext.mes.api.busi.IMaximoService;
import cn.estsh.i3plus.ext.mes.pojo.model.MaximoParamModel; import cn.estsh.i3plus.ext.mes.pojo.model.MaximoParamModel;
import cn.estsh.i3plus.icloud.softswitch.sdk.IBsSuitServiceCloud;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.HttpClientTool; import cn.estsh.i3plus.platform.common.tool.HttpClientTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MaximoAssetMainData;
import cn.estsh.i3plus.pojo.mes.bean.MaximoMeterMainData;
import cn.estsh.i3plus.pojo.mes.repository.IMaximoAssetMainDataRepository;
import cn.estsh.i3plus.pojo.mes.repository.IMaximoMeterMainDataRepository;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ResultBean;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
@ -25,40 +36,50 @@ public class MaximoServiceImpl implements IMaximoService {
private static final Logger LOGGER = LoggerFactory.getLogger(MaximoServiceImpl.class); private static final Logger LOGGER = LoggerFactory.getLogger(MaximoServiceImpl.class);
@Override @Autowired
public ResultBean doMeterMainData(MaximoParamModel paramModel) { private IMaximoAssetMainDataRepository maximoAssetMainDataRDao;
String url = "http://10.195.88.71:8300/white/maximo/asset/main-data";
//"meterName":"仪表编号",
//"assetNum":"设备编号",
//"baseMeasureUnitId":"计量单位"
//"siteId":"工厂"
Map<String, String> map = new HashMap<>();
map.put("meterName", paramModel.getMeterName());
map.put("assetNum", paramModel.getAssetNum());
map.put("baseMeasureUnitId", paramModel.getBaseMeasureUnitId());
map.put("siteId", paramModel.getSiteId());
Map headers = new HashMap<>(); @Autowired
headers.put("Content-Type", "application/json"); private IMaximoMeterMainDataRepository maximoMeterMainDataRDao;
String result = HttpClientTool.doHttpUrl(CommonEnumUtil.HTTP_METHOD_TYPE.POST, true, url, map, null, headers);
LOGGER.info("【Maximo仪表主数据】result:{}", result);
JSONObject jsonObject = JSON.parseObject(result); @Override
public Map doMeterMainData(MaximoParamModel paramModel) {
Map resultMap = new HashMap(); Map resultMap = new HashMap();
resultMap.put("success",jsonObject.get("success")); DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(paramModel.getSiteId());
resultMap.put("message",jsonObject.get("message")); DdlPreparedPack.getStringEqualPack(paramModel.getMeterName(), "meterName", roadPackBean);
return ResultBean.success().setResultMap(resultMap); DdlPreparedPack.getStringEqualPack(paramModel.getAssetNum(), "assetNum", roadPackBean);
DdlPreparedPack.getStringEqualPack(paramModel.getBaseMeasureUnitId(), "baseMeasureUnitId", roadPackBean);
boolean flg = maximoMeterMainDataRDao.isExitByHql(roadPackBean);
if (flg) {
resultMap.put("success",false);
String message ="仪表编号"+paramModel.getMeterName()+"设备编号"+paramModel.getMeterName()+"数据已经存在,请检查数据";
resultMap.put("message",message);
return resultMap;
}
try {
MaximoMeterMainData maximoMeterMainData = new MaximoMeterMainData();
maximoMeterMainData.setOrganizeCode(paramModel.getSiteId());
maximoMeterMainData.setMeterName(paramModel.getMeterName());
maximoMeterMainData.setAssetNum(paramModel.getAssetNum());
maximoMeterMainData.setBaseMeasureUnitId(paramModel.getBaseMeasureUnitId());
ConvertBean.serviceModelInitialize(maximoMeterMainData, "doMeterMainData");
maximoMeterMainDataRDao.save(maximoMeterMainData);
resultMap.put("success",true);
resultMap.put("message","成功");
return resultMap;
}catch (Exception e) {
resultMap.put("success",false);
resultMap.put("message",e);
return resultMap;
}
} }
@Override @Override
public ResultBean doAssetMainData(MaximoParamModel paramModel) { public Map doAssetMainData(MaximoParamModel paramModel) {
String url = "http://10.195.88.71:8300/white/maximo/asset/main-data"; /*String url = "http://10.195.88.71:8300/white/maximo/asset/main-data";
//"assetNum":"设备编号",
//"description":"设备名称",
//"siteId":"工厂",
//"status":"状态",
//"failureCode":"故障类别"
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("assetNum", paramModel.getAssetNum()); map.put("assetNum", paramModel.getAssetNum());
map.put("description", paramModel.getDescription()); map.put("description", paramModel.getDescription());
@ -66,17 +87,43 @@ public class MaximoServiceImpl implements IMaximoService {
map.put("status", paramModel.getStatus()); map.put("status", paramModel.getStatus());
map.put("failureCode", paramModel.getFailureCode()); map.put("failureCode", paramModel.getFailureCode());
Map headers = new HashMap<>(); String result = HttpClientTool.doHttpUrl(CommonEnumUtil.HTTP_METHOD_TYPE.POST, true, url, map, null, null);
headers.put("Content-Type", "application/json");
String result = HttpClientTool.doHttpUrl(CommonEnumUtil.HTTP_METHOD_TYPE.POST, true, url, map, null, headers); JSONObject jsonObject = JSON.parseObject(result);*/
LOGGER.info("【Maximo仪表主数据】result:{}", result); Map resultMap = new HashMap();
DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(paramModel.getSiteId());
DdlPreparedPack.getStringEqualPack(paramModel.getAssetNum(), "assetNum", roadPackBean);
DdlPreparedPack.getStringEqualPack(paramModel.getDescription(), "description", roadPackBean);
DdlPreparedPack.getStringEqualPack(paramModel.getStatus(), "status", roadPackBean);
DdlPreparedPack.getStringEqualPack(paramModel.getFailureCode(), "failureCode", roadPackBean);
boolean flg = maximoAssetMainDataRDao.isExitByHql(roadPackBean);
if (flg) {
resultMap.put("success",false);
String message ="设备编号"+paramModel.getAssetNum()+
"设备名称"+paramModel.getDescription()+
"状态"+paramModel.getStatus()+
"故障类别"+paramModel.getFailureCode()+"数据已经存在,请检查数据";
resultMap.put("message",message);
return resultMap;
}
try {
MaximoAssetMainData maximoAssetMainData = new MaximoAssetMainData();
maximoAssetMainData.setOrganizeCode(paramModel.getSiteId());
maximoAssetMainData.setAssetNum(paramModel.getAssetNum());
maximoAssetMainData.setDescription(paramModel.getDescription());
maximoAssetMainData.setStatus(paramModel.getStatus());
maximoAssetMainData.setFailureCode(paramModel.getFailureCode());
ConvertBean.serviceModelInitialize(maximoAssetMainData, "doMeterMainData");
JSONObject jsonObject = JSON.parseObject(result); maximoAssetMainDataRDao.save(maximoAssetMainData);
Map resultMap = new HashMap(); resultMap.put("success",true);
resultMap.put("success",jsonObject.get("success")); resultMap.put("message","成功");
resultMap.put("message",jsonObject.get("message")); return resultMap;
return ResultBean.success().setResultMap(resultMap); }catch (Exception e) {
resultMap.put("success",false);
resultMap.put("message",e);
return resultMap;
}
} }
} }

Loading…
Cancel
Save