linwe
2023-12-14 06c5736e13f1a5e53041153759dca8476a381f8f
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
<?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.GridMapper">
 
    <!--自定义分页查询-->
    <select id="selectGridPage" resultType="org.springblade.modules.grid.vo.GridVO">
        select
        id,community_code,grid_name,principal,principal_phone,remark
        from jczz_grid
        where is_deleted = 0
        <if test="grid.communityCode!=null and grid.communityCode!=''">
            and community_code = #{grid.communityCode}
        </if>
        <if test="grid.gridName!=null and grid.gridName!=''">
            and grid_name like concat('%',#{grid.gridName},'%')
        </if>
        <if test="grid.principal!=null and grid.principal!=''">
            and principal like concat('%',#{grid.principal},'%')
        </if>
        <if test="grid.principalPhone!=null and grid.principalPhone!=''">
            and principal_phone like concat('%',#{grid.principalPhone},'%')
        </if>
    </select>
 
    <!--根据地址编号查询网格数据-->
    <select id="getGridDetailByHouseCode" resultType="org.springblade.modules.grid.vo.GridVO">
        select jg.id,jg.grid_name,jg.community_name,
        bu.real_name as realName,bu.phone as gridPhone
        from jczz_grid jg
        left join jczz_grid_range jgr on jg.id = jgr.grid_id
        left join jczz_gridman jgm on jg.id = jgm.grid_id and jgm.is_deleted = 0
        left join blade_user bu on bu.id = jgm.user_id and bu.is_deleted = 0
        where jg.is_deleted = 0
        and jgr.house_code = #{houseCode}
        limit 1
    </select>
 
    <!--根据用户id(网格员)查询对应的房屋地址code-->
    <select id="getAddressCodeListByUserId" resultType="java.lang.String">
        select jgr.house_code from jczz_grid_range jgr
        left join jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
        left join jczz_gridman jgm on jgm.grid_id = jg.id and jgm.is_deleted = 0
        where 1=1
        and jgm.user_id = #{userId}
    </select>
 
    <!--判断该小区点在哪个派出所-->
    <select id="spatialAnalysis" resultType="org.springblade.modules.grid.entity.GridEntity">
        SELECT * FROM jczz_grid WHERE ST_Intersects(geom, ST_GeomFromText(${point},0))
    </select>
 
    <!--根据地址编号查询网格数据-->
    <select id="getGridDetailByParam" resultType="org.springblade.modules.grid.vo.GridVO">
        SELECT
            jg.id,
            jg.grid_name,
            jg.community_name,
            sort,
            bu.real_name AS realName,
            bu.phone AS gridPhone
        FROM
            jczz_grid jg
                LEFT JOIN jczz_gridman jgm on jg.id = jgm.grid_id
                LEFT JOIN jczz_grid_range jgr ON jg.id = jgr.grid_id
                LEFT JOIN jczz_place_rel jpr ON locate( jpr.community_name, jg.community_name )> 0
                AND locate( jpr.grid_name, jg.grid_name )> 0
                AND jpr.is_deleted = 0
                LEFT JOIN blade_user bu ON bu.id = jgm.user_id
                AND bu.is_deleted = 0
        WHERE
          jg.is_deleted = 0
          and jpr.place_id = #{place.id}
          limit 1
    </select>
 
    <!--自定义详情查询-->
    <select id="getGridDetail" resultType="org.springblade.modules.grid.vo.GridVO">
        select id,community_code,grid_name,principal,principal_phone,remark,sort from jczz_grid
         where is_deleted = 0 and id = #{grid.id}
    </select>
 
    <!--查询全部-->
    <select id="selectGridAll" resultType="org.springblade.modules.grid.entity.GridEntity">
        select id,community_code,grid_name,principal,principal_phone,remark,sort from jczz_grid
         where is_deleted = 0
    </select>
 
    <!--网格树-->
    <select id="getGridTree" resultType="org.springblade.common.node.TreeStringNode">
        SELECT code        as id,
               parent_code as parentId,
               name
        FROM blade_region
        where district_code = '361102'
        union all
        (select id,
                community_code as parentId,
                grid_name      as name
         from jczz_grid
         where is_deleted = 0)
    </select>
    <select id="gridInfo" resultType="org.springblade.modules.grid.entity.GridmanEntity">
        SELECT jg.id,
               jg.grid_name,
               jgm.pic_url,
               jgm.mobile,
               jgm.gridman_name
        FROM jczz_grid jg
                 LEFT JOIN jczz_gridman jgm ON jgm.grid_id = jg.id
                 LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
        WHERE jgr.house_code = #{houseCode}
          AND jg.is_deleted = '0'
          AND jgm.is_deleted = '0'
    </select>
 
 
    <select id="gridAoiName"
            resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
        SELECT aoi_name,
               GROUP_CONCAT(building_name) building_name
        FROM (SELECT DISTINCT aoi_name,
                              building_name
              FROM jczz_doorplate_address
              WHERE address_code IN (SELECT jgr.house_code
                                     FROM jczz_grid jg
                                              LEFT JOIN jczz_gridman jgm ON jgm.grid_id = jg.id
                                              LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                                     WHERE jg.id = #{id})) a
        GROUP BY aoi_name
 
    </select>
 
 
</mapper>