liusuyi
2026-05-30 f4f4fc53260eb67483dce406a963628273786a61
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
<?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.ArdVideoInspectRecordMapper">
 
    <resultMap type="ArdVideoInspectRecord" id="ArdVideoInspectRecordResult">
        <result property="id" column="id"/>
        <result property="startTime" column="start_time"/>
        <result property="endTime" column="end_time"/>
        <result property="recordUrl" column="record_url"/>
        <result property="taskId" column="task_id"/>
        <result property="taskName" column="task_name"/>
        <result property="stepId" column="step_id"/>
        <result property="wellName" column="well_name"/>
    </resultMap>
 
    <sql id="selectArdVideoInspectRecordVo">
        select id,
               start_time,
               end_time,
               record_url,
               task_id,
               task_name,
               step_id,
               well_name
        from ard_video_inspect_record
    </sql>
 
    <select id="selectArdVideoInspectRecordList" parameterType="ArdVideoInspectRecord"
            resultMap="ArdVideoInspectRecordResult">
        <include refid="selectArdVideoInspectRecordVo"/>
        <where>
            <if test="taskId != null ">and task_id = #{taskId}</if>
            <if test="taskName != null ">and task_name like concat('%', #{taskName}, '%') </if>
            <if test="startTime != null ">and DATE ( start_time )= #{startTime}</if>
            <if test="endTime != null ">and end_time &gt;= #{endTime}</if>
            <if test="recordUrl != null  and recordUrl != ''">and record_url = #{recordUrl}</if>
            <if test="stepId != null  and stepId != ''">and step_id = #{stepId}</if>
            <if test="wellName != null  and wellName != ''">and well_name like concat('%', #{wellName}, '%')</if>
        </where>
        order by start_time desc
    </select>
 
    <select id="selectArdVideoInspectRecordById" parameterType="String" resultMap="ArdVideoInspectRecordResult">
        <include refid="selectArdVideoInspectRecordVo"/>
        where id = #{id}
    </select>
 
    <insert id="insertArdVideoInspectRecord" parameterType="ArdVideoInspectRecord">
        insert into ard_video_inspect_record
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="startTime != null">start_time,</if>
            <if test="endTime != null">end_time,</if>
            <if test="recordUrl != null">record_url,</if>
            <if test="taskId != null">task_id,</if>
            <if test="taskName != null">task_name,</if>
            <if test="stepId != null">step_id,</if>
            <if test="wellName != null">well_name,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="startTime != null">#{startTime},</if>
            <if test="endTime != null">#{endTime},</if>
            <if test="recordUrl != null">#{recordUrl},</if>
            <if test="taskId != null">#{taskId},</if>
            <if test="taskName != null">#{taskName},</if>
            <if test="stepId != null">#{stepId},</if>
            <if test="wellName != null">#{wellName},</if>
        </trim>
    </insert>
 
    <update id="updateArdVideoInspectRecord" parameterType="ArdVideoInspectRecord">
        update ard_video_inspect_record
        <trim prefix="SET" suffixOverrides=",">
            <if test="startTime != null">start_time = #{startTime},</if>
            <if test="endTime != null">end_time = #{endTime},</if>
            <if test="recordUrl != null">record_url = #{recordUrl},</if>
            <if test="taskId != null">task_id = #{taskId},</if>
            <if test="taskName != null">task_name = #{taskName},</if>
            <if test="stepId != null">step_id = #{stepId},</if>
            <if test="wellName != null">well_name = #{wellName},</if>
        </trim>
        where id = #{id}
    </update>
 
    <delete id="deleteArdVideoInspectRecordById" parameterType="String">
        delete
        from ard_video_inspect_record
        where id = #{id}
    </delete>
 
    <delete id="deleteArdVideoInspectRecordByIds" parameterType="String">
        delete from ard_video_inspect_record where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
    <!--按月份统计文件数量-->
    <select id="selectArdVideoInspectRecordCountByStartMonth" parameterType="String" resultType="java.util.Map">
        SELECT SUBSTRING(r.start_time, 1, 10) AS start_date,
               COUNT(*) as count
        FROM ard_video_inspect_record r
        <where>
            <if test="taskName != null ">and r.task_name like concat('%', #{taskName}, '%')</if>
            <if test="wellName != null ">and r.well_name like concat('%', #{wellName}, '%')</if>
            <if test="startMonth != null ">and r.start_time like concat(#{startMonth}, '%')</if>
        </where>
        GROUP BY start_date;
    </select>
</mapper>