linwe
2023-12-23 55d677758efadb6d42e6d4e595cecc2c50c20d5a
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<?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.place.mapper.PlaceMapper">
 
    <!--详情map-->
    <resultMap id="detailMap" type="org.springblade.modules.place.vo.PlaceVO" autoMapping="true">
        <id property="id" column="id"/>
        <collection property="placePoiLabelVOList" javaType="java.util.List" ofType="org.springblade.modules.place.vo.PlacePoiLabelVO"
        autoMapping="true">
            <id property="id" column="plid"/>
        </collection>
    </resultMap>
 
    <!--自定义分页查询-->
    <select id="selectPlacePage" resultType="org.springblade.modules.place.vo.PlaceVO">
        select
        jp.*,
        bu.real_name as username,bu.phone as phone,
        bx.real_name as createUserName,
        br.town_name as townStreetName,br.name as neiName,
        jpe.confirm_flag confirmFlag
        from jczz_place jp
        left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
        left join blade_user bx on bx.id = jp.create_user and bx.is_deleted = 0
        LEFT JOIN jczz_place_ext jpe on jpe.place_id=jp.id
        left join jczz_grid_range jgr on jgr.house_code = jp.house_code
        left join jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
        left join blade_region br on br.code = jg.community_code
        left join (
        select a.* from jczz_place_poi_label a inner join
        (
        select place_id,max(id) as id from jczz_place_poi_label b group by place_id
        ) b on a.id = b.id
        ) jppl on jppl.place_id = jp.id
        where jp.is_deleted = 0
        <if test="place.roleName!=null and place.roleName!='' and place.createUser!=null">
            <choose>
                <when test="place.roleName=='网格员'">
                    and
                    (
                    jp.create_user = #{place.createUser}
                    <if test="houseCodeList != null and houseCodeList.size()>0">
                        or jp.house_code in
                        <foreach collection="houseCodeList" item="houseCode" separator ="," open="("  close=")">
                            #{houseCode}
                        </foreach>
                    </if>
                    )
                </when>
                <otherwise>
                    and jp.principal_user_id = #{place.createUser}
                </otherwise>
            </choose>
        </if>
        <if test="place.placeName!=null and place.placeName!=''">
            and jp.place_name like concat('%',#{place.placeName},'%')
        </if>
        <if test="place.principal!=null and place.principal!=''">
            and jp.principal like concat('%',#{place.principal},'%')
        </if>
        <if test="place.principalPhone!=null and place.principalPhone!=''">
            and jp.principal_phone like concat('%',#{place.principalPhone},'%')
        </if>
        <if test="place.houseCode!=null and place.houseCode!=''">
            and jp.house_code = #{place.houseCode}
        </if>
        <if test="place.townStreetName!=null and place.townStreetName!=''">
            and br.town_name like concat('%',#{place.townStreetName},'%')
        </if>
        <if test="place.neiName!=null and place.neiName!=''">
            and br.name like concat('%',#{place.neiName},'%')
        </if>
        <if test="place.id!=null">
            and jp.id = #{place.id}
        </if>
        <if test="place.isPerfect==1">
            and
            (
            jp.place_name is null
            or jp.image_urls is null
            or jppl.poi_code is null
            or bu.real_name is null
            or bu.phone is null
            )
        </if>
        <if test="place.isPerfect==2">
            and jp.place_name != ""
            and jp.image_urls != ""
            and jppl.poi_code is not null
            and bu.real_name != ""
            and bu.phone != ""
        </if>
        order by jpe.create_time desc
    </select>
 
    <!--查询场所集合信息-->
    <select id="selectPlaceNodeList" resultType="org.springblade.common.node.TreeStringNode" >
        SELECT jp.id,
               jp.house_code      houseCode,
               jp.place_name AS   NAME,
               jpr.doorplate_num  doorplateType,
               jda.address_level  addressLevel,
               jpr.community_name neiName,
               FALSE         AS   hasChildren
        FROM jczz_place jp
                 LEFT JOIN jczz_place_rel jpr ON jp.id = jpr.place_id
                 LEFT JOIN jczz_doorplate_address jda on jp.house_code = jda.address_code
        where 1 = 1
          and jp.is_deleted = 0
          and jp.principal_user_id = #{userId}
    </select>
 
 
    <!--插入用户标签-->
    <insert id="saveUserLabel">
        insert into jczz_user_house_label(user_id,label_id,lable_type)
        values(#{userId},#{labelId},1)
    </insert>
 
    <!--查询所有的场所(手机号不为空)-->
    <select id="getPlaceNotNullPhone" resultType="org.springblade.modules.place.vo.PlaceVO">
        select link_person as username,link_tel as phone,std_id as houseCode from wgccp_place
        WHERE link_person !='' and link_tel!=''
    </select>
 
    <!--查询所有的场所-->
    <select id="getAllHistoryPlace" resultType="org.springblade.modules.place.vo.PlaceVO">
        select place_id as id,third_level_id as label,std_id as houseCode from wgccp_place
    </select>
 
    <!--更新场所信息-->
    <update id="updatePlaceEntity">
        update jczz_place set principal_user_id = #{place.principalUserId}
        WHERE house_code = #{place.houseCode}
    </update>
 
    <!--查询场所详情数据-->
    <select id="getDetail" resultMap="detailMap">
        select
        jp.*,
        bu.real_name as username,bu.phone as phone,
        jppl.id as plid,jppl.*,jc.category_name as labelName,
        br.code as neiCode,jg.id as gridId
        from jczz_place jp
        left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
        left join jczz_place_poi_label jppl on jppl.place_id = jp.id
        left join jczz_category jc on jc.category_no = jppl.poi_code
        left join jczz_grid_range jgr on jgr.house_code = jp.house_code
        left join jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
        left join blade_region br on br.code = jg.community_code
        where jp.is_deleted = 0
        <if test="place.houseCode!=null and place.houseCode!=''">
            and jp.house_code = #{place.houseCode}
        </if>
        <if test="place.id!=null">
            and jp.id = #{place.id}
        </if>
    </select>
 
    <!--判断商超是否导入-->
    <select id="getPlaceAndRelInfo" resultType="org.springblade.modules.place.entity.PlaceEntity">
        select
        jp.*
        from jczz_place jp
        left join jczz_place_rel jpr on jpr.place_id = jp.id and jpr.is_deleted = 0
        where jp.is_deleted = 0
        <if test="place.buildingName!=null and place.buildingName!=''">
            and jpr.building_name = #{place.buildingName}
        </if>
        <if test="place.doorplateNum!=null and place.doorplateNum!=''">
            and jpr.doorplate_num = #{place.doorplateNum}
        </if>
        <if test="place.placeName!=null and place.placeName!=''">
            and jp.place_name = #{place.placeName}
        </if>
        limit 1
    </select>
 
    <!--查询出有用户id 的场所-->
    <select id="getHasUserIdPlaceList" resultType="org.springblade.modules.place.entity.PlaceEntity">
        select
        jp.*
        from jczz_place jp
        left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
        where jp.is_deleted = 0 and jp.principal_user_id is not null
    </select>
</mapper>