From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送

---
 src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml |  149 ++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 126 insertions(+), 23 deletions(-)

diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
index 6c72b46..3a6433e 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
@@ -2,38 +2,32 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.springblade.modules.grid.mapper.GridWorkLogMapper">
 
-    <!-- 通用查询映射结果 -->
-    <resultMap id="gridWorkLogResultMap" type="org.springblade.modules.grid.entity.GridWorkLogEntity">
-        <result column="id" property="id"/>
-        <result column="house_code" property="houseCode"/>
-        <result column="name" property="name"/>
-        <result column="phone" property="phone"/>
-        <result column="context" property="context"/>
-        <result column="url" property="url"/>
-        <result column="create_time" property="createTime"/>
-        <result column="create_user" property="createUser"/>
-        <result column="is_deleted" property="isDeleted"/>
-    </resultMap>
-
     <!--自定义分页查询-->
     <select id="selectGridWorkLogPage" resultType="org.springblade.modules.grid.vo.GridWorkLogVO">
         select
         jgwl.*,
         jh.name,jh.phone_number as phone,
-        if(jda.id is not null,jda.address_name,jh.current_address) as address,
-        jda.town_street_name AS townName,
-        jda.nei_name AS neiName,
+        jh.current_address AS address,
+        br.town_name AS townName,
+        br.name AS neiName,
         jg.grid_name,
         bu.real_name as createUserName
         from jczz_grid_work_log jgwl
         left join jczz_household jh on jgwl.household_id = jh.id and jh.is_deleted = 0
-        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
-        LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
-        LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
+        left join jczz_house jhs on jhs.house_code = jh.house_code and jhs.is_deleted = 0
+        LEFT JOIN jczz_grid jg on jhs.grid_code = jg.grid_code and jg.is_deleted = 0
         LEFT JOIN blade_user bu on bu.id = jgwl.create_user and bu.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag on jhs.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
+        left join blade_region br on br.code = jpag.community_code
         where jgwl.is_deleted = 0
         <if test="gridWorkLog.type !=null">
             and jgwl.type = #{gridWorkLog.type}
+        </if>
+        <if test="gridWorkLog.source !=null">
+            and jgwl.source = #{gridWorkLog.source}
+        </if>
+        <if test="gridWorkLog.status !=null">
+            and jgwl.status = #{gridWorkLog.status}
         </if>
         <if test="gridWorkLog.personType !=null">
             and jgwl.person_type = #{gridWorkLog.personType}
@@ -41,19 +35,128 @@
         <if test="gridWorkLog.name !=null and gridWorkLog.name!=''">
             and jh.name like concat('%',#{gridWorkLog.name},'%')
         </if>
+        <if test="gridWorkLog.houseCode !=null and gridWorkLog.houseCode!=''">
+            and jh.house_code = #{gridWorkLog.houseCode}
+        </if>
         <if test="gridWorkLog.phone !=null and gridWorkLog.phone!=''">
             and jh.phone_number like concat('%',#{gridWorkLog.phone},'%')
         </if>
         <if test="gridWorkLog.townName!=null and gridWorkLog.townName!=''">
-            and jda.town_street_name like concat('%',#{gridWorkLog.townName},'%')
+            and br.town_name like concat('%',#{gridWorkLog.townName},'%')
         </if>
         <if test="gridWorkLog.neiName!=null and gridWorkLog.neiName!=''">
-            and jda.nei_name like concat('%',#{gridWorkLog.neiName},'%')
+            and br.name  like concat('%',#{gridWorkLog.neiName},'%')
         </if>
-        <if test="gridWorkLog.regionCode!=null and gridWorkLog.regionCode!=''">
-            and jg.community_code like concat('%',#{gridWorkLog.regionCode},'%')
+        <if test="gridWorkLog.gridId !=null">
+            and jg.id = #{gridWorkLog.gridId}
+        </if>
+        <if test="isAdministrator==2">
+            <choose>
+                <when test="gridWorkLog.roleName != null and gridWorkLog.roleName != ''">
+                    <if test="gridWorkLog.roleName=='wgy'">
+                        <choose>
+                            <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                and jhs.grid_code in
+                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jhs.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                    <if test="gridWorkLog.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>
+        order by jgwl.id desc
+    </select>
+
+    <!--走访日志数量统计-->
+    <select id="getGridWorkCountHandleCount" resultType="java.lang.Integer">
+        select count(*) from jczz_grid_work_log jgwl
+        left join jczz_household jh on jgwl.household_id = jh.id and jh.is_deleted = 0
+        left join jczz_house jhs on jhs.house_code=jh.house_code and jhs.is_deleted = 0
+        where jgwl.is_deleted = 0
+        <if test="status!=null">
+            and (jgwl.status = #{status} or jgwl.status = 4)
+        </if>
+        <if test="gridCode!=null and gridCode!=''">
+            and jhs.grid_code = #{gridCode}
         </if>
     </select>
 
 
+    <select id="getDetail" resultType="org.springblade.modules.grid.vo.GridWorkLogVO">
+
+        SELECT
+        jgwl.id,
+        jgwl.type,
+        jgwl.person_type,
+        jgwl.household_id,
+        jgwl.context,
+        jgwl.url,
+        jgwl.work_time,
+        jgwl.source,
+        jgwl.status,
+        jgwl.create_time,
+        jgwl.create_user,
+        jgwl.is_deleted,
+        jl.label_name
+        FROM
+        jczz_grid_work_log jgwl
+        LEFT JOIN jczz_label jl ON jgwl.person_type = jl.id
+        <where>
+            <if test="id != null ">and jgwl.id = #{id}</if>
+            <if test="type != null ">and jgwl.type = #{type}</if>
+            <if test="personType != null ">and jgwl.person_type = #{personType}</if>
+            <if test="householdId != null ">and jgwl.household_id = #{householdId}</if>
+            <if test="context != null  and context != ''">and jgwl.context = #{context}</if>
+            <if test="url != null  and url != ''">and jgwl.url = #{url}</if>
+            <if test="workTime != null ">and jgwl.work_time = #{workTime}</if>
+            <if test="source != null ">and jgwl.source = #{source}</if>
+            <if test="status != null ">and jgwl.status = #{status}</if>
+            <if test="createTime != null ">and jgwl.create_time = #{createTime}</if>
+            <if test="createUser != null ">and jgwl.create_user = #{createUser}</if>
+            <if test="isDeleted != null ">and jgwl.is_deleted = #{isDeleted}</if>
+        </where>
+    </select>
+
 </mapper>

--
Gitblit v1.9.3