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 | 1140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 1,076 insertions(+), 64 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 979b556..9cfa956 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -8,6 +8,7 @@
<collection property="placePoiLabelVOList" javaType="java.util.List" ofType="org.springblade.modules.place.vo.PlacePoiLabelVO"
autoMapping="true">
<id property="id" column="plid"/>
+ <result property="remark" column="cremark"/>
</collection>
</resultMap>
@@ -15,42 +16,33 @@
<select id="selectPlacePage" resultType="org.springblade.modules.place.vo.PlaceVO">
select
jp.*,
- bu.real_name as username,bu.phone as phone,
- bx.real_name as createUserName,
- br.town_name as townStreetName,br.name as neiName,
+ jpe.id as placeExtId,
+ 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
- <if test="place.roleName!=null and place.roleName!='' and place.createUser!=null">
- <choose>
- <when test="place.roleName=='网格员'">
- and
- (
- jp.create_user = #{place.createUser}
- <if test="houseCodeList != null and houseCodeList.size()>0">
- or jp.house_code in
- <foreach collection="houseCodeList" item="houseCode" separator ="," open="(" close=")">
- #{houseCode}
- </foreach>
- </if>
- )
- </when>
- <otherwise>
- and jp.principal_user_id = #{place.createUser}
- </otherwise>
- </choose>
+ 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},'%')
@@ -62,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},'%')
@@ -73,41 +65,252 @@
<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>
<if test="place.isPerfect==1">
- and
- (
- jp.place_name is null
- or jp.image_urls is null
- or jppl.poi_code is null
- or bu.real_name is null
- or bu.phone is null
- )
+ and jp.status = 1
</if>
<if test="place.isPerfect==2">
- and jp.place_name != ""
- and jp.image_urls != ""
- and jppl.poi_code is not null
- and bu.real_name != ""
- and bu.phone != ""
+ and jp.status = 2
</if>
- order by jpe.create_time desc
+ <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="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>
+ order by jp.create_time desc,jp.id desc
</select>
<!--查询场所集合信息-->
<select id="selectPlaceNodeList" resultType="org.springblade.common.node.TreeStringNode" >
SELECT jp.id,
- jp.house_code houseCode,
- jp.place_name AS NAME,
- jpr.doorplate_num doorplateType,
- jda.address_level addressLevel,
- jpr.community_name neiName,
- FALSE AS hasChildren
+ 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_place_rel jpr ON jp.id = jpr.place_id
- LEFT JOIN jczz_doorplate_address jda on jp.house_code = jda.address_code
+ 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>
@@ -135,22 +338,58 @@
</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.*,jc.category_name as labelName,
- br.code as neiCode,jg.id as gridId
+ jppl.id as plid,
+ jppl.place_id,
+ jppl.poi_code,
+ jppl.type,
+ jppl.color,
+ jppl.remark as cremark,
+ jc.category_name as labelName,
+ 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}
@@ -170,9 +409,6 @@
<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>
@@ -184,4 +420,780 @@
left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
where jp.is_deleted = 0 and jp.principal_user_id is not null
</select>
+
+ <!--查询所有的场所数据(除去详情表已有的)-->
+ <select id="getPlaceListByNoExt" resultType="org.springblade.modules.place.entity.PlaceEntity">
+ select
+ jp.*
+ from jczz_place jp
+ LEFT JOIN jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
+ where jp.is_deleted = 0 and jpe.id is null
+ </select>
+
+ <!--商超数据处理-->
+ <select id="placeAndRelHandle" resultType="org.springblade.modules.place.entity.PlaceEntity">
+ select jp.* from jczz_place jp
+ left join jczz_place_rel jpr on jp.id = jpr.place_id and jpr.is_deleted =0
+ where jpr.id is not null
+ and jp.is_deleted = 0
+ and jp.source !=3
+ </select>
+
+ <!--根据标签编号集合查询对应的场所-->
+ <select id="getPlaceListByParam" resultType="org.springblade.modules.place.vo.PlaceVO">
+ select jp.*,jppl.poi_code as label from jczz_place jp
+ left join jczz_place_poi_label jppl on jppl.place_id = jp.id
+ where jp.is_deleted = 0 and jppl.type = 3
+ and jppl.color = 'green'
+ and jp.principal_user_id is not null
+ and jp.house_code != ''
+ and jp.id in (
+ select place_id from ${tableName} where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=30
+ )
+ <choose>
+ <when test="list!=null and list.size()>0">
+ and jppl.poi_code in
+ <foreach collection="list" item="id" separator="," open="(" close=")">
+ #{id}
+ </foreach>
+ </when>
+ <otherwise>
+ and jppl.poi_code in ('')
+ </otherwise>
+ </choose>
+ union all
+ (
+ select jp.*,jppl.poi_code as label from jczz_place jp
+ left join jczz_place_poi_label jppl on jppl.place_id = jp.id
+ where jp.is_deleted = 0 and jppl.type = 3
+ and jppl.color = 'yellow'
+ and jp.principal_user_id is not null
+ and jp.house_code != ''
+ and jp.id in (
+ select place_id from ${tableName} where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=14
+ )
+ <choose>
+ <when test="list!=null and list.size()>0">
+ and jppl.poi_code in
+ <foreach collection="list" item="id" separator="," open="(" close=")">
+ #{id}
+ </foreach>
+ </when>
+ <otherwise>
+ and jppl.poi_code in ('')
+ </otherwise>
+ </choose>
+ )
+ union all
+ (
+ select jp.*,jppl.poi_code as label from jczz_place jp
+ left join jczz_place_poi_label jppl on jppl.place_id = jp.id
+ where jp.is_deleted = 0 and jppl.type = 3
+ and jppl.color = 'red'
+ and jp.principal_user_id is not null
+ and jp.house_code != ''
+ and jp.id in (
+ select place_id from ${tableName} where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=7
+ )
+ <choose>
+ <when test="list!=null and list.size()>0">
+ and jppl.poi_code in
+ <foreach collection="list" item="id" separator="," open="(" close=")">
+ #{id}
+ </foreach>
+ </when>
+ <otherwise>
+ and jppl.poi_code in ('')
+ </otherwise>
+ </choose>
+ )
+ union all
+ (
+ select jp.*,jppl.poi_code as label from jczz_place jp
+ left join jczz_place_poi_label jppl on jppl.place_id = jp.id
+ where jp.is_deleted = 0 and jppl.type = 3
+ and jp.principal_user_id is not null
+ and jp.house_code != ''
+ and (jppl.color = 'green' or jppl.color = 'yellow' or jppl.color = 'red')
+ and jp.id not in (
+ select place_id from ${tableName} where is_deleted = 0 and source = 2 and place_id is not null group by place_id
+ )
+ <choose>
+ <when test="list!=null and list.size()>0">
+ and jppl.poi_code in
+ <foreach collection="list" item="id" separator="," open="(" close=")">
+ #{id}
+ </foreach>
+ </when>
+ <otherwise>
+ and jppl.poi_code in ('')
+ </otherwise>
+ </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) <= 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) <= 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 <= 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