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 |  309 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 297 insertions(+), 12 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 8ee03f2..9cfa956 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -34,12 +34,16 @@
         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>
@@ -65,6 +69,14 @@
         <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}
@@ -180,6 +192,10 @@
             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>
@@ -279,19 +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,
-               jp.is_front AS isFront,
-               br.name neiName,
-               jg.community_code neiCode,
-               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>
 
 
@@ -345,6 +364,7 @@
         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,
@@ -911,4 +931,269 @@
         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