浏览代码

fix :FOV-41

lvxianyun 3 年之前
父节点
当前提交
8b083e2ecc
共有 1 个文件被更改,包括 25 次插入25 次删除
  1. 25 25
      src/main/java/com/persagy/proxy/object/controller/AdmSystemController.java

+ 25 - 25
src/main/java/com/persagy/proxy/object/controller/AdmSystemController.java

@@ -285,34 +285,34 @@ public class AdmSystemController {
             if(CollUtil.isNotEmpty(syses.getContent())){
                 admSystemList = (List<AdmSystem>) syses.getContent();
                 admSystemList.stream().forEach(admSystem -> {
-                    List<ObjectNode> buildingFloorInfoList = new ArrayList<>();
                     List<AdmBuilding> buildingList = admSystem.getBuildingList();
-                    if(CollUtil.isNotEmpty(buildingList)){
-                        buildingList.stream().forEach(admBuilding -> {
-                            ObjectNode info = JsonNodeFactory.instance.objectNode();
-                            info.put("BuildID",admBuilding.getId());
-                            info.put("BuildName",admBuilding.getLocalName());
-                            buildingFloorInfoList.add(info);
-
-                            List<AdmFloor> admFloorList = admSystem.getFloorList();
-                            if(CollUtil.isNotEmpty(admFloorList)){
-                                Map<String, AdmFloor> admFloorMap = CollUtil.fieldValueMap(admFloorList, "buildingId");
-                                if(admFloorMap.containsKey(admBuilding.getId())){
-                                    ObjectNode infobd = JsonNodeFactory.instance.objectNode();
-                                    infobd.put("BuildID",admBuilding.getId());
-                                    infobd.put("BuildName",admBuilding.getLocalName());
-                                    infobd.put("FloorID",admFloorMap.get(admBuilding.getId()).getId());
-                                    infobd.put("FloorName",admFloorMap.get(admBuilding.getId()).getLocalName());
-                                    buildingFloorInfoList.add(infobd);
-                                }
-                            }
+                    if(CollUtil.isEmpty(buildingList)){
+                        admSystem.setBuildingFloorInfoList(new ArrayList<>(1));
+                    }
+                    List<ObjectNode> buildingFloorInfoList = new ArrayList<>();
+                    buildingList.stream().forEach(admBuilding -> {
+                        ObjectNode info = JsonNodeFactory.instance.objectNode();
+                        info.put("BuildID",admBuilding.getId());
+                        info.put("BuildName",admBuilding.getLocalName());
+                        buildingFloorInfoList.add(info);
+                    });
+
+                    admSystem.setBuildingList(null);
+                    Map<String, AdmBuilding> admBuildingMap = CollUtil.fieldValueMap(buildingList, BaseEntity.PROP_ID);
+                    List<AdmFloor> admFloorList = admSystem.getFloorList();
+                    if(CollUtil.isNotEmpty(admFloorList)){
+                        Map<String, AdmFloor> admFloorMap = CollUtil.fieldValueMap(admFloorList, "buildingId");
+                        admFloorList.stream().forEach(admFloor -> {
+                            ObjectNode infobd = JsonNodeFactory.instance.objectNode();
+                            infobd.put("BuildID",admFloor.getBuildingId());
+                            infobd.put("BuildName",admBuildingMap.get(admFloor.getBuildingId()).getLocalName());
+                            infobd.put("FloorID",admFloor.getId());
+                            infobd.put("FloorName",admFloor.getLocalName());
+                            buildingFloorInfoList.add(infobd);
                         });
-                        admSystem.setBuildingFloorInfoList(buildingFloorInfoList);
-                        admSystem.setBuildingList(null);
-                        admSystem.setFloorList(null);
-                    } else{
-                        admSystem.setBuildingFloorInfoList(buildingFloorInfoList);
                     }
+                    admSystem.setFloorList(null);
+                    admSystem.setBuildingFloorInfoList(buildingFloorInfoList);
                 });
                 syses.setContent(CollUtil.isEmpty(admSystemList) ? new ArrayList<>(1) : admSystemList);
             }