lxw
2022-12-23 4c4a0f472ff695fcf0e7133baf88e44944eafd19
实时告警分级数
4个文件已修改
78 ■■■■ 已修改文件
src/main/java/com/whyc/mapper/BattalarmDataMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattalarmDataService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/BattAlarmDataSocket.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BattalarmDataMapper.xml 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/BattalarmDataMapper.java
@@ -57,4 +57,6 @@
    List<BattalarmData> getList(@Param("uId") Long userId);
    //查询分级告警的个数
    int serchByLevel(int alarmLevel);
}
src/main/java/com/whyc/service/BattalarmDataService.java
@@ -10,9 +10,9 @@
import com.whyc.dto.BattMaintDealarm;
import com.whyc.dto.Response;
import com.whyc.dto.paramter.AlarmPar;
import com.whyc.dto.result.AlarmNumberRes;
import com.whyc.dto.result.AlarmRes;
import com.whyc.dto.result.AlarmStaticRes;
import com.whyc.dto.result.AlarmNumberRes;
import com.whyc.mapper.BattalarmDataMapper;
import com.whyc.mapper.DevalarmDataMapper;
import com.whyc.mapper.PwrdevAlarmMapper;
@@ -366,8 +366,18 @@
//        }
        //排序,按照时间或者说是num
        lista.sort(Comparator.comparing(BattalarmData::getAlmStartTime).reversed());
        return new Response().set(1,lista,"查询成功");
        return new Response().set(1, lista, "查询成功");
    }
    //查询分级告警的个数
    public Response serchByLevel() {
        List list = new ArrayList();
        //分四级查询个数
        for (int i = 1; i <= 4; i++) {
            int countLevel = mapper.serchByLevel(i);
            list.add(countLevel);
        }
        return new Response().setII(1, list.size() > 0, list, "分级告警数");
    }
}
src/main/java/com/whyc/webSocket/BattAlarmDataSocket.java
@@ -41,28 +41,32 @@
    public synchronized void onMessage(Session session, String message){
        AlarmPar alarmPar = ActionUtil.getGson().fromJson(message, AlarmPar.class);
        thread = new Thread("Thread_battAlarmData") {
            @Override
            public void run() {
                while (runFlag&&!isInterrupted()) {
                    Thread thread = currentThread();
                    threadFlagMap.put(thread.getId(),true);
                    try {
                        Map<String, Response> res=new HashMap<>();
                        Map<String, Response> res = new HashMap<>();
                        //查询已确认信息
                        alarmPar.setAlmIsConfirmed(1);
                        Response confirmedAlarms=service.serchByConditionOfWebSocket(alarmPar);
                        res.put("confirmedAlarms",confirmedAlarms);
                        Response confirmedAlarms = service.serchByConditionOfWebSocket(alarmPar);
                        res.put("confirmedAlarms", confirmedAlarms);
                        alarmPar.setAlmIsConfirmed(0);
                        Response unconfirmedAlarms=service.serchByConditionOfWebSocket(alarmPar);
                        res.put("unconfirmedAlarms",unconfirmedAlarms);
                        Response unconfirmedAlarms = service.serchByConditionOfWebSocket(alarmPar);
                        res.put("unconfirmedAlarms", unconfirmedAlarms);
                        //查询分级告警的个数
                        Response levelRes = service.serchByLevel();
                        res.put("levelRes", levelRes);
                        if (session.isOpen()) {
                            //推送信息
                            synchronized (session) {
                                session.getBasicRemote().sendObject(new Response().set(1, res));
                            }
                            threadFlagMap.put(thread.getId(),false);
                            threadFlagMap.put(thread.getId(), false);
                        }
                        sleep(executeTime);
                    //} catch (IOException | InterruptedException | EncodeException e) {
                        //} catch (IOException | InterruptedException | EncodeException e) {
                    } catch (Exception e) {
                        interrupt();
                    }
src/main/resources/mapper/BattalarmDataMapper.xml
@@ -304,18 +304,40 @@
        a.monnum ASC
    </select>
    <select id="getList" 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_alarm.tb_battalarm_data.monnum,db_alarm.tb_battalarm_data.alm_level,alm_id,alm_start_time,alm_signal_id
        from db_alarm.tb_battalarm_data,db_battinf.tb_battinf
        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_alarm.tb_battalarm_data.monnum,
                        db_alarm.tb_battalarm_data.alm_level,
                        alm_id,
                        alm_start_time,
                        alm_signal_id
        from db_alarm.tb_battalarm_data,
             db_battinf.tb_battinf
        where alm_cleared_type = 0
        and alm_is_confirmed = 0
        and DATEDIFF(alm_start_time,NOW())=0
        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}  )
          and alm_is_confirmed = 0
          and DATEDIFF(alm_start_time, NOW()) = 0
          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="serchByLevel" resultType="java.lang.Integer">
        select count(*) as countLevel
        from db_alarm.tb_battalarm_data,
             db_battinf.tb_battinf
        where alm_level = #{alarmLevel}
    </select>
</mapper>