From b7df6735bcb2d447cae7fcfba2d12accf3dd2fcc Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Sat, 03 Feb 2024 17:27:21 +0800
Subject: [PATCH] 消防检查优化
---
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml | 364 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 342 insertions(+), 22 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..597f649 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -18,16 +18,18 @@
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,
- jpe.confirm_flag confirmFlag
+ jpe.confirm_flag confirmFlag,
+ jg.grid_name as gridName,
+ bus.`name` AS policeName,
+ bu.phone AS policePhone
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 jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
+ left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
left join blade_region br on br.code = jg.community_code
+ LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
+ LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
left join (
select a.* from jczz_place_poi_label a inner join
(
@@ -35,12 +37,7 @@
) 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}
- </foreach>
- </if>
+ and jp.place_name != ''
<if test="place.placeName!=null and place.placeName!=''">
and jp.place_name like concat('%',#{place.placeName},'%')
</if>
@@ -51,7 +48,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 +59,11 @@
<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>
@@ -71,17 +73,119 @@
<if test="place.isPerfect==2">
and jp.status = 2
</if>
+ <if test="houseCodeList != null and houseCodeList.size()>0">
+ and jp.house_code in
+ <foreach collection="houseCodeList" item="houseCode" separator ="," open="(" close=")">
+ #{houseCode}
+ </foreach>
+ </if>
<if test="isAdministrator==2">
<choose>
<when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
- and jg.community_code in
+ and jg.grid_code in
<foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
#{code}
</foreach>
</when>
<otherwise>
- and jg.community_code in ('')
+ and jg.grid_code in ('')
</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,
+ jg.grid_name as gridName,
+ bus.`name` AS policeName,
+ bu.phone AS policePhone,
+ jda.address_name,
+ jpag.pcs_name deptName
+ from jczz_place jp
+ left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
+ left join jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
+ left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
+ left join blade_region br on br.code = jg.community_code
+ LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
+ LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
+ LEFT JOIN jczz_police_affairs_grid jpag on jpag.community_code= jg.community_code
+ LEFT JOIN jczz_doorplate_address jda on jda.address_code=jp.house_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.deptName!=null and place.deptName!=''">
+ and bd.dept_name like concat('%',#{place.deptName},'%')
+ </if>
+
+ <if test="place.policeName!=null and place.policeName!=''">
+ and bus.name like concat('%',#{place.policeName},'%')
+ </if>
+
+ <if test="place.nineType!=null and place.nineType!=''">
+ and jp.nine_type = #{place.nineType}
+ </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="houseCodeList != null and houseCodeList.size()>0">
+ and jp.house_code in
+ <foreach collection="houseCodeList" item="houseCode" separator ="," open="(" close=")">
+ #{houseCode}
+ </foreach>
+ </if>
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.grid_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
</choose>
</if>
order by jp.create_time desc,jp.id desc
@@ -92,11 +196,11 @@
SELECT jp.id,
jp.house_code houseCode,
jp.place_name AS NAME,
+ jp.is_nine AS isNine,
br.name neiName,
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
@@ -128,9 +232,32 @@
</update>
<!--查询场所详情数据-->
+ <!--查询场所详情数据-->
<select id="getDetail" resultMap="detailMap">
select
- jp.*,
+ jp.id,
+ jp.house_code,
+ 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_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.remark,
bu.real_name as username,bu.phone as phone,
jppl.id as plid,
jppl.place_id,
@@ -139,17 +266,17 @@
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 like concat('%',#{place.houseCode},'%')
</if>
<if test="place.id!=null">
and jp.id = #{place.id}
@@ -294,4 +421,197 @@
</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,
+ jg.grid_name as gridName,
+ bus.`name` AS policeName,
+ bu.phone AS policePhone,
+ jda.address_name,
+ jpag.pcs_name deptName
+ from jczz_place jp
+ left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
+ left join jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
+ left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
+ left join blade_region br on br.code = jg.community_code
+ LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
+ LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
+ LEFT JOIN jczz_police_affairs_grid jpag on jpag.community_code= jg.community_code
+ LEFT JOIN jczz_doorplate_address jda on jda.address_code=jp.house_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.deptName!=null and place.deptName!=''">
+ and bd.dept_name like concat('%',#{place.deptName},'%')
+ </if>
+
+ <if test="place.policeName!=null and place.policeName!=''">
+ and bus.name like concat('%',#{place.policeName},'%')
+ </if>
+
+ <if test="place.nineType!=null and place.nineType!=''">
+ and jp.nine_type = #{place.nineType}
+ </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="houseCodeList != null and houseCodeList.size()>0">
+ and jp.house_code in
+ <foreach collection="houseCodeList" item="houseCode" separator ="," open="(" close=")">
+ #{houseCode}
+ </foreach>
+ </if>
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.grid_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ </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="buildingCode" column="building_code" />
+ <result property="principalUserId" column="principal_user_id" />
+ <result property="principal" column="principal" />
+ <result property="principalIdCard" column="principal_id_card" />
+ <result property="principalPhone" column="principal_phone" />
+ <result property="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="gridCode" column="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" />
+ </resultMap>
+
+ <sql id="selectPlace">
+ select
+ id,
+ house_code,
+ building_code,
+ principal_user_id,
+ principal,
+ principal_id_card,
+ principal_phone,
+ place_name,
+ lng,
+ lat,
+ location,
+ image_urls,
+ grid_code,
+ source,
+ status,
+ is_scene,
+ is_nine,
+ nine_type,
+ is_front,
+ front_type,
+ create_user,
+ create_time,
+ update_user,
+ update_time,
+ remark,
+ is_deleted
+ from
+ jczz_place
+ </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
+ </select>
+
+ <!--比对两点间的距离是否在1km 范围内(和地址总表位置对比)-->
+ <select id="comparisonPosition" resultType="java.lang.Integer">
+ select count(1) from jczz_doorplate_address where 1=1
+ and (
+ 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
+ ) <= 1
+ and address_code = #{place.houseCode}
+ </select>
+
+
+ <!--比对两点间的距离是否在1km 范围内 (和采集的位置对比)-->
+ <select id="comparisonPositionNotHouseCode" resultType="java.lang.Boolean">
+ select (
+ 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
+ ) <= 1
+ </select>
+
</mapper>
--
Gitblit v1.9.3