‘liusuyi’
2023-09-14 e77e69a207dad75e1af2ee60c324306be8a43394
ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
@@ -2,7 +2,9 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.core.domain.entity.SysConfig;
import com.ruoyi.health.client.EquipmentsHealthClient;
import com.ruoyi.health.param.GetEquipmentAlertInfoParam;
import com.ruoyi.health.param.GetFMTrendParam;
import com.ruoyi.health.param.GetTrendParam;
import com.ruoyi.system.service.ISysConfigService;
@@ -18,6 +20,7 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -68,7 +71,7 @@
    }
    @PreAuthorize("@ss.hasPermi('sy:syCar:getMeasureByEquipName')")
    @ApiOperation("获取某个油井测点列表")
    @ApiOperation("根据name获取某个油井测点列表")
    @GetMapping("getMeasureByEquipName")
    public Results getMeasureByEquipName(String equipNumber){
        String url = configService.getHealth();
@@ -270,11 +273,90 @@
    }
    @PreAuthorize("@ss.hasPermi('sy:syCar:getMeasureByEquipKey')")
    @ApiOperation("获取某个油井测点列表")
    @ApiOperation("根据key获取某个油井测点列表")
    @GetMapping("getMeasureByEquipKey")
    public Results getMeasureByEquipKey(GetFMTrendParam getFMTrendParam){
    public Results getMeasureByEquipKey(String equipKey){
        JSONObject j = new JSONObject();
        String url = configService.getHealth();
        //获取设备的测点列表
        Map<String, Object> hashMap = new HashMap<String, Object>();
        hashMap.put("EquipKey", equipKey);
        String eResult = ARDSoapUtil.postSoapResult(url, "GetMeasureByEquipKey", hashMap);
        if ("".equals(eResult)) {
            //返回结果为空
            return Results.succeed("没有测点信息");
        }
        Map<String, Object> map1 = (Map<String, Object>) JSON.parse((String) eResult);
        if ((int) map1.get("code") == 200) {
            j.put("code", map1.get("code"));
            List<Map<String, Object>> list = (List<Map<String, Object>>) JSON.parse((String) map1.get("resdata"));
            j.put("listResult", list);
        }
        return Results.succeed(j);
    }
        return Results.succeed();
    @PreAuthorize("@ss.hasPermi('sy:syCar:GetPartsAlertLeve')")
    @ApiOperation("获取ID获取点位")
    @GetMapping("GetPartsAlertLevel")
    public Results GetPartsAlertLevel(Integer id){
        List<SysConfig> sysConfigs = configService.getAccPwd();
        String account = null,password = null,url = null;
        for (int i = 0; i < sysConfigs.size(); i++) {
            SysConfig sysConfig = sysConfigs.get(i);
            if("eqHealthUrl".equals(sysConfig.getConfigKey())){
                url = sysConfig.getConfigValue();
            }
            if("eqHealthAccount".equals(sysConfig.getConfigKey())){
                account = sysConfig.getConfigValue();
            }
            if("eqHealthPassword".equals(sysConfig.getConfigKey())){
                password = sysConfig.getConfigValue();
            }
        }
        String tokenUrl = url+"/RoadFlowApi/Home/ValidLogin";
        Map<String, Object> loginResult = EquipmentsHealthClient.getToken(tokenUrl, account, password);
        String token = (String) ((Map<String, Object>) ((Map<String, Object>) loginResult.get("data")).get("data")).get("token");
        String GetPartsAlertLeveUrl = url + "/RoadFlowApi/ZX/MeasureData/GetPartsAlertLevel";
        Map<String, Object> map = EquipmentsHealthClient.GetPartsAlertLeve(GetPartsAlertLeveUrl, token,id);
        return Results.succeed(map);
    }
    @PreAuthorize("@ss.hasPermi('sy:syCar:GetEquipmentAlertInfo')")
    @ApiOperation("根据ID获取详细说明")
    @GetMapping("GetEquipmentAlertInfo")
    public  Results GetEquipmentAlertInfo(GetEquipmentAlertInfoParam param){
        Integer id = param.getId();
        String key = param.getPosition();
        List<SysConfig> sysConfigs = configService.getAccPwd();
        String account = null,password = null,url = null;
        for (int i = 0; i < sysConfigs.size(); i++) {
            SysConfig sysConfig = sysConfigs.get(i);
            if("eqHealthUrl".equals(sysConfig.getConfigKey())){
                url = sysConfig.getConfigValue();
            }
            if("eqHealthAccount".equals(sysConfig.getConfigKey())){
                account = sysConfig.getConfigValue();
            }
            if("eqHealthPassword".equals(sysConfig.getConfigKey())){
                password = sysConfig.getConfigValue();
            }
        }
        String tokenUrl = url+"/RoadFlowApi/Home/ValidLogin";
        Map<String, Object> loginResult = EquipmentsHealthClient.getToken(tokenUrl, account, password);
        String token = (String) ((Map<String, Object>) ((Map<String, Object>) loginResult.get("data")).get("data")).get("token");
        String GetEquipmentAlertInfoUrl = url + "/RoadFlowApi/ZX/MeasureData/GetEquipmentAlertInfo";
        Map<String, Object> map = EquipmentsHealthClient.GetEquipmentAlertInfo(GetEquipmentAlertInfoUrl, token,id);
        List<Object> list = (List<Object>) ((Map<String, Object>) map.get("data")).get("rows");
        List<Map<String,Object>> rList = new ArrayList<>();
        if(list.size()>0){
            for (int i = 0; i < list.size(); i++) {
                Map<String,Object> listMap = (Map<String, Object>) list.get(i);
                String position = (String) listMap.get("position");
                if(key.equals(position)){
                    rList.add(listMap);
                }
            }
        }
        return Results.succeed(rList);
    }
}