wlzboy
2025-10-26 2c86a8bd60deed0dd0e044bad6fb83f75d19a332
ruoyi-system/src/main/resources/mapper/system/SysTaskVehicleMapper.xml
New file
@@ -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>