| <?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.inspect.mapper.ArdVideoInspectTaskMapper"> | 
|      | 
|     <resultMap type="ArdVideoInspectTask" id="ArdVideoInspectTaskResult"> | 
|         <result property="id"    column="id"    /> | 
|         <result property="taskName"    column="task_name"    /> | 
|         <result property="startTime"    column="start_time"    /> | 
|         <result property="endTime"    column="end_time"    /> | 
|         <result property="repeatPeriod"    column="repeat_period"    /> | 
|         <result property="inspectMode"    column="inspect_mode"    /> | 
|         <result property="menualSwitch"    column="menual_switch"    /> | 
|         <result property="createBy"    column="create_by"    /> | 
|         <result property="createTime"    column="create_time"    /> | 
|         <result property="updateBy"    column="update_by"    /> | 
|         <result property="updateTime"    column="update_time"    /> | 
|         <result property="cameraId"    column="camera_id"    /> | 
|         <result property="channel"    column="channel"    /> | 
|         <result property="deptId"    column="dept_id"    /> | 
|         <result property="userId"    column="user_id"    /> | 
|         <result property="currentStepId"    column="current_step_id"    /> | 
|         <result property="currentStepStartTime"    column="current_step_start_time"    /> | 
|     </resultMap> | 
|   | 
|     <resultMap id="ArdVideoInspectTaskArdVideoInspectTaskStepResult" type="ArdVideoInspectTask" extends="ArdVideoInspectTaskResult"> | 
|         <collection property="ardVideoInspectTaskStepList" notNullColumn="sub_task_id" javaType="java.util.List" resultMap="ArdVideoInspectTaskStepResult" /> | 
|     </resultMap> | 
|   | 
|     <resultMap type="ArdVideoInspectTaskStep" id="ArdVideoInspectTaskStepResult"> | 
|         <result property="taskId"    column="sub_task_id"    /> | 
|         <result property="deptId"    column="sub_dept_id"    /> | 
|         <result property="userId"    column="sub_user_id"    /> | 
|         <result property="id"    column="sub_id"    /> | 
|         <result property="orderNumber"    column="sub_order_number"    /> | 
|         <result property="recordingTime"    column="sub_recording_time"    /> | 
|         <result property="wellId"    column="sub_well_id"    /> | 
|     </resultMap> | 
|   | 
|     <sql id="selectArdVideoInspectTaskVo"> | 
|         select id, task_name, start_time, end_time, repeat_period, inspect_mode, menual_switch, create_by, create_time, update_by, update_time, camera_id, channel, dept_id, user_id, current_step_id, current_step_start_time from ard_video_inspect_task | 
|     </sql> | 
|   | 
|     <select id="selectArdVideoInspectTaskList" parameterType="ArdVideoInspectTask" resultMap="ArdVideoInspectTaskResult"> | 
|         <include refid="selectArdVideoInspectTaskVo"/> | 
|         <where>   | 
|             <if test="taskName != null  and taskName != ''"> and task_name like '%'||#{taskName}||'%'</if> | 
|             <if test="inspectMode != null  and inspectMode != ''"> and inspect_mode = #{inspectMode}</if> | 
|             <if test="menualSwitch != null and inspectMode != ''">and menual_switch= #{menualSwitch}</if> | 
|             <if test="cameraId != null  and cameraId != ''"> and camera_id = #{cameraId}</if> | 
|             <if test="channel != null "> and channel = #{channel}</if> | 
|         </where> | 
|         order by start_time | 
|     </select> | 
|      | 
|     <select id="selectArdVideoInspectTaskById" parameterType="String" resultMap="ArdVideoInspectTaskArdVideoInspectTaskStepResult"> | 
|         select a.id, a.task_name, a.start_time, a.end_time, a.repeat_period, a.inspect_mode, a.menual_switch, a.create_by, a.create_time, a.update_by, a.update_time, a.camera_id, a.channel, a.dept_id, a.user_id, a.current_step_id, a.current_step_start_time, | 
|  b.task_id as sub_task_id, b.dept_id as sub_dept_id, b.user_id as sub_user_id, b.id as sub_id, b.order_number as sub_order_number, b.recording_time as sub_recording_time, b.well_id as sub_well_id | 
|         from ard_video_inspect_task a | 
|         left join ard_video_inspect_task_step b on b.task_id = a.id | 
|         where a.id = #{id} | 
|     </select> | 
|          | 
|     <insert id="insertArdVideoInspectTask" parameterType="ArdVideoInspectTask"> | 
|         insert into ard_video_inspect_task | 
|         <trim prefix="(" suffix=")" suffixOverrides=","> | 
|             <if test="id != null">id,</if> | 
|             <if test="taskName != null">task_name,</if> | 
|             <if test="startTime != null">start_time,</if> | 
|             <if test="endTime != null">end_time,</if> | 
|             <if test="repeatPeriod != null">repeat_period,</if> | 
|             <if test="inspectMode != null">inspect_mode,</if> | 
|             <if test="menualSwitch != null">menual_switch,</if> | 
|             <if test="createBy != null">create_by,</if> | 
|             <if test="createTime != null">create_time,</if> | 
|             <if test="updateBy != null">update_by,</if> | 
|             <if test="updateTime != null">update_time,</if> | 
|             <if test="cameraId != null">camera_id,</if> | 
|             <if test="channel != null">channel,</if> | 
|             <if test="deptId != null">dept_id,</if> | 
|             <if test="userId != null">user_id,</if> | 
|             <if test="currentStepId != null">current_step_id,</if> | 
|             <if test="currentStepStartTime != null">current_step_start_time,</if> | 
|          </trim> | 
|         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
|             <if test="id != null">#{id},</if> | 
|             <if test="taskName != null">#{taskName},</if> | 
|             <if test="startTime != null">#{startTime},</if> | 
|             <if test="endTime != null">#{endTime},</if> | 
|             <if test="repeatPeriod != null">#{repeatPeriod},</if> | 
|             <if test="inspectMode != null">#{inspectMode},</if> | 
|             <if test="menualSwitch != null">#{menualSwitch},</if> | 
|             <if test="createBy != null">#{createBy},</if> | 
|             <if test="createTime != null">#{createTime},</if> | 
|             <if test="updateBy != null">#{updateBy},</if> | 
|             <if test="updateTime != null">#{updateTime},</if> | 
|             <if test="cameraId != null">#{cameraId},</if> | 
|             <if test="channel != null">#{channel},</if> | 
|             <if test="deptId != null">#{deptId},</if> | 
|             <if test="userId != null">#{userId},</if> | 
|             <if test="currentStepId != null">#{currentStepId},</if> | 
|             <if test="currentStepStartTime != null">#{currentStepStartTime},</if> | 
|          </trim> | 
|     </insert> | 
|   | 
|     <update id="updateArdVideoInspectTask" parameterType="ArdVideoInspectTask"> | 
|         update ard_video_inspect_task | 
|         <trim prefix="SET" suffixOverrides=","> | 
|             <if test="taskName != null">task_name = #{taskName},</if> | 
|             <if test="startTime != null">start_time = #{startTime},</if> | 
|             <if test="endTime != null">end_time = #{endTime},</if> | 
|             <if test="repeatPeriod != null">repeat_period = #{repeatPeriod},</if> | 
|             <if test="inspectMode != null">inspect_mode = #{inspectMode},</if> | 
|             <if test="menualSwitch != null">menual_switch = #{menualSwitch},</if> | 
|             <if test="createBy != null">create_by = #{createBy},</if> | 
|             <if test="createTime != null">create_time = #{createTime},</if> | 
|             <if test="updateBy != null">update_by = #{updateBy},</if> | 
|             <if test="updateTime != null">update_time = #{updateTime},</if> | 
|             <if test="cameraId != null">camera_id = #{cameraId},</if> | 
|             <if test="channel != null">channel = #{channel},</if> | 
|             <if test="deptId != null">dept_id = #{deptId},</if> | 
|             <if test="userId != null">user_id = #{userId},</if> | 
| <!--            <if test="currentStepId != null">current_step_id = #{currentStepId},</if>--> | 
| <!--            <if test="currentStepStartTime != null">current_step_start_time = #{currentStepStartTime},</if>--> | 
|         </trim> | 
|         where id = #{id} | 
|     </update> | 
|     <update id="updateArdVideoInspectTaskWithCurrentSetpInfo" parameterType="ArdVideoInspectTask"> | 
|         update ard_video_inspect_task | 
|         <trim prefix="SET" suffixOverrides=","> | 
|             <if test="taskName != null">task_name = #{taskName},</if> | 
|             <if test="startTime != null">start_time = #{startTime},</if> | 
|             <if test="endTime != null">end_time = #{endTime},</if> | 
|             <if test="repeatPeriod != null">repeat_period = #{repeatPeriod},</if> | 
|             <if test="inspectMode != null">inspect_mode = #{inspectMode},</if> | 
|             <if test="menualSwitch != null">menual_switch = #{menualSwitch},</if> | 
|             <if test="createBy != null">create_by = #{createBy},</if> | 
|             <if test="createTime != null">create_time = #{createTime},</if> | 
|             <if test="updateBy != null">update_by = #{updateBy},</if> | 
|             <if test="updateTime != null">update_time = #{updateTime},</if> | 
|             <if test="cameraId != null">camera_id = #{cameraId},</if> | 
|             <if test="channel != null">channel = #{channel},</if> | 
|             <if test="deptId != null">dept_id = #{deptId},</if> | 
|             <if test="userId != null">user_id = #{userId},</if> | 
|             <if test="currentStepId != null">current_step_id = #{currentStepId},</if> | 
|             <if test="currentStepStartTime != null">current_step_start_time = #{currentStepStartTime},</if> | 
|         </trim> | 
|         where id = #{id} | 
|     </update> | 
|     <delete id="deleteArdVideoInspectTaskById" parameterType="String"> | 
|         delete from ard_video_inspect_task where id = #{id} | 
|     </delete> | 
|   | 
|     <delete id="deleteArdVideoInspectTaskByIds" parameterType="String"> | 
|         delete from ard_video_inspect_task where id in  | 
|         <foreach item="id" collection="array" open="(" separator="," close=")"> | 
|             #{id} | 
|         </foreach> | 
|     </delete> | 
|      | 
|     <delete id="deleteArdVideoInspectTaskStepByTaskIds" parameterType="String"> | 
|         delete from ard_video_inspect_task_step where task_id in  | 
|         <foreach item="taskId" collection="array" open="(" separator="," close=")"> | 
|             #{taskId} | 
|         </foreach> | 
|     </delete> | 
|   | 
|     <delete id="deleteArdVideoInspectTaskStepByTaskId" parameterType="String"> | 
|         delete from ard_video_inspect_task_step where task_id = #{taskId} | 
|     </delete> | 
|   | 
|     <insert id="batchArdVideoInspectTaskStep"> | 
|         insert into ard_video_inspect_task_step( task_id, dept_id, user_id,  order_number, recording_time, well_id) values | 
|         <foreach item="item" index="index" collection="list" separator=","> | 
|             ( #{item.taskId}, #{item.deptId}, #{item.userId},  #{item.orderNumber}, #{item.recordingTime}, #{item.wellId}) | 
|         </foreach> | 
|     </insert> | 
|   | 
|     <!--查询任务中相机已使用时段--> | 
|     <select id="getTaskUsedCameraPeriods" parameterType="String" resultType="java.util.HashMap"> | 
|         select t.start_time,t.end_time from ard_video_inspect_task t | 
|         where t.camera_id=#{cameraId} | 
|         ORDER BY t.start_time | 
|     </select> | 
| </mapper> |