From 9e976a6cd2f5f6011284df9cedd9e2dd96b9f68e Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Thu, 30 Oct 2025 09:09:26 +0800
Subject: [PATCH] 1.修改查询无人机盒子列表权限bug。 2.修改查询服务器管理列表权限bug。

---
 ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml |   49 ++++++++++++++++++++++++++++---------------------
 1 files changed, 28 insertions(+), 21 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml b/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
index 6c78ec8..b3c8119 100644
--- a/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
+++ b/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
@@ -37,32 +37,39 @@
     </select>
 
     <sql id="selectArdDroneVo">
-        select id,
-               box_sn,
-               box_name,
-               box_version,
-               start_time,
-               on_line,
-               video_server,
-               video_port,
-               last_task_id,
-               server_id,
-               user_id,
-               dept_id,
-               box_alias_name
-        from ard_drone_info
+        select c.id,
+               c.box_sn,
+               c.box_name,
+               c.box_version,
+               c.start_time,
+               c.on_line,
+               c.video_server,
+               c.video_port,
+               c.last_task_id,
+               c.server_id,
+               c.user_id,
+               c.dept_id,
+               c.box_alias_name
+        from ard_drone_info c
+                 left join sys_dept d on d.dept_id = c.dept_id
+                 left join sys_user u on u.user_id = c.user_id
     </sql>
 
     <select id="selectArdDroneList" parameterType="ArdDroneInfo" resultMap="ArdDroneInfoResult">
         <include refid="selectArdDroneVo"/>
         <where>
-            <if test="boxSn != null  and boxSn != ''"> and box_sn like concat('%', #{boxSn}, '%')</if>
-            <if test="boxName != null  and boxName != ''"> and box_name like concat('%', #{boxName}, '%')</if>
-            <if test="boxVersion != null  and boxVersion != ''"> and box_version = #{boxVersion}</if>
-            <if test="onLine != null "> and onLine = #{onLine}</if>
-            <if test="lastTaskId != null "> and last_task_id = #{lastTaskId}</if>
-            <if test="userId != null "> and user_id = #{userId}</if>
-            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="boxSn != null  and boxSn != ''"> and c.box_sn like concat('%', #{boxSn}, '%')</if>
+            <if test="boxName != null  and boxName != ''"> and c.box_name like concat('%', #{boxName}, '%')</if>
+            <if test="boxVersion != null  and boxVersion != ''"> and c.box_version = #{boxVersion}</if>
+            <if test="onLine != null "> and c.onLine = #{onLine}</if>
+            <if test="lastTaskId != null "> and c.last_task_id = #{lastTaskId}</if>
+            <if test="userId != null "> and c.user_id = #{userId}</if>
+            <if test="deptId != null and deptId != 0">
+                and (d.dept_id = #{deptId} OR d.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE
+                find_in_set(#{deptId}, ancestors) ))
+            </if>
+            <!-- 数据范围过滤 -->
+            ${params.dataScope}
         </where>
     </select>
     

--
Gitblit v1.9.3