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-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdClueEventMapper.xml | 52 +++++++++++++++++++++++++++++++++++++---------------
1 files changed, 37 insertions(+), 15 deletions(-)
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdClueEventMapper.xml b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdClueEventMapper.xml
index 06252aa..405a680 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdClueEventMapper.xml
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdClueEventMapper.xml
@@ -63,12 +63,22 @@
<result column="shoot_time" property="shootTime"/>
<result column="dispose_user_name" property="disposeUserName"/>
<result column="dispose_dept_name" property="disposeDeptName"/>
+ <result column="result_id" property="resultId"/>
+ <result column="work_order_id" property="workOrderId"/>
+ <result column="dispose_user" property="disposeUser"/>
+ <result column="dispose_dept" property="disposeDept"/>
+ <result column="longitude" property="longitude"/>
+ <result column="latitude" property="latitude"/>
+ <result column="event_status" property="eventStatus"/>
+ <result column="area_code" property="areaCode"/>
+ <result column="event_num" property="eventNum"/>
+ <result column="attach_url" property="attachUrl"/>
</resultMap>
<resultMap id="gdClueEventCountVoResultMap" type="org.sxkj.gd.workorder.vo.GdClueEventCountVO">
<result column="total_count" property="totalCount"/>
<result column="my_count" property="myCount"/>
- <result column="returned_count" property="returnedCount"/>
+ <result column="disposing_count" property="disposingCount"/>
<result column="disposed_count" property="disposedCount"/>
<result column="completed_count" property="completedCount"/>
</resultMap>
@@ -109,11 +119,21 @@
ce.create_time as create_time,
tr.shoot_time as shoot_time,
COALESCE(bu.real_name, bu.name) as dispose_user_name,
- bd.dept_name as dispose_dept_name
+ bd.dept_name as dispose_dept_name,
+ ce.result_id,
+ ce.work_order_id,
+ ce.dispose_user,
+ ce.dispose_dept,
+ ce.longitude,
+ ce.latitude,
+ ce.event_status,
+ ce.area_code,
+ ce.event_num,
+ ce.attach_url
from ja_gd_clue_event ce
- left join ja_gd_task_result tr on tr.id::VARCHAR = ce.result_id::VARCHAR and tr.is_deleted = 0
- left join blade_user bu on bu.id::VARCHAR = ce.dispose_user::VARCHAR and bu.is_deleted = 0
- left join blade_dept bd on bd.id::VARCHAR = ce.dispose_dept::VARCHAR and bd.is_deleted = 0
+ left join ja_gd_task_result tr on tr.id::VARCHAR = ce.result_id::VARCHAR
+ left join blade_user bu on bu.id::VARCHAR = ce.dispose_user::VARCHAR
+ left join blade_dept bd on bd.id::VARCHAR = ce.dispose_dept::VARCHAR
where ce.is_deleted = 0
<if test="deptId != null">
and ce.dispose_dept = #{deptId}
@@ -125,16 +145,17 @@
</foreach>
</if>
<if test="keyword != null and keyword != ''">
- and ce.event_num::VARCHAR like concat('%', #{keyword}, '%')
+ and (ce.event_num::VARCHAR like concat('%', #{keyword}, '%')
+ or ce.event_name::VARCHAR like concat('%', #{keyword}, '%'))
</if>
<if test="onlyMine != null and onlyMine == 1">
and ce.dispose_user = #{userId}
</if>
<if test="startTime != null and startTime != ''">
- and tr.shoot_time >= #{startTime}
+ and tr.shoot_time >= #{startTime}::timestamp
</if>
<if test="endTime != null and endTime != ''">
- and tr.shoot_time <= #{endTime}
+ and tr.shoot_time <= #{endTime}::timestamp
</if>
order by ce.create_time desc
</select>
@@ -173,11 +194,11 @@
tr.id as tr_id,
tr.attachment_type as tr_attachment_type_raw
from ja_gd_clue_event ce
- left join blade_user bu on bu.id::VARCHAR = ce.dispose_user::VARCHAR and bu.is_deleted = 0
- left join blade_dept bd on bd.id::VARCHAR = ce.dispose_dept::VARCHAR and bd.is_deleted = 0
- left join blade_user cu on cu.id::VARCHAR = ce.create_user::VARCHAR and cu.is_deleted = 0
- left join blade_dept cd on cd.id::VARCHAR = ce.create_dept::VARCHAR and cd.is_deleted = 0
- left join ja_gd_task_result tr on tr.id::VARCHAR = ce.result_id::VARCHAR and tr.is_deleted = 0
+ left join blade_user bu on bu.id::VARCHAR = ce.dispose_user::VARCHAR
+ left join blade_dept bd on bd.id::VARCHAR = ce.dispose_dept::VARCHAR
+ left join blade_user cu on cu.id::VARCHAR = ce.create_user::VARCHAR
+ left join blade_dept cd on cd.id::VARCHAR = ce.create_dept::VARCHAR
+ left join ja_gd_task_result tr on tr.id::VARCHAR = ce.result_id::VARCHAR
where ce.is_deleted = 0
<if test="deptId != null">
and ce.dispose_dept = #{deptId}
@@ -188,7 +209,7 @@
<select id="selectGdClueEventCount" resultMap="gdClueEventCountVoResultMap">
select count(1) as total_count,
COALESCE(sum(case when ce.dispose_user = #{userId} then 1 else 0 end), 0) as my_count,
- COALESCE(sum(case when ce.event_status = 2 then 1 else 0 end), 0) as returned_count,
+ COALESCE(sum(case when ce.event_status = 1 then 1 else 0 end), 0) as disposing_count,
COALESCE(sum(case when ce.event_status = 3 then 1 else 0 end), 0) as disposed_count,
COALESCE(sum(case when ce.event_status = 4 then 1 else 0 end), 0) as completed_count
from ja_gd_clue_event ce
@@ -203,7 +224,8 @@
</foreach>
</if>
<if test="keyword != null and keyword != ''">
- and ce.event_num like concat('%', #{keyword}, '%')
+ and (ce.event_num like concat('%', #{keyword}, '%')
+ or ce.event_name like concat('%', #{keyword}, '%'))
</if>
</select>
--
Gitblit v1.9.3