ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWellDeptVo.java
@@ -54,9 +54,10 @@ private Long deptId; private Integer parentId; private Long parentId; private String ancestors; private String deptName; } 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); ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeDeptWell.java
@@ -5,27 +5,53 @@ import com.ruoyi.common.core.domain.entity.SysDept; import lombok.Data; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; @Data public class TreeDeptWell { @JsonInclude(JsonInclude.Include.NON_EMPTY) private Long deptId; /** 父部门ID */ @JsonInclude(JsonInclude.Include.NON_EMPTY) private Long parentId; /** 祖级列表 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) private String ancestors; /** 部门名称 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) private String deptName; /** 显示顺序 */ private Integer orderNum; // /** 显示顺序 */ // @JsonInclude(JsonInclude.Include.NON_EMPTY) // private Integer orderNum; @JsonInclude(JsonInclude.Include.NON_EMPTY) private Integer id; @JsonInclude(JsonInclude.Include.NON_EMPTY) private String equipName; @JsonInclude(JsonInclude.Include.NON_EMPTY) private String equipNumber; @JsonInclude(JsonInclude.Include.NON_EMPTY) private String equipKey; @JsonInclude(JsonInclude.Include.NON_EMPTY) private String equipLevel; @JsonInclude(JsonInclude.Include.NON_EMPTY) private String measureDate; // @JsonInclude(JsonInclude.Include.NON_EMPTY) // private Long WellDeptId; @JsonInclude(JsonInclude.Include.NON_EMPTY) private BigDecimal longitude; @JsonInclude(JsonInclude.Include.NON_EMPTY) private BigDecimal latitude; @JsonInclude(JsonInclude.Include.NON_EMPTY) private BigDecimal altitude; // @JsonInclude(JsonInclude.Include.NON_EMPTY) // private String ancestor; private List<HealthVo> well = new ArrayList<>(); @TableField(exist = false) private List<TreeDeptWell> children = new ArrayList<TreeDeptWell>(); private List<TreeDeptWell> children = new ArrayList<>(); } ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelectWell.java
@@ -7,6 +7,7 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** @@ -25,18 +26,7 @@ private String label; /** 子节点 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) private List<TreeSelectWell> children; public List<HealthVo> getWell() { return well; } public void setWell(List<HealthVo> well) { this.well = well; } private List<HealthVo> well = new ArrayList<>(); private List<TreeSelectWell> children = new ArrayList<>(); public TreeSelectWell() { @@ -47,7 +37,6 @@ { this.id = dept.getDeptId(); this.label = dept.getDeptName(); this.well = dept.getWell(); this.children = dept.getChildren().stream().map(TreeSelectWell::new).collect(Collectors.toList()); } ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelectWellJson.java
@@ -19,7 +19,7 @@ { private static final long serialVersionUID = 1L; List<TreeSelectWell> wellList; List<TreeDeptWell> wellList; int count0; int count1; int count2; ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
@@ -143,6 +143,6 @@ * @param depts * @return */ List<TreeSelectWell> wellTree(List<TreeDeptWell> depts); List<TreeDeptWell> wellTree(List<TreeDeptWell> depts); List<TreeDeptWell> buildDeptWellTree(List<TreeDeptWell> depts); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -4,6 +4,7 @@ import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.HealthVo; import com.ruoyi.common.core.domain.TreeDeptWell; import com.ruoyi.common.core.domain.TreeSelectWell; import org.springframework.stereotype.Service; @@ -366,9 +367,10 @@ } @Override public List<TreeSelectWell> wellTree(List<TreeDeptWell> depts) { public List<TreeDeptWell> wellTree(List<TreeDeptWell> depts) { List<TreeDeptWell> deptTrees = buildDeptWellTree(depts); return deptTrees.stream().map(TreeSelectWell::new).collect(Collectors.toList()); return deptTrees; // return deptTrees.stream().map(TreeSelectWell::new).collect(Collectors.toList()); } @Override