From 5aede4ab0ab997a78416116ead9260f93b9c17b9 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期四, 01 一月 2026 16:29:37 +0800
Subject: [PATCH] feat: segment
---
ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml b/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml
index 43b5fb3..6282f5d 100644
--- a/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml
@@ -62,11 +62,14 @@
</select>
<select id="selectSegmentsByDateRange" resultMap="VehicleGpsSegmentMileageResult">
- <include refid="selectVehicleGpsSegmentMileageVo"/>
+ SELECT segment_id, vehicle_id, vehicle_no, segment_start_time, segment_end_time,
+ start_longitude, start_latitude, end_longitude, end_latitude,
+ segment_distance, gps_point_count, task_id, task_code
+ FROM tb_vehicle_gps_segment_mileage
WHERE vehicle_id = #{vehicleId}
- AND segment_start_time >= #{startDate}
- AND segment_end_time <= #{endDate}
- ORDER BY segment_start_time
+ AND segment_start_time between #{startDate} and #{endDate}
+ AND segment_end_time >= #{startDate}
+ AND segment_distance >0
</select>
<!-- 鎸変换鍔D鏌ヨ鍒嗘閲岀▼鍒楄〃 -->
@@ -154,4 +157,15 @@
<select id="selectGpsCalculatedSegmentId" resultType="Long">
SELECT segment_id FROM tb_vehicle_gps_calculated WHERE gps_id = #{gpsId} LIMIT 1
</select>
+
+ <!-- 鏌ヨ杞﹁締鍦ㄦ寚瀹氭椂闂翠箣鍓嶆渶鍚庝竴涓凡澶勭悊鐨凣PS鍧愭爣ID -->
+ <select id="selectLastCalculatedGpsId" resultType="Long">
+ SELECT c.gps_id
+ FROM tb_vehicle_gps_calculated c
+ INNER JOIN tb_vehicle_gps g ON c.gps_id = g.gps_id
+ WHERE c.vehicle_id = #{vehicleId}
+ AND STR_TO_DATE(g.collect_time, '%Y-%m-%d %H:%i:%s') < #{beforeTime}
+ ORDER BY STR_TO_DATE(g.collect_time, '%Y-%m-%d %H:%i:%s') DESC
+ LIMIT 1
+ </select>
</mapper>
--
Gitblit v1.9.1