From ad2ec97fe0c60eee4bb7c8cdacff7c876f280ea7 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 08 Jan 2024 11:30:18 +0800
Subject: [PATCH] 公安安全监管

---
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml |  204 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 199 insertions(+), 5 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 e8d3fda..d34ab7d 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -2,16 +2,210 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.springblade.modules.place.mapper.PlaceMapper">
 
+    <!--详情map-->
+    <resultMap id="detailMap" type="org.springblade.modules.place.vo.PlaceVO" autoMapping="true">
+        <id property="id" column="id"/>
+        <collection property="placePoiLabelVOList" javaType="java.util.List" ofType="org.springblade.modules.place.vo.PlacePoiLabelVO"
+        autoMapping="true">
+            <id property="id" column="plid"/>
+        </collection>
+    </resultMap>
+
     <!--自定义分页查询-->
     <select id="selectPlacePage" resultType="org.springblade.modules.place.vo.PlaceVO">
-        select * from jczz_place where is_deleted = 0
+        select
+        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
+        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 (
+        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
+        <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>
+        </if>
+        <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 = #{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.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
+            )
+        </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 != ""
+        </if>
+        <if test="place.regionCode != null and place.regionCode !='' ">
+            and jg.community_code like concat('%',#{place.regionCode},'%')
+        </if>
+        order by jp.create_time desc,jp.id desc
     </select>
 
     <!--查询场所集合信息-->
-    <select id="selectPlaceNodeList" resultType="org.springblade.common.node.TreeNode" >
-        select id,place_name as name,false as hasChildren from jczz_place
-        where 1=1
-        and principal = #{userId}
+    <select id="selectPlaceNodeList" resultType="org.springblade.common.node.TreeStringNode" >
+        SELECT jp.id,
+               jp.house_code      houseCode,
+               jp.place_name AS   NAME,
+               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 blade_region br on br.code = jg.community_code
+        where 1 = 1
+          and jp.is_deleted = 0
+          and jp.principal_user_id = #{userId}
     </select>
 
+
+    <!--插入用户标签-->
+    <insert id="saveUserLabel">
+        insert into jczz_user_house_label(user_id,label_id,lable_type)
+        values(#{userId},#{labelId},1)
+    </insert>
+
+    <!--查询所有的场所(手机号不为空)-->
+    <select id="getPlaceNotNullPhone" resultType="org.springblade.modules.place.vo.PlaceVO">
+        select link_person as username,link_tel as phone,std_id as houseCode from wgccp_place
+        WHERE link_person !='' and link_tel!=''
+    </select>
+
+    <!--查询所有的场所-->
+    <select id="getAllHistoryPlace" resultType="org.springblade.modules.place.vo.PlaceVO">
+        select place_id as id,third_level_id as label,std_id as houseCode from wgccp_place
+    </select>
+
+    <!--更新场所信息-->
+    <update id="updatePlaceEntity">
+        update jczz_place set principal_user_id = #{place.principalUserId}
+        WHERE house_code = #{place.houseCode}
+    </update>
+
+    <!--查询场所详情数据-->
+    <select id="getDetail" resultMap="detailMap">
+        select
+        jp.*,
+        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
+        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 blade_region br on br.code = jg.community_code
+        where jp.is_deleted = 0
+        <if test="place.houseCode!=null and place.houseCode!=''">
+            and jp.house_code = #{place.houseCode}
+        </if>
+        <if test="place.id!=null">
+            and jp.id = #{place.id}
+        </if>
+    </select>
+
+    <!--判断商超是否导入-->
+    <select id="getPlaceAndRelInfo" resultType="org.springblade.modules.place.entity.PlaceEntity">
+        select
+        jp.*
+        from jczz_place jp
+        left join jczz_place_rel jpr on jpr.place_id = jp.id and jpr.is_deleted = 0
+        where jp.is_deleted = 0
+        <if test="place.buildingName!=null and place.buildingName!=''">
+            and jpr.building_name = #{place.buildingName}
+        </if>
+        <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>
+
+    <!--查询出有用户id 的场所-->
+    <select id="getHasUserIdPlaceList" resultType="org.springblade.modules.place.entity.PlaceEntity">
+        select
+        jp.*
+        from jczz_place jp
+        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>
 </mapper>

--
Gitblit v1.9.3