From 51a551a7f8eae7654f973d45cd2fa2952774673d Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 07 Aug 2026 10:56:55 +0800
Subject: [PATCH] perf(task): 优化巡查任务审核性能并添加详细日志记录

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMaintainPlanMapper.xml |   82 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 77 insertions(+), 5 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMaintainPlanMapper.xml b/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMaintainPlanMapper.xml
index ce3bb20..fc24407 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMaintainPlanMapper.xml
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMaintainPlanMapper.xml
@@ -1,19 +1,91 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.sxkj.fw.device.mapper.FwDeviceMaintainPlanMapper">
-
     <!-- 通用查询映射结果 -->
-    <resultMap id="fwDeviceMaintainPlanResultMap" type="org.sxkj.fw.device.entity.FwDeviceMaintainPlanEntity">
+    <resultMap id="fwDeviceMaintainPlanResultMap" type="org.sxkj.fw.device.vo.FwDeviceMaintainPlanVO">
+        <result column="id" property="id"/>
+        <result column="device_id" property="deviceId"/>
+        <result column="plan_cycle_type" property="planCycleType"/>
+        <result column="plan_cycle_value" property="planCycleValue"
+                typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+        <result column="device_name" property="deviceName"/>
+        <result column="device_type" property="deviceType"/>
+        <result column="device_att" property="deviceAtt"/>
+        <result column="device_model" property="deviceModel"/>
+        <result column="belong_dept" property="belongDept"/>
+        <result column="device_specification" property="deviceSpecification"/>
+        <result column="manufacturer" property="manufacturer"/>
+        <result column="source" property="source"/>
+        <result column="purpose" property="purpose"/>
+        <result column="charger" property="charger"/>
+        <result column="device_create_time" property="createTime"/>
+        <result column="maintain_status" property="maintainStatus"/>
+        <result column="last_maintain_time" property="lastMaintainTime"/>
     </resultMap>
 
+    <sql id="deviceFields">
+        b.device_name,
+        b.device_type,
+        b.device_att,
+        b.device_model,
+        b.belong_dept,
+        b.device_specification,
+        b.manufacturer,
+        b.source,
+        b.purpose,
+        b.charger,
+        b.create_time as device_create_time
+    </sql>
+
+    <select id="getFwDeviceMaintainPlanById" resultMap="fwDeviceMaintainPlanResultMap">
+        select
+        <include refid="deviceFields"/>,a.*
+        from
+        ja_fw_device_maintain_plan a
+        left join ja_fw_device b on (a.device_id::VARCHAR = b.id::VARCHAR)
+        <where>
+            a.is_deleted = 0
+            <if test="id != null and id != ''">
+                and a.id = #{id}
+            </if>
+        </where>
+        limit 1
+    </select>
 
     <select id="selectFwDeviceMaintainPlanPage" resultMap="fwDeviceMaintainPlanResultMap">
-        select * from ja_fw_device_maintain_plan where is_deleted = 0
+        select
+            <include refid="deviceFields"/>,
+            a.*
+        from
+            ja_fw_device_maintain_plan a
+        left join
+            ja_fw_device b on (a.device_id::VARCHAR = b.id::VARCHAR)
+        <where>
+                a.is_deleted = 0
+            <if test="param2.deviceId != null and param2.deviceId != ''">
+                and device_id = #{param2.deviceId}
+            </if>
+            <if test="param2.deviceName != null and param2.deviceName != ''">
+                and device_name like concat('%',#{param2.deviceName},'%')
+            </if>
+            <if test="param2.deviceType != null and param2.deviceType != ''">
+                and device_type = #{param2.deviceType}
+            </if>
+            <if test="param2.belongDept != null and param2.belongDept != ''">
+                and belong_dept = #{param2.belongDept}
+            </if>
+            <if test="param2.deptList != null and param2.deptList.size > 0">
+                and a.create_dept in
+                <foreach collection="param2.deptList" item="deptId" open="(" separator="," close=")">
+                    #{deptId}
+                </foreach>
+            </if>
+        </where>
     </select>
 
 
     <select id="exportFwDeviceMaintainPlan" resultType="org.sxkj.fw.device.excel.FwDeviceMaintainPlanExcel">
-        SELECT * FROM ja_fw_device_maintain_plan ${ew.customSqlSegment}
+        SELECT *
+        FROM ja_fw_device_maintain_plan ${ew.customSqlSegment}
     </select>
-
 </mapper>

--
Gitblit v1.9.3