aijinhui
2024-04-18 382a0bfc97e948b851a6be793e87081c776e4cfc
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<?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.app.patrolplan.mapper.ArdAppPatrolplanMapper">
 
    <resultMap type="ArdAppPatrolplan" id="ArdAppPatrolplanResult">
        <result property="patroEndTime"    column="patro_end_time"    />
        <result property="userId"    column="user_id"    />
        <result property="cycle"    column="cycle"    />
        <result property="createTime"    column="create_time"    />
        <result property="id"    column="id"    />
        <result property="planName"    column="plan_name"    />
        <result property="patroBeginTime"    column="patro_begin_time"    />
        <result property="nickName"    column="nick_name"    />
    </resultMap>
 
    <sql id="selectArdAppPatrolplanVo">
        select
            ard_app_patrolplan.id,
<!--            sys_user.nick_name,-->
            ard_app_patrolplan.patro_end_time,
            ard_app_patrolplan.user_id,
            ard_app_patrolplan.cycle,
            ard_app_patrolplan.create_time,
            ard_app_patrolplan.plan_name,
            ard_app_patrolplan.patro_begin_time
        from
            ard_app_patrolplan
    </sql>
 
    <select id="selectArdAppPatrolplanList" parameterType="ArdAppPatrolplan" resultMap="ArdAppPatrolplanResult">
        <include refid="selectArdAppPatrolplanVo"/>
        left join ard_app_patrolpoint as well on ard_app_patrolplan.id = well.patrolplan_id
        left join ard_app_patroluser as users on ard_app_patrolplan.id = users.patrolplan_id
        left join sys_user on ard_app_patrolplan.user_id = sys_user.user_id
        <where>
            ard_app_patrolplan.user_id = #{userId} and del_name is null and del_time is null
            <if test="cycle != null  and cycle != ''"> and cycle = #{cycle}</if>
            <if test="planName != null  and planName != ''"> and plan_name like '%'||#{planName}||'%'</if>
            <if test="patroBeginTime != null  and patroBeginTime != ''"> and patro_begin_time &gt;= #{patroBeginTime}</if>
            <if test="patroEndTime != null  and patroEndTime != ''"> and patro_end_time &lt;= #{patroEndTime}</if>
            <if test="createTimeBegin != null  and createTimeBegin != ''"> and ard_app_patrolplan.create_time &gt;= #{createTimeBegin} </if>
            <if test="createTimeEnd != null  and createTimeEnd != ''"> and ard_app_patrolplan.create_time &lt;= #{createTimeEnd}</if>
            <if test="wellId != null  and wellId != ''">
<!--                and well.alarmpoints_id in (select ard_alarmpoints_well.id from ard_alarmpoints_well where well_id = #{wellId})-->
                and well.alarmpoints_id = #{wellId}
            </if>
            <if test="pUser != null  and pUser != ''">
<!--                and users.app_user_id in (select sys_user.user_id from sys_user where nick_name = #{pUser})-->
                and users.app_user_id = #{pUser}
            </if>
        </where>
            group by ard_app_patrolplan.id
    </select>
 
    <select id="selectArdAppPatrolplanByPatroEndTime" parameterType="String" resultMap="ArdAppPatrolplanResult">
        <include refid="selectArdAppPatrolplanVo"/>
        where patro_end_time = #{patroEndTime}
    </select>
 
    <insert id="insertArdAppPatrolplan" parameterType="ArdAppPatrolplan">
        insert into ard_app_patrolplan
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="patroEndTime != null">patro_end_time,</if>
            <if test="userId != null">user_id,</if>
            <if test="cycle != null">cycle,</if>
            <if test="createTime != null">create_time,</if>
            <if test="id != null">id,</if>
            <if test="planName != null">plan_name,</if>
            <if test="patroBeginTime != null">patro_begin_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="patroEndTime != null">#{patroEndTime},</if>
            <if test="userId != null">#{userId},</if>
            <if test="cycle != null">#{cycle},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="id != null">#{id},</if>
            <if test="planName != null">#{planName},</if>
            <if test="patroBeginTime != null">#{patroBeginTime},</if>
         </trim>
    </insert>
 
    <update id="updateArdAppPatrolplan" parameterType="ArdAppPatrolplan">
        update ard_app_patrolplan
        <trim prefix="SET" suffixOverrides=",">
            <if test="userId != null">user_id = #{userId},</if>
            <if test="cycle != null">cycle = #{cycle},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="id != null">id = #{id},</if>
            <if test="planName != null">plan_name = #{planName},</if>
            <if test="patroBeginTime != null">patro_begin_time = #{patroBeginTime},</if>
        </trim>
        where patro_end_time = #{patroEndTime}
    </update>
 
    <delete id="deleteArdAppPatrolplanByPatroEndTime" parameterType="String">
        delete from ard_app_patrolplan where ard_app_patrolplan.id = #{id};
    </delete>
 
    <delete id="deleteArdAppPatrolplanByPatroEndTimes" parameterType="String">
        delete from ard_app_patrolplan
        left join ard_app_patrolpoint as well on ard_app_patrolplan.id = well.patrolplan_id
        left join ard_app_patroluser as users on ard_app_patrolplan.id = users.patrolplan_id
        where ard_app_patrolplan.id in
        <foreach item="patroEndTime" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
 
    <delete id="deleteArdAppPatrolplanById" parameterType="String">
        delete from ard_app_patrolplan aap where aap.id = #{id};
    </delete>
 
    <select id="shouldRecord" parameterType="String" resultMap="ArdAppPatrolplanResult">
        select
            ard_app_patrolplan.id,
            well.alarmpoints_id wellId,
            users.app_user_id pUser,
            sys_user.nick_name
        from
            ard_app_patrolplan
                left join ard_app_patrolpoint as well on ard_app_patrolplan.id = well.patrolplan_id
                left join ard_app_patroluser as users on ard_app_patrolplan.id = users.patrolplan_id
                left join sys_user on users.app_user_id = sys_user.user_id
        where  ard_app_patrolplan.id = #{id} and del_name is null and del_time is null
    </select>
 
    <select id="executeList" parameterType="ArdAppPatrolplan" resultMap="ArdAppPatrolplanResult">
        <include refid="selectArdAppPatrolplanVo"/>
        left join ard_app_patrolpoint as well on ard_app_patrolplan.id = well.patrolplan_id
        left join ard_app_patroluser as users on ard_app_patrolplan.id = users.patrolplan_id
        left join sys_user on ard_app_patrolplan.user_id = sys_user.user_id
        <where>
            users.app_user_id = #{userId} and del_name is null and del_time is null
            <if test="cycle != null  and cycle != ''"> and cycle = #{cycle}</if>
            <if test="planName != null  and planName != ''"> and plan_name like '%'||#{planName}||'%'</if>
            <if test="patroBeginTime != null  and patroBeginTime != ''"> and patro_begin_time &gt;= #{patroBeginTime}</if>
            <if test="patroEndTime != null  and patroEndTime != ''"> and patro_end_time &lt;= #{patroEndTime}</if>
            <if test="wellId != null  and wellId != ''">
                and well.alarmpoints_id = #{wellId}
            </if>
            <if test="pUser != null  and pUser != ''">
                and users.app_user_id = #{pUser}
            </if>
        </where>
        group by ard_app_patrolplan.id
    </select>
 
    <select id="oncePlan" parameterType="recordMonthExParam" resultMap="ArdAppPatrolplanResult">
        select plan.* from ard_app_patrolplan plan
        LEFT JOIN ard_app_patroluser users on users.patrolplan_id = plan."id"
        where users.app_user_id = #{userId} and cycle = 'once' and patro_begin_time &gt;= #{begin} and plan.del_name is null and plan.del_time is null ;
    </select>
 
    <select id="dayPlan" parameterType="recordMonthExParam" resultMap="ArdAppPatrolplanResult">
        select plan.* from ard_app_patrolplan plan
                               LEFT JOIN ard_app_patroluser users on users.patrolplan_id = plan."id"
        where users.app_user_id = #{userId} and cycle = 'day' and create_time &lt; #{end} and del_name is null and del_time is null ;
    </select>
 
    <select id="planUser" parameterType="String" resultMap="ArdAppPatrolplanResult">
        select s.nick_name, plan.plan_name from ard_app_patrolplan plan
         LEFT JOIN ard_app_patroluser users on users.patrolplan_id = plan."id"
         left join sys_user s on plan.user_id = s.user_id
        where users.app_user_id = #{userId} and son is null
            and plan.create_time &gt;= #{beforeTime} and  plan.create_time &lt;= #{time}
          and del_name is null and del_time is null order by plan.create_time desc;
    </select>
</mapper>