From c10d6358b9f014375a13821465bc978d0c0da22e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 29 May 2024 17:17:08 +0800
Subject: [PATCH] 通过E呼即办数据统计

---
 src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml |  229 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 189 insertions(+), 40 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 c8e75b6..5e94465 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -12,36 +12,92 @@
 
     <!--自定义分页查询-->
     <select id="selectPlaceExtPage" resultType="org.springblade.modules.place.vo.PlaceExtVO">
-        select jpe.*,jp.place_name as placeName 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
+        SELECT
+        jpe.*,
+        jp.place_name AS placeName
+        FROM
+        jczz_place_ext jpe
+        LEFT JOIN jczz_place jp ON jpe.place_id = jp.id AND jp.is_deleted = 0
+        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
+        WHERE jpe.is_deleted = 0
+        and jp.place_name != ''
+        <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 ('')
+                            )
+                        </otherwise>
+                    </choose>
+                </otherwise>
+            </choose>
+        </if>
         <if test="placeExt.placeName != null and placeExt.placeName != ''">
             and jp.place_name like concat('%',#{placeExt.placeName},'%')
         </if>
+        <if test="placeExt.communityCode != null and placeExt.communityCode != ''">
+            and jpag.community_code like concat('%',#{placeExt.communityCode},'%')
+        </if>
+        <if test="placeExt.placeId != null">
+            and jp.id = #{placeExt.placeId}
+        </if>
+        <if test="placeExt.isApp != null">
+            and jpe.confirm_flag != 4
+        </if>
         <if test="placeExt.houseCode != null and placeExt.houseCode != ''">
-            and jp.house_code = #{placeExt.houseCode}
+            and jp.house_code like concat('%',#{placeExt.houseCode},'%')
         </if>
         <if test="placeExt.confirmFlag != null">
             and jpe.confirm_flag = #{placeExt.confirmFlag}
         </if>
-        <if test="placeExt.roleName!=null and placeExt.roleName!='' and placeExt.createUser!=null">
-            <choose>
-                <when test="placeExt.roleName=='网格员'">
-                    and
-                    (
-                    jp.create_user = #{placeExt.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 = #{placeExt.createUser}
-                </otherwise>
-            </choose>
+        <if test="placeExt.startTime != null and placeExt.startTime != '' and placeExt.endTime != null and placeExt.endTime != '' ">
+            AND jpe.create_time BETWEEN #{placeExt.startTime} and #{placeExt.endTime}
         </if>
         order by jpe.create_time desc,jpe.id desc
     </select>
@@ -52,26 +108,74 @@
         count( 1 )
         FROM
         jczz_place_ext jpe
-        LEFT JOIN jczz_place jp ON jp.id = jpe.place_id
+        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 jpag.community_code like concat('%',#{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 ('')
+                                )
+                            </otherwise>
+                        </choose>
+                    </otherwise>
+                </choose>
             </if>
             and jpe.is_deleted = 0
         </where>
@@ -80,12 +184,57 @@
     </select>
 
     <select id="getDetail" resultType="org.springblade.modules.place.vo.PlaceExtVO">
-        select jpe.*, jp.place_name as placeName
+        select jpe.*,
+               jp.place_name as placeName,
+               jp.lng,
+               jp.lat,
+               jp.location,
+               jppl.poi_code
         from jczz_place_ext jpe
                  left join jczz_place jp on jpe.place_id = jp.id and jp.is_deleted = 0
+        left join  jczz_place_poi_label jppl on jppl.place_id = jp.id and jppl.type = 3
         where jpe.is_deleted = 0
           and jpe.place_id = #{placeExt.placeId}
     </select>
 
+    <resultMap type="org.springblade.modules.place.dto.PlaceExtDTO" id="JczzPlaceExtDTOResult">
+        <result property="id"    column="id"    />
+        <result property="placeId"    column="place_id"    />
+        <result property="imageUrls"    column="image_urls"    />
+        <result property="legalPerson"    column="legal_person"    />
+        <result property="legalTel"    column="legal_tel"    />
+        <result property="planImageUrls"    column="plan_image_urls"    />
+        <result property="confirmUserId"    column="confirm_user_id"    />
+        <result property="confirmFlag"    column="confirm_flag"    />
+        <result property="confirmTime"    column="confirm_time"    />
+        <result property="confirmNotion"    column="confirm_notion"    />
+        <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="isDeleted"    column="is_deleted"    />
+    </resultMap>
+
+    <sql id="selectJczzPlaceExt">
+        select
+            id,
+            place_id,
+            image_urls,
+            legal_person,
+            legal_tel,
+            plan_image_urls,
+            confirm_user_id,
+            confirm_flag,
+            confirm_time,
+            confirm_notion,
+            create_user,
+            create_time,
+            update_user,
+            update_time,
+            is_deleted
+        from
+            jczz_place_ext
+    </sql>
+
 
 </mapper>

--
Gitblit v1.9.3