liusuyi
2026-05-14 9958bc1501d0daee954d9bba383475e55e24ebab
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<?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.ard.work.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="cameraId"    column="camera_id"    />
        <result property="chanNo"    column="chan_no"    />
        <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="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 type="TimeSlot" id="TimeSlotResult">
        <result property="startTime"    column="start_time"    />
        <result property="endTime"    column="end_time"    />
    </resultMap>
    <sql id="selectArdVideoInspectTaskVo">
        select id, task_name, start_time, end_time, repeat_period, inspect_mode, menual_switch, camera_id, chan_no, create_by, create_time, update_by, update_time, 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 concat('%', #{taskName}, '%')</if>
            <if test="startTime != null "> and start_time = #{startTime}</if>
            <if test="endTime != null "> and end_time = #{endTime}</if>
            <if test="repeatPeriod != null  and repeatPeriod != ''"> and repeat_period = #{repeatPeriod}</if>
            <if test="inspectMode != null  and inspectMode != ''"> and inspect_mode = #{inspectMode}</if>
            <if test="menualSwitch != null  and menualSwitch != ''"> and menual_switch = #{menualSwitch}</if>
            <if test="cameraId != null  and cameraId != ''"> and camera_id = #{cameraId}</if>
            <if test="chanNo != null "> and chan_no = #{chanNo}</if>
            <if test="deptId != null "> and dept_id = #{deptId}</if>
            <if test="userId != null "> and user_id = #{userId}</if>
            <if test="currentStepId != null  and currentStepId != ''"> and current_step_id = #{currentStepId}</if>
            <if test="currentStepStartTime != null "> and current_step_start_time = #{currentStepStartTime}</if>
        </where>
    </select>
    
    <select id="selectArdVideoInspectTaskById" parameterType="String" resultMap="ArdVideoInspectTaskResult">
        <include refid="selectArdVideoInspectTaskVo"/>
        where 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="cameraId != null">camera_id,</if>
            <if test="chanNo != null">chan_no,</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="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="cameraId != null">#{cameraId},</if>
            <if test="chanNo != null">#{chanNo},</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="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="cameraId != null">camera_id = #{cameraId},</if>
            <if test="chanNo != null">chan_no = #{chanNo},</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="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>
    <!--查询任务中相机已使用时段-->
    <select id="getTaskUsedCameraPeriods" parameterType="String" resultMap="TimeSlotResult">
        select t.start_time, t.end_time
        from ard_video_inspect_task t
        where t.camera_id = #{cameraId}
        ORDER BY t.start_time
    </select>
    <select id="getOtherTasks" resultMap="ArdVideoInspectTaskResult">
        SELECT
        *
        FROM
        ard_video_inspect_task
        WHERE  id != #{taskId} AND
        camera_id = ( SELECT camera_id FROM ard_video_inspect_task WHERE id = #{taskId} )
    </select>
</mapper>