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 |  978 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 940 insertions(+), 38 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 dd8d62d..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,28 +17,31 @@
         select
         jp.*,
         jpe.id as placeExtId,
-        bu.real_name as username,bu.phone as phone,
-        bx.real_name as createUserName,
-        br.town_name as townStreetName,br.name as neiName,
+        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,
+        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 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 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 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
-        <if test="houseCodeList != null and houseCodeList.size()>0">
-            and jp.house_code in
-            <foreach collection="houseCodeList" item="houseCode" separator ="," open="("  close=")">
-                #{houseCode}
+        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!=''">
@@ -51,7 +54,7 @@
             and jp.principal_phone like concat('%',#{place.principalPhone},'%')
         </if>
         <if test="place.houseCode!=null and place.houseCode!=''">
-            and jp.house_code = #{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},'%')
@@ -62,6 +65,19 @@
         <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.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,14 +89,203 @@
         </if>
         <if test="isAdministrator==2">
             <choose>
-                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
-                    and jg.community_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.community_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>
+        order by jp.create_time desc,jp.id desc
+    </select>
+
+    <!--自定义分页查询-->
+    <select id="selectNinePlacePage" resultType="org.springblade.modules.place.vo.PlaceVO">
+        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,
+        bus.`name` AS policeName,
+        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_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
+        (
+        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.deptName!=null and 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.frontType!=null and place.frontType!=''">
+            and jp.front_type = #{place.frontType}
+        </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>
@@ -90,17 +295,22 @@
     <!--查询场所集合信息-->
     <select id="selectPlaceNodeList" resultType="org.springblade.common.node.TreeStringNode" >
         SELECT jp.id,
-               jp.house_code      houseCode,
-               jp.place_name AS   NAME,
-               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_range jgr ON jp.house_code = jgr.house_code
-                 LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id
+                 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>
 
 
@@ -128,9 +338,34 @@
     </update>
 
     <!--查询场所详情数据-->
+    <!--查询场所详情数据-->
     <select id="getDetail" resultMap="detailMap">
         select
-        jp.*,
+        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,
+        if(jp.source=1,jda.x,jp.lng) as lng,
+        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_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.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,
@@ -139,17 +374,22 @@
         jppl.color,
         jppl.remark as cremark,
         jc.category_name as labelName,
-        br.code as neiCode,jg.id as gridId
+        br.code as neiCode
         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 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
+        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 = #{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}
@@ -168,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>
@@ -294,4 +531,669 @@
         </choose>
         )
     </select>
+
+
+
+    <select id="export" resultType="org.springblade.modules.place.excel.NinePlaceExcel">
+        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,
+        bus.`name` AS policeName,
+        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_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
+        (
+        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.deptName!=null and 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.frontType!=null and place.frontType!=''">
+            and jp.front_type = #{place.frontType}
+        </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>
+
+    <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="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"    />
+        <result property="isNine"    column="is_nine"    />
+        <result property="nineType"    column="nine_type"    />
+        <result property="isFront"    column="is_front"    />
+        <result property="frontType"    column="front_type"    />
+        <result property="createUser"    column="create_user"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateUser"    column="update_user"    />
+        <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,
+            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>
+
+
+    <!--查询 警务网格为空的数据-->
+    <select id="getPlaceNotJwGridCode" resultType="org.springblade.modules.place.entity.PlaceEntity">
+        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 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
+        ),2) &lt;= 1
+        and address_code = #{place.houseCode}
+    </select>
+
+
+    <!--比对两点间的距离是否在1km 范围内 (和采集的位置对比)-->
+    <select id="comparisonPositionNotHouseCode" resultType="java.lang.Boolean">
+        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
+        ),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