From 08f95b2f159b56fa3bd4f4b348855989de8aa456 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期四, 18 十二月 2025 21:48:18 +0800
Subject: [PATCH] feat: vehicle

---
 ruoyi-system/src/main/resources/mapper/system/VehicleGpsMapper.xml |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/VehicleGpsMapper.xml b/ruoyi-system/src/main/resources/mapper/system/VehicleGpsMapper.xml
index 5d8d093..0aa55dd 100644
--- a/ruoyi-system/src/main/resources/mapper/system/VehicleGpsMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/VehicleGpsMapper.xml
@@ -30,7 +30,7 @@
     <select id="selectVehicleGpsList" parameterType="VehicleGps" resultMap="VehicleGpsResult">
         <include refid="selectVehicleGpsVo"/>
         <where>  
-            <if test="vehicleNo != null  and vehicleNo != ''"> and vehicle_no = #{vehicleNo}</if>
+            <if test="vehicleNo != null  and vehicleNo != ''"> and v.vehicle_no like concat('%', #{vehicleNo}, '%')</if>
             <if test="longitude != null "> and longitude = #{longitude}</if>
             <if test="latitude != null "> and latitude = #{latitude}</if>
             <if test="speed != null "> and speed = #{speed}</if>
@@ -127,13 +127,29 @@
         where vehicle_id = #{vehicleId}
           and collect_time &gt;= #{startTime}
           and collect_time &lt;= #{endTime}
-        order by collect_time
     </select>
 
+    <!-- 鏌ヨ娲昏穬杞﹁締ID锛堜紭鍖栵細浣跨敤GROUP BY鏇夸唬DISTINCT锛屾彁鍗囨�ц兘锛� -->
     <select id="selectActiveVehicleIds" resultType="Long">
-        select distinct vehicle_id
+        select vehicle_id
         from tb_vehicle_gps
-        where collect_time &gt;= DATE_SUB(NOW(), INTERVAL 7 DAY)
-        order by vehicle_id
+        where collect_time &gt;= #{startTime}
+    </select>
+    
+    <!-- 鏌ヨ鏈璁$畻鐨凣PS鍧愭爣锛堜紭鍖栵細浣跨敤NOT EXISTS鏇夸唬LEFT JOIN ... IS NULL锛� -->
+    <select id="selectUncalculatedGps" resultMap="VehicleGpsResult">
+        SELECT g.gps_id, g.vehicle_id, g.device_id, g.longitude, g.latitude, g.altitude, 
+               g.speed, g.direction, g.collect_time, g.device_report_time, 
+               g.platform_process_time, g.create_time, v.vehicle_no
+        FROM tb_vehicle_gps g
+        INNER JOIN tb_vehicle_info v ON g.vehicle_id = v.vehicle_id
+        WHERE g.vehicle_id = #{vehicleId}
+          AND g.collect_time &gt;= #{startTime}
+          AND g.collect_time &lt;= #{endTime}
+          AND NOT EXISTS (
+              SELECT 1 FROM tb_vehicle_gps_calculated c 
+              WHERE c.gps_id = g.gps_id
+          )
+        ORDER BY g.collect_time
     </select>
 </mapper> 
\ No newline at end of file

--
Gitblit v1.9.1