lxw
2022-12-23 0f3ee7675fa1f95203393dba2fcee4257fc4fbdb
设备实时告警分级数
4个文件已修改
111 ■■■■ 已修改文件
src/main/java/com/whyc/mapper/DevalarmDataMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/DevalarmDataService.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/DevAlarmDataSocket.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/DevalarmDataMapper.xml 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/DevalarmDataMapper.java
@@ -14,9 +14,9 @@
    //设备告警数查询
    int searchNums(int intValue);
    List<DevalarmData> getRealAlarm(Date yesterday,int uId);
    List<DevalarmData> getRealAlarm(Date yesterday, int uId);
    List getDevAlarm(@Param("deviceIds")List deviceIds);
    List getDevAlarm(@Param("deviceIds") List deviceIds);
    List getDevAlarm2();
@@ -24,4 +24,6 @@
    List<DevalarmData> getList(@Param("uId") Long userId);
    //查询分级告警的个数
    int serchByLevel(@Param("alarmLevel") int alarmLevel, @Param("uId") int uId);
}
src/main/java/com/whyc/service/DevalarmDataService.java
@@ -13,6 +13,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.ListIterator;
@@ -83,14 +84,27 @@
        int flag=mapper.delete(wrapper);
        return  new Response().set(flag);
    }
    //设备告警数查询
    public Response searchNums() {
        UserInf uinf= ActionUtil.getUser();
        int devAlarmNum=mapper.searchNums(uinf.getUId().intValue());
        return  new Response().set(1,devAlarmNum);
        UserInf uinf = ActionUtil.getUser();
        int devAlarmNum = mapper.searchNums(uinf.getUId().intValue());
        return new Response().set(1, devAlarmNum);
    }
    public List<DevalarmData> getList(Long userId) {
        return mapper.getList(userId);
    }
    //查询分级告警的个数
    public Response serchByLevel(int uId) {
        List list = new ArrayList();
        //分四级查询个数
        for (int i = 1; i <= 4; i++) {
            int countLevel = mapper.serchByLevel(i, uId);
            list.add(countLevel);
        }
        return new Response().setII(1, list.size() > 0, list, "分级告警数");
    }
}
src/main/java/com/whyc/webSocket/DevAlarmDataSocket.java
@@ -1,9 +1,7 @@
package com.whyc.webSocket;
import com.whyc.dto.Response;
import com.whyc.dto.paramter.AlarmPar;
import com.whyc.dto.paramter.DevAlarmPar;
import com.whyc.service.BattalarmDataService;
import com.whyc.service.DevalarmDataService;
import com.whyc.util.ActionUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -11,7 +9,6 @@
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@@ -46,25 +43,29 @@
    public synchronized void onMessage(Session session, String message){
        DevAlarmPar alarmPar = ActionUtil.getGson().fromJson(message, DevAlarmPar.class);
        thread = new Thread("Thread_devAlarmData") {
            @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.serchByInfoOfWebSocket(alarmPar);
                        res.put("confirmedAlarms",confirmedAlarms);
                        Response confirmedAlarms = service.serchByInfoOfWebSocket(alarmPar);
                        res.put("confirmedAlarms", confirmedAlarms);
                        alarmPar.setAlmIsConfirmed(0);
                        Response unconfirmedAlarms=service.serchByInfoOfWebSocket(alarmPar);
                        res.put("unconfirmedAlarms",unconfirmedAlarms);
                        Response unconfirmedAlarms = service.serchByInfoOfWebSocket(alarmPar);
                        res.put("unconfirmedAlarms", unconfirmedAlarms);
                        //查询分级告警的个数
                        Response levelRes = service.serchByLevel(alarmPar.getUId());
                        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) {
src/main/resources/mapper/DevalarmDataMapper.xml
@@ -18,9 +18,10 @@
    </resultMap>
    <select id="serchByInfo" 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
    <select id="serchByInfo" 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
        FROM db_alarm.tb_devalarm_data,db_battinf.tb_battinf
        <where>
            tb_devalarm_data.dev_id=db_battinf.tb_battinf.FbsDeviceId
@@ -141,18 +142,53 @@
        alm_start_time DESC
    </select>
    <select id="getList" 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.stationname3,db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.fbsdevicename,dev_ip,alm_level,alm_type,alm_start_time
        from db_alarm.tb_devalarm_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_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})
        select distinct db_alarm.tb_devalarm_data.num,
                        db_alarm.tb_devalarm_data.dev_id,
                        db_battinf.tb_battinf.stationname,
                        db_battinf.tb_battinf.stationname3,
                        db_battinf.tb_battinf.stationid,
                        db_battinf.tb_battinf.fbsdevicename,
                        dev_ip,
                        alm_level,
                        alm_type,
                        alm_start_time
        from db_alarm.tb_devalarm_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_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="serchByLevel" resultType="java.lang.Integer">
        SELECT count(*) as countLevel
        FROM db_alarm.tb_devalarm_data,
             db_battinf.tb_battinf
        where tb_devalarm_data.dev_id = db_battinf.tb_battinf.FbsDeviceId
          and alm_level = #{alarmLevel}
          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})
    </select>
</mapper>