From 861e9b1eb145094dff6d1caf3dba30d7ce0e11d7 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Sat, 02 Mar 2024 17:40:38 +0800
Subject: [PATCH] 房屋查询过滤

---
 src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml |   96 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 72 insertions(+), 24 deletions(-)

diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
index c7da4f1..c6629cd 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -114,26 +114,73 @@
         count( 1 )
         FROM
         jczz_place_ext jpe
-        LEFT JOIN jczz_place jp ON jp.id = jpe.place_id and jp.is_deleted = 0
-        LEFT JOIN jczz_doorplate_address jda ON locate(jda.address_code,jp.house_code)>0
+        LEFT JOIN jczz_place jp ON jpe.place_id = jp.id AND jp.is_deleted = 0 and jp.place_name != ''
+        LEFT JOIN jczz_grid jg ON jp.grid_code = jg.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 jczz_doorplate_address jda ON jp.house_code = jda.address_code
         <where>
-            <if test="confirmFlag != null">
-                and jpe.confirm_flag = #{confirmFlag}
+            <if test="placeExt.neiCode != null and placeExt.neiCode != ''">
+                and jda.nei_code = #{placeExt.neiCode}
             </if>
-            <if test="userId != null">
-                AND jp.house_code IN (
-                SELECT
-                jgr.house_code
-                FROM
-                jczz_grid_range jgr
-                LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
-                LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
-                WHERE
-                jg.is_deleted = 0
-                <if test="neiCode != null and neiCode != ''">
-                    and jg.community_code = #{neiCode}
-                </if>
-                AND jgm.user_id = #{userId} )
+            <if test="placeExt.confirmFlag != null">
+                and jpe.confirm_flag = #{placeExt.confirmFlag}
+            </if>
+            <if test="isAdministrator==2">
+                <choose>
+                    <when test="placeExt.roleName != null and placeExt.roleName != ''">
+                        <if test="placeExt.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="placeExt.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>
             and jpe.is_deleted = 0
         </where>
@@ -143,13 +190,14 @@
 
     <select id="getDetail" resultType="org.springblade.modules.place.vo.PlaceExtVO">
         select jpe.*,
-        jp.place_name as placeName,
-        jp.lng,
-        jp.lat,
-        jp.location
+               jp.place_name as placeName,
+               jp.lng,
+               jp.lat,
+               jp.location
         from jczz_place_ext jpe
-        left join jczz_place jp on jpe.place_id = jp.id and jp.is_deleted = 0
-        where jpe.is_deleted = 0 and jpe.place_id = #{placeExt.placeId}
+                 left join jczz_place jp on jpe.place_id = jp.id and jp.is_deleted = 0
+        where jpe.is_deleted = 0
+          and jpe.place_id = #{placeExt.placeId}
     </select>
 
 

--
Gitblit v1.9.3