From 32655d74deddef4f540c1b9aa5ed5d519b09827a Mon Sep 17 00:00:00 2001 From: gsz Date: Wed, 15 May 2024 15:34:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99maximo=E6=8F=90=E4=BE=9B=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BB=AA=E8=A1=A8=E4=B8=BB=E6=95=B0=E6=8D=AE+?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=B8=BB=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/ext/mes/api/busi/IMaximoService.java | 6 +- .../controller/busi/MesWhiteListController.java | 17 +-- .../serviceimpl/busi/MaximoServiceImpl.java | 119 ++++++++++++++------- 3 files changed, 96 insertions(+), 46 deletions(-) diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/IMaximoService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/IMaximoService.java index 3377a6a..882cb67 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/IMaximoService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/IMaximoService.java @@ -3,6 +3,8 @@ package cn.estsh.i3plus.ext.mes.api.busi; import cn.estsh.i3plus.ext.mes.pojo.model.MaximoParamModel; import cn.estsh.impp.framework.boot.util.ResultBean; +import java.util.Map; + /** * @Description : IMaximoService * @Author :gsz @@ -15,13 +17,13 @@ public interface IMaximoService { * @param paramModel * @return */ - ResultBean doMeterMainData(MaximoParamModel paramModel); + Map doMeterMainData(MaximoParamModel paramModel); /** Maximo设备主数据 * @param paramModel * @return */ - ResultBean doAssetMainData(MaximoParamModel paramModel); + Map doAssetMainData(MaximoParamModel paramModel); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/MesWhiteListController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/MesWhiteListController.java index 9bac69a..bb63d67 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/MesWhiteListController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/MesWhiteListController.java @@ -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.pojo.model.MaximoParamModel; -import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; 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 io.swagger.annotations.Api; 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.RestController; +import java.util.Map; + @RestController @RequestMapping("/white/maximo") @@ -25,34 +25,35 @@ public class MesWhiteListController extends MesBaseController { @PostMapping(value = "/meter/main-data") @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.getAssetNum(), "assetNum不能为空"); ValidatorBean.checkNotNull(paramModel.getBaseMeasureUnitId(), "baseMeasureUnitId不能为空"); ValidatorBean.checkNotNull(paramModel.getSiteId(), "siteId不能为空"); - ResultBean resultMap = maximoService.doMeterMainData(paramModel); + Map resultMap = maximoService.doMeterMainData(paramModel); LOGGER.info("Maximo仪表主数据 返回 resultMap:{}", resultMap); - return resultMap.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + return resultMap; } @PostMapping(value = "/asset/main-data") @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.getDescription(), "description不能为空"); ValidatorBean.checkNotNull(paramModel.getSiteId(), "siteId不能为空"); ValidatorBean.checkNotNull(paramModel.getStatus(), "status不能为空"); ValidatorBean.checkNotNull(paramModel.getFailureCode(), "failureCode不能为空"); - ResultBean resultMap = maximoService.doAssetMainData(paramModel); + Map resultMap = maximoService.doAssetMainData(paramModel); LOGGER.info("Maximo设备主数据 返回 resultMap:{}", resultMap); - return resultMap.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + return resultMap; +// return ResultBean.success().setResultMap(resultMap).setSuccess((Boolean) resultMap.get("success")); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MaximoServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MaximoServiceImpl.java index 9db01af..2cd1a34 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MaximoServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MaximoServiceImpl.java @@ -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.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.pojo.base.bean.DdlPackBean; 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 com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; @@ -25,40 +36,50 @@ public class MaximoServiceImpl implements IMaximoService { private static final Logger LOGGER = LoggerFactory.getLogger(MaximoServiceImpl.class); - @Override - public ResultBean doMeterMainData(MaximoParamModel paramModel) { - String url = "http://10.195.88.71:8300/white/maximo/asset/main-data"; - //"meterName":"仪表编号", - //"assetNum":"设备编号", - //"baseMeasureUnitId":"计量单位", - //"siteId":"工厂" - Map map = new HashMap<>(); - map.put("meterName", paramModel.getMeterName()); - map.put("assetNum", paramModel.getAssetNum()); - map.put("baseMeasureUnitId", paramModel.getBaseMeasureUnitId()); - map.put("siteId", paramModel.getSiteId()); + @Autowired + private IMaximoAssetMainDataRepository maximoAssetMainDataRDao; - Map headers = new HashMap<>(); - headers.put("Content-Type", "application/json"); + @Autowired + 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(); - resultMap.put("success",jsonObject.get("success")); - resultMap.put("message",jsonObject.get("message")); - return ResultBean.success().setResultMap(resultMap); + DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(paramModel.getSiteId()); + DdlPreparedPack.getStringEqualPack(paramModel.getMeterName(), "meterName", roadPackBean); + 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 - public ResultBean doAssetMainData(MaximoParamModel paramModel) { - String url = "http://10.195.88.71:8300/white/maximo/asset/main-data"; - //"assetNum":"设备编号", - //"description":"设备名称", - //"siteId":"工厂", - //"status":"状态", - //"failureCode":"故障类别" + public Map doAssetMainData(MaximoParamModel paramModel) { + /*String url = "http://10.195.88.71:8300/white/maximo/asset/main-data"; Map map = new HashMap<>(); map.put("assetNum", paramModel.getAssetNum()); map.put("description", paramModel.getDescription()); @@ -66,17 +87,43 @@ public class MaximoServiceImpl implements IMaximoService { map.put("status", paramModel.getStatus()); map.put("failureCode", paramModel.getFailureCode()); - Map headers = new HashMap<>(); - headers.put("Content-Type", "application/json"); + String result = HttpClientTool.doHttpUrl(CommonEnumUtil.HTTP_METHOD_TYPE.POST, true, url, map, null, null); - String result = HttpClientTool.doHttpUrl(CommonEnumUtil.HTTP_METHOD_TYPE.POST, true, url, map, null, headers); - LOGGER.info("【Maximo仪表主数据】result:{}", result); + JSONObject jsonObject = JSON.parseObject(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",jsonObject.get("success")); - resultMap.put("message",jsonObject.get("message")); - return ResultBean.success().setResultMap(resultMap); + resultMap.put("success",true); + resultMap.put("message","成功"); + return resultMap; + }catch (Exception e) { + resultMap.put("success",false); + resultMap.put("message",e); + return resultMap; + } } }