linwe
2024-08-07 06df33f156924c564c17b11fdb96c5bb298a810d
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
<?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="org.springblade.modules.grid.mapper.GridWorkLogMapper">
 
    <!--自定义分页查询-->
    <select id="selectGridWorkLogPage" resultType="org.springblade.modules.grid.vo.GridWorkLogVO">
        select
        jgwl.*,
        jh.name,jh.phone_number as phone,
        jh.current_address AS address,
        br.town_name AS townName,
        br.name AS neiName,
        jg.grid_name,
        bu.real_name as createUserName
        from jczz_grid_work_log jgwl
        left join jczz_household jh on jgwl.household_id = jh.id and jh.is_deleted = 0
        left join jczz_house jhs on jhs.house_code = jh.house_code and jhs.is_deleted = 0
        LEFT JOIN jczz_grid jg on jhs.grid_code = jg.grid_code and jg.is_deleted = 0
        LEFT JOIN blade_user bu on bu.id = jgwl.create_user and bu.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jhs.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        left join blade_region br on br.code = jpag.community_code
        where jgwl.is_deleted = 0
        <if test="gridWorkLog.type !=null">
            and jgwl.type = #{gridWorkLog.type}
        </if>
        <if test="gridWorkLog.source !=null">
            and jgwl.source = #{gridWorkLog.source}
        </if>
        <if test="gridWorkLog.status !=null">
            and jgwl.status = #{gridWorkLog.status}
        </if>
        <if test="gridWorkLog.personType !=null">
            and jgwl.person_type = #{gridWorkLog.personType}
        </if>
        <if test="gridWorkLog.name !=null and gridWorkLog.name!=''">
            and jh.name like concat('%',#{gridWorkLog.name},'%')
        </if>
        <if test="gridWorkLog.houseCode !=null and gridWorkLog.houseCode!=''">
            and jh.house_code = #{gridWorkLog.houseCode}
        </if>
        <if test="gridWorkLog.phone !=null and gridWorkLog.phone!=''">
            and jh.phone_number like concat('%',#{gridWorkLog.phone},'%')
        </if>
        <if test="gridWorkLog.townName!=null and gridWorkLog.townName!=''">
            and br.town_name like concat('%',#{gridWorkLog.townName},'%')
        </if>
        <if test="gridWorkLog.neiName!=null and gridWorkLog.neiName!=''">
            and br.name  like concat('%',#{gridWorkLog.neiName},'%')
        </if>
        <if test="gridWorkLog.gridId !=null">
            and jg.id = #{gridWorkLog.gridId}
        </if>
        <if test="isAdministrator==2">
            <choose>
                <when test="gridWorkLog.roleName != null and gridWorkLog.roleName != ''">
                    <if test="gridWorkLog.roleName=='wgy'">
                        <choose>
                            <when test="gridCodeList !=null and gridCodeList.size()>0">
                                and jhs.grid_code in
                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                            </when>
                            <otherwise>
                                and jhs.grid_code in ('')
                            </otherwise>
                        </choose>
                    </if>
                    <if test="gridWorkLog.roleName=='mj'">
                        <choose>
                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                and jpag.community_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                            </when>
                            <otherwise>
                                and jpag.community_code in ('')
                            </otherwise>
                        </choose>
                    </if>
                </when>
                <otherwise>
                    <choose>
                        <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                            and
                            (
                            jg.grid_code in
                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                #{code}
                            </foreach>
                            or
                            jpag.community_code in
                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                #{code}
                            </foreach>
                            )
                        </when>
                        <otherwise>
                            and
                            (
                            jg.grid_code in ('') or jpag.community_code in ('')
                            )
                        </otherwise>
                    </choose>
                </otherwise>
            </choose>
        </if>
        order by jgwl.id desc
    </select>
 
    <!--走访日志数量统计-->
    <select id="getGridWorkCountHandleCount" resultType="java.lang.Integer">
        select count(*) from jczz_grid_work_log jgwl
        left join jczz_household jh on jgwl.household_id = jh.id and jh.is_deleted = 0
        left join jczz_house jhs on jhs.house_code=jh.house_code and jhs.is_deleted = 0
        where jgwl.is_deleted = 0
        <if test="status!=null">
            and (jgwl.status = #{status} or jgwl.status = 4)
        </if>
        <if test="gridCode!=null and gridCode!=''">
            and jhs.grid_code = #{gridCode}
        </if>
    </select>
 
 
    <select id="getDetail" resultType="org.springblade.modules.grid.vo.GridWorkLogVO">
 
        SELECT
        jgwl.id,
        jgwl.type,
        jgwl.person_type,
        jgwl.household_id,
        jgwl.context,
        jgwl.url,
        jgwl.work_time,
        jgwl.source,
        jgwl.status,
        jgwl.create_time,
        jgwl.create_user,
        jgwl.is_deleted,
        jl.label_name
        FROM
        jczz_grid_work_log jgwl
        LEFT JOIN jczz_label jl ON jgwl.person_type = jl.id
        <where>
            <if test="id != null ">and jgwl.id = #{id}</if>
            <if test="type != null ">and jgwl.type = #{type}</if>
            <if test="personType != null ">and jgwl.person_type = #{personType}</if>
            <if test="householdId != null ">and jgwl.household_id = #{householdId}</if>
            <if test="context != null  and context != ''">and jgwl.context = #{context}</if>
            <if test="url != null  and url != ''">and jgwl.url = #{url}</if>
            <if test="workTime != null ">and jgwl.work_time = #{workTime}</if>
            <if test="source != null ">and jgwl.source = #{source}</if>
            <if test="status != null ">and jgwl.status = #{status}</if>
            <if test="createTime != null ">and jgwl.create_time = #{createTime}</if>
            <if test="createUser != null ">and jgwl.create_user = #{createUser}</if>
            <if test="isDeleted != null ">and jgwl.is_deleted = #{isDeleted}</if>
        </where>
    </select>
 
</mapper>