whycxzp
2024-03-09 f31c226385b545d744cee20165a34a115e371d82
南网昆明首页接口
1个文件已添加
2个文件已修改
129 ■■■■■ 已修改文件
src/main/java/com/whyc/dto/AlarmCountDTO.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattalarmDataService.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/ScreenForNWKMSocket.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/AlarmCountDTO.java
New file
@@ -0,0 +1,32 @@
package com.whyc.dto;
public class AlarmCountDTO {
    private Integer battAlarmCount;
    private Integer deviceAlarmCount;
    private Integer powerAlarmCount;
    public Integer getBattAlarmCount() {
        return battAlarmCount;
    }
    public void setBattAlarmCount(Integer battAlarmCount) {
        this.battAlarmCount = battAlarmCount;
    }
    public Integer getDeviceAlarmCount() {
        return deviceAlarmCount;
    }
    public void setDeviceAlarmCount(Integer deviceAlarmCount) {
        this.deviceAlarmCount = deviceAlarmCount;
    }
    public Integer getPowerAlarmCount() {
        return powerAlarmCount;
    }
    public void setPowerAlarmCount(Integer powerAlarmCount) {
        this.powerAlarmCount = powerAlarmCount;
    }
}
src/main/java/com/whyc/service/BattalarmDataService.java
@@ -7,6 +7,7 @@
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.constant.AlarmConstant;
import com.whyc.dto.AlarmCountDTO;
import com.whyc.dto.AlarmDaoFactory;
import com.whyc.dto.BattMaintDealarm;
import com.whyc.dto.Response;
@@ -716,74 +717,92 @@
    }
    public Response getByLevel(int userId) {
        Map<String,Integer> levelMap = new HashMap<>();
        levelMap.put("level1",0);
        levelMap.put("level2",0);
        levelMap.put("level3",0);
        levelMap.put("level4",0);
        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 = getLevelListByUserId(userId);
        int battAlarmCountLevel1 = 0;
        int battAlarmCountLevel2 = 0;
        int battAlarmCountLevel3 = 0;
        int battAlarmCountLevel4 = 0;
        for (BattalarmData battalarmData : battAlarmList) {
            Integer almLevel = battalarmData.getAlmLevel();
            if(almLevel == 1){
                Integer levelCount = levelMap.get("level1");
                levelMap.put("level1",levelCount+1);
                battAlarmCountLevel1++;
            }
            else if(almLevel == 2){
                Integer levelCount = levelMap.get("level2");
                levelMap.put("level2",levelCount+1);
                battAlarmCountLevel2++;
            }
            else if(almLevel == 3){
                Integer levelCount = levelMap.get("level3");
                levelMap.put("level3",levelCount+1);
                battAlarmCountLevel3++;
            }
            else if(almLevel == 4){
                Integer levelCount = levelMap.get("level4");
                levelMap.put("level4",levelCount+1);
                battAlarmCountLevel4++;
            }
        }
        alarmCount1.setBattAlarmCount(battAlarmCountLevel1);
        alarmCount2.setBattAlarmCount(battAlarmCountLevel2);
        alarmCount3.setBattAlarmCount(battAlarmCountLevel3);
        alarmCount4.setBattAlarmCount(battAlarmCountLevel4);
        //设备
        List<DevalarmData> deviceAlarmList = devalarmDataMapper.getLevelListByUserId(userId);
        int deviceAlarmCountLevel1 = 0;
        int deviceAlarmCountLevel2 = 0;
        int deviceAlarmCountLevel3 = 0;
        int deviceAlarmCountLevel4 = 0;
        for (DevalarmData deviceAlarmData : deviceAlarmList) {
            Integer almLevel = deviceAlarmData.getAlmLevel();
            if(almLevel == 1){
                Integer levelCount = levelMap.get("level1");
                levelMap.put("level1",levelCount+1);
                deviceAlarmCountLevel1++;
            }
            else if(almLevel == 2){
                Integer levelCount = levelMap.get("level2");
                levelMap.put("level2",levelCount+1);
                deviceAlarmCountLevel2++;
            }
            else if(almLevel == 3){
                Integer levelCount = levelMap.get("level3");
                levelMap.put("level3",levelCount+1);
                deviceAlarmCountLevel3++;
            }
            else if(almLevel == 4){
                Integer levelCount = levelMap.get("level4");
                levelMap.put("level4",levelCount+1);
                deviceAlarmCountLevel4++;
            }
        }
        alarmCount1.setDeviceAlarmCount(deviceAlarmCountLevel1);
        alarmCount2.setDeviceAlarmCount(deviceAlarmCountLevel2);
        alarmCount3.setDeviceAlarmCount(deviceAlarmCountLevel3);
        alarmCount4.setDeviceAlarmCount(deviceAlarmCountLevel4);
        //电源
        List<PwrdevAlarm> powerAlarmList = pwrdevAlarmMapper.getLevelListByUserId(userId);
        int powerAlarmCountLevel1 = 0;
        int powerAlarmCountLevel2 = 0;
        int powerAlarmCountLevel3 = 0;
        int powerAlarmCountLevel4 = 0;
        for (PwrdevAlarm powerAlarmData : powerAlarmList) {
            Integer almLevel = powerAlarmData.getAlmLevel();
            if(almLevel == 1){
                Integer levelCount = levelMap.get("level1");
                levelMap.put("level1",levelCount+1);
                powerAlarmCountLevel1++;
            }
            else if(almLevel == 2){
                Integer levelCount = levelMap.get("level2");
                levelMap.put("level2",levelCount+1);
                powerAlarmCountLevel2++;
            }
            else if(almLevel == 3){
                Integer levelCount = levelMap.get("level3");
                levelMap.put("level3",levelCount+1);
                powerAlarmCountLevel3++;
            }
            else if(almLevel == 4){
                Integer levelCount = levelMap.get("level4");
                levelMap.put("level4",levelCount+1);
                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);
        return new Response().set(1,levelMap);
    }
src/main/java/com/whyc/webSocket/ScreenForNWKMSocket.java
@@ -105,7 +105,7 @@
                    Map<String, Object> res = new HashMap<>();
                    while (!currentThread().isInterrupted()) {
                        ThreadPoolExecutor poolExecutor = ThreadPoolExecutorFactory.getPoolExecutor();
                        CountDownLatch latch = new CountDownLatch(10);
                        CountDownLatch latch = new CountDownLatch(9);
                        poolExecutor.execute(()->{
                            //1.统计:电池统计 分为品牌和标称电压
                            Response res_battGroupInfo = new Response();
@@ -160,16 +160,10 @@
                            latch.countDown();
                        });
                        poolExecutor.execute(()->{
                            //6.统计:实时告警 跟告警统计逻辑一致
                            //6.统计:实时放电信息 TODO 正在放电的电池信息展示
                            Response res_alarm = new Response();
                            Map<String, Integer> devAlarmNumMap = new HashMap<>();
                            try {
                                Response realAlarmList = battAlarmDataService.getRealAlarmListWithLevel1(userId);
                                res_alarm.setII(1,true,realAlarmList,null);
                            }catch (Exception e){
                                res_alarm.set(1,false,"发生异常:"+e.getCause());
                            }
                            res.put("realTimeAlarm", res_alarm);
                            res.put("dischargingBattery", res_alarm);
                            latch.countDown();
                        });
                        poolExecutor.execute(()->{
@@ -203,7 +197,7 @@
                            res.put("resTestdataInfAnalysis", resTestdataInfAnalysis);
                            latch.countDown();
                        });
                        poolExecutor.execute(()->{
                        /*poolExecutor.execute(()->{
                            //9.统计:告警统计 电源,设备,电池
                            Response res_devAlarmNum = new Response();
                            Map<String, Integer> devAlarmNumMap = new HashMap<>();
@@ -220,9 +214,9 @@
                            }
                            res.put("devAlarmNum", res_devAlarmNum);
                            latch.countDown();
                        });
                        });*/
                        poolExecutor.execute(()->{
                            //9-2.统计:告警统计 级别统计
                            //9-2.统计:告警统计 级别及类型统计
                            Response res_alarmLevel = new Response();
                            Map<String, Integer> devAlarmNumMap = new HashMap<>();
                            try {