Переглянути джерело

优化一个塔对应多个场站或项目逻辑

hxf 2 роки тому
батько
коміт
4e54519dc8

+ 5 - 14
neim-biz/src/main/java/com/jiayue/biz/service/impl/HomePageServiceImpl.java

@@ -820,15 +820,12 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
             fanList.addAll(stationInfo.getFanTowerList());
         }
 
-        ArrayList<HashMap<String, Object>> projectForStationIdList = new ArrayList<>();
         List<Map<String, Object>> listMap = 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());
-            //有多条只添加一个其他都是一样的 需要删除
-            listMap.add(towerNo.get(0));
+            //有多条只添加一个其他都是一样的只需要替换id 多余的需要删除
             for (Map<String, Object> map : towerNo) {
                 HashMap<Object, Object> hashMap1 = new HashMap<>();
                 hashMap1.put("type",map.get("type"));
@@ -837,17 +834,11 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
                     arrayList.add(hashMap1);
                 }
             }
-            hashMap.put("towerNo", s);
-            hashMap.put("projectForStationId", arrayList);
-            projectForStationIdList.add(hashMap);
-        }
-        //循环结果数据 替换id值
-        for (Map<String, Object> map : listMap) {
-            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"));
-            }
+            //替换id值
+            towerNo.get(0).put("projectId",arrayList);
+            listMap.add(towerNo.get(0));
         }
+
         dataMap.put("towerList", listMap);
         dataMap.put("fan", fanList);
         return dataMap;