whyclxw
2025-05-07 b22e8e7a2d6f6a2998913c381af5ceba9542d79e
src/main/java/com/whyc/service/BattalarmDataService.java
@@ -1143,4 +1143,101 @@
        map.put("devAlm",devAlm.size());
        return new Response().set(1,map,"61853检测是否存在告警");
    }
    //插入初始数据
    public void setDefalut( Map<String,Object> map){
        Map<String,Object> levelMap=new HashMap<>();
        Map<Integer,Object> map1=new HashMap<>();
        map1.put(1,0);
        map1.put(2,0);
        map1.put(3,0);
        map1.put(4,0);
        levelMap.put("3",map1);
        levelMap.put("5",map1);
        levelMap.put("6",map1);
        levelMap.put("7",map1);
        levelMap.put("8",map1);
        map.put("level",levelMap);
        Map<String,Object> typelMap=new HashMap<>();
        Map<String,Object> map2=new HashMap<>();
        map2.put("在线电压告警",0);
        map2.put("组端电压告警",0);
        map2.put("充电电流告警",0);
        map2.put("放电电流告警",0);
        map2.put("单体电压告警",0);
        map2.put("单体温度告警",0);
        map2.put("单体内阻告警",0);
        typelMap.put("3",map2);
        typelMap.put("5",map2);
        typelMap.put("6",map2);
        typelMap.put("7",map2);
        typelMap.put("8",map2);
        map.put("type",typelMap);
    }
    //2.统计电池告警
    public Response getAllBattAlarmInSz2(Integer userId) {
        Map<String,Object> map=new HashMap<>();
        Map<Integer,Integer> allLevelmap=new HashMap<>();
        Map<String,Integer> allTypemap=new HashMap<>();
        Map<String,List<BattalarmData>> listmap=new HashMap<>();
        Map<String,List<BattalarmData>> allListmap=new HashMap<>();
        //setDefalut(map);
        try {
            //查询b所有实时电池告警信息
            List<BattalarmData> list=mapper.getAllBattAlarmInSz2(userId);
            allListmap.put("allList",list.stream().limit(10).collect(Collectors.toList()));
            Map<String, List<BattalarmData>> ListMap = list.stream().collect(Collectors.groupingBy(BattalarmData::getStationName9));
            Map<String,Object> levelMap=new HashMap<>();
            Map<String,Object> typelMap=new HashMap<>();
            for (String stationName9 : ListMap.keySet()) {
                List<BattalarmData> name9List=ListMap.get(stationName9);
                listmap.put(stationName9,name9List.stream().limit(10).collect(Collectors.toList()));
                Map<Integer, List<BattalarmData>> levelName9Map = name9List.stream().collect(Collectors.groupingBy(BattalarmData::getAlmLevel));
                Map<Integer, Integer> levelNumMap = new HashMap<>();
                levelNumMap.put(1,0);
                levelNumMap.put(2,0);
                levelNumMap.put(3,0);
                levelNumMap.put(4,0);
                for (Integer level : levelName9Map.keySet()) {
                    levelNumMap.put(level,levelName9Map.get(level).size());
                    int levelnum=0;
                    if(allLevelmap.get(level)==null){
                        levelnum=levelName9Map.get(level).size();
                    }else{
                        levelnum=allLevelmap.get(level)+levelName9Map.get(level).size();
                    }
                    allLevelmap.put(level,levelnum);
                }
                levelMap.put(stationName9,levelNumMap);
                Map<Integer, List<BattalarmData>> typeName9Map = name9List.stream().collect(Collectors.groupingBy(BattalarmData::getAlmId));
                Map<String, Object> typeNumMap = new HashMap<>();
                typeNumMap.put("在线电压告警",0);
                typeNumMap.put("组端电压告警",0);
                typeNumMap.put("充电电流告警",0);
                typeNumMap.put("放电电流告警",0);
                typeNumMap.put("单体电压告警",0);
                typeNumMap.put("单体温度告警",0);
                typeNumMap.put("单体内阻告警",0);
                for (Integer type : typeName9Map.keySet()) {
                    typeNumMap.put(AlarmConstant.getSzBattAlmName(type),typeName9Map.get(type).size());
                    int typenum=0;
                    if(allTypemap.get(AlarmConstant.getSzBattAlmName(type))==null){
                        typenum=typeName9Map.get(type).size();
                    }else{
                        typenum=allTypemap.get(AlarmConstant.getSzBattAlmName(type))+typeName9Map.get(type).size();
                    }
                    allTypemap.put(AlarmConstant.getSzBattAlmName(type),typenum);
                }
                typelMap.put(stationName9,typeNumMap);
            }
            map.put("level",levelMap);
            map.put("type",typelMap);
            map.put("allLevel",allLevelmap);
            map.put("allType",allTypemap);
            map.put("list",listmap);
            return new Response<>().setII(1,true,map,"");
        } catch (Exception e) {
            return new Response<>().set(1,false,"");
        }
    }
}