From 7f21d4f22ec711d6aa89900b07e0b5ac31dbac42 Mon Sep 17 00:00:00 2001
From: Administrator <1144154118@qq.com>
Date: 星期五, 25 八月 2023 17:15:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml |   51 +++++++++++++++++++++++++++++----------------------
 1 files changed, 29 insertions(+), 22 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml
index a08e0fa..6819e98 100644
--- a/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.alarm.radarAlarm.mapper.ArdAlarmRadarMapper">
+<mapper namespace="com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMapper">
     <resultMap type="ArdAlarmRadar" id="ArdAlarmRadarResult">
         <result property="id" column="id"/>
         <result property="name" column="name"/>
@@ -44,6 +44,12 @@
             <if test="name != null  and name != ''">and name like '%'||#{name}||'%'</if>
             <if test="alarmType != null  and alarmType != ''">and alarm_type = #{alarmType}</if>
             <if test="deptId != null ">and dept_id = #{deptId}</if>
+            <if test="params.beginTime != null and params.beginTime != ''"><!-- 寮�濮嬫椂闂存绱� -->
+                AND alarm_time &gt;= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss')
+            </if>
+            <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� -->
+                AND alarm_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
+            </if>
         </where>
         order by alarm_time desc
     </select>
@@ -122,27 +128,28 @@
     </delete>
 
     <select id="selectListAllByCommand" resultMap="ArdAlarmRadarResult">
-        SELECT T
-                   .*
-        FROM (
-                 SELECT aar.ID,
-                        aar.target_id,
-                        aar.NAME,
-                        aar.alarm_type,
-                        aar.alarm_time,
-                        aar.longitude,
-                        aar.latitude,
-                        ROW_NUMBER() OVER ( PARTITION BY aar.NAME ORDER BY aar.alarm_time DESC ) AS rn, COUNT(CASE WHEN aar.view_time IS NULL THEN 1 END) OVER ( PARTITION BY aar.NAME ) AS COUNT,
-		COUNT ( aar.alarm_time ) OVER ( PARTITION BY aar.NAME ) AS total
-                 FROM
-                     ard_alarm_radar aar
-                 WHERE
-                     aar.alarm_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
-                   AND aar.alarm_type = #{alarmType}
-                 ORDER BY
-                     aar.alarm_time DESC
-             ) T
-        WHERE T.rn = 1
+                select aaar.ID,
+               aaar.target_id,
+               aaar.NAME,
+               aaar.alarm_type,
+               aaar.alarm_time,
+               aaar.longitude,
+               aaar.latitude,
+               r.COUNT,
+               r.total  from
+            (SELECT
+                 aar.NAME,
+                 max(aar.create_time) as create_time1,
+                 count(case when aar.view_time is null THEN 1  END) as count,
+	             count(aar.id) as total
+             FROM
+                 ard_alarm_radar aar
+             WHERE
+                 aar.create_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
+               AND aar.alarm_type = #{alarmType}
+             GROUP BY aar.NAME
+            ) r
+                INNER JOIN ard_alarm_radar aaar ON r.create_time1 = aaar.create_time
     </select>
     <select id="selectCountByAlarmTime" resultType="Integer">
         SELECT COUNT(DISTINCT aar.name)

--
Gitblit v1.9.3