From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送

---
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml |  810 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 696 insertions(+), 114 deletions(-)

diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index 597f649..9cfa956 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -17,27 +17,33 @@
         select
         jp.*,
         jpe.id as placeExtId,
-        bu.real_name as username,bu.phone as phone,
-        br.town_name as townStreetName,br.name as neiName,
-        jpe.confirm_flag confirmFlag,
+        bu.real_name as username,
+        bu.phone as phone,
+        br.town_name as townStreetName,
+        br.name as neiName,
         jg.grid_name as gridName,
         bus.`name` AS policeName,
-        bu.phone AS policePhone
+        bus.phone AS policePhone,
+        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 jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
         left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
-        left join blade_region br on br.code = jg.community_code
-        LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
-        LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
+        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
+        left join blade_region br on br.code = jpag.community_code
+        LEFT JOIN blade_user bus on bus.id = jpag.police_user_id
         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
+        ( 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 and jp.source!=3
         and jp.place_name != ''
+        <if test="place.poiCodeList !=null and place.poiCodeList.size()>0">
+            and jppl.poi_code in
+            <foreach collection="place.poiCodeList" item="code" open="(" close=")" separator=",">
+                #{code}
+            </foreach>
+        </if>
         <if test="place.placeName!=null and place.placeName!=''">
             and jp.place_name like concat('%',#{place.placeName},'%')
         </if>
@@ -64,6 +70,14 @@
             and jp.is_nine = #{place.isNine}
         </if>
 
+        <if test="place.noExplosionCategory!=null">
+            and jp.no_explosion_category is not null
+            <if test="place.noExplosionCategory!=null and place.noExplosionCategory > 0 ">
+                and jp.no_explosion_category = #{place.noExplosionCategory}
+            </if>
+        </if>
+
+
         <if test="place.source!=null">
             and jp.source = #{place.source}
         </if>
@@ -73,22 +87,59 @@
         <if test="place.isPerfect==2">
             and jp.status = 2
         </if>
-        <if test="houseCodeList != null and houseCodeList.size()>0">
-            and jp.house_code in
-            <foreach collection="houseCodeList" item="houseCode" separator ="," open="("  close=")">
-                #{houseCode}
-            </foreach>
-        </if>
         <if test="isAdministrator==2">
             <choose>
-                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
-                    and jg.grid_code in
-                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
-                        #{code}
-                    </foreach>
+                <when test="place.roleName != null and place.roleName != ''">
+                    <if test="place.roleName=='wgy'">
+                        <choose>
+                            <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                and jp.grid_code in
+                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jp.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                    <if test="place.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>
-                    and jg.grid_code in ('')
+                    <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>
@@ -103,20 +154,17 @@
         bu.real_name as username,bu.phone as phone,
         br.town_name as townStreetName,br.name as neiName,
         jpe.confirm_flag confirmFlag,
-        jg.grid_name as gridName,
         bus.`name` AS policeName,
-        bu.phone AS policePhone,
-        jda.address_name,
+        bus.phone AS policePhone,
+        jp.location as addressName,
         jpag.pcs_name deptName
         from jczz_place jp
+        left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
         left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
         left join jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
-        left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
-        left join blade_region br on br.code = jg.community_code
-        LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
-        LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
-        LEFT JOIN jczz_police_affairs_grid jpag on jpag.community_code= jg.community_code
-        LEFT JOIN jczz_doorplate_address jda on jda.address_code=jp.house_code
+        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
+        left join blade_region br on br.code = jpag.community_code
+        LEFT JOIN blade_user bus on bus.id = jpag.police_user_id
         left join (
         select a.* from jczz_place_poi_label a inner join
         (
@@ -141,15 +189,28 @@
             and br.town_name like concat('%',#{place.townStreetName},'%')
         </if>
         <if test="place.deptName!=null and place.deptName!=''">
-            and bd.dept_name like concat('%',#{place.deptName},'%')
+            and jpag.pcs_name like concat('%',#{place.deptName},'%')
+        </if>
+
+        <if test="place.startTime != null and place.startTime != '' and place.endTime != null and place.endTime != '' ">
+            AND jp.create_time BETWEEN #{place.startTime} and #{place.endTime}
         </if>
 
         <if test="place.policeName!=null and place.policeName!=''">
             and bus.name like concat('%',#{place.policeName},'%')
         </if>
+        <if test="nineTypeList!=null and nineTypeList.size()>0">
+            and jp.nine_type in
+            <foreach collection="nineTypeList" separator="," open="(" close=")" item="nineType">
+                #{nineType}
+            </foreach>
+        </if>
+        <if test="place.isFront!=null and place.isFront!=''">
+            and jp.is_front = #{place.isFront}
+        </if>
 
-        <if test="place.nineType!=null and place.nineType!=''">
-            and jp.nine_type = #{place.nineType}
+        <if test="place.frontType!=null and place.frontType!=''">
+            and jp.front_type = #{place.frontType}
         </if>
 
         <if test="place.neiName!=null and place.neiName!=''">
@@ -172,20 +233,60 @@
         <if test="place.isPerfect==2">
             and jp.status = 2
         </if>
-        <if test="houseCodeList != null and houseCodeList.size()>0">
-            and jp.house_code in
-            <foreach collection="houseCodeList" item="houseCode" separator ="," open="("  close=")">
-                #{houseCode}
-            </foreach>
-        </if>
         <if test="isAdministrator==2">
             <choose>
-                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
-                    and jg.grid_code in
-                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
-                        #{code}
-                    </foreach>
+                <when test="place.roleName != null and place.roleName != ''">
+                    <if test="place.roleName=='wgy'">
+                        <choose>
+                            <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                and jp.grid_code in
+                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jp.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                    <if test="place.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 jp.create_time desc,jp.id desc
@@ -194,17 +295,22 @@
     <!--查询场所集合信息-->
     <select id="selectPlaceNodeList" resultType="org.springblade.common.node.TreeStringNode" >
         SELECT jp.id,
-               jp.house_code      houseCode,
-               jp.place_name AS   NAME,
-               jp.is_nine AS isNine,
-               br.name neiName,
-               FALSE         AS   hasChildren
+               jp.house_code               houseCode,
+               jp.place_name            AS NAME,
+               jp.is_nine               AS isNine,
+               jp.is_front              AS isFront,
+               jp.no_explosion_category AS noExplosionCategory,
+               br.name                     neiName,
+               jg.community_code           neiCode,
+               FALSE                    AS hasChildren
         FROM jczz_place jp
                  LEFT JOIN jczz_grid jg on jp.grid_code = jg.grid_code and jg.is_deleted = 0
                  LEFT JOIN blade_region br on br.code = jg.community_code
         where 1 = 1
-          and jp.is_deleted = 0
-          and jp.principal_user_id = #{userId}
+            and jp.is_deleted = 0
+            and jp.principal_user_id = #{userId}
+           or jp.principal_account = #{userId}
+           or jp.universal_account = #{userId}
     </select>
 
 
@@ -237,6 +343,7 @@
         select
         jp.id,
         jp.house_code,
+        jp.house_code_binds,
         jp.building_code,
         jp.principal_user_id,
         jp.principal,
@@ -247,7 +354,6 @@
         if(jp.source=1,jda.y,jp.lat) as lat,
         if(jp.source=1,jda.address_name,jp.location) as location,
         jp.image_urls,
-        jp.grid_id,
         jp.grid_code,
         jp.jw_grid_code,
         jp.source,
@@ -258,6 +364,8 @@
         jp.is_front,
         jp.front_type,
         jp.remark,
+        jp.no_explosion_category,
+        jp.three_fire_protection,
         bu.real_name as username,bu.phone as phone,
         jppl.id as plid,
         jppl.place_id,
@@ -276,7 +384,12 @@
         left join jczz_doorplate_address jda on jda.address_code = jp.house_code
         where jp.is_deleted = 0
         <if test="place.houseCode!=null and place.houseCode!=''">
-            and jp.house_code like concat('%',#{place.houseCode},'%')
+            and
+            (
+            jp.house_code = #{place.houseCode}
+            or
+            jp.house_code_binds like concat('%',#{place.houseCode},'%')
+            )
         </if>
         <if test="place.id!=null">
             and jp.id = #{place.id}
@@ -295,9 +408,6 @@
         </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>
@@ -431,20 +541,17 @@
         bu.real_name as username,bu.phone as phone,
         br.town_name as townStreetName,br.name as neiName,
         jpe.confirm_flag confirmFlag,
-        jg.grid_name as gridName,
         bus.`name` AS policeName,
-        bu.phone AS policePhone,
-        jda.address_name,
+        bus.phone AS policePhone,
+        jp.location as addressName,
         jpag.pcs_name deptName
         from jczz_place jp
+        left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
         left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
         left join jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
-        left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
-        left join blade_region br on br.code = jg.community_code
-        LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
-        LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
-        LEFT JOIN jczz_police_affairs_grid jpag on jpag.community_code= jg.community_code
-        LEFT JOIN jczz_doorplate_address jda on jda.address_code=jp.house_code
+        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
+        left join blade_region br on br.code = jpag.community_code
+        LEFT JOIN blade_user bus on bus.id = jpag.police_user_id
         left join (
         select a.* from jczz_place_poi_label a inner join
         (
@@ -469,15 +576,24 @@
             and br.town_name like concat('%',#{place.townStreetName},'%')
         </if>
         <if test="place.deptName!=null and place.deptName!=''">
-            and bd.dept_name like concat('%',#{place.deptName},'%')
+            and jpag.pcs_name like concat('%',#{place.deptName},'%')
         </if>
 
         <if test="place.policeName!=null and place.policeName!=''">
             and bus.name like concat('%',#{place.policeName},'%')
         </if>
+        <if test="nineTypeList!=null and nineTypeList.size()>0">
+            and jp.nine_type in
+            <foreach collection="nineTypeList" separator="," open="(" close=")" item="nineType">
+                #{nineType}
+            </foreach>
+        </if>
+        <if test="place.isFront!=null and place.isFront!=''">
+            and jp.is_front = #{place.isFront}
+        </if>
 
-        <if test="place.nineType!=null and place.nineType!=''">
-            and jp.nine_type = #{place.nineType}
+        <if test="place.frontType!=null and place.frontType!=''">
+            and jp.front_type = #{place.frontType}
         </if>
 
         <if test="place.neiName!=null and place.neiName!=''">
@@ -500,20 +616,60 @@
         <if test="place.isPerfect==2">
             and jp.status = 2
         </if>
-        <if test="houseCodeList != null and houseCodeList.size()>0">
-            and jp.house_code in
-            <foreach collection="houseCodeList" item="houseCode" separator ="," open="("  close=")">
-                #{houseCode}
-            </foreach>
-        </if>
         <if test="isAdministrator==2">
             <choose>
-                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
-                    and jg.grid_code in
-                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
-                        #{code}
-                    </foreach>
+                <when test="place.roleName != null and place.roleName != ''">
+                    <if test="place.roleName=='wgy'">
+                        <choose>
+                            <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                and jp.grid_code in
+                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jp.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                    <if test="place.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 jp.create_time desc,jp.id desc
@@ -523,17 +679,20 @@
     <resultMap type="org.springblade.modules.place.dto.PlaceDTO" id="PlaceDTOResult">
         <result property="id"    column="id"    />
         <result property="houseCode"    column="house_code"    />
+        <result property="houseCodeBinds"    column="house_code_binds"    />
         <result property="buildingCode"    column="building_code"    />
         <result property="principalUserId"    column="principal_user_id"    />
         <result property="principal"    column="principal"    />
-        <result property="principalIdCard"    column="principal_id_card"    />
         <result property="principalPhone"    column="principal_phone"    />
+        <result property="principalIdCard"    column="principal_id_card"    />
         <result property="placeName"    column="place_name"    />
         <result property="lng"    column="lng"    />
         <result property="lat"    column="lat"    />
         <result property="location"    column="location"    />
         <result property="imageUrls"    column="image_urls"    />
+        <result property="gridId"    column="grid_id"    />
         <result property="gridCode"    column="grid_code"    />
+        <result property="jwGridCode"    column="jw_grid_code"    />
         <result property="source"    column="source"    />
         <result property="status"    column="status"    />
         <result property="isScene"    column="is_scene"    />
@@ -547,38 +706,45 @@
         <result property="updateTime"    column="update_time"    />
         <result property="remark"    column="remark"    />
         <result property="isDeleted"    column="is_deleted"    />
+        <result property="aoiCode"    column="aoi_code"    />
+        <result property="threeFireProtection"    column="three_fire_protection"    />
     </resultMap>
 
     <sql id="selectPlace">
-    	select
-	        id,
-	        house_code,
-	        building_code,
-	        principal_user_id,
-	        principal,
-	        principal_id_card,
-	        principal_phone,
-	        place_name,
-	        lng,
-	        lat,
-	        location,
-	        image_urls,
-	        grid_code,
-	        source,
-	        status,
-	        is_scene,
-	        is_nine,
-	        nine_type,
-	        is_front,
-	        front_type,
-	        create_user,
-	        create_time,
-	        update_user,
-	        update_time,
-	        remark,
-	        is_deleted
-		from
-        	jczz_place
+        select
+            id,
+            house_code,
+            house_code_binds,
+            building_code,
+            principal_user_id,
+            principal,
+            principal_phone,
+            principal_id_card,
+            place_name,
+            lng,
+            lat,
+            location,
+            image_urls,
+            grid_id,
+            grid_code,
+            jw_grid_code,
+            source,
+            status,
+            is_scene,
+            is_nine,
+            nine_type,
+            is_front,
+            front_type,
+            create_user,
+            create_time,
+            update_user,
+            update_time,
+            remark,
+            is_deleted,
+            aoi_code,
+            three_fire_protection
+        from
+            jczz_place
     </sql>
 
 
@@ -587,31 +753,447 @@
         select id,lng,lat from jczz_place where is_deleted = 0
          and source != 3
          and jw_grid_code is null
+         and lng != ''
     </select>
 
     <!--比对两点间的距离是否在1km 范围内(和地址总表位置对比)-->
     <select id="comparisonPosition" resultType="java.lang.Integer">
         select count(1) from jczz_doorplate_address where 1=1
-        and (
+        and IFNULL((
             ACOS(
             SIN(
             ( #{place.y} * 3.1415 )/ 180 ) * SIN(( y * 3.1415 )/ 180 )
              + COS(( #{place.y} * 3.1415 )/ 180 ) * COS(( y * 3.1415 )/ 180 ) * COS(( #{place.x} * 3.1415 )/ 180
              - ( x * 3.1415 )/ 180 ))* 6370.996
-        ) &lt;= 1
+        ),2) &lt;= 1
         and address_code = #{place.houseCode}
     </select>
 
 
     <!--比对两点间的距离是否在1km 范围内 (和采集的位置对比)-->
     <select id="comparisonPositionNotHouseCode" resultType="java.lang.Boolean">
-        select (
+        select IFNULL((
             ACOS(
             SIN(
             ( #{place.y} * 3.1415 )/ 180 ) * SIN(( #{place.lat} * 3.1415 )/ 180 )
              + COS(( #{place.y} * 3.1415 )/ 180 ) * COS(( #{place.lat} * 3.1415 )/ 180 ) * COS(( #{place.x} * 3.1415 )/ 180
              - ( #{place.lng} * 3.1415 )/ 180 ))* 6370.996
-        ) &lt;= 1
+        ),2) &lt;= 1
+    </select>
+
+
+    <!--查询 综治网格为空的数据-->
+    <select id="getPlaceNotGridCode" resultType="org.springblade.modules.place.entity.PlaceEntity">
+        select id,lng,lat from jczz_place where is_deleted = 0
+         and source != 3
+         and grid_code is null
+         and lng != ''
+    </select>
+
+    <!--查询对应未的场所 house_code_binds 为空,source = 1 的-->
+    <select id="selectPlaceNotDoorBindList" resultType="org.springblade.modules.place.entity.PlaceEntity">
+        select * from jczz_place where is_deleted = 0
+         and source = 1 and house_code_binds is null
+    </select>
+
+    <!--查询绑定的房屋-->
+    <select id="getHouseBindMap" resultType="java.util.Map">
+        select address_code as addressCode,address_name addressName from jczz_doorplate_address
+        where
+        <choose>
+            <when test="houseCodeBinds!=null and houseCodeBinds!=''">
+                address_code in
+                <foreach collection="houseCodeBinds.split(',')" item="houseCode" separator="," open="(" close=")">
+                    #{houseCode}
+                </foreach>
+            </when>
+            <otherwise>
+                address_code in ('')
+            </otherwise>
+        </choose>
+    </select>
+
+    <!--企业商超列表分页查询-->
+    <select id="selectMallPage" resultType="org.springblade.modules.place.vo.PlaceVO">
+        select
+        jp.*,
+        jpe.id as placeExtId,
+        br.town_name as townStreetName,
+        br.name as neiName,
+        jg.grid_name as gridName,
+        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 jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
+        left join jczz_place_rel jpr on jpr.place_id=jp.id and jpe.is_deleted = 0
+        left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag on jpr.community_code= jpag.jw_grid_code
+        left join blade_region br on br.code = jpr.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 and jp.source=3
+        and jp.place_name != ''
+        <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 like concat('%',#{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.isNine!=null">
+            and jp.is_nine = #{place.isNine}
+        </if>
+
+        <if test="place.source!=null">
+            and jp.source = #{place.source}
+        </if>
+        <if test="place.isPerfect==1">
+            and jp.status = 1
+        </if>
+        <if test="place.isPerfect==2">
+            and jp.status = 2
+        </if>
+        <if test="isAdministrator==2">
+            <choose>
+                <when test="place.roleName != null and place.roleName != ''">
+                    <if test="place.roleName=='wgy'">
+                        <choose>
+                            <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                and jp.grid_code in
+                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jpr.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                    <if test="place.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 jp.create_time desc,jp.id desc
+    </select>
+
+    <!--查询所有场所数据-->
+    <select id="getAllList" resultType="org.springblade.modules.place.vo.PlaceVO">
+        select
+        jp.*,
+        jpag.community_code
+        from jczz_place jp
+        left join jczz_police_affairs_grid jpag on jp.jw_grid_code = jpag.jw_grid_code and jpag.is_deleted =0
+        where jp.is_deleted = 0
+        limit #{i},#{size}
+    </select>
+
+    <!--查询所有场所数据-->
+    <select id="getAllListTotal" resultType="java.lang.Integer">
+        select
+        count(*)
+        from jczz_place jp
+        where jp.is_deleted = 0
+    </select>
+
+    <!--查询对应的社区编号-->
+    <select id="getCommunityCode" resultType="java.lang.String">
+        select
+        jpag.community_code
+        from jczz_place jp
+        left join jczz_police_affairs_grid jpag on jp.jw_grid_code = jpag.jw_grid_code and jpag.is_deleted =0
+        where jp.is_deleted = 0
+        and jp.id = #{id}
+    </select>
+
+    <!--导出场所信息-->
+    <select id="exportPlaceList" resultType="org.springblade.modules.place.excel.ExportPlaceExcel">
+        select
+        jp.id,
+        jp.location,
+        jp.lng,
+        jp.lat,
+        jp.place_name,
+        jp.principal,
+        jp.principal_phone,
+        jp.principal_id_card,
+        jp.nine_type,
+        jp.front_type,
+        jp.no_explosion_category,
+        jp.remark,
+        case when jp.source=1 then '是'
+        else '否' end as source,
+        case when jp.three_fire_protection=1 then '是'
+        when jp.three_fire_protection=2 then '否'
+        end as threeFireProtection,
+        jpe.legal_person,
+        jpe.legal_tel,
+        jpe.legal_id_card,
+        jppl.labelCode,
+        br.town_name as streetName,
+        br.name as communityName,
+        jg.grid_name as gridName,
+        case when jpe.confirm_flag = 1 then '待审核'
+        when jpe.confirm_flag = 2 then '审核通过'
+        when jpe.confirm_flag = 3 then '审核不通过'
+        when jpe.confirm_flag = 4 then '待完善'
+        end as confirmFlag
+        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_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
+        left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
+        left join blade_region br on br.code = jpag.community_code
+        left join (
+            select place_id,GROUP_CONCAT(poi_code) as labelCode from jczz_place_poi_label group by place_id
+        ) jppl on jppl.place_id = jp.id
+        where jp.is_deleted = 0 and jp.source!=3
+        and jp.place_name != ''
+        <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 like concat('%',#{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.isNine!=null">
+            and jp.is_nine = #{place.isNine}
+        </if>
+        <if test="place.source!=null">
+            and jp.source = #{place.source}
+        </if>
+        <if test="place.isPerfect==1">
+            and jp.status = 1
+        </if>
+        <if test="place.isPerfect==2">
+            and jp.status = 2
+        </if>
+        <if test="isAdministrator==2">
+            <choose>
+                <when test="place.roleName != null and place.roleName != ''">
+                    <if test="place.roleName=='wgy'">
+                        <choose>
+                            <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                and jp.grid_code in
+                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jp.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                    <if test="place.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 jp.create_time desc,jp.id desc
+    </select>
+
+    <select id="getNearbyPlaceList" resultType="org.springblade.modules.place.vo.PlaceVO">
+        SELECT
+        jp.id,
+        jp.lat,
+        jp.lng,
+        jp.place_name,
+        ( 6371 * acos( cos( radians(#{param1}) ) * cos( radians( jp.lat ) )
+        * cos( radians( jp.lng ) - radians(#{param2}) )
+        + sin( radians(#{param1}) ) * sin( radians( jp.lat ) ) ) ) AS distance
+        FROM jczz_place jp
+        where jp.place_name is not null
+        and jp.lat is not null
+        and jp.lng is not null
+        and jp.is_deleted = 0
+        HAVING distance &lt;= 1
+        ORDER BY distance limit 60
+    </select>
+
+
+    <select id="getPlacePage" resultType="org.springblade.modules.place.vo.PlaceVO">
+        select
+        jp.id,
+        jp.house_code,
+        jp.house_code_binds,
+        jp.building_code,
+        jp.principal_user_id,
+        jp.principal,
+        jp.principal_phone,
+        jp.principal_id_card,
+        jp.place_name,
+        jp.lng,
+        jp.lat,
+        jp.location,
+        jp.image_urls,
+        jp.grid_id,
+        jp.grid_code,
+        jp.jw_grid_code,
+        jp.source,
+        jp.status,
+        jp.is_scene,
+        jp.is_nine,
+        jp.nine_type,
+        jp.is_front,
+        jp.front_type,
+        jp.create_user,
+        jp.create_time,
+        jp.update_user,
+        jp.update_time,
+        jp.remark,
+        jp.is_deleted,
+        jp.aoi_code,
+        jp.three_fire_protection,
+        jp.no_explosion_category,
+        jp.principal_account,
+        jp.universal_account
+        from
+        jczz_place jp
+        LEFT JOIN jczz_place_poi_label jppl ON jppl.place_id = jp.id and jppl.type = 3
+        LEFT JOIN jczz_grid jg on jg.id = jp.grid_id
+        LEFT JOIN blade_region br on br.code = jg.community_code
+        <where>
+            <if test="place.id != null "> and id = #{place.id}</if>
+            <if test="place.houseCode != null  and place.houseCode != ''"> and house_code = #{place.houseCode}</if>
+            <if test="place.houseCodeBinds != null  and place.houseCodeBinds != ''"> and house_code_binds = #{place.houseCodeBinds}</if>
+            <if test="place.buildingCode != null  and place.buildingCode != ''"> and building_code = #{place.buildingCode}</if>
+            <if test="place.principalUserId != null "> and principal_user_id = #{place.principalUserId}</if>
+            <if test="place.principal != null  and place.principal != ''"> and principal = #{place.principal}</if>
+            <if test="place.principalPhone != null  and place.principalPhone != ''"> and principal_phone = #{place.principalPhone}</if>
+            <if test="place.principalIdCard != null  and place.principalIdCard != ''"> and principal_id_card = #{place.principalIdCard}</if>
+            <if test="place.placeName != null  and place.placeName != ''"> and place_name = #{place.placeName}</if>
+            <if test="place.lng != null  and place.lng != ''"> and lng = #{place.lng}</if>
+            <if test="place.lat != null  and place.lat != ''"> and lat = #{place.lat}</if>
+            <if test="place.location != null  and place.location != ''"> and location = #{place.location}</if>
+            <if test="place.imageUrls != null  and place.imageUrls != ''"> and image_urls = #{place.imageUrls}</if>
+            <if test="place.gridId != null "> and grid_id = #{place.gridId}</if>
+            <if test="place.gridCode != null  and place.gridCode != ''"> and grid_code = #{place.gridCode}</if>
+            <if test="place.jwGridCode != null  and place.jwGridCode != ''"> and jw_grid_code = #{place.jwGridCode}</if>
+            <if test="place.source != null "> and source = #{place.source}</if>
+            <if test="place.status != null "> and status = #{place.status}</if>
+            <if test="place.isScene != null "> and is_scene = #{place.isScene}</if>
+            <if test="place.isNine != null "> and is_nine = #{place.isNine}</if>
+            <if test="place.nineType != null "> and nine_type = #{place.nineType}</if>
+            <if test="place.isFront != null "> and is_front = #{place.isFront}</if>
+            <if test="place.frontType != null "> and front_type = #{place.frontType}</if>
+            <if test="place.createUser != null "> and create_user = #{place.createUser}</if>
+            <if test="place.createTime != null "> and create_time = #{place.createTime}</if>
+            <if test="place.updateUser != null "> and update_user = #{place.updateUser}</if>
+            <if test="place.updateTime != null "> and update_time = #{place.updateTime}</if>
+            <if test="place.remark != null  and place.remark != ''"> and remark = #{place.remark}</if>
+            <if test="place.isDeleted != null "> and is_deleted = #{place.isDeleted}</if>
+            <if test="place.aoiCode != null  and place.aoiCode != ''"> and aoi_code = #{place.aoiCode}</if>
+            <if test="place.threeFireProtection != null "> and three_fire_protection = #{place.threeFireProtection}</if>
+            <if test="place.noExplosionCategory != null "> and no_explosion_category = #{place.noExplosionCategory}</if>
+            <if test="place.principalAccount != null "> and principal_account = #{place.principalAccount}</if>
+            <if test="place.universalAccount != null "> and universal_account = #{place.universalAccount}</if>
+            <if test="place.placeSmallLabel != null "> and jppl.poi_code = #{place.placeSmallLabel}</if>
+            <if test="place.color != null "> and jppl.color = #{place.color}</if>
+            <if test="place.taskRange != null "> and br.code like concat(#{place.taskRange},'%') </if>
+        </where>
     </select>
 
 </mapper>

--
Gitblit v1.9.3