Bläddra i källkod

索引树结构变更

raojiang 2 månader sedan
förälder
incheckning
48774e406d

+ 44 - 49
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/application/FeederGroupApplication.java

@@ -55,8 +55,11 @@ public class FeederGroupApplication {
     }
 
     private List<FeederGroupTreeNode> buildFeederGroupTree(List<DwdShbDsFeederBase> rawList) {
+        List<TJxz> jxzList = jxzService.list();
+        Map<String, Long> jxzFileMap = jxzList.stream().collect(Collectors.toMap(TJxz::getJxzId, TJxz::getFileId));
         List<TJxzXl> jxzxlList = jxzXlService.list();
-        Map<String, List<TJxzXl>> jxzXlMap = jxzxlList.stream().collect(Collectors.groupingBy(TJxzXl::getJxzId));
+        Map<String, TJxzXl> jxzXlMap = jxzxlList.stream().collect(Collectors.toMap(TJxzXl::getXlid, i -> i));
+
         //线路单线图文件id
         List<String> xlIds = jxzxlList.stream().map(TJxzXl::getXlid).collect(Collectors.toList());
         List<FhzgDistMappingFileDTO> mappingFileById = distMappingFileMapper.getMappingFileById(xlIds);
@@ -70,54 +73,46 @@ public class FeederGroupApplication {
         Map<String, FeederGroupTreeNode> maintOrgMap = new HashMap<>();
         Map<String, FeederGroupTreeNode> substationMap = new HashMap<>();
 
-//        rawList.forEach(row -> {
-//            FeederGroupTreeNode cityNode = cityMap.get(row.getCity());
-//            FeederGroupTreeNode maintOrgNode = maintOrgMap.computeIfAbsent(
-//                    row.getCity() + "_" + row.getMaintOrg(),
-//                    k -> {
-//                        FeederGroupTreeNode newMaintOrgNode = new FeederGroupTreeNode().setId(row.getMaintOrg()).setName(row.getMaintOrgName()).setType(2).setChildren(new ArrayList<>());
-//                        cityNode.getChildren().add(newMaintOrgNode);
-//                        return newMaintOrgNode;
-//                    }
-//            );
-
-//            FeederGroupTreeNode labelNode = labelMap.computeIfAbsent(
-//                    row.getCity() + "_" + row.getMaintOrg() + "_" + row.getJxzLabel(),
-//                    l -> {
-//                        FeederGroupTreeNode newLabelNode = new FeederGroupTreeNode().setName(row.getJxzLabel()).setType(3).setChildren(new ArrayList<>());
-//                        maintOrgNode.getChildren().add(newLabelNode);
-//                        return newLabelNode;
-//                    }
-//            );
-//
-//            List<TJxzXl> tJxzXls = jxzXlMap.get(row.getJxzId());
-//
-//
-//            List<FeederGroupTreeNode> list = new ArrayList<>();
-//            for (TJxzXl tJxzXl : tJxzXls) {
-//                FeederGroupTreeNode jxzxl = new FeederGroupTreeNode();
-//                jxzxl.setId(tJxzXl.getXlid());
-//                jxzxl.setType(5);
-//                jxzxl.setName(tJxzXl.getXlid());
-//                FeederGroupTreeNode.FileType fileType = new FeederGroupTreeNode.FileType().setFileId(mappingFileMap.get(tJxzXl.getXlid())).setFileType("1");
-//                FeederGroupTreeNode.FileType fileType1 = new FeederGroupTreeNode.FileType().setFileId(tJxzXl.getSwitchSectionFileId()).setFileType("2");
-//                FeederGroupTreeNode.FileType fileType2 = new FeederGroupTreeNode.FileType().setFileId(tJxzXl.getLoadGroupFileId()).setFileType("3");
-//                FeederGroupTreeNode.FileType fileType3 = new FeederGroupTreeNode.FileType().setFileId(tJxzXl.getPrimaryFileId()).setFileType("4");
-//                List<FeederGroupTreeNode.FileType> fileTypeList = new ArrayList<>();
-//                fileTypeList.add(fileType);
-//                fileTypeList.add(fileType1);
-//                fileTypeList.add(fileType2);
-//                fileTypeList.add(fileType3);
-//                jxzxl.setFileIdList(fileTypeList);
-//                list.add(jxzxl);
-//            }
-//
-//
-//            labelNode.getChildren().add(
-//                    new FeederGroupTreeNode().setId(row.getJxzId()).setName(row.getJxzName()).setType(4)
-//                            .setFileIdList(Collections.singletonList(new FeederGroupTreeNode.FileType().setFileId(row.getFileId()).setFileType("1")))
-//                            .setChildren(list));
-//        });
+
+        rawList.forEach(row -> {
+            FeederGroupTreeNode cityNode = cityMap.get(row.getCity());
+            FeederGroupTreeNode maintOrgNode = maintOrgMap.computeIfAbsent(
+                    row.getCity() + "_" + row.getMaintOrg(),
+                    k -> {
+                        FeederGroupTreeNode newMaintOrgNode = new FeederGroupTreeNode().setId(row.getMaintOrg()).setName(row.getMaintOrgName()).setType(2).setChildren(new ArrayList<>());
+                        cityNode.getChildren().add(newMaintOrgNode);
+                        return newMaintOrgNode;
+                    }
+            );
+
+            FeederGroupTreeNode substationNode = substationMap.computeIfAbsent(
+                    row.getCity() + "_" + row.getMaintOrg() + "_" + row.getStartStation(),
+                    l -> {
+                        FeederGroupTreeNode newLabelNode = new FeederGroupTreeNode().setName(row.getStartStationName()).setType(3).setChildren(new ArrayList<>());
+                        maintOrgNode.getChildren().add(newLabelNode);
+                        return newLabelNode;
+                    }
+            );
+
+            TJxzXl tJxzXl = jxzXlMap.get(row.getPsrId());
+            FeederGroupTreeNode.FileType fileType = new FeederGroupTreeNode.FileType().setFileId(mappingFileMap.get(row.getPsrId())).setFileType("1");
+            FeederGroupTreeNode.FileType fileType1 = new FeederGroupTreeNode.FileType().setFileId(tJxzXl.getSwitchSectionFileId()).setFileType("2");
+            FeederGroupTreeNode.FileType fileType2 = new FeederGroupTreeNode.FileType().setFileId(tJxzXl.getLoadGroupFileId()).setFileType("3");
+            FeederGroupTreeNode.FileType fileType3 = new FeederGroupTreeNode.FileType().setFileId(tJxzXl.getPrimaryFileId()).setFileType("4");
+            FeederGroupTreeNode.FileType fileType4 = new FeederGroupTreeNode.FileType().setFileId(jxzFileMap.get(jxzXlMap.get(row.getPsrId()).getJxzId())).setFileType("5");
+            List<FeederGroupTreeNode.FileType> fileTypeList = new ArrayList<>();
+            fileTypeList.add(fileType);
+            fileTypeList.add(fileType1);
+            fileTypeList.add(fileType2);
+            fileTypeList.add(fileType3);
+            fileTypeList.add(fileType4);
+
+
+            substationNode.getChildren().add(
+                    new FeederGroupTreeNode().setId(row.getPsrId()).setName(row.getName()).setType(4)
+                            .setFileIdList(fileTypeList));
+
+        });
         return new ArrayList<>(cityMap.values());
     }