Pārlūkot izejas kodu

修改一个塔对应多个场站或项目逻辑

hxf 2 gadi atpakaļ
vecāks
revīzija
638c005be1

+ 18 - 9
neim-biz/src/main/java/com/jiayue/biz/service/impl/HomePageServiceImpl.java

@@ -775,7 +775,7 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
         ArrayList<List<List<Coordinates>>> coordinateList = new ArrayList<>();
         //风机List
         ArrayList<FanTower> fanList = new ArrayList<>();
-        ArrayList<String> eqNoList = new ArrayList<>();
+        HashSet<String> eqNoList = new HashSet<>();
         for (ProjectInfo projectInfo : projectInfoList) {
             //拐点坐标
             coordinateList.add(projectInfo.getCoordinates());
@@ -805,6 +805,7 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
                 //循环测风塔信息
                 ArrayList<Map<String, Object>> arrayList = new ArrayList<>();
                 for (Equipment equipment : stationInfo.getEquipment()) {
+                    eqNoList.add(equipment.getEquipmentNo());
                     HashMap<String, Object> map = new HashMap<>();
                     map.put("type", "station");
                     map.put("longitude", equipment.getLongitude());
@@ -819,27 +820,35 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
             fanList.addAll(stationInfo.getFanTowerList());
         }
 
-        ArrayList<HashMap<String,Object>> projectForStationIdList = new ArrayList<>();
+        ArrayList<HashMap<String, Object>> projectForStationIdList = new ArrayList<>();
+        //利用塔编号过滤分组项目以及场站的id
         for (String s : eqNoList) {
             HashMap<String, Object> hashMap = new HashMap<>();
             ArrayList<Object> arrayList = new ArrayList<>();
             List<Map<String, Object>> towerNo = towerList.stream().filter(key -> key.get("towerNo").equals(s)).collect(Collectors.toList());
             for (Map<String, Object> map : towerNo) {
-                if(map.containsKey("projectId")){
+                if (map.containsKey("projectId")) {
                     arrayList.add(map.get("projectId"));
                 }
-                if(map.containsKey("stationId")){
+                if (map.containsKey("stationId")) {
                     arrayList.add(map.get("stationId"));
                 }
             }
-            hashMap.put("towerNo",s);
-            hashMap.put("projectForStationId",arrayList);
+            hashMap.put("towerNo", s);
+            hashMap.put("projectForStationId", arrayList);
             projectForStationIdList.add(hashMap);
         }
-        dataMap.put("projectForStationId",projectForStationIdList);
-
+        //循环结果数据 替换id值
+        for (Map<String, Object> map : towerList) {
+            List<HashMap<String, Object>> collect = projectForStationIdList.stream().filter(k -> k.get("towerNo").toString().equals(map.get("towerNo").toString())).collect(Collectors.toList());
+            if(map.containsKey("projectId")){
+                map.put("projectId",collect.get(0).get("projectForStationId"));
+            }
+            if (map.containsKey("stationId")) {
+                map.put("stationId",collect.get(0).get("projectForStationId"));
+            }
+        }
         dataMap.put("fan", fanList);
-
         return dataMap;
     }