whycxzp
2024-03-07 2cb95a87ab7f14fdfeefd1e079307e47d011a317
南网昆明首页接口
11个文件已修改
230 ■■■■■ 已修改文件
src/main/java/com/whyc/mapper/BattalarmDataMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/DevalarmDataMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/PwrdevAlarmMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/StationInfMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattalarmDataService.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/StationInfService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/ScreenForNWKMSocket.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BattalarmDataMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/DevalarmDataMapper.xml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/PwrdevAlarmMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/StationInfMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/BattalarmDataMapper.java
@@ -48,6 +48,8 @@
    List<BattalarmData> getRealAlarm(Date yesterday,int uId,int[] alarmParams);
    List<BattalarmData> getRealAlarmListWithLevel1(int uId);
    List<BattMapInformation> findAllStation(@Param("alarmParams") int[] alarmParams);
src/main/java/com/whyc/mapper/DevalarmDataMapper.java
@@ -16,6 +16,8 @@
    List<DevalarmData> getRealAlarm(Date yesterday, int uId);
    List<DevalarmData> getRealAlarmListWithLevel1(int uId);
    List getDevAlarm(@Param("deviceIds") List deviceIds);
    List getDevAlarm2();
src/main/java/com/whyc/mapper/PwrdevAlarmMapper.java
@@ -29,6 +29,8 @@
    //电源实时告警-首页foot
    List<PwrdevAlarm> getRealAlarmFoot(Date yesterday, int uId);
    List<PwrdevAlarm> getRealAlarmListWithLevel1(int uId);
    List<PwrdevAlarm> getList(@Param("uId") Long userId, @Param("type") int type);
    //查询分级告警的个数
src/main/java/com/whyc/mapper/StationInfMapper.java
@@ -50,4 +50,7 @@
    List<StationInf> getTogetherStations(@Param("stationName1") String stationName1, @Param("stationName2") String stationName2, @Param("stationName5") String stationName5);
    //查询所有的机房信息(南京机房配置)
    List<StationInf> searchNjStationAll(String uId);
    List<String> getProvinceCountMap(int uId);
}
src/main/java/com/whyc/service/BattalarmDataService.java
@@ -266,6 +266,85 @@
        return  new Response().set(number);
    }
    //实时1级告警记录查询
    public Response getRealAlarmListWithLevel1(int uId) {
        Calendar instance = Calendar.getInstance();
        instance.add(Calendar.YEAR, -100);
        Date yesterday = instance.getTime();
        int[] alarmParams = {AlarmDaoFactory.Alarm_CapAlarm, AlarmDaoFactory.Alarm_CapChange, AlarmDaoFactory.Alarm_res_Conn, AlarmDaoFactory.ALM_TYPE_DisChargeMonVol_ID};
        List<BattalarmData> lista = mapper.getRealAlarmListWithLevel1(uId);
        for (BattalarmData battAlarm : lista) {
            battAlarm.setAlarmName(AlarmDaoFactory.getAlarmName(battAlarm.getAlmSignalId()));
        }
        List<DevalarmData> listd = devalarmDataMapper.getRealAlarmListWithLevel1(uId);
        if (listd != null && listd.size() > 0) {
            for (DevalarmData ddata : listd) {
                BattalarmData data = new BattalarmData();
                data.setBattGroupId(ddata.getDevId());
                data.setAlarmType("1");//1表示设备告警
                data.setAlmId(ddata.getAlmType());
                data.setStationName(ddata.getStationName());
                data.setStationName1(ddata.getStationName1());
                data.setStationName2(ddata.getStationName2());
                data.setStationName3(ddata.getStationName3());
                data.setStationName4(ddata.getStationName4());
                data.setStationName5(ddata.getStationName5());
                data.setAlmLevel(ddata.getAlmLevel());
                //data.setNote(ddata.getNote());
                data.setNum(ddata.getNum());
                data.setAlmStartTime(ddata.getAlmStartTime());
                //data.setAlm_signal_id(ddata.getAlm_type());
                data.setAlarmName(AlarmDaoFactory.getdevName(ddata.getAlmType()));
                data.setAlmSeverity(ddata.getAlmSeverity());
                lista.add(data);
            }
        }
        //添加电源告警
        List<PwrdevAlarm> pwrAlarmList = pwrdevAlarmMapper.getRealAlarmListWithLevel1(uId);
        if (pwrAlarmList!=null && pwrAlarmList.size()>0){
            for (PwrdevAlarm pAlarm:pwrAlarmList ) {
                BattalarmData data=new BattalarmData();
                int powerId=pAlarm.getPowerDeviceId().intValue();
                int almType = pAlarm.getAlmType();
                data.setBattGroupId(powerId);
                data.setAlarmType("2");//2表示电源告警
                data.setAlmId(almType);
                data.setStationName(pAlarm.getStationName());
                data.setStationName1(pAlarm.getStationName1());
                data.setStationName2(pAlarm.getStationName2());
                data.setStationName3(pAlarm.getStationName3());
                data.setStationName4(pAlarm.getStationName4());
                data.setStationName5(pAlarm.getStationName5());
                data.setAlmLevel(pAlarm.getAlmLevel());
                data.setNum(pAlarm.getNum());
                data.setAlmStartTime(pAlarm.getAlmStartTime());
                //115南网
                if(powerId/100000==1150){
                    String alarmParamTableName="tb_pwrdev_alarm_param_"+powerId;
                    List<PwrdevAlarmParam>  paramList=subService.searchAll(alarmParamTableName);
                    data.setAlarmName("未知");
                    if(paramList!=null){
                        paramList.stream().forEach(param->{
                            if(param.getAlarmId() == almType){
                                data.setAlarmName(param.getAlarmName());
                                return;
                            }
                        });
                    }
                }else{
                    //110国网
                    data.setAlarmName(AlarmDaoFactory.getAllAlarmName(pAlarm.getAlmType()));
                }
                data.setAlmSeverity(pAlarm.getAlmSeverity());
                lista.add(data);
            }
        }
        //排序,按照时间或者说是num
        lista.sort(Comparator.comparing(BattalarmData::getAlmStartTime).reversed());
        return new Response().set(1, lista, "查询成功");
    }
    //电池告警实时查询(确认告警)
    public Response update(int num) {
        UpdateWrapper wrapper = new UpdateWrapper<>();
src/main/java/com/whyc/service/StationInfService.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sun.corba.se.spi.presentation.rmi.PresentationManager;
import com.whyc.dto.Response;
import com.whyc.dto.result.SystemGrdoupBatt;
import com.whyc.mapper.*;
@@ -970,4 +971,29 @@
        mapper.insertBatchSomeColumn(stationListToBeAdded);
    }
    /**
     * 按省份查询数量
     * @param userId
     * @return
     */
    public Response getProvinceCountMap(int userId) {
        try {
            //所有站点的省份
            List<String> stationName1List = mapper.getProvinceCountMap(userId);
            Map<String, Integer> resMap = new HashMap<>();
            for (String stationName1 : stationName1List) {
                Integer count = resMap.get(stationName1);
                if (count == null) {
                    resMap.put(stationName1, 1);
                } else {
                    resMap.put(stationName1, count + 1);
                }
            }
            return new Response().setII(1, true,resMap,null);
        }catch (Exception e){
            return new Response().set(1, false,"发生异常:"+e.getCause());
        }
    }
}
src/main/java/com/whyc/webSocket/ScreenForNWKMSocket.java
@@ -46,6 +46,8 @@
    private static BaoJiGroupService baoJiGroupService;
    private static StationInfService stationService;
    @Autowired
    public void setPowerAlarmService(PwrdevAlarmService powerAlarmService) {
        ScreenForNWKMSocket.powerAlarmService = powerAlarmService;
@@ -74,6 +76,11 @@
    @Autowired
    public void setBaoJiGroupService(BaoJiGroupService baoJiGroupService) {
        ScreenForNWKMSocket.baoJiGroupService = baoJiGroupService;
    }
    @Autowired
    public void setStationService(StationInfService stationService) {
        ScreenForNWKMSocket.stationService = stationService;
    }
    @OnOpen
@@ -138,32 +145,27 @@
                            latch.countDown();
                        });
                        //5.统计:TODO 每个省的机房数统计
                        //5.统计:每个省的机房数统计
                        poolExecutor.execute(()->{
                            Response res_stationCount = null;
                            Response res_stationCount = stationService.getProvinceCountMap(userId);
                            res.put("stationCount", res_stationCount);
                            latch.countDown();
                        });
                        poolExecutor.execute(()->{
                            //6.统计:TODO 实时告警
                            Response res_devAlarmNum = new Response();
                            //6.统计:实时告警 跟告警统计逻辑一致
                            Response res_alarm = new Response();
                            Map<String, Integer> devAlarmNumMap = new HashMap<>();
                            try {
                                int battAlarmNum = battAlarmDataService.getRealTimeWithLevel1(userId).getCode();
                                int devAlarmNum = devAlarmDataService.getRealTimeWithLevel1(userId);
                                int powerAlarmNum = powerAlarmService.getRealTimeWithLevel1(userId);
                                devAlarmNumMap.put("battAlarmNum",battAlarmNum);
                                devAlarmNumMap.put("devAlarmNum",devAlarmNum);
                                devAlarmNumMap.put("powerAlarmNum",powerAlarmNum);
                                res_devAlarmNum.setII(1,true,devAlarmNumMap,null);
                                Response realAlarmList = battAlarmDataService.getRealAlarmListWithLevel1(userId);
                                res_alarm.setII(1,true,realAlarmList,null);
                            }catch (Exception e){
                                res_devAlarmNum.set(1,false,"发生异常:"+e.getCause());
                                res_alarm.set(1,false,"发生异常:"+e.getCause());
                            }
                            res.put("devAlarmNum", res_devAlarmNum);
                            res.put("res_alarm", res_alarm);
                            latch.countDown();
                        });
                        poolExecutor.execute(()->{
                            //7.统计:TODO 资产统计
                            //7.统计:TODO 电源统计
                            Response res_asset = new Response();
                            try {
@@ -174,7 +176,7 @@
                            latch.countDown();
                        });
                        poolExecutor.execute(()->{
                            //8.统计:能效统计
                            //8.统计:TODO 能效统计
                            Response resNX = new Response();
                            Map<String, Integer> devAlarmNumMap = new HashMap<>();
                            try {
src/main/resources/mapper/BattalarmDataMapper.xml
@@ -244,6 +244,23 @@
        </foreach>
        order by alm_start_time desc
    </select>
    <select id="getRealAlarmListWithLevel1" resultType="com.whyc.pojo.BattalarmData">
        select distinct
        db_alarm.tb_battalarm_data.num,db_alarm.tb_battalarm_data.battgroupid,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.stationName3,db_battinf.tb_battinf.stationName1,db_battinf.tb_battinf.stationName2,db_battinf.tb_battinf.stationName4,db_battinf.tb_battinf.stationName5
        ,db_alarm.tb_battalarm_data.monnum,db_alarm.tb_battalarm_data.alm_level,alm_id,alm_start_time,alm_signal_id,alm_severity
        from db_alarm.tb_battalarm_data,db_battinf.tb_battinf
        where alm_level=1
        and db_alarm.tb_battalarm_data.battgroupid=db_battinf.tb_battinf.battgroupid
        and db_alarm.tb_battalarm_data.BattGroupId in (select distinct db_battinf.tb_battinf.battgroupid
        from
        db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf
        where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId
        and
        db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
        and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid
        and db_user.tb_user_inf.uid=#{uId} )
        order by alm_start_time desc
    </select>
    <select id="findAllStation" resultType="com.whyc.pojo.BattMapInformation">
        select distinct StationId,StationName,binf.fbsDeviceId from db_alarm.tb_battalarm_data data,db_battinf.tb_battinf binf
        where data.BattGroupId=binf.BattGroupId
src/main/resources/mapper/DevalarmDataMapper.xml
@@ -105,7 +105,40 @@
        and db_user.tb_user_inf.uid=#{uId})
        order by alm_start_time desc
    </select>
    <select id="getRealAlarmListWithLevel1" resultType="com.whyc.pojo.DevalarmData">
        select distinct db_alarm.tb_devalarm_data.num,
        db_alarm.tb_devalarm_data.dev_id,
        db_battinf.tb_battinf.stationname,
        db_battinf.tb_battinf.stationname1,
        db_battinf.tb_battinf.stationname2,
        db_battinf.tb_battinf.stationname3,
        db_battinf.tb_battinf.stationname4,
        db_battinf.tb_battinf.stationname5,
        db_battinf.tb_battinf.stationid,
        db_battinf.tb_battinf.fbsdevicename,
        dev_ip,
        alm_level,
        alm_type,
        alm_start_time,
        alm_severity
        from db_alarm.tb_devalarm_data,
        db_battinf.tb_battinf
        where alm_level = 1
        and db_alarm.tb_devalarm_data.dev_id = db_battinf.tb_battinf.fbsdeviceid
        and db_alarm.tb_devalarm_data.dev_id in (select distinct db_battinf.tb_battinf.FbsDeviceId
        from db_battinf.tb_battinf,
        db_user.tb_user_battgroup_baojigroup_battgroup,
        db_user.tb_user_battgroup_baojigroup_usr,
        db_user.tb_user_inf
        where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId =
        db_battinf.tb_battinf.BattGroupId
        and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id =
        db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
        and db_user.tb_user_inf.uid =
        db_user.tb_user_battgroup_baojigroup_usr.uid
        and db_user.tb_user_inf.uid=#{uId})
        order by alm_start_time desc
    </select>
    <select id="getDevAlarm" resultMap="devAlarmRes" >
        SELECT  distinct tb_devalarm_data.num,dev_id,dev_ip,alm_type,alm_level,alm_start_time,alm_end_time,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,
        db_battinf.tb_battinf.stationName,db_battinf.tb_battinf.FbsDeviceName  as dev_name
src/main/resources/mapper/PwrdevAlarmMapper.xml
@@ -214,6 +214,24 @@
        ORDER BY
        alarm.alm_start_time DESC
    </select>
    <select id="getRealAlarmListWithLevel1" resultType="com.whyc.pojo.PwrdevAlarm">
        select  alarm.*,inf.StationName,inf.StationName1,inf.StationName2,inf.StationName3,inf.StationName4,inf.StationName5 from db_pwrdev_alarm.tb_pwrdev_alarm alarm,db_pwrdev_inf.tb_pwrdev_inf inf
        <where>
            alarm.PowerDeviceId = inf.PowerDeviceId
            and alarm.alm_level=1
            and inf.StationId in ( select distinct inf.StationId from
            (select StationId from db_battinf.tb_battinf union select StationId from db_pwrdev_inf.tb_pwrdev_inf ) inf,
            db_user.tb_user_battgroup_baojigroup_battgroup,
            db_user.tb_user_battgroup_baojigroup_usr,
            db_user.tb_user_inf
            where db_user.tb_user_battgroup_baojigroup_battgroup.StationId=inf.StationId
            and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
            and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid
            and db_user.tb_user_inf.uid=#{uId} )
        </where>
        ORDER BY
        alarm.alm_start_time DESC
    </select>
    <select id="getList" resultType="com.whyc.pojo.PwrdevAlarm">
        select  alarm.*,inf.StationName,inf.StationName3,inf.stationId from db_pwrdev_alarm.tb_pwrdev_alarm alarm,db_pwrdev_inf.tb_pwrdev_inf inf
        <where>
src/main/resources/mapper/StationInfMapper.xml
@@ -311,4 +311,18 @@
        </where>
        order by stationId asc
    </select>
    <select id="getProvinceCountMap" resultType="java.lang.String">
        SELECT stationName1  FROM db_battinf.tb_station_inf
        <where>
            stationId in (
            select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId
            from db_user.tb_user_battgroup_baojigroup_battgroup
            , db_user.tb_user_battgroup_baojigroup_usr
            where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id =
            db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id
            and db_user.tb_user_battgroup_baojigroup_usr.uId = #{uId}
            )
        </where>
        group by stationName1,together_flag
    </select>
</mapper>