From e2ea7986cf5e27e448a25c48c8c4cc771c067b0e Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期三, 21 六月 2023 16:41:42 +0800
Subject: [PATCH] 优化报警类型配置
---
ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml | 76 ++++++++++++++++++++++++++++++++-----
1 files changed, 65 insertions(+), 11 deletions(-)
diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml
index 14e49fe..2a2c452 100644
--- a/ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarm.tubeAlarm.mapper.ArdAlarmTubeMapper">
-
+
<resultMap type="ArdAlarmTube" id="ArdAlarmTubeResult">
<result property="id" column="id" />
<result property="host" column="host" />
@@ -18,18 +18,22 @@
<result property="alarmTime" column="alarm_time" />
<result property="watcher" column="watcher" />
<result property="createTime" column="create_time" />
+ <result property="longitude" column="longitude" />
+ <result property="latitude" column="latitude" />
+ <result property="altitude" column="altitude" />
+ <result property="recordUrl" column="record_url" />
<result property="viewTime" column="view_time" />
</resultMap>
<sql id="selectArdAlarmTubeVo">
- select id, host, tube_id, tube_name, tube_type, pipe_diameter, color, position, type, alarm_type, alarm_time, watcher, create_time, view_time from ard_alarm_tube
+ select id, host, tube_id, tube_name, tube_type, pipe_diameter, color, position, type, alarm_type, alarm_time, watcher, create_time, longitude, latitude, altitude, record_url, view_time from ard_alarm_tube
</sql>
<select id="selectArdAlarmTubeList" parameterType="ArdAlarmTube" resultMap="ArdAlarmTubeResult">
<include refid="selectArdAlarmTubeVo"/>
- <where>
+ <where>
<if test="host != null and host != ''"> and host = #{host}</if>
- <if test="tubeId != null "> and tube_id = #{tubeId}</if>
+ <if test="tubeId != null and tubeId != ''"> and tube_id = #{tubeId}</if>
<if test="tubeName != null and tubeName != ''"> and tube_name like '%'||#{tubeName}||'%'</if>
<if test="tubeType != null and tubeType != ''"> and tube_type = #{tubeType}</if>
<if test="pipeDiameter != null and pipeDiameter != ''"> and pipe_diameter = #{pipeDiameter}</if>
@@ -39,15 +43,19 @@
<if test="alarmType != null and alarmType != ''"> and alarm_type = #{alarmType}</if>
<if test="alarmTime != null "> and alarm_time = #{alarmTime}</if>
<if test="watcher != null and watcher != ''"> and watcher = #{watcher}</if>
+ <if test="longitude != null and longitude != ''"> and longitude = #{longitude}</if>
+ <if test="latitude != null and latitude != ''"> and latitude = #{latitude}</if>
+ <if test="altitude != null and altitude != ''"> and altitude = #{altitude}</if>
+ <if test="recordUrl != null and recordUrl != ''"> and record_url = #{recordUrl}</if>
<if test="viewTime != null "> and view_time = #{viewTime}</if>
</where>
</select>
-
+
<select id="selectArdAlarmTubeById" parameterType="String" resultMap="ArdAlarmTubeResult">
<include refid="selectArdAlarmTubeVo"/>
where id = #{id}
</select>
-
+
<insert id="insertArdAlarmTube" parameterType="ArdAlarmTube">
insert into ard_alarm_tube
<trim prefix="(" suffix=")" suffixOverrides=",">
@@ -64,8 +72,12 @@
<if test="alarmTime != null">alarm_time,</if>
<if test="watcher != null">watcher,</if>
<if test="createTime != null">create_time,</if>
+ <if test="longitude != null">longitude,</if>
+ <if test="latitude != null">latitude,</if>
+ <if test="altitude != null">altitude,</if>
+ <if test="recordUrl != null">record_url,</if>
<if test="viewTime != null">view_time,</if>
- </trim>
+ </trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="host != null">#{host},</if>
@@ -80,8 +92,12 @@
<if test="alarmTime != null">#{alarmTime},</if>
<if test="watcher != null">#{watcher},</if>
<if test="createTime != null">#{createTime},</if>
+ <if test="longitude != null">#{longitude},</if>
+ <if test="latitude != null">#{latitude},</if>
+ <if test="altitude != null">#{altitude},</if>
+ <if test="recordUrl != null">#{recordUrl},</if>
<if test="viewTime != null">#{viewTime},</if>
- </trim>
+ </trim>
</insert>
<update id="updateArdAlarmTube" parameterType="ArdAlarmTube">
@@ -99,6 +115,10 @@
<if test="alarmTime != null">alarm_time = #{alarmTime},</if>
<if test="watcher != null">watcher = #{watcher},</if>
<if test="createTime != null">create_time = #{createTime},</if>
+ <if test="longitude != null">longitude = #{longitude},</if>
+ <if test="latitude != null">latitude = #{latitude},</if>
+ <if test="altitude != null">altitude = #{altitude},</if>
+ <if test="recordUrl != null">record_url = #{recordUrl},</if>
<if test="viewTime != null">view_time = #{viewTime},</if>
</trim>
where id = #{id}
@@ -109,9 +129,43 @@
</delete>
<delete id="deleteArdAlarmTubeByIds" parameterType="String">
- delete from ard_alarm_tube where id in
+ delete from ard_alarm_tube where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
+ <select id="selectListAllByCommand" resultMap="ArdAlarmTubeResult">
+ SELECT T.*
+ FROM (
+ SELECT aat.ID,
+ aat.tube_id,
+ aat.tube_name,
+ aat.alarm_time,
+ aat.longitude,
+ aat.latitude,
+ aat.altitude,
+ aat.record_url,
+ ROW_NUMBER() OVER ( PARTITION BY aat.tube_id ORDER BY aat.alarm_time DESC ) AS rn,
+ COUNT(CASE WHEN aat.view_time IS NULL THEN 1 END) OVER ( PARTITION BY aat.tube_id ) AS COUNT,
+ COUNT ( aat.alarm_time ) OVER ( PARTITION BY tube_id ) AS total
+ FROM
+ ard_alarm_tube aat
+ WHERE
+ aat.alarm_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
+ order by aat.alarm_time desc
+ ) T
+ WHERE T.rn = 1
+ </select>
+ <select id="selectCountByStartTime" resultType="Integer">
+ SELECT COUNT(DISTINCT aat.tube_id)
+ FROM ard_alarm_tube aat
+ WHERE aat.alarm_time >= CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE
+ </select>
+ <update id="updateViewTimeByTubeId" parameterType="String">
+ update ard_alarm_tube
+ set view_time=#{viewTime}
+ where tube_id = #{tubeId}
+ and alarm_time<=#{alarmTime}
+ and view_time is null
+ </update>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3