From 7bcd0d2d7510cb2ba67099cd768e1b2b6d047dc2 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 22 Feb 2024 17:16:27 +0800
Subject: [PATCH] 投票人员查询优化
---
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml | 189 +++++++++++++++++++++++++++++++++++------------
1 files changed, 141 insertions(+), 48 deletions(-)
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index 597f649..b016394 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -28,8 +28,8 @@
left join jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
left join blade_region br on br.code = jg.community_code
- LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
- LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
+ LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
+ LEFT JOIN blade_user bus on bus.id = jpag.police_user_id
left join (
select a.* from jczz_place_poi_label a inner join
(
@@ -103,20 +103,17 @@
bu.real_name as username,bu.phone as phone,
br.town_name as townStreetName,br.name as neiName,
jpe.confirm_flag confirmFlag,
- jg.grid_name as gridName,
bus.`name` AS policeName,
- bu.phone AS policePhone,
- jda.address_name,
+ bus.phone AS policePhone,
+ jp.location as addressName,
jpag.pcs_name deptName
from jczz_place jp
+ left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
left join jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
- left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
- left join blade_region br on br.code = jg.community_code
- LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
- LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
- LEFT JOIN jczz_police_affairs_grid jpag on jpag.community_code= jg.community_code
- LEFT JOIN jczz_doorplate_address jda on jda.address_code=jp.house_code
+ LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
+ left join blade_region br on br.code = jpag.community_code
+ LEFT JOIN blade_user bus on bus.id = jpag.police_user_id
left join (
select a.* from jczz_place_poi_label a inner join
(
@@ -141,15 +138,24 @@
and br.town_name like concat('%',#{place.townStreetName},'%')
</if>
<if test="place.deptName!=null and place.deptName!=''">
- and bd.dept_name like concat('%',#{place.deptName},'%')
+ and jpag.pcs_name like concat('%',#{place.deptName},'%')
</if>
<if test="place.policeName!=null and place.policeName!=''">
and bus.name like concat('%',#{place.policeName},'%')
</if>
+ <if test="nineTypeList!=null and nineTypeList.size()>0">
+ and jp.nine_type in
+ <foreach collection="nineTypeList" separator="," open="(" close=")" item="nineType">
+ #{nineType}
+ </foreach>
+ </if>
+ <if test="place.isFront!=null and place.isFront!=''">
+ and jp.is_front = #{place.isFront}
+ </if>
- <if test="place.nineType!=null and place.nineType!=''">
- and jp.nine_type = #{place.nineType}
+ <if test="place.frontType!=null and place.frontType!=''">
+ and jp.front_type = #{place.frontType}
</if>
<if test="place.neiName!=null and place.neiName!=''">
@@ -172,20 +178,60 @@
<if test="place.isPerfect==2">
and jp.status = 2
</if>
- <if test="houseCodeList != null and houseCodeList.size()>0">
- and jp.house_code in
- <foreach collection="houseCodeList" item="houseCode" separator ="," open="(" close=")">
- #{houseCode}
- </foreach>
- </if>
<if test="isAdministrator==2">
<choose>
- <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
- and jg.grid_code in
- <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
- #{code}
- </foreach>
+ <when test="place.roleName != null and place.roleName != ''">
+ <if test="place.roleName=='wgy'">
+ <choose>
+ <when test="gridCodeList !=null and gridCodeList.size()>0">
+ and jp.grid_code in
+ <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jp.grid_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ <if test="place.roleName=='mj'">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jpag.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jpag.community_code in ('')
+ </otherwise>
+ </choose>
+ </if>
</when>
+ <otherwise>
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and
+ (
+ jg.grid_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ or
+ jpag.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ )
+ </when>
+ <otherwise>
+ and
+ (
+ jg.grid_code in ('') or jpag.community_code in in ('')
+ )
+ </otherwise>
+ </choose>
+ </otherwise>
</choose>
</if>
order by jp.create_time desc,jp.id desc
@@ -197,6 +243,7 @@
jp.house_code houseCode,
jp.place_name AS NAME,
jp.is_nine AS isNine,
+ jp.is_front AS isFront,
br.name neiName,
FALSE AS hasChildren
FROM jczz_place jp
@@ -431,20 +478,17 @@
bu.real_name as username,bu.phone as phone,
br.town_name as townStreetName,br.name as neiName,
jpe.confirm_flag confirmFlag,
- jg.grid_name as gridName,
bus.`name` AS policeName,
- bu.phone AS policePhone,
- jda.address_name,
+ bus.phone AS policePhone,
+ jp.location as addressName,
jpag.pcs_name deptName
from jczz_place jp
+ left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
left join jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
- left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
- left join blade_region br on br.code = jg.community_code
- LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
- LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
- LEFT JOIN jczz_police_affairs_grid jpag on jpag.community_code= jg.community_code
- LEFT JOIN jczz_doorplate_address jda on jda.address_code=jp.house_code
+ LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
+ left join blade_region br on br.code = jpag.community_code
+ LEFT JOIN blade_user bus on bus.id = jpag.police_user_id
left join (
select a.* from jczz_place_poi_label a inner join
(
@@ -469,15 +513,24 @@
and br.town_name like concat('%',#{place.townStreetName},'%')
</if>
<if test="place.deptName!=null and place.deptName!=''">
- and bd.dept_name like concat('%',#{place.deptName},'%')
+ and jpag.pcs_name like concat('%',#{place.deptName},'%')
</if>
<if test="place.policeName!=null and place.policeName!=''">
and bus.name like concat('%',#{place.policeName},'%')
</if>
+ <if test="nineTypeList!=null and nineTypeList.size()>0">
+ and jp.nine_type in
+ <foreach collection="nineTypeList" separator="," open="(" close=")" item="nineType">
+ #{nineType}
+ </foreach>
+ </if>
+ <if test="place.isFront!=null and place.isFront!=''">
+ and jp.is_front = #{place.isFront}
+ </if>
- <if test="place.nineType!=null and place.nineType!=''">
- and jp.nine_type = #{place.nineType}
+ <if test="place.frontType!=null and place.frontType!=''">
+ and jp.front_type = #{place.frontType}
</if>
<if test="place.neiName!=null and place.neiName!=''">
@@ -500,20 +553,60 @@
<if test="place.isPerfect==2">
and jp.status = 2
</if>
- <if test="houseCodeList != null and houseCodeList.size()>0">
- and jp.house_code in
- <foreach collection="houseCodeList" item="houseCode" separator ="," open="(" close=")">
- #{houseCode}
- </foreach>
- </if>
<if test="isAdministrator==2">
<choose>
- <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
- and jg.grid_code in
- <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
- #{code}
- </foreach>
+ <when test="place.roleName != null and place.roleName != ''">
+ <if test="place.roleName=='wgy'">
+ <choose>
+ <when test="gridCodeList !=null and gridCodeList.size()>0">
+ and jp.grid_code in
+ <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jp.grid_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ <if test="place.roleName=='mj'">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jpag.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jpag.community_code in ('')
+ </otherwise>
+ </choose>
+ </if>
</when>
+ <otherwise>
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and
+ (
+ jg.grid_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ or
+ jpag.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ )
+ </when>
+ <otherwise>
+ and
+ (
+ jg.grid_code in ('') or jpag.community_code in in ('')
+ )
+ </otherwise>
+ </choose>
+ </otherwise>
</choose>
</if>
order by jp.create_time desc,jp.id desc
--
Gitblit v1.9.3