From bdfb1bfaf5dc5d7318c632fcc6fdf3ffacbd075f Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Mon, 15 Apr 2024 17:21:29 +0800
Subject: [PATCH] 社区管理员查询轮播图+报事报修查询优化
---
src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml | 127 ++++++++++++++++++++++++++++++------------
1 files changed, 90 insertions(+), 37 deletions(-)
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
index 65b29b2..704caba 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -41,6 +41,7 @@
<result property="lat" column="lat"/>
<result property="address" column="address"/>
<result property="viewType" column="view_type"/>
+ <result property="houseFlag" column="house_flag"/>
<collection property="taskRepairStepList" column="id" select="selectTaskRepairStepList"
@@ -122,7 +123,8 @@
lng,
lat,
address,
- view_type
+ view_type,
+ house_flag
from jczz_task_report_for_repairs
</sql>
@@ -152,6 +154,7 @@
jtrfr.lat,
jtrfr.address,
jtrfr.view_type,
+ jtrfr.house_flag,
br.town_name streetName,
jg.grid_name,
jda.aoi_name,
@@ -162,9 +165,14 @@
LEFT JOIN jczz_house jh on jh.house_code=jtrfr.address_code
left join jczz_grid jg on jg.grid_code = jh.grid_code and jg.is_deleted = 0
left join blade_region br on br.code = jg.community_code
+ LEFT JOIN jczz_place jp on jtrfr.address_code = jp.house_code and jp.is_deleted = 0
where jtrfr.is_deleted = 0
<if test="vo.createUser != null and vo.createUser != ''">
AND jtrfr.create_user = #{vo.createUser}
+ </if>
+
+ <if test="vo.houseCode != null and vo.houseCode != ''">
+ and jtrfr.address_code = #{vo.houseCode}
</if>
<if test="vo.streetName != null and vo.streetName != ''">
@@ -211,33 +219,56 @@
<!-- 物业和居民 -->
<if test="vo.roleType !=null and (vo.roleType == 'wy' or vo.roleType == 'inhabitant')">
<if test="aoiCodeList!=null and aoiCodeList.size()>0">
- and jda.aoi_code in
+ and (
+ jda.aoi_code in
<foreach collection="aoiCodeList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
+ or
+ jp.aoi_code in
+ <foreach collection="aoiCodeList" item="item" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ )
</if>
<if test="vo.roleType == 'wy' and vo.confirmUserId != null ">
- and jtrfr.confirm_user_id = #{vo.confirmUserId}
+ or jtrfr.confirm_user_id = #{vo.confirmUserId}
</if>
</if>
- <!-- 网格员及其他 -->
- <if test="vo.roleType ==null">
+ <!-- 其他 -->
+ <if test="vo.roleType ==null and vo.roleName !='wgy' ">
<choose>
<when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
- and jg.grid_code in
+ and (
+ jg.grid_code in
<foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
#{code}
</foreach>
+ or
+ jp.grid_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ )
</when>
</choose>
-
+ </if>
+ <!-- 网格员 -->
+ <if test="vo.roleName =='wgy' ">
<choose>
<when test="gridCodeList !=null and gridCodeList.size()>0">
- and jg.grid_code in
+ and (
+ jg.grid_code in
<foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
#{code}
</foreach>
+ or
+ jp.grid_code in
+ <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ )
</when>
<otherwise>
and jg.grid_code in ('')
@@ -245,9 +276,8 @@
</choose>
<if test="vo.confirmUserId != null ">
- and jtrfr.confirm_user_id = #{vo.confirmUserId}
+ or jtrfr.confirm_user_id = #{vo.confirmUserId}
</if>
-
</if>
</if>
ORDER BY jtrfr.create_time DESC
@@ -311,19 +341,7 @@
<if test="houseCode != null and houseCode != ''">
and jtrfr.address_code = #{houseCode}
</if>
- <if test="isAdministrator==2">
- <choose>
- <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
- and jda.nei_code in
- <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
- #{code}
- </foreach>
- </when>
- <otherwise>
- and jda.nei_code in ('')
- </otherwise>
- </choose>
- </if>
+
</select>
@@ -332,34 +350,69 @@
count( 1 )
FROM
jczz_task_report_for_repairs jtr
- LEFT JOIN jczz_doorplate_address jda ON jtr.address_code = jda.address_code
+ LEFT JOIN jczz_house jh ON jh.house_code = jtr.address_code
+ LEFT JOIN jczz_place jp ON jtr.address_code = jp.house_code
+ LEFT JOIN jczz_grid jg on (jh.grid_code = jg.grid_code or jp.grid_code = jg.grid_code )
<where>
-
- <if test="neiCode != null and neiCode != ''">
- and jda.nei_code = #{neiCode}
+ and jtr.is_deleted = 0
+ and jtr.confirm_flag = 1
+ <if test="neiCode !=null and neiCode !=''">
+ and jg.community_code = #{neiCode}
</if>
- <if test="userId != null">
- AND jtr.address_code IN (
+
+ <if test="userId != null and roleName == 'wgy'">
+ AND (
+ jp.grid_code IN (
SELECT
- jgr.house_code
+ jg.grid_code
FROM
- jczz_grid_range jgr
- LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
+ jczz_grid jg
LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
WHERE
jg.is_deleted = 0
- AND jgm.user_id = #{userId} )
+ AND jgm.user_id = #{userId}
+ )
+ OR jh.grid_code IN (
+ SELECT
+ jg.grid_code
+ FROM
+ jczz_grid jg
+ LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
+ WHERE
+ jg.is_deleted = 0
+ AND jgm.user_id = #{userId}
+ ))
</if>
- and jtr.is_deleted = 0
- and jtr.confirm_flag = 1
- </where>
+ <if test="userId != null and roleName == 'mj'">
+ AND (
+ jp.jw_grid_code IN (
+ SELECT
+ jpag.jw_grid_code
+ FROM
+ jczz_police_affairs_grid jpag
+ WHERE
+ jpag.is_deleted = 0
+ AND jpag.police_user_id = #{userId}
+ )
+ OR jh.jw_grid_code IN (
+ SELECT
+ jpag.jw_grid_code
+ FROM
+ jczz_police_affairs_grid jpag
+ WHERE
+ jpag.is_deleted = 0
+ AND jpag.police_user_id = #{userId}
+ ))
+ </if>
+ </where>
</select>
<!--更新状态-临时接口-->
<update id="updateView">
- update jczz_task_report_for_repairs set view_type = 1
+ update jczz_task_report_for_repairs
+ set view_type = 1
</update>
--
Gitblit v1.9.3