zhangjian
2023-09-21 e49d26ed810f3dc3167103e6ced0025b6c72907a
ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
@@ -81,7 +81,7 @@
        //等级
        int count0 = 0,count1 = 0,count2 = 0;
        //装数据
        List<HealthVo> healthVos = new ArrayList<>();
        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"));
            //循环得到权限下匹配数据
@@ -93,19 +93,21 @@
                        if(wellId!=null){
                            if(wellId.equals(equipNumber)){
                                //返回设备数据
                                HealthVo healthVo = new HealthVo();
                                healthVo.setId((Integer) listResult.get(i).get("id"));
                                healthVo.setEquipName((String) listResult.get(i).get("EquipName"));
                                healthVo.setEquipNumber((String) listResult.get(i).get("EquipNumber"));
                                healthVo.setEquipLevel((String) listResult.get(i).get("EquipLevel"));
                                healthVo.setEquipKey((String) listResult.get(i).get("EquipKey"));
                                healthVo.setMeasureDate((String) listResult.get(i).get("MeasureDate"));
                                healthVo.setLongitude(list.get(j).getLongitude());
                                healthVo.setLatitude(list.get(j).getLatitude());
                                healthVo.setAltitude(list.get(j).getAltitude());
                                healthVo.setDeptId(list.get(j).getDeptId());
                                healthVo.setAncestors(list.get(j).getAncestors());
                                healthVos.add(healthVo);
                                TreeDeptWell treeDeptWell = new TreeDeptWell();
                                treeDeptWell.setId((Integer) listResult.get(i).get("id"));
                                treeDeptWell.setEquipName((String) listResult.get(i).get("EquipName"));
                                treeDeptWell.setEquipNumber((String) listResult.get(i).get("EquipNumber"));
                                treeDeptWell.setEquipLevel((String) listResult.get(i).get("EquipLevel"));
                                treeDeptWell.setEquipKey((String) listResult.get(i).get("EquipKey"));
                                treeDeptWell.setMeasureDate((String) listResult.get(i).get("MeasureDate"));
                                treeDeptWell.setLongitude(list.get(j).getLongitude());
                                treeDeptWell.setLatitude(list.get(j).getLatitude());
                                treeDeptWell.setAltitude(list.get(j).getAltitude());
                                treeDeptWell.setDeptId(list.get(j).getDeptId());
                                treeDeptWell.setAncestors(list.get(j).getAncestors());
                                treeDeptWell.setParentId(list.get(j).getParentId());
                                treeDeptWell.setDeptName(list.get(j).getDeptName());
                                treeDeptWells.add(treeDeptWell);
                                if(listResult.get(i).get("EquipLevel").equals("0")){
                                    count0++;
                                }else if(listResult.get(i).get("EquipLevel").equals("1")){
@@ -136,16 +138,16 @@
                }
            }
            //把部门层级和数据结合
            List<TreeDeptWell> treeDeptWells = new ArrayList<>();
//            List<TreeDeptWell> treeDeptWells = new ArrayList<>();
            for (int i = 0; i < sysDepts.size(); i++) {
                //部门ID
                SysDept sysDept = sysDepts.get(i);
                Long deptId = sysDept.getDeptId();
                List<HealthVo> deptHealths = new ArrayList<>();
                for (int j = 0; j < healthVos.size(); j++) {
                    HealthVo healthVo = healthVos.get(j);
                for (int j = 0; j < treeDeptWells.size(); j++) {
                    //设备的部门ID
                    TreeDeptWell healthVo = treeDeptWells.get(j);
                    Long healthDeptId = healthVo.getDeptId();
                    if(deptId.equals(healthDeptId)){
                        deptHealths.add(healthVo);
                        //父级结构赋值
                        String thisAncestors = healthVo.getAncestors();
                        List<String> ancestorsA = Arrays.asList(thisAncestors.split(","));
@@ -155,14 +157,15 @@
                            //循环最终List判断是否有该数据的父级,如果没有就填进去
                            boolean wellTrue = false;
                            if(ancestor==0){
                                //父类集合为0则是最顶级上面没有
                                wellTrue = true;
                            }else {
                                if(treeDeptWells.size()>0){
                                    for (int l = 0; l < treeDeptWells.size(); l++) {
                                        Long treeId = treeDeptWells.get(l).getDeptId();
                                        if(ancestor.equals(treeId)){
                                            wellTrue = true;
                                        }
                                for (int l = 0; l < treeDeptWells.size(); l++) {
                                    //如果该父类集合在结构中已经存在并且不是设备数据就不用重复添加了
                                    Long treeId = treeDeptWells.get(l).getDeptId();
                                    Integer id = treeDeptWells.get(l).getId();
                                    if(ancestor.equals(treeId) && id==null){
                                        wellTrue = true;
                                    }
                                }
                            }
@@ -172,26 +175,14 @@
                                treeDeptWell.setDeptId(ancestor);
                                treeDeptWell.setAncestors(sysDept1.getAncestors());
                                treeDeptWell.setDeptName(sysDept1.getDeptName());
                                treeDeptWell.setOrderNum(sysDept1.getOrderNum());
                                treeDeptWell.setParentId(sysDept1.getParentId());
                                treeDeptWells.add(treeDeptWell);
                            }
                        }
                    }
                }
                if(deptHealths.size()>0){
                    //有设备展示
                    TreeDeptWell treeDeptWell = new TreeDeptWell();
                    treeDeptWell.setDeptId(deptId);
                    treeDeptWell.setAncestors(sysDept.getAncestors());
                    treeDeptWell.setDeptName(sysDept.getDeptName());
                    treeDeptWell.setOrderNum(sysDept.getOrderNum());
                    treeDeptWell.setParentId(sysDept.getParentId());
                    treeDeptWell.setWell(deptHealths);
                    treeDeptWells.add(treeDeptWell);
                }
            }
            List<TreeSelectWell> tree = sysDeptService.wellTree(treeDeptWells);
            List<TreeDeptWell> tree = sysDeptService.wellTree(treeDeptWells);
            TreeSelectWellJson treeSelectWellJson = new TreeSelectWellJson();
            treeSelectWellJson.setWellList(tree);
            treeSelectWellJson.setCount0(count0);