From caf56217dc2bf898b63b0e1f31a7098202c32825 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 15 十一月 2025 16:50:17 +0800
Subject: [PATCH] Merge branch 'feature_gps'
---
ruoyi-system/src/main/resources/mapper/system/VehicleMileageStatsMapper.xml | 117 ++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 76 insertions(+), 41 deletions(-)
diff --git a/ruoyi-system/src/main/resources/mapper/system/VehicleMileageStatsMapper.xml b/ruoyi-system/src/main/resources/mapper/system/VehicleMileageStatsMapper.xml
index 1dd8199..95439e9 100644
--- a/ruoyi-system/src/main/resources/mapper/system/VehicleMileageStatsMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/VehicleMileageStatsMapper.xml
@@ -5,91 +5,126 @@
<mapper namespace="com.ruoyi.system.mapper.VehicleMileageStatsMapper">
<resultMap type="VehicleMileageStats" id="VehicleMileageStatsResult">
- <result property="statsId" column="stats_id" />
- <result property="vehicleId" column="vehicle_id" />
- <result property="statsDate" column="stats_date" />
- <result property="totalMileage" column="total_mileage" />
- <result property="taskMileage" column="task_mileage" />
- <result property="nonTaskMileage" column="non_task_mileage" />
- <result property="taskMileageRatio" column="task_mileage_ratio" />
- <result property="gpsCount" column="gps_count" />
- <result property="createTime" column="create_time" />
- <result property="updateTime" column="update_time" />
+ <id property="statsId" column="stats_id" />
+ <result property="vehicleId" column="vehicle_id" />
+ <result property="vehicleNo" column="vehicle_no" />
+ <result property="statDate" column="stat_date" />
+ <result property="totalMileage" column="total_mileage" />
+ <result property="taskMileage" column="task_mileage" />
+ <result property="nonTaskMileage" column="non_task_mileage" />
+ <result property="taskRatio" column="task_ratio" />
+ <result property="gpsPointCount" column="gps_point_count" />
+ <result property="taskCount" column="task_count" />
+ <result property="createTime" column="create_time" />
+ <result property="updateTime" column="update_time" />
+ </resultMap>
+
+ <resultMap type="TaskTimeInterval" id="TaskTimeIntervalResult">
+ <result property="taskId" column="task_id" />
+ <result property="startTime" column="start_time" />
+ <result property="endTime" column="end_time" />
</resultMap>
<sql id="selectVehicleMileageStatsVo">
- select stats_id, vehicle_id, stats_date, total_mileage, task_mileage, non_task_mileage,
- task_mileage_ratio, gps_count, create_time, update_time
- from vehicle_mileage_stats
+ select stats_id, vehicle_id, vehicle_no, stat_date, total_mileage, task_mileage,
+ non_task_mileage, task_ratio, gps_point_count, task_count, create_time, update_time
+ from tb_vehicle_mileage_stats
</sql>
<select id="selectVehicleMileageStatsList" parameterType="VehicleMileageStats" resultMap="VehicleMileageStatsResult">
<include refid="selectVehicleMileageStatsVo"/>
<where>
- <if test="vehicleId != null "> and vehicle_id = #{vehicleId}</if>
- <if test="statsDate != null "> and stats_date = #{statsDate}</if>
+ <if test="vehicleId != null">
+ and vehicle_id = #{vehicleId}
+ </if>
+ <if test="vehicleNo != null and vehicleNo != ''">
+ and vehicle_no = #{vehicleNo}
+ </if>
+ <if test="statDate != null">
+ and stat_date = #{statDate}
+ </if>
+ <if test="params.beginStatDate != null and params.beginStatDate != ''">
+ and stat_date >= #{params.beginStatDate}
+ </if>
+ <if test="params.endStatDate != null and params.endStatDate != ''">
+ and stat_date <= #{params.endStatDate}
+ </if>
</where>
- order by stats_date desc, vehicle_id
+ order by stat_date desc, vehicle_id
</select>
- <select id="selectVehicleMileageStatsByStatsId" parameterType="Long" resultMap="VehicleMileageStatsResult">
+ <select id="selectVehicleMileageStatsById" parameterType="Long" resultMap="VehicleMileageStatsResult">
<include refid="selectVehicleMileageStatsVo"/>
where stats_id = #{statsId}
</select>
-
+
<select id="selectByVehicleIdAndDate" resultMap="VehicleMileageStatsResult">
<include refid="selectVehicleMileageStatsVo"/>
- where vehicle_id = #{vehicleId} and stats_date = #{statsDate}
+ where vehicle_id = #{vehicleId} and stat_date = #{statDate}
+ </select>
+
+ <select id="selectTaskTimeIntervals" resultMap="TaskTimeIntervalResult">
+ select tv.task_id, t.create_time as start_time,
+ IFNULL(t.actual_end_time, NOW()) as end_time
+ from sys_task_vehicle tv
+ inner join sys_task t on tv.task_id = t.task_id
+ where tv.vehicle_id = #{vehicleId}
+ and t.del_flag = '0'
+ and t.actual_end_time is not null
+ and t.create_time < #{endTime}
+ and t.actual_end_time > #{startTime}
+ order by t.create_time
</select>
<insert id="insertVehicleMileageStats" parameterType="VehicleMileageStats" useGeneratedKeys="true" keyProperty="statsId">
- insert into vehicle_mileage_stats
+ insert into tb_vehicle_mileage_stats
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="vehicleId != null">vehicle_id,</if>
- <if test="statsDate != null">stats_date,</if>
+ <if test="vehicleNo != null">vehicle_no,</if>
+ <if test="statDate != null">stat_date,</if>
<if test="totalMileage != null">total_mileage,</if>
<if test="taskMileage != null">task_mileage,</if>
<if test="nonTaskMileage != null">non_task_mileage,</if>
- <if test="taskMileageRatio != null">task_mileage_ratio,</if>
- <if test="gpsCount != null">gps_count,</if>
- <if test="createTime != null">create_time,</if>
- <if test="updateTime != null">update_time,</if>
+ <if test="taskRatio != null">task_ratio,</if>
+ <if test="gpsPointCount != null">gps_point_count,</if>
+ <if test="taskCount != null">task_count,</if>
+ create_time
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="vehicleId != null">#{vehicleId},</if>
- <if test="statsDate != null">#{statsDate},</if>
+ <if test="vehicleNo != null">#{vehicleNo},</if>
+ <if test="statDate != null">#{statDate},</if>
<if test="totalMileage != null">#{totalMileage},</if>
<if test="taskMileage != null">#{taskMileage},</if>
<if test="nonTaskMileage != null">#{nonTaskMileage},</if>
- <if test="taskMileageRatio != null">#{taskMileageRatio},</if>
- <if test="gpsCount != null">#{gpsCount},</if>
- <if test="createTime != null">#{createTime},</if>
- <if test="updateTime != null">#{updateTime},</if>
+ <if test="taskRatio != null">#{taskRatio},</if>
+ <if test="gpsPointCount != null">#{gpsPointCount},</if>
+ <if test="taskCount != null">#{taskCount},</if>
+ NOW()
</trim>
</insert>
<update id="updateVehicleMileageStats" parameterType="VehicleMileageStats">
- update vehicle_mileage_stats
+ update tb_vehicle_mileage_stats
<trim prefix="SET" suffixOverrides=",">
- <if test="vehicleId != null">vehicle_id = #{vehicleId},</if>
- <if test="statsDate != null">stats_date = #{statsDate},</if>
+ <if test="vehicleNo != null">vehicle_no = #{vehicleNo},</if>
<if test="totalMileage != null">total_mileage = #{totalMileage},</if>
<if test="taskMileage != null">task_mileage = #{taskMileage},</if>
<if test="nonTaskMileage != null">non_task_mileage = #{nonTaskMileage},</if>
- <if test="taskMileageRatio != null">task_mileage_ratio = #{taskMileageRatio},</if>
- <if test="gpsCount != null">gps_count = #{gpsCount},</if>
- <if test="createTime != null">create_time = #{createTime},</if>
- <if test="updateTime != null">update_time = #{updateTime},</if>
+ <if test="taskRatio != null">task_ratio = #{taskRatio},</if>
+ <if test="gpsPointCount != null">gps_point_count = #{gpsPointCount},</if>
+ <if test="taskCount != null">task_count = #{taskCount},</if>
+ update_time = NOW()
</trim>
where stats_id = #{statsId}
</update>
- <delete id="deleteVehicleMileageStatsByStatsId" parameterType="Long">
- delete from vehicle_mileage_stats where stats_id = #{statsId}
+ <delete id="deleteVehicleMileageStatsById" parameterType="Long">
+ delete from tb_vehicle_mileage_stats where stats_id = #{statsId}
</delete>
- <delete id="deleteVehicleMileageStatsByStatsIds" parameterType="String">
- delete from vehicle_mileage_stats where stats_id in
+ <delete id="deleteVehicleMileageStatsByIds" parameterType="Long">
+ delete from tb_vehicle_mileage_stats where stats_id in
<foreach item="statsId" collection="array" open="(" separator="," close=")">
#{statsId}
</foreach>
--
Gitblit v1.9.1