From c6e38b6c66de5f5a8df5b8b2ab03a82c3b605db8 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 03 十二月 2025 00:48:44 +0800
Subject: [PATCH] feat:优化同步
---
ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml | 29 +++++++++++++++++++++++++++--
1 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml
index c0de83d..d8abfba 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml
@@ -30,9 +30,11 @@
<result property="updateBy" column="update_by" />
<result property="remark" column="remark" />
<result property="delFlag" column="del_flag" />
+ <result property="legacySynced" column="legacy_synced" />
<result property="creatorName" column="creator_name" />
<result property="assigneeName" column="assignee_name" />
<result property="deptName" column="dept_name" />
+ <result property="vehicleNo" column="vehicle_no" />
<collection property="assignedVehicles" ofType="SysTaskVehicle">
<result property="id" column="tv_id" />
<result property="taskId" column="tv_task_id" />
@@ -54,8 +56,16 @@
t.destination_longitude, t.destination_latitude, t.estimated_distance,
t.planned_start_time, t.planned_end_time,
t.actual_start_time, t.actual_end_time, t.creator_id, t.assignee_id, t.dept_id,
- t.create_time, t.update_time, t.create_by, t.update_by, t.remark, t.del_flag,
+ t.create_time, t.update_time, t.create_by, t.update_by, t.remark, t.del_flag, t.legacy_synced,
u1.nick_name as creator_name, u2.nick_name as assignee_name, d.dept_name,
+ (
+ select v2.vehicle_no
+ from sys_task_vehicle tv2
+ left join tb_vehicle_info v2 on tv2.vehicle_id = v2.vehicle_id
+ where tv2.task_id = t.task_id
+ order by tv2.assign_time asc
+ limit 1
+ ) as vehicle_no,
tv.id as tv_id, tv.task_id as tv_task_id, tv.vehicle_id as tv_vehicle_id,
v.vehicle_no as tv_vehicle_no, v.vehicle_type as tv_vehicle_type,
v.vehicle_brand as tv_vehicle_brand, v.vehicle_model as tv_vehicle_model,
@@ -76,6 +86,7 @@
<if test="taskCode != null and taskCode != ''"> and t.task_code like concat('%', #{taskCode}, '%')</if>
<if test="taskType != null and taskType != ''"> and t.task_type = #{taskType}</if>
<if test="taskStatus != null and taskStatus != ''"> and t.task_status = #{taskStatus}</if>
+ <if test="vehicleNo != null and vehicleNo != ''"> and v.vehicle_no like concat('%', #{vehicleNo}, '%')</if>
<!-- 缁煎悎鏌ヨ锛氬綋鍓嶇敤鎴锋墍鍦ㄦ満鏋� OR 褰撳墠鐢ㄦ埛鍒涘缓 OR 鍒嗛厤缁欏綋鍓嶇敤鎴� -->
<if test="(creatorId != null and creatorId != 0) or (assigneeId != null and assigneeId != 0) or (deptId != null and deptId != 0)">
and (
@@ -123,7 +134,7 @@
<select id="selectMaxTaskCodeByDatePrefix" parameterType="String" resultType="String">
select max(task_code)
from sys_task
- where task_code like concat(#{datePrefix}, '%') and del_flag = '0'
+ where task_code like concat(#{datePrefix}, '%')
</select>
<select id="selectOverdueTasks" resultMap="SysTaskResult">
@@ -240,6 +251,7 @@
<if test="actualEndTime != null">actual_end_time = #{actualEndTime},</if>
<if test="creatorId != null">creator_id = #{creatorId},</if>
<if test="assigneeId != null">assignee_id = #{assigneeId},</if>
+
<if test="deptId != null">dept_id = #{deptId},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
@@ -267,6 +279,19 @@
where task_id = #{taskId}
</update>
+ <select id="selectActiveTasksByVehicleId" parameterType="Long" resultMap="SysTaskResult">
+ select t.task_id, t.task_code, t.task_type, t.task_status, t.task_description,
+ t.departure_address, t.destination_address,
+ t.planned_start_time, t.actual_start_time,
+ t.create_time, t.update_time
+ from sys_task t
+ inner join sys_task_vehicle tv on t.task_id = tv.task_id
+ where tv.vehicle_id = #{vehicleId}
+ and t.del_flag = '0'
+ and t.task_status not in ('PENDING', 'COMPLETED', 'CANCELLED')
+ order by t.create_time desc
+ </select>
+
<delete id="deleteSysTaskByTaskId" parameterType="Long">
update sys_task set del_flag = '2', update_time = now() where task_id = #{taskId}
</delete>
--
Gitblit v1.9.1