From 2b8f91e31b512c2868dc5cc26edf5d5d1167c557 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期四, 06 三月 2025 10:04:35 +0800 Subject: [PATCH] Merge branch 'master' of http://118.89.139.230:10101/r/fg_v2.0 --- src/main/java/com/whyc/service/BattalarmDataService.java | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 165 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/whyc/service/BattalarmDataService.java b/src/main/java/com/whyc/service/BattalarmDataService.java index 16a5e82..84811e9 100644 --- a/src/main/java/com/whyc/service/BattalarmDataService.java +++ b/src/main/java/com/whyc/service/BattalarmDataService.java @@ -22,6 +22,7 @@ import com.whyc.util.ActionUtil; import com.whyc.util.MessageUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -43,6 +44,9 @@ @Autowired private SubTablePageInfoService subService; + @Autowired + @Lazy + private StationInfService stationInfService; //鏌ヨ鎵�鏈夌殑鍛婅 public Response getAll() { @@ -916,6 +920,167 @@ } + /** + * 杩欓噷闈㈢殑灞傜骇姣攇etByLevel鐨勫眰绾ц澶氫竴涓眰绾�,StationnName5,閫氳繃Map<String,levelMap> + * @param userId + * @return 杩斿洖鐨勭粨鏋勭ず渚嬩负: + * { + * "1鍙风嚎": { + * "level1":{ + * battAlarmCount: 0, + * deviceAlarmCount: 0, + * powerAlarmCount: 0 + * }, + * "level2":{ + * battAlarmCount: 0, + * deviceAlarmCount: 0, + * powerAlarmCount: 0 + * }, + * "level3":{ + * battAlarmCount: 0, + * deviceAlarmCount: 0, + * powerAlarmCount: 0 + * }, + * "level4":{ + * battAlarmCount: 0, + * deviceAlarmCount: 0, + * powerAlarmCount: 0 + * } + * }, + * "2鍙风嚎": { + * "level1":{ + * battAlarmCount: 0, + * deviceAlarmCount: 0, + * powerAlarmCount: 0 + * }, + * "level2":{ + * battAlarmCount: 0, + * deviceAlarmCount: 0, + * powerAlarmCount: 0 + * }, + * "level3":{ + * battAlarmCount: 0, + * deviceAlarmCount: 0, + * powerAlarmCount: 0 + * }, + * "level4":{ + * battAlarmCount: 0, + * deviceAlarmCount: 0, + * powerAlarmCount: 0 + * } + * } + * + * 姝ラ: + * 1) 鏌ヨ鎵�鏈夌殑鍖哄幙 + * 2) 鑾峰彇鍖呭惈鍛婅绾у埆,鍖哄幙鐨勭數姹犲垪琛� + * 3) 鏍规嵁鍖哄幙鍒嗙粍 + * + * } + */ + public Response getByLevelAndStationName5(int userId) { + //杩斿洖鐨勭粨鏋滅粨鏋勫垵濮嬪寲 + Map<String,Map<String,AlarmCountDTO>> subwayLineLevelMap = new LinkedHashMap<>(); + //鏌ヨ鎵�鏈夌殑鍖哄幙 + List<String> stationName5List = (List<String>) stationInfService.searchAllStationName5(userId,null,null).getData(); + List<BattalarmData> battAlarmListAll = getLevelListByUserId(userId); + List<DevalarmData> deviceAlarmListAll = devalarmDataMapper.getLevelListByUserId(userId); + List<PwrdevAlarm> powerAlarmListAll = pwrdevAlarmMapper.getLevelListByUserId(userId); + + for (String stationName5 : stationName5List) { + + Map<String,AlarmCountDTO> levelMap = new HashMap<>(); + AlarmCountDTO alarmCount1 = new AlarmCountDTO(); + AlarmCountDTO alarmCount2 = new AlarmCountDTO(); + AlarmCountDTO alarmCount3 = new AlarmCountDTO(); + AlarmCountDTO alarmCount4 = new AlarmCountDTO(); + + //鐢垫睜 + List<BattalarmData> battAlarmList = battAlarmListAll.stream().filter(battalarmData -> battalarmData.getStationName5().equals(stationName5)).collect(Collectors.toList()); + int battAlarmCountLevel1 = 0; + int battAlarmCountLevel2 = 0; + int battAlarmCountLevel3 = 0; + int battAlarmCountLevel4 = 0; + for (BattalarmData battalarmData : battAlarmList) { + Integer almLevel = battalarmData.getAlmLevel(); + if(almLevel == 1){ + battAlarmCountLevel1++; + } + else if(almLevel == 2){ + battAlarmCountLevel2++; + } + else if(almLevel == 3){ + battAlarmCountLevel3++; + } + else if(almLevel == 4){ + battAlarmCountLevel4++; + } + } + alarmCount1.setBattAlarmCount(battAlarmCountLevel1); + alarmCount2.setBattAlarmCount(battAlarmCountLevel2); + alarmCount3.setBattAlarmCount(battAlarmCountLevel3); + alarmCount4.setBattAlarmCount(battAlarmCountLevel4); + //璁惧 + List<DevalarmData> deviceAlarmList = deviceAlarmListAll.stream().filter(devalarmData -> devalarmData.getStationName5().equals(stationName5)).collect(Collectors.toList()); + int deviceAlarmCountLevel1 = 0; + int deviceAlarmCountLevel2 = 0; + int deviceAlarmCountLevel3 = 0; + int deviceAlarmCountLevel4 = 0; + for (DevalarmData deviceAlarmData : deviceAlarmList) { + Integer almLevel = deviceAlarmData.getAlmLevel(); + if(almLevel == 1){ + deviceAlarmCountLevel1++; + } + else if(almLevel == 2){ + deviceAlarmCountLevel2++; + } + else if(almLevel == 3){ + deviceAlarmCountLevel3++; + } + else if(almLevel == 4){ + deviceAlarmCountLevel4++; + } + } + alarmCount1.setDeviceAlarmCount(deviceAlarmCountLevel1); + alarmCount2.setDeviceAlarmCount(deviceAlarmCountLevel2); + alarmCount3.setDeviceAlarmCount(deviceAlarmCountLevel3); + alarmCount4.setDeviceAlarmCount(deviceAlarmCountLevel4); + //鐢垫簮 + List<PwrdevAlarm> powerAlarmList = powerAlarmListAll.stream().filter(pwrdevAlarm -> pwrdevAlarm.getStationName5().equals(stationName5)).collect(Collectors.toList()); + int powerAlarmCountLevel1 = 0; + int powerAlarmCountLevel2 = 0; + int powerAlarmCountLevel3 = 0; + int powerAlarmCountLevel4 = 0; + for (PwrdevAlarm powerAlarmData : powerAlarmList) { + Integer almLevel = powerAlarmData.getAlmLevel(); + if(almLevel == 1){ + powerAlarmCountLevel1++; + } + else if(almLevel == 2){ + powerAlarmCountLevel2++; + } + else if(almLevel == 3){ + powerAlarmCountLevel3++; + } + else if(almLevel == 4){ + powerAlarmCountLevel4++; + } + } + alarmCount1.setPowerAlarmCount(powerAlarmCountLevel1); + alarmCount2.setPowerAlarmCount(powerAlarmCountLevel2); + alarmCount3.setPowerAlarmCount(powerAlarmCountLevel3); + alarmCount4.setPowerAlarmCount(powerAlarmCountLevel4); + + levelMap.put("level1",alarmCount1); + levelMap.put("level2",alarmCount2); + levelMap.put("level3",alarmCount3); + levelMap.put("level4",alarmCount4); + subwayLineLevelMap.put(stationName5,levelMap); + + } + return new Response().set(1,subwayLineLevelMap); + + } + private List<BattalarmData> getLevelListByUserId(int userId) { return mapper.getLevelListByUserId(userId); } -- Gitblit v1.9.1