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 new file mode 100644 index 0000000..3377a6a --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/IMaximoService.java @@ -0,0 +1,27 @@ +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; + +/** + * @Description : IMaximoService + * @Author :gsz + * @Date 2024/5/15 13:16 + * @Modify + **/ +public interface IMaximoService { + + /** Maximo仪表主数据 + * @param paramModel + * @return + */ + ResultBean doMeterMainData(MaximoParamModel paramModel); + + /** Maximo设备主数据 + * @param paramModel + * @return + */ + ResultBean 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 new file mode 100644 index 0000000..9bac69a --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/busi/MesWhiteListController.java @@ -0,0 +1,59 @@ +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; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@RestController +@RequestMapping("/white/maximo") +@Api(description = "白名单接口maximo") +public class MesWhiteListController extends MesBaseController { + + @Autowired + private IMaximoService maximoService; + + @PostMapping(value = "/meter/main-data") + @ApiOperation(value = "Maximo仪表主数据", notes = "Maximo仪表主数据") + public ResultBean 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); + + LOGGER.info("Maximo仪表主数据 返回 resultMap:{}", resultMap); + + return resultMap.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + + } + + @PostMapping(value = "/asset/main-data") + @ApiOperation(value = "Maximo设备主数据", notes = "Maximo设备主数据") + public ResultBean 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); + + LOGGER.info("Maximo设备主数据 返回 resultMap:{}", resultMap); + + return resultMap.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + + } + +} 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 new file mode 100644 index 0000000..9db01af --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MaximoServiceImpl.java @@ -0,0 +1,82 @@ +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.platform.common.tool.HttpClientTool; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +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.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +/** + * @Description : MaximoServiceImpl + * @Author :gsz + * @Date 2024/5/15 13:17 + * @Modify + **/ +@Service +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()); + + Map headers = new HashMap<>(); + headers.put("Content-Type", "application/json"); + + 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(); + resultMap.put("success",jsonObject.get("success")); + resultMap.put("message",jsonObject.get("message")); + return ResultBean.success().setResultMap(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":"故障类别" + Map map = new HashMap<>(); + map.put("assetNum", paramModel.getAssetNum()); + map.put("description", paramModel.getDescription()); + map.put("siteId", paramModel.getSiteId()); + 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, headers); + LOGGER.info("【Maximo仪表主数据】result:{}", result); + + JSONObject jsonObject = JSON.parseObject(result); + + Map resultMap = new HashMap(); + resultMap.put("success",jsonObject.get("success")); + resultMap.put("message",jsonObject.get("message")); + return ResultBean.success().setResultMap(resultMap); + } +} diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/MaximoParamModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/MaximoParamModel.java new file mode 100644 index 0000000..5139d39 --- /dev/null +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/MaximoParamModel.java @@ -0,0 +1,38 @@ +package cn.estsh.i3plus.ext.mes.pojo.model; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +/** + * @author gsz + * @description + * @date 2024/5/15 13:53 + */ +@Data +@ApiModel("maximo主数据参数") +public class MaximoParamModel { + private static final long serialVersionUID = 4235227045174076286L; + + @ApiParam(value = "仪表编号") + private String meterName; + + @ApiParam(value = "设备编号") + private String assetNum; + + @ApiParam(value = "设备名称") + private String description; + + @ApiParam(value = "计量单位") + private String baseMeasureUnitId; + + @ApiParam(value = "工厂") + private String siteId; + + @ApiParam(value = "状态") + private String status; + + @ApiParam(value = "故障类别") + private String failureCode; + +}