From 0ffdf00009b0bede0859fa33deddefb55c075a7b Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 01 二月 2026 16:42:36 +0800
Subject: [PATCH] feat:优化增加任务同步接口,允许前端手动控制同步

---
 ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml
index 4fe1ac6..99faf07 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml
@@ -354,4 +354,33 @@
           and e.patient_phone = #{phone}
           and DATE(t.create_time) = #{createDate}
     </select>
+    
+    <!-- 鏌ヨ杞﹁締鍦ㄦ寚瀹氭椂闂磋寖鍥村唴鐨勪换鍔″垪琛� -->
+    <select id="selectVehicleTasksInTimeRange" parameterType="map" resultMap="SysTaskResult">
+        select t.task_id, t.task_code, t.task_type, t.task_status,
+               t.departure_address, t.destination_address,
+               t.actual_start_time, t.actual_end_time,
+               t.planned_start_time, t.planned_end_time,
+               t.estimated_distance,
+               tv.vehicle_id
+        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 ('CANCELLED')
+          and (
+              <!-- 瀹為檯鏃堕棿鏈夊�兼椂锛屼娇鐢ㄥ疄闄呮椂闂村垽鏂噸鍙� -->
+              (t.actual_start_time is not null and t.actual_end_time is not null 
+               and t.actual_start_time &lt;= #{endTime} and t.actual_end_time &gt;= #{startTime})
+              or
+              <!-- 瀹為檯寮�濮嬫椂闂存湁鍊间絾鏈粨鏉熸椂锛屼娇鐢ㄥ綋鍓嶆椂闂翠綔涓虹粨鏉熸椂闂� -->
+              (t.actual_start_time is not null and t.actual_end_time is null 
+               and t.actual_start_time &lt;= #{endTime})
+              or
+              <!-- 瀹為檯鏃堕棿閮戒负绌烘椂锛屼娇鐢ㄨ鍒掓椂闂村垽鏂噸鍙� -->
+              (t.actual_start_time is null and t.actual_end_time is null
+               and t.planned_start_time &lt;= #{endTime} and t.planned_end_time &gt;= #{startTime})
+          )
+        order by t.actual_start_time, t.planned_start_time
+    </select>
 </mapper>

--
Gitblit v1.9.1