aijinhui
2023-09-06 cfa36565f54f4274e415af9899db2aedadbd7b76
设备健康详情
已修改3个文件
75 ■■■■ 文件已修改
ard-work/pom.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/soap/ARDSoapUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/pom.xml
@@ -182,10 +182,16 @@
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.3</version>
        </dependency>
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
            <version>0.5</version>
        </dependency>
    </dependencies>
ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
@@ -28,18 +28,17 @@
    @Autowired
    ISysConfigService configService;
    @PreAuthorize("@ss.hasPermi('sy:syCar:getSDKCarPositionByRight')")
    @PreAuthorize("@ss.hasPermi('sy:syCar:getEquipmentList')")
    @ApiOperation("获取设备列表")
    @GetMapping("getEquipmentList")
    public Results getEquipmentList(){
        String url = configService.getHealth();
        JSONObject j = new JSONObject();
        Map<String, Object> map = new HashMap();
        String result = ARDSoapUtil.postSoapResult(url, "GetEquipmentList", map);
        if ("".equals(result)) {
            //返回结果为空
            return Results.error("查询失败!");
            return Results.error("没有设备信息");
        }
        Map<String, Object> mapResult = (Map<String, Object>) JSON.parse((String) result);
        if ((int) mapResult.get("code") == 200) {
@@ -48,11 +47,6 @@
            for (int i = 0; i < listResult.size(); i++) {
                Map<String, Object> mapTemp = listResult.get(i);
                int id = (Integer) mapTemp.get("id");  //主键id
                String equipKey = (String) mapTemp.get("EquipKey");  //设备Key
                String equipNumber = (String) mapTemp.get("EquipNumber");  //设备编号
                String equipName = (String) mapTemp.get("EquipName");   //设备名称
                String equipLevel = (String) mapTemp.get("EquipLevel");  //设备报警等级 0正常 1注意 2严重
                String measureDate = (String) mapTemp.get("MeasureDate");  //最近一次测量时间
                j.put(id + "", mapTemp);
            }
        } else {
@@ -62,4 +56,59 @@
        }
        return Results.succeed(j);
    }
    @PreAuthorize("@ss.hasPermi('sy:syCar:getMeasureByEquipName')")
    @ApiOperation("获取某个油井测点列表")
    @GetMapping("getMeasureByEquipName")
    public Results getMeasureByEquipName(String equipNumber){
        String url = configService.getHealth();
        JSONObject j = new JSONObject();
        Map<String, Object> map = new HashMap();
        String result = ARDSoapUtil.postSoapResult(url, "GetEquipmentList", map);
        String equipKey = "";
        if ("".equals(result)) {
            //返回结果为空
            return Results.error("没有设备信息");
        }
        Map<String, Object> mapResult = (Map<String, Object>) JSON.parse((String) result);
        if ((int) mapResult.get("code") == 200) {
            j.put("code", mapResult.get("code"));
            List<Map<String, Object>> listResult = (List<Map<String, Object>>) JSON.parse((String) mapResult.get("resdata"));
            for (int i = 0; i < listResult.size(); i++) {
                Map<String, Object> mapTemp = listResult.get(i);
                String equipNumberTemp = (String) mapTemp.get("EquipNumber");   //设备名称
                if (equipNumberTemp.equals(equipNumber)) {
                    //名称匹配,即为要获取的设备;
                    equipKey = (String) mapTemp.get("EquipKey");  //设备Key
                }
            }
            if ("".equals(equipKey)) {
                return Results.error("没有测点信息");
            }
            //获取设备的测点列表
            Map<String, Object> hashMap = new HashMap<String, Object>();
            hashMap.put("EquipKey", equipKey);
            String eResult = ARDSoapUtil.postSoapResult(url, "GetMeasureByEquipKey", hashMap);
            if ("".equals(eResult)) {
                //返回结果为空
                return Results.error("没有测点信息");
            }
            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);
            } else {
                //错误提示
                j.put("errmsg", mapResult.get("errmsg"));
                j.put("code", mapResult.get("code"));
            }
        } else {
            //错误提示
            j.put("errmsg", mapResult.get("errmsg"));
            j.put("code", mapResult.get("code"));
        }
        return Results.succeed(j);
    }
}
ard-work/src/main/java/com/ruoyi/utils/soap/ARDSoapUtil.java
@@ -38,7 +38,7 @@
            call.setEncodingStyle(encodingStyle);//设置传入服务端的字符集格式如utf-8等
            call.setOperationName(new QName(targetNamespace,method));// 具体调用的方法名,可以由接口提供方告诉你,也可以自己从WSDL中找  
            call.setUseSOAPAction(true);
//            call.setReturnType(XMLType.XSD_STRING);
            call.setReturnType(XMLType.XSD_STRING);
            Object[] o = new Object[map.size()];
            int i=0;
            for (String key :map.keySet() ){