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 |  117 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 92 insertions(+), 25 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml b/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
index 0a3a216..b3c8119 100644
--- a/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
+++ b/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
@@ -10,57 +10,66 @@
         <result property="boxName"    column="box_name"    />
         <result property="boxVersion"    column="box_version"    />
         <result property="startTime"    column="start_time"    />
-        <result property="onLine"    column="onLine"    />
+        <result property="onLine"    column="on_line"    />
         <result property="videoServer"    column="video_server"    />
         <result property="videoPort"    column="video_port"    />
         <result property="lastTaskId"    column="last_task_id"    />
         <result property="userId"    column="user_id"    />
         <result property="deptId"    column="dept_id"    />
+        <result property="boxAliasName"    column="box_alias_name"    />
         <result property="createBy"    column="create_by"    />
         <result property="createTime"    column="create_time"    />
         <result property="updateBy"    column="update_by"    />
         <result property="updateTime"    column="update_time"    />
         <result property="remark"    column="remark"    />
-        <result property="serverInfoId"    column="server_info_id"    />
+        <result property="serverId"    column="server_id"    />
         <!-- 关联 ArdServerInfo 对象 -->
         <association property="ardServerInfo"
                      javaType="com.ard.work.domain.entity.ArdServerInfo"
-                     column="server_info_id"
+                     column="server_id"
                      autoMapping="true"
                      select="selectArdServerInfo">
         </association>
     </resultMap>
 
     <select id="selectArdServerInfo" resultType="com.ard.work.domain.entity.ArdServerInfo">
-        select * from ard_server_info where id = #{serverInfoId}
+        select * from ard_server_info where id = #{serverId}
     </select>
 
     <sql id="selectArdDroneVo">
-        select id,
-            box_sn,
-            box_name,
-            box_version,
-            start_time,
-            on_line,
-            video_server,
-            video_port,
-            last_task_id,
-            server_info_id,
-            user_id,
-            dept_id
-        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 = #{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>
+        <where>
+            <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>
     
@@ -84,8 +93,10 @@
             <if test="videoServer != null">video_server,</if>
             <if test="videoPort != null">video_port,</if>
             <if test="lastTaskId != null">last_task_id,</if>
+            <if test="serverId != null">server_id,</if>
             <if test="userId != null">user_id,</if>
             <if test="deptId != null">dept_id,</if>
+            <if test="boxAliasName != null">box_alias_name,</if>
             <if test="createBy != null">create_by,</if>
             <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
@@ -102,8 +113,10 @@
             <if test="videoServer != null">#{videoServer},</if>
             <if test="videoPort != null">#{videoPort},</if>
             <if test="lastTaskId != null">#{lastTaskId},</if>
+            <if test="serverId != null">#{serverId},</if>
             <if test="userId != null">#{userId},</if>
             <if test="deptId != null">#{deptId},</if>
+            <if test="boxAliasName != null">#{boxAliasName},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
@@ -123,8 +136,10 @@
             <if test="videoServer != null">video_server = #{videoServer},</if>
             <if test="videoPort != null">video_port = #{videoPort},</if>
             <if test="lastTaskId != null">last_task_id = #{lastTaskId},</if>
+            <if test="serverId != null">server_id = #{serverId},</if>
             <if test="userId != null">user_id = #{userId},</if>
             <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="boxAliasName != null">box_alias_name = #{boxAliasName},</if>
             <if test="createBy != null">create_by = #{createBy},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
@@ -144,4 +159,56 @@
             #{id}
         </foreach>
     </delete>
+
+    <insert id="insertArdDroneLs" parameterType="java.util.List">
+        insert into ard_drone_info(
+            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,
+            create_by,
+            create_time,
+            update_by,
+            update_time,
+            remark
+        ) values
+        <foreach item="item" index="index" collection="list" separator=",">
+            (#{item.id},
+            #{item.boxSn},
+            #{item.boxName},
+            #{item.boxVersion},
+            #{item.startTime},
+            #{item.onLine},
+            #{item.videoServer},
+            #{item.videoPort},
+            #{item.lastTaskId},
+            #{item.serverId},
+            #{item.userId},
+            #{item.deptId},
+            #{item.boxAliasName},
+            #{item.createBy},
+            #{item.createTime},
+            #{item.updateBy},
+            #{item.updateTime},
+            #{item.remark})
+        </foreach>
+    </insert>
+
+    <update id="updateDroneStatus">
+        update ard_drone_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="onLine != null">on_line = #{onLine},</if>
+        </trim>
+        where server_id = #{serverId}
+    </update>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3