From b46065a201c09ce69f111806f2bda4a5f476bc4e Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 18 十月 2025 17:20:22 +0800
Subject: [PATCH] fix:用户同步,机构同步

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

diff --git a/ruoyi-system/src/main/resources/mapper/system/VehicleInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/VehicleInfoMapper.xml
index aa34be7..d011369 100644
--- a/ruoyi-system/src/main/resources/mapper/system/VehicleInfoMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/VehicleInfoMapper.xml
@@ -13,6 +13,8 @@
         <result property="vehicleModel"   column="vehicle_model"   />
         <result property="status"         column="status"          />
         <result property="platformCode"   column="platform_code"   />
+        <result property="deptId"         column="dept_id"         />
+        <result property="deptName"       column="dept_name"       />
         <result property="createBy"       column="create_by"       />
         <result property="createTime"     column="create_time"     />
         <result property="updateBy"       column="update_by"       />
@@ -21,31 +23,33 @@
     </resultMap>
 
     <sql id="selectVehicleInfoVo">
-        select vehicle_id, device_id, vehicle_no, vehicle_type, vehicle_brand, vehicle_model, status, platform_code, create_by, create_time, update_by, update_time, remark
-        from tb_vehicle_info
+        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
+        from tb_vehicle_info v
+        left join sys_dept d on v.dept_id = d.dept_id
     </sql>
 
     <select id="selectVehicleInfoList" parameterType="VehicleInfo" resultMap="VehicleInfoResult">
         <include refid="selectVehicleInfoVo"/>
         <where>  
-            <if test="vehicleNo != null  and vehicleNo != ''"> and vehicle_no = #{vehicleNo}</if>
-            <if test="deviceId != null  and deviceId != ''"> and device_id = #{deviceId}</if>
-            <if test="vehicleType != null  and vehicleType != ''"> and vehicle_type = #{vehicleType}</if>
-            <if test="vehicleBrand != null  and vehicleBrand != ''"> and vehicle_brand = #{vehicleBrand}</if>
-            <if test="vehicleModel != null  and vehicleModel != ''"> and vehicle_model = #{vehicleModel}</if>
-            <if test="status != null  and status != ''"> and status = #{status}</if>
-            <if test="platformCode != null  and platformCode != ''"> and platform_code = #{platformCode}</if>
+            <if test="vehicleNo != null  and vehicleNo != ''"> and v.vehicle_no = #{vehicleNo}</if>
+            <if test="deviceId != null  and deviceId != ''"> and v.device_id = #{deviceId}</if>
+            <if test="vehicleType != null  and vehicleType != ''"> and v.vehicle_type = #{vehicleType}</if>
+            <if test="vehicleBrand != null  and vehicleBrand != ''"> and v.vehicle_brand = #{vehicleBrand}</if>
+            <if test="vehicleModel != null  and vehicleModel != ''"> and v.vehicle_model = #{vehicleModel}</if>
+            <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>
         </where>
     </select>
     
     <select id="selectVehicleInfoById" parameterType="Long" resultMap="VehicleInfoResult">
         <include refid="selectVehicleInfoVo"/>
-        where vehicle_id = #{vehicleId}
+        where v.vehicle_id = #{vehicleId}
     </select>
 
     <select id="selectVehicleInfoByPlateNumber" parameterType="String" resultMap="VehicleInfoResult">
         <include refid="selectVehicleInfoVo"/>
-        where vehicle_no = #{plateNumber}
+        where v.vehicle_no = #{plateNumber}
     </select>
         
     <insert id="insertVehicleInfo" parameterType="VehicleInfo" useGeneratedKeys="true" keyProperty="vehicleId">
@@ -58,6 +62,7 @@
             <if test="vehicleModel != null">vehicle_model,</if>
             <if test="status != null">status,</if>
             <if test="platformCode != null">platform_code,</if>
+            <if test="deptId != null">dept_id,</if>
             <if test="createBy != null">create_by,</if>
             <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
@@ -72,6 +77,7 @@
             <if test="vehicleModel != null">#{vehicleModel},</if>
             <if test="status != null">#{status},</if>
             <if test="platformCode != null">#{platformCode},</if>
+            <if test="deptId != null">#{deptId},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
@@ -90,6 +96,7 @@
             <if test="vehicleModel != null">vehicle_model = #{vehicleModel},</if>
             <if test="status != null">status = #{status},</if>
             <if test="platformCode != null">platform_code = #{platformCode},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="remark != null">remark = #{remark},</if>
@@ -107,4 +114,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