From 2c86a8bd60deed0dd0e044bad6fb83f75d19a332 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 26 十月 2025 15:05:50 +0800
Subject: [PATCH] Merge branch 'feature-task'

---
 ruoyi-system/src/main/resources/mapper/system/SysTaskVehicleMapper.xml |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 116 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/SysTaskVehicleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysTaskVehicleMapper.xml
new file mode 100644
index 0000000..44f44e3
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/SysTaskVehicleMapper.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.SysTaskVehicleMapper">
+    
+    <resultMap type="SysTaskVehicle" id="SysTaskVehicleResult">
+        <result property="id"               column="id"               />
+        <result property="taskId"           column="task_id"          />
+        <result property="vehicleId"        column="vehicle_id"       />
+        <result property="assignTime"       column="assign_time"      />
+        <result property="assignBy"         column="assign_by"        />
+        <result property="status"           column="status"           />
+        <result property="remark"           column="remark"           />
+        <result property="vehicleNo"        column="vehicle_no"       />
+        <result property="vehicleType"      column="vehicle_type"     />
+        <result property="vehicleBrand"     column="vehicle_brand"    />
+        <result property="vehicleModel"     column="vehicle_model"    />
+        <result property="deptName"         column="dept_name"        />
+    </resultMap>
+
+    <sql id="selectSysTaskVehicleVo">
+        select tv.id, tv.task_id, tv.vehicle_id, tv.assign_time, tv.assign_by, tv.status, tv.remark,
+               v.vehicle_no, v.vehicle_type, v.vehicle_brand, v.vehicle_model, d.dept_name
+        from sys_task_vehicle tv
+        left join tb_vehicle_info v on tv.vehicle_id = v.vehicle_id
+        left join sys_dept d on v.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectSysTaskVehicleList" parameterType="SysTaskVehicle" resultMap="SysTaskVehicleResult">
+        <include refid="selectSysTaskVehicleVo"/>
+        <where>  
+            <if test="taskId != null "> and tv.task_id = #{taskId}</if>
+            <if test="vehicleId != null "> and tv.vehicle_id = #{vehicleId}</if>
+            <if test="status != null  and status != ''"> and tv.status = #{status}</if>
+            <if test="assignBy != null  and assignBy != ''"> and tv.assign_by like concat('%', #{assignBy}, '%')</if>
+        </where>
+        order by tv.assign_time desc
+    </select>
+    
+    <select id="selectSysTaskVehicleById" parameterType="Long" resultMap="SysTaskVehicleResult">
+        <include refid="selectSysTaskVehicleVo"/>
+        where tv.id = #{id}
+    </select>
+
+    <select id="selectSysTaskVehicleByTaskId" parameterType="Long" resultMap="SysTaskVehicleResult">
+        <include refid="selectSysTaskVehicleVo"/>
+        where tv.task_id = #{taskId}
+        order by tv.assign_time desc
+    </select>
+
+    <select id="checkTaskVehicleExists" resultType="int">
+        select count(1) from sys_task_vehicle 
+        where task_id = #{taskId} and vehicle_id = #{vehicleId}
+    </select>
+        
+    <insert id="insertSysTaskVehicle" parameterType="SysTaskVehicle" useGeneratedKeys="true" keyProperty="id">
+        insert into sys_task_vehicle
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="taskId != null">task_id,</if>
+            <if test="vehicleId != null">vehicle_id,</if>
+            assign_time,
+            assign_by,
+            <if test="status != null and status != ''">status,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="taskId != null">#{taskId},</if>
+            <if test="vehicleId != null">#{vehicleId},</if>
+            #{assignTime},
+            #{assignBy},
+            <if test="status != null and status != ''">#{status},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <insert id="batchInsertSysTaskVehicle" parameterType="java.util.List">
+        insert into sys_task_vehicle (task_id, vehicle_id, assign_time, assign_by, status, remark)
+        values
+        <foreach collection="list" item="item" separator=",">
+            (#{item.taskId}, #{item.vehicleId}, #{item.assignTime}, #{item.assignBy}, #{item.status}, #{item.remark})
+        </foreach>
+    </insert>
+
+    <update id="updateSysTaskVehicle" parameterType="SysTaskVehicle">
+        update sys_task_vehicle
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="taskId != null">task_id = #{taskId},</if>
+            <if test="vehicleId != null">vehicle_id = #{vehicleId},</if>
+            <if test="assignTime != null">assign_time = #{assignTime},</if>
+            <if test="assignBy != null and assignBy != ''">assign_by = #{assignBy},</if>
+            <if test="status != null and status != ''">status = #{status},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSysTaskVehicleById" parameterType="Long">
+        delete from sys_task_vehicle where id = #{id}
+    </delete>
+
+    <delete id="deleteSysTaskVehicleByIds" parameterType="String">
+        delete from sys_task_vehicle where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <delete id="deleteSysTaskVehicleByTaskId" parameterType="Long">
+        delete from sys_task_vehicle where task_id = #{taskId}
+    </delete>
+
+    <delete id="deleteSysTaskVehicleByTaskIdAndVehicleId">
+        delete from sys_task_vehicle where task_id = #{taskId} and vehicle_id = #{vehicleId}
+    </delete>
+</mapper>

--
Gitblit v1.9.1