From 1bfbc52da47b22f00a1c1f5f670c30f70d999873 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 02 Feb 2026 18:18:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneAlarmRecordMapper.xml | 89 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 79 insertions(+), 10 deletions(-)
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneAlarmRecordMapper.xml b/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneAlarmRecordMapper.xml
index 3e0c91d..114d281 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneAlarmRecordMapper.xml
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneAlarmRecordMapper.xml
@@ -35,22 +35,50 @@
<select id="selectFwDroneAlarmRecordPage" resultType="org.sxkj.fw.record.vo.FwDroneAlarmRecordVO">
select
- dar.*,
- d.device_name,
- d.status deviceStatus
+ dar.*,
+ d.device_name,
+ d.status deviceStatus,
+ d.final_outbound_area,
+ /* 1=已关注,0=未关注 */
+ EXISTS (
+ SELECT
+ 1
+ FROM
+ ja_fw_alarm_favorite f
+ WHERE
+ f.alarm_record_id = dar.id
+ AND f.user_id = #{param2.currentUserId} -- MyBatis 参数
+ AND f.is_deleted = 0
+ ) AS favorited
from
- ja_fw_drone_alarm_record dar
- left join ja_fw_device d on dar.device_id = d.id
+ ja_fw_drone_alarm_record dar
+ left join
+ ja_fw_device d on dar.device_id = d.id
<where>
- dar.is_deleted = 0
+ dar.is_deleted = 0
+ and d.is_enabled = 1
+ <if test="param2.regionName != null and param2.regionName != ''">
+ and (d.final_outbound_area = #{param2.regionName}
+ <!-- 或者设备是共享给当前部门的 -->
+ <if test="param2.currentDeptId != null and param2.currentDeptId != '' ">
+ or dar.device_id in (
+ SELECT device_id FROM ja_fw_device_per_share
+ WHERE loan_to_dept_id = #{param2.currentDeptId}
+ AND is_deleted = 0
+ )
+ </if>
+ )
+ </if>
<if test="param2.deviceId != null and param2.deviceId != ''">
and dar.device_id = #{param2.deviceId}
</if>
<if test="param2.droneName != null and param2.droneName != ''">
- and dar.drone_name like CONCAT('%', #{param2.droneName}, '%')
+ and (
+ dar.drone_name like CONCAT('%', #{param2.droneName}, '%')
</if>
<if test="param2.droneSerialNo != null and param2.droneSerialNo != ''">
- and dar.drone_serial_no = #{param2.droneSerialNo}
+ or dar.drone_serial_no like CONCAT('%', #{param2.droneSerialNo}, '%')
+ )
</if>
<if test="param2.droneType != null and param2.droneType != ''">
and dar.drone_type = #{param2.droneType}
@@ -103,19 +131,60 @@
<if test="param2.areaName != null and param2.areaName != ''">
and dar.area_name like CONCAT('%', #{param2.areaName}, '%')
</if>
+ <!-- <if test="param2.deptList != null and param2.deptList.size > 0"> -->
+ <!-- and (dar.create_dept in -->
+ <!-- <foreach collection="param2.deptList" item="deptId" open="(" separator="," close=")"> -->
+ <!-- #{deptId} -->
+ <!-- </foreach> -->
+ <!-- ) -->
+ <!-- </if> -->
</where>
+ order by favorited desc
</select>
<select id="exportFwDroneAlarmRecord" resultType="org.sxkj.fw.record.excel.FwDroneAlarmRecordExcel">
- SELECT * FROM ja_fw_drone_alarm_record ${ew.customSqlSegment}
+ select
+ dar.*,
+ d.device_name,
+ d.status deviceStatus
+ from
+ ja_fw_drone_alarm_record dar
+ left join ja_fw_device d on dar.device_id = d.id
+ <where>
+ dar.is_deleted = 0
+ <if test="ids != null and ids.size() > 0">
+ and dar.id in
+ <foreach item="item" collection="ids" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ </if>
+ </where>
</select>
<select id="alarmTypeStatistics" resultType="org.sxkj.fw.cockpit.vo.AlarmStatisticsVO">
SELECT
COUNT(CASE WHEN alarm_type = 1 THEN 1 END) AS realTimeAlarmCount,
COUNT(CASE WHEN alarm_type = 2 THEN 2 END) AS historyAlarmCount
- FROM ja_fw_drone_alarm_record WHERE is_deleted = 0
+ FROM
+ ja_fw_drone_alarm_record dar
+ left join
+ ja_fw_device d on dar.device_id = d.id
+ WHERE dar.is_deleted = 0
+ AND d.is_deleted = 0
+ and d.is_enabled = 1
+ <if test="regionName != null and regionName != ''">
+ and (d.final_outbound_area = #{regionName}
+ <!-- 或者设备是共享给当前部门的 -->
+ <if test="currentDeptId != null and currentDeptId != '' ">
+ or dar.device_id in (
+ SELECT device_id FROM ja_fw_device_per_share
+ WHERE loan_to_dept_id = #{currentDeptId}
+ AND is_deleted = 0
+ )
+ </if>
+ )
+ </if>
</select>
</mapper>
--
Gitblit v1.9.3