From 1050a0dbace06b1510d53de5baedfc0ca07c8d71 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Mon, 02 Mar 2026 08:26:19 +0800
Subject: [PATCH] 2026-03-02 优化航线轨迹,没有任务的情况下,不记录轨迹信息
---
ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml | 230 ++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 171 insertions(+), 59 deletions(-)
diff --git a/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml b/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
index 798b274..ed3958f 100644
--- a/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
+++ b/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
@@ -4,92 +4,204 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ard.work.mapper.ArdDroneInfoMapper">
- <resultMap type="ArdDroneInfo" id="ArdDroneManagementResult">
+ <resultMap type="ArdDroneInfo" id="ArdDroneInfoResult">
<result property="id" column="id" />
- <result property="deviceModel" column="device_model" />
- <result property="deviceSn" column="device_sn" />
- <result property="deviceName" column="device_name" />
- <result property="deviceStatus" column="device_status" />
- <result property="deviceAddTime" column="device_add_time" />
- <result property="onlineTime" column="online_time" />
- <result property="serverInfoId" column="server_info_id" />
+ <result property="boxSn" column="box_sn" />
+ <result property="boxName" column="box_name" />
+ <result property="boxVersion" column="box_version" />
+ <result property="startTime" column="start_time" />
+ <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="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="serverId" column="server_id" />
+ <!-- 关联 ArdServerInfo 对象 -->
+ <association property="ardServerInfo"
+ javaType="com.ard.work.domain.entity.ArdServerInfo"
+ column="server_id"
+ autoMapping="true"
+ select="selectArdServerInfo">
+ </association>
</resultMap>
- <sql id="selectArdDroneManagementVo">
- select id,
- device_model,
- device_sn,
- device_name,
- device_status,
- device_add_time,
- online_time,
- server_info_id
- from ard_drone_info
+ <select id="selectArdServerInfo" resultType="com.ard.work.domain.entity.ArdServerInfo">
+ select * from ard_server where id = #{serverId}
+ </select>
+
+ <sql id="selectArdDroneVo">
+ 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
+ from ard_drone 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="selectArdDroneManagementList" parameterType="ArdDroneManagement" resultMap="ArdDroneManagementResult">
- <include refid="selectArdDroneManagementVo"/>
- <where>
- <if test="deviceModel != null and deviceModel != ''"> and device_model = #{deviceModel}</if>
- <if test="deviceSn != null and deviceSn != ''"> and device_sn = #{deviceSn}</if>
- <if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
- <if test="deviceStatus != null and deviceStatus != ''"> and device_status = #{deviceStatus}</if>
- <if test="deviceAddTime != null "> and device_add_time = #{deviceAddTime}</if>
- <if test="onlineTime != null "> and online_time = #{onlineTime}</if>
+ <select id="selectArdDroneList" parameterType="ArdDroneInfo" resultMap="ArdDroneInfoResult">
+ <include refid="selectArdDroneVo"/>
+ <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>
- <select id="selectArdDroneManagementById" parameterType="String" resultMap="ArdDroneManagementResult">
- <include refid="selectArdDroneManagementVo"/>
+ <select id="selectArdDroneById" parameterType="String" resultMap="ArdDroneInfoResult">
+ <include refid="selectArdDroneVo"/>
where id = #{id}
</select>
-
- <insert id="insertArdDroneManagement" parameterType="ArdDroneManagement">
- insert into ard_drone_info
+ <select id="selectArdDroneByBoxSn" parameterType="String" resultMap="ArdDroneInfoResult">
+ <include refid="selectArdDroneVo"/>
+ where box_sn = #{boxSn}
+ </select>
+ <insert id="insertArdDrone" parameterType="ArdDroneInfo">
+ insert into ard_drone
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
- <if test="deviceModel != null">device_model,</if>
- <if test="deviceSn != null">device_sn,</if>
- <if test="deviceName != null">device_name,</if>
- <if test="deviceStatus != null">device_status,</if>
- <if test="deviceAddTime != null">device_add_time,</if>
- <if test="onlineTime != null">online_time,</if>
- <if test="serverInfoId != null">server_info_id,</if>
+ <if test="boxSn != null">box_sn,</if>
+ <if test="boxName != null">box_name,</if>
+ <if test="boxVersion != null">box_version,</if>
+ <if test="startTime != null">start_time,</if>
+ <if test="onLine != null">on_line,</if>
+ <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="createBy != null">create_by,</if>
+ <if test="createTime != null">create_time,</if>
+ <if test="updateBy != null">update_by,</if>
+ <if test="updateTime != null">update_time,</if>
+ <if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
- <if test="deviceModel != null">#{deviceModel},</if>
- <if test="deviceSn != null">#{deviceSn},</if>
- <if test="deviceName != null">#{deviceName},</if>
- <if test="deviceStatus != null">#{deviceStatus},</if>
- <if test="deviceAddTime != null">#{deviceAddTime},</if>
- <if test="onlineTime != null">#{onlineTime},</if>
- <if test="serverInfoId != null">#{serverInfoId},</if>
+ <if test="boxSn != null">#{boxSn},</if>
+ <if test="boxName != null">#{boxName},</if>
+ <if test="boxVersion != null">#{boxVersion},</if>
+ <if test="startTime != null">#{startTime},</if>
+ <if test="onLine != null">#{onLine},</if>
+ <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="createBy != null">#{createBy},</if>
+ <if test="createTime != null">#{createTime},</if>
+ <if test="updateBy != null">#{updateBy},</if>
+ <if test="updateTime != null">#{updateTime},</if>
+ <if test="remark != null">#{remark},</if>
</trim>
</insert>
- <update id="updateArdDroneManagement" parameterType="ArdDroneManagement">
- update ard_drone_info
+ <update id="updateArdDrone" parameterType="ArdDroneInfo">
+ update ard_drone
<trim prefix="SET" suffixOverrides=",">
- <if test="deviceModel != null">device_model = #{deviceModel},</if>
- <if test="deviceSn != null">device_sn = #{deviceSn},</if>
- <if test="deviceName != null">device_name = #{deviceName},</if>
- <if test="deviceStatus != null">device_status = #{deviceStatus},</if>
- <if test="deviceAddTime != null">device_add_time = #{deviceAddTime},</if>
- <if test="onlineTime != null">online_time = #{onlineTime},</if>
- <if test="serverInfoId != null">server_info_id = #{serverInfoId},</if>
+ <if test="boxSn != null">box_sn = #{boxSn},</if>
+ <if test="boxName != null">box_name = #{boxName},</if>
+ <if test="boxVersion != null">box_version = #{boxVersion},</if>
+ <if test="startTime != null">start_time = #{startTime},</if>
+ <if test="onLine != null">on_line = #{onLine},</if>
+ <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="createBy != null">create_by = #{createBy},</if>
+ <if test="createTime != null">create_time = #{createTime},</if>
+ <if test="updateBy != null">update_by = #{updateBy},</if>
+ <if test="updateTime != null">update_time = #{updateTime},</if>
+ <if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
- <delete id="deleteArdDroneManagementById" parameterType="String">
- delete from ard_drone_info where id = #{id}
+ <delete id="deleteArdDroneById" parameterType="String">
+ delete from ard_drone where id = #{id}
</delete>
- <delete id="deleteArdDroneManagementByIds" parameterType="String">
- delete from ard_drone_info where id in
+ <delete id="deleteArdDroneByIds" parameterType="String">
+ delete from ard_drone where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
+
+ <insert id="insertArdDroneLs" parameterType="java.util.List">
+ insert into ard_drone(
+ id,
+ box_sn,
+ box_name,
+ box_version,
+ start_time,
+ on_line,
+ video_server,
+ video_port,
+ last_task_id,
+ server_id,
+ user_id,
+ dept_id,
+ 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.createBy},
+ #{item.createTime},
+ #{item.updateBy},
+ #{item.updateTime},
+ #{item.remark})
+ </foreach>
+ </insert>
+
+ <update id="updateDroneStatus">
+ update ard_drone
+ <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