From a5b842f1f6ab32f1af39f4bcb7e45217e94db761 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 25 十月 2025 18:14:44 +0800
Subject: [PATCH] fix:完成任务状态,任务同步,高度同步等工作

---
 ruoyi-system/src/main/resources/mapper/system/VehicleInfoMapper.xml |   40 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 39 insertions(+), 1 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/VehicleInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/VehicleInfoMapper.xml
index 885e016..b6bbf51 100644
--- a/ruoyi-system/src/main/resources/mapper/system/VehicleInfoMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/VehicleInfoMapper.xml
@@ -6,6 +6,7 @@
     
     <resultMap type="com.ruoyi.system.domain.VehicleInfo" id="VehicleInfoResult">
         <id     property="vehicleId"      column="vehicle_id"      />
+        <result property="carId"          column="car_id"          />
         <result property="deviceId"       column="device_id"       />
         <result property="vehicleNo"      column="vehicle_no"      />
         <result property="vehicleType"    column="vehicle_type"    />
@@ -23,7 +24,7 @@
     </resultMap>
 
     <sql id="selectVehicleInfoVo">
-        select v.vehicle_id, v.device_id, v.vehicle_no, v.vehicle_type, v.vehicle_brand, v.vehicle_model, v.status, v.platform_code, v.dept_id, d.dept_name, v.create_by, v.create_time, v.update_by, v.update_time, v.remark
+        select v.vehicle_id, v.car_id, v.device_id, v.vehicle_no, v.vehicle_type, v.vehicle_brand, v.vehicle_model, v.status, v.platform_code, v.dept_id, d.dept_name, v.create_by, v.create_time, v.update_by, v.update_time, v.remark
         from tb_vehicle_info v
         left join sys_dept d on v.dept_id = d.dept_id
     </sql>
@@ -39,6 +40,10 @@
             <if test="status != null  and status != ''"> and v.status = #{status}</if>
             <if test="platformCode != null  and platformCode != ''"> and v.platform_code = #{platformCode}</if>
             <if test="deptId != null"> and v.dept_id = #{deptId}</if>
+            <!-- 浠诲姟杞﹁締閫夋嫨蹇呴』杩囨护锛氬彧鏄剧ずcar_id鍜宒ept_id閮戒笉涓虹┖鐨勮溅杈� -->
+            and v.car_id is not null and v.car_id != ''
+            and v.dept_id is not null
+            and v.status=0
         </where>
     </select>
     
@@ -55,6 +60,7 @@
     <insert id="insertVehicleInfo" parameterType="VehicleInfo" useGeneratedKeys="true" keyProperty="vehicleId">
         insert into tb_vehicle_info
         <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="carId != null">car_id,</if>
             <if test="deviceId != null">device_id,</if>
             <if test="vehicleNo != null">vehicle_no,</if>
             <if test="vehicleType != null">vehicle_type,</if>
@@ -70,6 +76,7 @@
             <if test="remark != null">remark,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="carId != null">#{carId},</if>
             <if test="deviceId != null">#{deviceId},</if>
             <if test="vehicleNo != null">#{vehicleNo},</if>
             <if test="vehicleType != null">#{vehicleType},</if>
@@ -89,6 +96,7 @@
     <update id="updateVehicleInfo" parameterType="VehicleInfo">
         update tb_vehicle_info
         <trim prefix="SET" suffixOverrides=",">
+            <if test="carId != null">car_id = #{carId},</if>
             <if test="deviceId != null">device_id = #{deviceId},</if>
             <if test="vehicleNo != null">vehicle_no = #{vehicleNo},</if>
             <if test="vehicleType != null">vehicle_type = #{vehicleType},</if>
@@ -114,4 +122,34 @@
             #{vehicleId}
         </foreach>
     </delete>
+    
+    <!-- 缁戝畾杞﹁締鍒扮敤鎴� -->
+    <insert id="bindVehicleToUser">
+        INSERT INTO sys_user_vehicle (user_id, vehicle_id, bind_time, bind_by, status, create_by, create_time)
+        VALUES (#{userId}, #{vehicleId}, NOW(), #{bindBy}, '0', #{bindBy}, NOW())
+    </insert>
+    
+    <!-- 瑙g粦鐢ㄦ埛杞﹁締 -->
+    <update id="unbindVehicleFromUser">
+        UPDATE sys_user_vehicle 
+        SET status = '1', update_time = NOW()
+        WHERE user_id = #{userId} AND vehicle_id = #{vehicleId} AND status = '0'
+    </update>
+    
+    <!-- 瑙g粦鐢ㄦ埛鐨勬墍鏈夎溅杈� -->
+    <update id="unbindAllVehiclesFromUser">
+        UPDATE sys_user_vehicle 
+        SET status = '1', update_time = NOW()
+        WHERE user_id = #{userId} AND status = '0'
+    </update>
+    
+    <!-- 鑾峰彇鐢ㄦ埛褰撳墠缁戝畾鐨勮溅杈� -->
+    <select id="getUserBoundVehicle" resultMap="VehicleInfoResult">
+        SELECT v.* 
+        FROM tb_vehicle_info v
+        INNER JOIN sys_user_vehicle uv ON v.vehicle_id = uv.vehicle_id
+        WHERE uv.user_id = #{userId} AND uv.status = '0'
+        ORDER BY uv.bind_time DESC
+        LIMIT 1
+    </select>
 </mapper> 
\ No newline at end of file

--
Gitblit v1.9.1