From 8490eb11583ffdc586436f165860de5cfc39f915 Mon Sep 17 00:00:00 2001 From: cjl <909710561@qq.com> Date: Mon, 06 Jan 2025 09:18:29 +0800 Subject: [PATCH] fix:sql查询时间调整 --- screen-api/src/main/resources/mapper/AlarmInfoMapper.xml | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 107 insertions(+), 1 deletions(-) diff --git a/screen-api/src/main/resources/mapper/AlarmInfoMapper.xml b/screen-api/src/main/resources/mapper/AlarmInfoMapper.xml index c2ed097..9251add 100644 --- a/screen-api/src/main/resources/mapper/AlarmInfoMapper.xml +++ b/screen-api/src/main/resources/mapper/AlarmInfoMapper.xml @@ -14,7 +14,7 @@ </resultMap> <select id="selectDataByCondition" resultType="java.util.Map"> - select ai.id alarmInfoId,ai.index,ai.alarm_type,ai.alarm_information,d.id deviceId,d.name deviceName,d.longitude,d.latitude + select ai.id alarmInfoId,ai.alarm_time,ai.index,ai.alarm_type,ai.alarm_information,d.id deviceId,d.name deviceName,d.longitude,d.latitude from alarm_info ai, device d where ai.device_id in <foreach collection="deviceIds" item="deviceId" index="index" open="(" close=")" separator=","> @@ -31,4 +31,110 @@ ORDER by ai.create_time DESC limit #{start},#{size} </select> + + <select id="selectDataByConditionWithoutPage" resultType="java.util.Map"> + select ai.id alarmInfoId,ai.alarm_time,ai.index,ai.alarm_type,ai.alarm_information,d.id deviceId,d.name deviceName,d.longitude,d.latitude + from alarm_info ai, device d + where ai.device_id in + <foreach collection="deviceIds" item="deviceId" index="index" open="(" close=")" separator=","> + #{deviceId} + </foreach> + and d.id = ai.device_id + <if test="index != null"> + and ai.index = #{index} + </if> + <if test="alarmType != null"> + and ai.alarm_type = #{alarmType} + </if> + and alarm_time between #{startTime} and #{endTime} + ORDER by ai.create_time DESC + </select> + + <select id="selectNewestData" resultType="java.util.Map"> + select ai.id alarmInfoId,ai.alarm_time,ai.index,ai.alarm_type,ai.alarm_information,d.id deviceId,d.name deviceName,d.longitude,d.latitude + from alarm_info ai, device d + where + DATE_FORMAT(ai.alarm_time,'%Y-%m-%d') = (SELECT DATE_FORMAT(max( alarm_time),'%Y-%m-%d') from alarm_info limit 1) and d.id = ai.device_id and ai.device_id in + (select t.id from device t + inner JOIN monitor_point p on p.id = t.monitor_point_id and p.is_delete = 0 + + and p.organization_id in ( SELECT id FROM ( + SELECT id, parent_id, name FROM organization WHERE id = #{orgId} + UNION ALL + SELECT i.id, i.parent_id, i.name + FROM organization i + INNER JOIN ( + SELECT * FROM ( + SELECT id, parent_id, name FROM organization WHERE id = #{orgId} + UNION ALL + SELECT id, parent_id, name FROM organization WHERE parent_id = #{orgId} + ) t1 + ) t2 ON i.parent_id = t2.id + where i.is_delete = 0 + ) t3) + WHERE + t.is_delete = 0 + ) + ORDER by ai.id DESC + limit #{size} + </select> + <select id="numNews" resultType="java.lang.Integer"> + select count(1) from alarm_info + where alarm_time >= date_format(NOW(),'%Y-%m-%d') + and device_id in (SELECT + t.id + FROM + device t + INNER JOIN monitor_point p ON p.id = t.monitor_point_id + AND p.is_delete = 0 + AND p.organization_id IN ( + SELECT + id + FROM + ( + SELECT + id, + parent_id, + NAME + FROM + organization + WHERE + id = #{organizationId} UNION ALL + SELECT + i.id, + i.parent_id, + i.NAME + FROM + organization i + INNER JOIN ( + SELECT + * + FROM + ( + SELECT + id, + parent_id, + NAME + FROM + organization + WHERE + id = #{organizationId} UNION ALL + SELECT + id, + parent_id, + NAME + FROM + organization + WHERE + parent_id = #{organizationId} + ) t1 + ) t2 ON i.parent_id = t2.id + WHERE + i.is_delete = 0 + ) t3 + ) + WHERE + t.is_delete = 0 ) + </select> + </mapper> \ No newline at end of file -- Gitblit v1.8.0