wlzboy
2025-09-21 0b80903f3d48b3c39570c097a4334cb7eb71d08f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?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"    />
    </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
        from sys_task_vehicle tv
        left join tb_vehicle_info v on tv.vehicle_id = v.vehicle_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>
            <if test="assignTime != null">assign_time,</if>
            <if test="assignBy != null and assignBy != ''">assign_by,</if>
            <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>
            <if test="assignTime != null">#{assignTime},</if>
            <if test="assignBy != null and assignBy != ''">#{assignBy},</if>
            <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>