From 5b33d886cb6da7a8b0f66f0c0bb0a3d0b2b19d6a Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Mon, 15 Apr 2024 21:21:01 +0800
Subject: [PATCH] 报事报修查询优化
---
src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java | 3 +
src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java | 4 +
src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java | 7 ++-
src/main/java/org/springblade/modules/task/service/ITaskReportForRepairsService.java | 6 ++
src/main/java/org/springblade/modules/task/controller/TaskReportForRepairsController.java | 2
src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml | 76 ++++++++++++++++----------------------
6 files changed, 47 insertions(+), 51 deletions(-)
diff --git a/src/main/java/org/springblade/modules/task/controller/TaskReportForRepairsController.java b/src/main/java/org/springblade/modules/task/controller/TaskReportForRepairsController.java
index d452fe4..70ab90e 100644
--- a/src/main/java/org/springblade/modules/task/controller/TaskReportForRepairsController.java
+++ b/src/main/java/org/springblade/modules/task/controller/TaskReportForRepairsController.java
@@ -169,7 +169,7 @@
@ApiLog("w网格员查询报事报修统计")
@ApiOperation(value = "w网格员查询报事报修统计" )
public R getStatistics() {
- return R.data(taskReportForRepairsService.getStatistics(AuthUtil.getUserId(),""));
+ return R.data(null);
}
/**
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java
index 0632e64..77c961d 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java
@@ -60,7 +60,9 @@
@Param("regionChildCodesList") List<String> regionChildCodesList,
@Param("isAdministrator") Integer isAdministrator);
- Integer getStatistics(Long userId, String neiCode, String roleName);
+ Integer getStatistics(Long userId, String neiCode, String roleName,@Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator,
+ @Param("gridCodeList") List<String> gridCodeList);
/**
* 更新状态--临时接口
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 704caba..ec82bde 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -353,6 +353,7 @@
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 )
+ LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
<where>
and jtr.is_deleted = 0
and jtr.confirm_flag = 1
@@ -360,50 +361,37 @@
and jg.community_code = #{neiCode}
</if>
- <if test="userId != null and roleName == 'wgy'">
- AND (
- jp.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}
- )
- 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>
-
- <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 test="roleName != null and roleName != ''">
+ <if test="roleName=='wgy'">
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="gridCodeList !=null and gridCodeList.size()>0">
+ and jg.grid_code in
+ <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.grid_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ </if>
+ <if test="roleName=='mj'">
+ <if test="isAdministrator==2">
+ <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>
+ </if>
</if>
</where>
diff --git a/src/main/java/org/springblade/modules/task/service/ITaskReportForRepairsService.java b/src/main/java/org/springblade/modules/task/service/ITaskReportForRepairsService.java
index 86f9e6c..29ea88d 100644
--- a/src/main/java/org/springblade/modules/task/service/ITaskReportForRepairsService.java
+++ b/src/main/java/org/springblade/modules/task/service/ITaskReportForRepairsService.java
@@ -23,6 +23,8 @@
import org.springblade.modules.task.vo.TaskReportForRepairsVO;
import org.springblade.modules.task.vo.TaskReportStatistics;
+import java.util.List;
+
/**
* 报事报修任务表 服务类
*
@@ -68,7 +70,9 @@
*/
boolean checkReportForRepairs(TaskReportForRepairsEntity taskReportForRepairs);
- Integer getStatistics(Long userId,String neiCode);
+ Integer getStatistics(Long userId,String neiCode, List<String> regionChildCodesList,
+ Integer isAdministrator,
+ List<String> gridCodeList);
/**
* 更新状态--临时接口
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
index 2efcf77..2db5a64 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
@@ -18,7 +18,6 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import org.springblade.common.cache.SysCache;
import org.springblade.common.param.CommonParamSet;
import org.springblade.common.utils.RoleUtil;
import org.springblade.common.utils.SpringUtils;
@@ -217,9 +216,11 @@
}
@Override
- public Integer getStatistics(Long userId, String neiCode) {
+ public Integer getStatistics(Long userId, String neiCode, List<String> regionChildCodesList,
+ Integer isAdministrator,
+ List<String> gridCodeList) {
String roleName = SpringUtils.getRequestParam("roleName");
- return baseMapper.getStatistics(userId, neiCode,roleName);
+ return baseMapper.getStatistics(userId, neiCode,roleName, regionChildCodesList,isAdministrator, gridCodeList);
}
/**
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
index 71d36c3..3846c51 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
@@ -252,7 +252,8 @@
Integer qbhs = baseMapper.selectTaskCount(taskVO, commonParamSet.getRegionChildCodesList(),
commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList());
// 报事报修
- Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode);
+ Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode,commonParamSet.getRegionChildCodesList(),
+ commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList());
// 住户审核
Integer zhsh = iHouseholdService.statistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode, 0);
// 出租审核
--
Gitblit v1.9.3