From ba12d5d8e844146c334223ef5939a51c8e5d76ca Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 29 Jan 2026 20:18:26 +0800
Subject: [PATCH] 反无-权限控制

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneFlightRecordMapper.xml |   56 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 40 insertions(+), 16 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneFlightRecordMapper.xml b/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneFlightRecordMapper.xml
index 972538a..e69e575 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneFlightRecordMapper.xml
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneFlightRecordMapper.xml
@@ -27,8 +27,40 @@
             dfr.*
         from
             ja_fw_drone_flight_record dfr
+        left join
+            ja_fw_device d on dfr.device_id = d.id
+        /* 关联出库去向表,看设备去了哪里  */
+        LEFT JOIN (
+            SELECT
+                device_id,
+                out_target,
+                ROW_NUMBER() OVER (
+                PARTITION BY
+                device_id
+                ORDER BY
+                create_time DESC
+                ) AS rn
+            FROM
+                ja_fw_device_track
+            WHERE
+                out_target IS NOT NULL
+            ) t
+            ON d.id = t.device_id AND t.rn = 1
         <where>
-            dfr.is_deleted = 0
+                dfr.is_deleted = 0
+                and d.track_status = 1
+            <if test="param2.regionName != null and param2.regionName != ''">
+                and (t.out_target = #{param2.regionName}
+                <!-- 或者设备是共享给当前部门的 -->
+                <if test="param2.currentDeptId != null and param2.currentDeptId != '' ">
+                    or dfr.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 dfr.device_id = #{param2.deviceId}
             </if>
@@ -59,21 +91,13 @@
             <if test="param2.areaName != null and param2.areaName != ''">
                 and dfr.area_name like CONCAT('%', #{param2.areaName}, '%')
             </if>
-            <if test="param2.deptList != null and param2.deptList.size > 0">
-                and (dfr.create_dept in
-                <foreach collection="param2.deptList" item="deptId" open="(" separator="," close=")">
-                    #{deptId}
-                </foreach>
-                <!-- 或者设备是共享给当前部门的 -->
-                <if test="param2.currentDeptId != null and param2.currentDeptId != '' ">
-                    or dfr.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.deptList != null and param2.deptList.size > 0"> -->
+            <!--     and (dfr.create_dept in -->
+            <!--     <foreach collection="param2.deptList" item="deptId" open="(" separator="," close=")"> -->
+            <!--         #{deptId} -->
+            <!--     </foreach> -->
+            <!--     ) -->
+            <!-- </if> -->
         </where>
     </select>
 

--
Gitblit v1.9.3