| | |
| | | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo; |
| | | import com.ruoyi.common.core.domain.HealthVo; |
| | | import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; |
| | | import com.ruoyi.common.core.domain.TreeDeptWell; |
| | | import com.ruoyi.common.core.domain.TreeSelectWell; |
| | | import com.ruoyi.common.core.domain.TreeSelectWellJson; |
| | | import com.ruoyi.common.core.domain.entity.SysConfig; |
| | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @author Administrator |
| | |
| | | List<Map<String, Object>> listResult = (List<Map<String, Object>>) JSON.parse((String) mapResult.get("resdata")); |
| | | //循ç¯å¾å°æéä¸å¹é
æ°æ® |
| | | for (int i = 0; i < listResult.size(); i++) { |
| | | JSONObject jsonObject = new JSONObject(); |
| | | String equipNumber = (String) listResult.get(i).get("EquipNumber"); |
| | | if(equipNumber!=null){ |
| | | for (int j = 0; j < list.size(); j++) { |
| | |
| | | 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); |
| | | if(listResult.get(i).get("EquipLevel").equals("0")){ |
| | | count0++; |
| | |
| | | } |
| | | } |
| | | } |
| | | //ç¨éå·åéå符åçsize为æå¤§çç»æå±æ° |
| | | String[] ancestorsArray = longest.split(","); |
| | | int max = ancestorsArray.length; |
| | | //è·åé¨é¨å±çº§ |
| | | List<SysDept> sysDepts = sysDeptService.all(); |
| | | List<TreeSelectWell> tree = sysDeptService.wellTree(sysDepts); |
| | | //å¾ªç¯æ°æ®æå¨å°é¨é¨å±çº§ä¸ |
| | | for (int i = 0; i < healthVos.size(); i++) { |
| | | HealthVo healthVo = healthVos.get(i); |
| | | Long deptId = healthVo.getDeptId(); |
| | | //å¾ªç¯æ ç»æ |
| | | for (int j = 0; j < tree.size(); j++) { |
| | | //å¦æç¬¬ä¸å±å¹é
èµå¼ |
| | | if(deptId.equals(tree.get(j).getId())){ |
| | | tree.get(j).getWell().add(healthVo); |
| | | break; |
| | | //æ ¹æ®deptListæ¥è¯¢åºç¨æ·å以ä¸çææé¨é¨ä¿¡æ¯ |
| | | List<SysDept> sysDepts = sysDeptService.allByUser(deptList); |
| | | //å¾ªç¯æ¥è¯¢åºè¯¥ç¨æ·çææä¸çº§ID |
| | | List<String> userParentId = new ArrayList<>(); |
| | | for (int i = 0; i < sysDepts.size(); i++) { |
| | | Long userDeptId = sysDepts.get(i).getDeptId(); |
| | | if(usersId.equals(userDeptId)){ |
| | | String ancestors = sysDepts.get(i).getAncestors(); |
| | | if(ancestors.contains(",")){ |
| | | userParentId = Arrays.asList(ancestors.split(",")); |
| | | }else { |
| | | //ä¸å¹é
ä¸children大äº0æ¥è¯¢ç¬¬äºå± |
| | | if(tree.get(j).getChildren().size()>0){ |
| | | for (int k = 0; k < tree.get(j).getChildren().size(); k++) { |
| | | //å¦æç¬¬äºå±å¹é
|
| | | if(deptId.equals(tree.get(j).getChildren().get(k).getId())){ |
| | | tree.get(j).getChildren().get(k).getWell().add(healthVo); |
| | | break; |
| | | }else { |
| | | //ä¸å¹é
ä¸children大äº0æ¥è¯¢ç¬¬ä¸å± |
| | | if(tree.get(j).getChildren().get(k).getChildren().size()>0){ |
| | | for (int l = 0; l < tree.get(j).getChildren().get(k).getChildren().size(); l++) { |
| | | //å¦æç¬¬ä¸å±å¹é
|
| | | if(deptId.equals(tree.get(j).getChildren().get(k).getChildren().get(l).getId())){ |
| | | tree.get(j).getChildren().get(k).getChildren().get(l).getWell().add(healthVo); |
| | | break; |
| | | }else { |
| | | //ä¸å¹é
ä¸children大äº0æ¥è¯¢ç¬¬åå± |
| | | if(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().size()>0){ |
| | | for (int m = 0; m < tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().size(); m++) { |
| | | //å¦æç¬¬åå±å¹é
|
| | | if(deptId.equals(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getId())){ |
| | | tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getWell().add(healthVo); |
| | | break; |
| | | }else { |
| | | //ä¸å¹é
ä¸children大äº0æ¥è¯¢ç¬¬äºå± |
| | | if(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().size()>0){ |
| | | for (int n = 0; n < tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().size(); n++) { |
| | | //å¦æç¬¬äºå±å¹é
|
| | | if(deptId.equals(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().get(n).getId())){ |
| | | tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().get(n).getWell().add(healthVo); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userParentId.add(ancestors); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | //æé¨é¨å±çº§åæ°æ®ç»å |
| | | List<TreeDeptWell> treeDeptWells = new ArrayList<>(); |
| | | for (int i = 0; i < sysDepts.size(); i++) { |
| | | 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); |
| | | Long healthDeptId = healthVo.getDeptId(); |
| | | if(deptId.equals(healthDeptId)){ |
| | | deptHealths.add(healthVo); |
| | | //ç¶çº§ç»æèµå¼ |
| | | String thisAncestors = healthVo.getAncestors(); |
| | | List<String> ancestorsA = Arrays.asList(thisAncestors.split(",")); |
| | | ancestorsA.removeAll(userParentId); |
| | | // for (int k = 0; k < userParentId.size(); k++) { |
| | | // String a = userParentId.get(k); |
| | | // for (int l = 0; l < ancestorsA.size(); l++) { |
| | | // String b = ancestorsA.get(l); |
| | | // if(a.equals(b)){ |
| | | // ancestorsA.remove(b); |
| | | // } |
| | | // } |
| | | // } |
| | | for (int k = 0; k < ancestorsA.size(); k++) { |
| | | Long ancestor = Long.parseLong(ancestorsA.get(k)); |
| | | //å¾ªç¯æç»List夿æ¯å¦æè¯¥æ°æ®çç¶çº§ï¼å¦ææ²¡æå°±å¡«è¿å» |
| | | boolean wellTrue = false; |
| | | if(ancestor==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; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(!wellTrue){ |
| | | SysDept sysDept1 = sysDeptService.selectDeptById(ancestor); |
| | | TreeDeptWell treeDeptWell = new TreeDeptWell(); |
| | | 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); |
| | | TreeSelectWellJson treeSelectWellJson = new TreeSelectWellJson(); |
| | | treeSelectWellJson.setWellList(tree); |
| | | treeSelectWellJson.setCount0(count0); |