zhangnaisong
2024-07-27 6bab172dc8767e93c8889c15a146c76e4d38e9c0
ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
@@ -84,6 +84,7 @@
        List<TreeDeptWell> treeDeptWells = new ArrayList<>();
        if ((int) mapResult.get("code") == 200) {
            List<Map<String, Object>> listResult = (List<Map<String, Object>>) JSON.parse((String) mapResult.get("resdata"));
//            System.out.println(String.valueOf(listResult));
            //循环得到权限下匹配数据
            for (int i = 0; i < listResult.size(); i++) {
                String equipNumber = (String) listResult.get(i).get("EquipNumber");
@@ -182,13 +183,17 @@
                    }
                }
            }
            List<TreeDeptWell> tree = sysDeptService.wellTree(treeDeptWells);
            TreeSelectWellJson treeSelectWellJson = new TreeSelectWellJson();
            treeSelectWellJson.setWellList(tree);
            treeSelectWellJson.setCount0(count0);
            treeSelectWellJson.setCount1(count1);
            treeSelectWellJson.setCount2(count2);
            return Results.succeed(treeSelectWellJson);
            if(treeDeptWells.size()>0){
                List<TreeDeptWell> tree = sysDeptService.wellTree(treeDeptWells);
                TreeSelectWellJson treeSelectWellJson = new TreeSelectWellJson();
                treeSelectWellJson.setWellList(tree);
                treeSelectWellJson.setCount0(count0);
                treeSelectWellJson.setCount1(count1);
                treeSelectWellJson.setCount2(count2);
                return Results.succeed(treeSelectWellJson);
            }else {
                return Results.error("无匹配数据");
            }
        } else {
            //错误提示
            return Results.error((String) mapResult.get("errmsg"));
@@ -296,7 +301,7 @@
    @PreAuthorize("@ss.hasPermi('sy:syCar:getTrend')")
    @ApiOperation("获取某油井一段时间的测量趋势")
    @GetMapping("getTrend")
    public Results getTrend(GetTrendParam getTrendParam){
    public JSONObject getTrend(GetTrendParam getTrendParam){
        String url = configService.getHealth();
        Map<String , Object> map = new HashMap<String , Object>();
        map.put("MeasureKey", getTrendParam.getMeasureKey());
@@ -305,29 +310,41 @@
        JSONObject j = new JSONObject();
        String result = ARDSoapUtil.postSoapResult(url ,"GetTrend" ,  map);
        if ("".equals(result)){
            return Results.succeed("没有测点信息");
            j.put("msg", "没有测点信息");
            j.put("code", 500);
        }
        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);
                int id = (Integer)mapTemp.get("id");   //主键id
                BigDecimal value = (BigDecimal)mapTemp.get("Value");  //数值
                String measureStr = (String)mapTemp.get("MeasureDate");  //测量时间
                measureStr = measureStr.substring(measureStr.indexOf("(")+1, measureStr.indexOf(")",2));
                SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String measureDate = f.format(Long.valueOf(measureStr));
                mapTemp.put("MeasureDate", measureDate);
                j.put(id +"" , mapTemp);
            if(listResult.size()>0){
                for(int i = 0 ; i<listResult.size(); i++){
                    Map<String , Object> mapTemp = listResult.get(i);
                    //BigDecimal value = (BigDecimal)mapTemp.get("Value");  //数值
                    BigDecimal value = null;  //数值
                    try{
                        value = (BigDecimal)mapTemp.get("Value");
                    }catch(Exception e){
                        value = BigDecimal.valueOf(((Number)mapTemp.get("Value")).floatValue());
                    }
                    String measureStr = (String)mapTemp.get("MeasureDate");  //测量时间
                    measureStr = measureStr.substring(measureStr.indexOf("(")+1, measureStr.indexOf(")",2));
                    SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String measureDate = f.format(Long.valueOf(measureStr));
                    mapTemp.put("MeasureDate", measureDate);
                    mapTemp.put("Value", value.setScale(2, BigDecimal.ROUND_HALF_UP));
                }
                j.put("data",listResult);
            }else {
                j.put("data",new ArrayList<>());
            }
        }else{
            //错误提示
            j.put("errmsg", mapResult.get("errmsg"));
            j.put("msg", mapResult.get("errmsg"));
            j.put("code", mapResult.get("code"));
        }
        return Results.succeed(j);
        return j;
    }
    @PreAuthorize("@ss.hasPermi('sy:syCar:getWaveDataByIndex')")