From 77fea47f1fa683f9a0356df3d2328e2bb68b28cf Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 18 Jan 2024 17:56:22 +0800
Subject: [PATCH] 数据过滤调整
---
src/main/java/org/springblade/modules/task/service/impl/ECallEventServiceImpl.java | 12
src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.java | 5
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java | 5
src/main/java/org/springblade/modules/system/mapper/RegionMapper.java | 3
src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.xml | 12 +
src/main/java/org/springblade/modules/task/mapper/EcCallEventMapper.java | 5
src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java | 4
src/main/java/org/springblade/modules/grid/mapper/GridMapper.java | 5
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml | 14 +
src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java | 12
src/main/java/org/springblade/modules/task/mapper/TaskMapper.java | 11 +
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml | 14 +
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java | 4
src/main/java/org/springblade/modules/grid/service/impl/GridPatrolRecordServiceImpl.java | 8
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java | 12
src/main/java/org/springblade/modules/community/mapper/CommunityMapper.java | 5
src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml | 14 +
src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml | 14 +
src/main/java/org/springblade/modules/house/mapper/HouseMapper.java | 5
src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.java | 5
src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml | 27 ++
src/main/java/org/springblade/modules/grid/service/impl/GridWorkLogServiceImpl.java | 13 -
src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java | 12
src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java | 14 +
src/main/java/org/springblade/common/cache/SysCache.java | 52 +++++
src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java | 12
src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java | 15 -
src/main/java/org/springblade/modules/district/mapper/DistrictMapper.java | 5
src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java | 19 -
src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java | 12
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java | 12
src/main/java/org/springblade/modules/system/service/IRegionService.java | 7
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java | 4
src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml | 14 +
src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.java | 4
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml | 14 +
src/main/java/org/springblade/modules/community/mapper/CommunityMapper.xml | 16 +
src/main/java/org/springblade/modules/district/mapper/DistrictMapper.xml | 16 +
src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java | 9
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml | 14 +
src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml | 6
src/main/java/org/springblade/modules/task/mapper/EcCallEventMapper.xml | 14 +
src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java | 9
src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml | 14 +
44 files changed, 355 insertions(+), 148 deletions(-)
diff --git a/src/main/java/org/springblade/common/cache/SysCache.java b/src/main/java/org/springblade/common/cache/SysCache.java
index 1c64e0d..c98fa56 100644
--- a/src/main/java/org/springblade/common/cache/SysCache.java
+++ b/src/main/java/org/springblade/common/cache/SysCache.java
@@ -16,7 +16,9 @@
*/
package org.springblade.common.cache;
+import org.apache.logging.log4j.util.Strings;
import org.springblade.core.cache.utils.CacheUtil;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.modules.system.entity.*;
@@ -42,6 +44,8 @@
private static final String DEPT_NAMES_ID = "deptNames:id:";
private static final String DEPT_CHILD_ID = "deptChild:id:";
private static final String DEPT_CHILDIDS_ID = "deptChildIds:id:";
+ private static final String REGION_CHILD_CODE = "regionChild:code:";
+ private static final String REGION_CHILDCODES_CODE = "regionChildCodes:code:";
private static final String POST_ID = "post:id:";
private static final String POST_NAME = "post:name:";
private static final String POST_NAME_FUZZY = "post:nameFuzzy:";
@@ -61,6 +65,7 @@
private static final IDeptService deptService;
private static final IPostService postService;
private static final IRoleService roleService;
+ private static final IRegionService regionService;
private static final ITenantService tenantService;
private static final ITenantPackageService tenantPackageService;
@@ -69,6 +74,7 @@
deptService = SpringUtil.getBean(IDeptService.class);
postService = SpringUtil.getBean(IPostService.class);
roleService = SpringUtil.getBean(IRoleService.class);
+ regionService = SpringUtil.getBean(IRegionService.class);
tenantService = SpringUtil.getBean(ITenantService.class);
tenantPackageService = SpringUtil.getBean(ITenantPackageService.class);
}
@@ -314,4 +320,50 @@
return CacheUtil.get(SYS_CACHE, TENANT_PACKAGE_ID, tenantId, () -> tenantPackageService.getById(tenant.getPackageId()), Boolean.FALSE);
}
+ /**
+ * 获取下级所有区域code
+ *
+ * @return regionCode
+ */
+ public static List<String> getRegionChildCodesByDeptId(String deptId) {
+ List<String> list = new ArrayList<>();
+ // 查询对应的区域编号code
+ Dept dept = deptService.getById(deptId);
+ if (null!=dept && !Strings.isBlank(dept.getRegionCode()) && !AuthUtil.isAdministrator()){
+ list = getRegionChildCodes(dept.getRegionCode());
+ }
+ return list;
+ }
+
+ /**
+ * 获取下级所有区域code
+ *
+ * @return regionCode
+ */
+ public static List<String> getRegionChildCodes(String regionCode) {
+ if (regionCode == null) {
+ return null;
+ }
+ List<String> regionCodeList = CacheUtil.get(SYS_CACHE, REGION_CHILDCODES_CODE, regionCode, List.class);
+ if (regionCodeList == null) {
+ regionCodeList = new ArrayList<>();
+ List<Region> deptChild = getRegionChild(regionCode);
+ if (deptChild != null) {
+ List<String> collect = deptChild.stream().map(Region::getCode).collect(Collectors.toList());
+ regionCodeList.addAll(collect);
+ }
+// regionCodeList.add(regionCode);
+ CacheUtil.put(SYS_CACHE, REGION_CHILDCODES_CODE, regionCode, regionCodeList);
+ }
+ return regionCodeList;
+ }
+
+ /**
+ * 获取下级区域
+ * @param regionCode
+ * @return
+ */
+ private static List<Region> getRegionChild(String regionCode) {
+ return CacheUtil.get(SYS_CACHE, REGION_CHILD_CODE, regionCode, () -> regionService.getRegionChild(regionCode));
+ }
}
diff --git a/src/main/java/org/springblade/modules/community/mapper/CommunityMapper.java b/src/main/java/org/springblade/modules/community/mapper/CommunityMapper.java
index efd3f61..bef8d61 100644
--- a/src/main/java/org/springblade/modules/community/mapper/CommunityMapper.java
+++ b/src/main/java/org/springblade/modules/community/mapper/CommunityMapper.java
@@ -38,7 +38,10 @@
* @param community
* @return
*/
- List<CommunityVO> selectCommunityPage(IPage page,@Param("community") CommunityVO community);
+ List<CommunityVO> selectCommunityPage(IPage page,
+ @Param("community") CommunityVO community,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
/**
* 查询个人社区编号集合
diff --git a/src/main/java/org/springblade/modules/community/mapper/CommunityMapper.xml b/src/main/java/org/springblade/modules/community/mapper/CommunityMapper.xml
index 7d14b62..852a534 100644
--- a/src/main/java/org/springblade/modules/community/mapper/CommunityMapper.xml
+++ b/src/main/java/org/springblade/modules/community/mapper/CommunityMapper.xml
@@ -38,12 +38,22 @@
<if test="community.streetCode !=null and community.streetCode!=''">
and jc.street_code like concat('%',#{community.streetCode},'%')
</if>
- <if test="community.regionCode !=null and community.regionCode !=''">
- and jc.code like concat('%',#{community.regionCode},'%')
- </if>
<if test="community.townName !=null and community.townName !=''">
and br.town_name like concat('%',#{community.townName},'%')
</if>
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jc.code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jc.code in ('')
+ </otherwise>
+ </choose>
+ </if>
</select>
<!--自定义分页列表查询-->
diff --git a/src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java b/src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java
index a93bfd4..71bb2db 100644
--- a/src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java
+++ b/src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java
@@ -17,6 +17,7 @@
package org.springblade.modules.community.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.cache.SysCache;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.community.entity.CommunityEntity;
import org.springblade.modules.community.vo.CommunityVO;
@@ -39,16 +40,11 @@
@Service
public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, CommunityEntity> implements ICommunityService {
- @Autowired
- private IDeptService deptService;
-
@Override
public IPage<CommunityVO> selectCommunityPage(IPage<CommunityVO> page, CommunityVO community) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null!=dept){
- community.setRegionCode(dept.getRegionCode());
- }
- return page.setRecords(baseMapper.selectCommunityPage(page, community));
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ return page.setRecords(baseMapper.selectCommunityPage(page, community,regionChildCodesList,isAdministrator));
}
/**
diff --git a/src/main/java/org/springblade/modules/district/mapper/DistrictMapper.java b/src/main/java/org/springblade/modules/district/mapper/DistrictMapper.java
index 8a195c9..1eb2bbe 100644
--- a/src/main/java/org/springblade/modules/district/mapper/DistrictMapper.java
+++ b/src/main/java/org/springblade/modules/district/mapper/DistrictMapper.java
@@ -40,7 +40,10 @@
* @param district
* @return
*/
- List<DistrictVO> selectDistrictPage(IPage page,@Param("district") DistrictVO district);
+ List<DistrictVO> selectDistrictPage(IPage page,
+ @Param("district") DistrictVO district,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
/**
* 获取小区树
diff --git a/src/main/java/org/springblade/modules/district/mapper/DistrictMapper.xml b/src/main/java/org/springblade/modules/district/mapper/DistrictMapper.xml
index ebabc2d..baeeace 100644
--- a/src/main/java/org/springblade/modules/district/mapper/DistrictMapper.xml
+++ b/src/main/java/org/springblade/modules/district/mapper/DistrictMapper.xml
@@ -39,8 +39,18 @@
<if test="district.townStreetName !=null and district.townStreetName !=''">
and br.town_name like concat('%',#{district.townStreetName},'%')
</if>
- <if test="district.regionCode !=null and district.regionCode !=''">
- and jd.community_code like concat('%',#{district.regionCode},'%')
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jd.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jd.community_code in ('')
+ </otherwise>
+ </choose>
</if>
</select>
@@ -51,7 +61,7 @@
parent_code as parentId,
name,
remark aoiCode
- FROM blade_region where district_code = '361102'
+ FROM blade_region where district_code = '361102000000'
union all
(
select
diff --git a/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java b/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
index 8c8e791..b25ec07 100644
--- a/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
+++ b/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
@@ -17,6 +17,7 @@
package org.springblade.modules.district.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.cache.SysCache;
import org.springblade.common.node.TreeIntegerNode;
import org.springblade.common.node.TreeStringNode;
import org.springblade.common.utils.NodeTreeUtil;
@@ -51,16 +52,11 @@
@Autowired
private IGridService gridService;
- @Autowired
- private IDeptService deptService;
-
@Override
public IPage<DistrictVO> selectDistrictPage(IPage<DistrictVO> page, DistrictVO district) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null!=dept){
- district.setRegionCode(dept.getRegionCode());
- }
- List<DistrictVO> districtVOS = baseMapper.selectDistrictPage(page, district);
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ List<DistrictVO> districtVOS = baseMapper.selectDistrictPage(page, district,regionChildCodesList,isAdministrator);
// 遍历
for (DistrictVO districtVO : districtVOS) {
// 设置对应的网格名称
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
index 1b944a1..a6476f5 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
@@ -45,7 +45,10 @@
* @param grid
* @return
*/
- List<GridVO> selectGridPage(IPage page,@Param("grid") GridVO grid);
+ List<GridVO> selectGridPage(IPage page,
+ @Param("grid") GridVO grid,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
/**
* 根据地址编号查询网格数据
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
index c10d128..d859087 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
@@ -22,8 +22,18 @@
<if test="grid.principalPhone!=null and grid.principalPhone!=''">
and jg.principal_phone like concat('%',#{grid.principalPhone},'%')
</if>
- <if test="grid.regionCode != null and grid.regionCode !='' ">
- and jg.community_code like concat('%',#{grid.regionCode},'%')
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.community_code in ('')
+ </otherwise>
+ </choose>
</if>
<if test="grid.communityName != null and grid.communityName !='' ">
and br.name like concat('%',#{grid.communityName},'%')
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.java b/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.java
index 5cbc3ac..26d9479 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.java
@@ -39,7 +39,9 @@
* @return
*/
List<GridPatrolRecordVO> selectGridPatrolRecordPage(IPage page,
- @Param("gridPatrolRecord") GridPatrolRecordVO gridPatrolRecord);
+ @Param("gridPatrolRecord") GridPatrolRecordVO gridPatrolRecord,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
}
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.xml
index 1c28ced..52ae597 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.xml
@@ -18,10 +18,16 @@
</resultMap>
<!--自定义分页查询-->
- <select id="selectGridPatrolRecordPage" resultMap="gridPatrolRecordResultMap">
- select * from jczz_grid_patrol_record where is_deleted = 0
+ <select id="selectGridPatrolRecordPage" resultType="org.springblade.modules.grid.vo.GridPatrolRecordVO">
+ select jgpr.* from jczz_grid_patrol_record jgpr
+ LEFT JOIN blade_user bu on bu.id = jgpr.create_user and bu.is_deleted = 0
+ LEFT JOIN blade_dept bd on bd.id = bu.dept_id and bd.is_deleted = 0
+ where jgpr.is_deleted = 0
<if test="gridPatrolRecord.name!=null and gridPatrolRecord.name!=''">
- and name like concat('%',#{gridPatrolRecord.name},'%')
+ and jgpr.name like concat('%',#{gridPatrolRecord.name},'%')
+ </if>
+ <if test="gridPatrolRecord.context!=null and gridPatrolRecord.context!=''">
+ and jgpr.context like concat('%',#{gridPatrolRecord.context},'%')
</if>
</select>
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.java b/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.java
index ac3f42a..55441ef 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.java
@@ -38,7 +38,10 @@
* @param gridWorkLog
* @return
*/
- List<GridWorkLogVO> selectGridWorkLogPage(IPage page,@Param("gridWorkLog") GridWorkLogVO gridWorkLog);
+ List<GridWorkLogVO> selectGridWorkLogPage(IPage page,
+ @Param("gridWorkLog") GridWorkLogVO gridWorkLog,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
/**
* 走访日志数量统计
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 be9278d..bbc4929 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
@@ -49,8 +49,18 @@
<if test="gridWorkLog.neiName!=null and gridWorkLog.neiName!=''">
and jda.nei_name like concat('%',#{gridWorkLog.neiName},'%')
</if>
- <if test="gridWorkLog.regionCode!=null and gridWorkLog.regionCode!=''">
- and jg.community_code like concat('%',#{gridWorkLog.regionCode},'%')
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.community_code in ('')
+ </otherwise>
+ </choose>
</if>
</select>
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.java b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.java
index b8fe153..aecce21 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.java
@@ -40,7 +40,10 @@
* @param gridman
* @return
*/
- List<GridmanVO> selectGridmanPage(IPage page,@Param("gridman") GridmanVO gridman);
+ List<GridmanVO> selectGridmanPage(IPage page,
+ @Param("gridman") GridmanVO gridman,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
/**
* 网格员查询
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
index 3c2cc94..0f3c3bb 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
@@ -46,8 +46,18 @@
<if test="gridman.townName!=null and gridman.townName!=''">
and br.town_name like concat('%',#{gridman.townName},'%')
</if>
- <if test="gridman.regionCode != null and gridman.regionCode !='' ">
- and jg.community_code like concat('%',#{gridman.regionCode},'%')
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.community_code in ('')
+ </otherwise>
+ </choose>
</if>
</select>
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridPatrolRecordServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridPatrolRecordServiceImpl.java
index 1f43703..db06bae 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridPatrolRecordServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridPatrolRecordServiceImpl.java
@@ -17,6 +17,8 @@
package org.springblade.modules.grid.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.cache.SysCache;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.grid.entity.GridPatrolRecordEntity;
import org.springblade.modules.grid.vo.GridPatrolRecordVO;
import org.springblade.modules.grid.mapper.GridPatrolRecordMapper;
@@ -24,6 +26,8 @@
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
/**
* 网格巡查记录表 服务实现类
@@ -43,7 +47,9 @@
*/
@Override
public IPage<GridPatrolRecordVO> selectGridPatrolRecordPage(IPage<GridPatrolRecordVO> page, GridPatrolRecordVO gridPatrolRecord) {
- return page.setRecords(baseMapper.selectGridPatrolRecordPage(page, gridPatrolRecord));
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ return page.setRecords(baseMapper.selectGridPatrolRecordPage(page, gridPatrolRecord,regionChildCodesList,isAdministrator));
}
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
index a21006d..bd2e154 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
@@ -19,6 +19,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.cache.SysCache;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
@@ -65,11 +66,9 @@
@Override
public IPage<GridVO> selectGridPage(IPage<GridVO> page, GridVO grid) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null!=dept){
- grid.setRegionCode(dept.getRegionCode());
- }
- return page.setRecords(baseMapper.selectGridPage(page, grid));
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ return page.setRecords(baseMapper.selectGridPage(page, grid,regionChildCodesList,isAdministrator));
}
/**
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridWorkLogServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridWorkLogServiceImpl.java
index e33c2aa..ef07937 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridWorkLogServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridWorkLogServiceImpl.java
@@ -19,6 +19,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
+import org.springblade.common.cache.SysCache;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.grid.entity.GridWorkLogEntity;
@@ -45,20 +46,14 @@
@Service
public class GridWorkLogServiceImpl extends ServiceImpl<GridWorkLogMapper, GridWorkLogEntity> implements IGridWorkLogService {
-
- @Autowired
- private IDeptService deptService;
-
@Override
public IPage<GridWorkLogVO> selectGridWorkLogPage(IPage<GridWorkLogVO> page, GridWorkLogVO gridWorkLog) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null!=dept){
- gridWorkLog.setRegionCode(dept.getRegionCode());
- }
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
if (!Strings.isBlank(gridWorkLog.getRoleName()) && gridWorkLog.getRoleName().equals("网格员")){
gridWorkLog.setGridId(getGridId());
}
- return page.setRecords(baseMapper.selectGridWorkLogPage(page, gridWorkLog));
+ return page.setRecords(baseMapper.selectGridWorkLogPage(page, gridWorkLog,regionChildCodesList,isAdministrator));
}
/**
* 获取网格员id
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
index e277f60..319c1e0 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
@@ -21,6 +21,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
import org.flowable.idm.engine.impl.persistence.entity.UserEntity;
+import org.springblade.common.cache.SysCache;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.grid.entity.GridEntity;
@@ -60,19 +61,11 @@
@Autowired
private IGridService gridService;
- @Autowired
- private IRegionService regionService;
-
- @Autowired
- private IDeptService deptService;
-
@Override
public IPage<GridmanVO> selectGridmanPage(IPage<GridmanVO> page, GridmanVO gridman) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null!=dept){
- gridman.setRegionCode(dept.getRegionCode());
- }
- return page.setRecords(baseMapper.selectGridmanPage(page, gridman));
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ return page.setRecords(baseMapper.selectGridmanPage(page, gridman,regionChildCodesList,isAdministrator));
}
/**
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
index faae9e3..a04b877 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
@@ -44,7 +44,10 @@
* @param house
* @return
*/
- List<HouseVO> selectHousePage(IPage page, HouseVO house);
+ List<HouseVO> selectHousePage(IPage page,
+ @Param("house") HouseVO house,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
/**
* 房屋自定义详情查询
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
index 0ab811e..c52dad2 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -171,8 +171,18 @@
<if test="house.unit != null and house.unit != ''">and jh.unit = #{house.unit}</if>
<if test="house.room != null and house.room != ''">and jh.room = #{house.room}</if>
<if test="house.buildingNo != null ">and jh.building_no = #{house.buildingNo}</if>
- <if test="house.regionCode != null and house.regionCode !='' ">
- and jg.community_code like concat('%',#{house.regionCode},'%')
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.community_code in ('')
+ </otherwise>
+ </choose>
</if>
<if test="house.parentId != null ">
and jh.house_code in (
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
index f724c45..c9c4628 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
@@ -44,7 +44,9 @@
*/
List<HouseRentalTenantVO> selectHouseRentalPage(IPage page,
@Param("vo") HouseRentalTenantVO houseRental,
- @Param("list") List<String> list);
+ @Param("list") List<String> list,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
/**
* 查询房屋出租情况
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
index 5489c0c..4e624b9 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -126,8 +126,18 @@
<if test="vo.startTime != null and vo.startTime != '' and vo.endTime != null and vo.endTime != '' ">
AND jhr.create_time BETWEEN #{vo.startTime} and #{vo.endTime}
</if>
- <if test="vo.regionCode!=null and vo.regionCode!=''">
- and jg.community_code like concat('%',#{vo.regionCode},'%')
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.community_code in ('')
+ </otherwise>
+ </choose>
</if>
<include refid="filterHouseGrid"/>
order by jhr.create_time desc,jhr.id desc
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
index b06f2d6..1b504c3 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
@@ -43,7 +43,10 @@
* @param household
* @return
*/
- List<HouseholdVO> selectHouseholdPage(IPage page,@Param("household") HouseholdVO household);
+ List<HouseholdVO> selectHouseholdPage(IPage page,
+ @Param("household") HouseholdVO household,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
/**
* 获取全部
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
index f3a918f..3d91c55 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -211,8 +211,18 @@
<if test="household.startTime != null and household.startTime != '' and household.endTime != null and household.endTime != '' ">
AND jh.create_time BETWEEN #{household.startTime} and #{household.endTime}
</if>
- <if test="household.regionCode!=null and household.regionCode!=''">
- and jg.community_code like concat(#{household.regionCode},'%')
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.community_code in ('')
+ </otherwise>
+ </choose>
</if>
<if test="household.building!=null and household.building!=''">
and jhs.building like concat(#{household.building},'%')
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
index f5b1151..6c5c0bd 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
@@ -21,6 +21,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
+import org.springblade.common.cache.SysCache;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.grid.service.IGridService;
@@ -63,9 +64,6 @@
@Autowired
private IGridService gridService;
- @Autowired
- private IDeptService deptService;
-
/**
* 自定义分页查询
* @param page
@@ -74,10 +72,8 @@
*/
@Override
public IPage<HouseRentalTenantVO> selectHouseRentalPage(IPage<HouseRentalTenantVO> page, HouseRentalTenantVO houseRental) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null!=dept){
- houseRental.setRegionCode(dept.getRegionCode());
- }
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
List<String> list = new ArrayList<>();
if (null!=houseRental.getRoleName() && !houseRental.getRoleName().equals("")){
if (houseRental.getRoleName().equals("网格员")){
@@ -90,7 +86,7 @@
houseRental.setAuditStatus(2);
}
}
- List<HouseRentalTenantVO> houseRentalTenantVOS = baseMapper.selectHouseRentalPage(page, houseRental, list);
+ List<HouseRentalTenantVO> houseRentalTenantVOS = baseMapper.selectHouseRentalPage(page, houseRental, list,regionChildCodesList,isAdministrator);
for (HouseRentalTenantVO houseRentalTenantVO : houseRentalTenantVOS) {
if(houseRentalTenantVO.getStatus().equals(1)){
houseRentalTenantVO.setStatus(30);
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
index 9d99598..172ca6b 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
@@ -22,6 +22,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
+import org.springblade.common.cache.SysCache;
import org.springblade.common.utils.IdUtils;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.common.utils.SpringUtils;
@@ -80,9 +81,6 @@
private IGridRangeService gridRangeService;
@Autowired
- private IDeptService deptService;
-
- @Autowired
private IUserService userService;
@Autowired
@@ -90,11 +88,9 @@
@Override
public IPage<HouseVO> selectHousePage(IPage<HouseVO> page, HouseVO house) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null != dept) {
- house.setRegionCode(dept.getRegionCode());
- }
- List<HouseVO> houseVOS = baseMapper.selectHousePage(page, house);
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ List<HouseVO> houseVOS = baseMapper.selectHousePage(page, house,regionChildCodesList,isAdministrator);
// 遍历查询网格
// for (HouseVO houseVO : houseVOS) {
// // 设置对应的网格名称
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
index 4a895f8..fea8dc3 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
@@ -21,6 +21,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
+import org.springblade.common.cache.SysCache;
import org.springblade.common.node.TreeStringNode;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
@@ -70,20 +71,15 @@
private IUserService userService;
@Autowired
- private IDeptService deptService;
-
- @Autowired
private IPlaceService placeService;
@Override
public IPage<HouseholdVO> selectHouseholdPage(IPage<HouseholdVO> page, HouseholdVO household) {
StopWatch stopWatch = new StopWatch();
stopWatch.start();
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null!=dept){
- household.setRegionCode(dept.getRegionCode());
- }
- List<HouseholdVO> householdVOS = baseMapper.selectHouseholdPage(page, household);
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ List<HouseholdVO> householdVOS = baseMapper.selectHouseholdPage(page, household,regionChildCodesList,isAdministrator);
stopWatch.stop();
System.out.println("selectHouseholdPage:" + stopWatch.getTotalTimeMillis());
return page.setRecords(householdVOS);
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
index 71537e5..4069571 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
@@ -43,7 +43,9 @@
*/
List<PlaceVO> selectPlacePage(IPage page,
@Param("place") PlaceVO place,
- @Param("houseCodeList") List<String> houseCodeList);
+ @Param("houseCodeList") List<String> houseCodeList,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
/**
* 查询场所集合信息
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 677dbb5..dd8d62d 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -71,8 +71,18 @@
<if test="place.isPerfect==2">
and jp.status = 2
</if>
- <if test="place.regionCode != null and place.regionCode !='' ">
- and jg.community_code like concat('%',#{place.regionCode},'%')
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.community_code in ('')
+ </otherwise>
+ </choose>
</if>
order by jp.create_time desc,jp.id desc
</select>
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index c67ac45..cf2480e 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -21,6 +21,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
+import org.springblade.common.cache.SysCache;
import org.springblade.common.node.TreeStringNode;
import org.springblade.common.utils.IdUtils;
import org.springblade.core.mp.support.Condition;
@@ -91,9 +92,6 @@
private IGridmanService gridmanService;
@Autowired
- private IDeptService deptService;
-
- @Autowired
private GridMapper gridMapper;
@Autowired
@@ -107,10 +105,8 @@
*/
@Override
public IPage<PlaceVO> selectPlacePage(IPage<PlaceVO> page, PlaceVO place) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null!=dept){
- place.setRegionCode(dept.getRegionCode());
- }
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
List<String> list = new ArrayList<>();
if (null!=place.getRoleName() && !place.getRoleName().equals("")){
if (place.getRoleName().equals("网格员")){
@@ -118,7 +114,7 @@
list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
}
}
- List<PlaceVO> placeVOS = baseMapper.selectPlacePage(page, place, list);
+ List<PlaceVO> placeVOS = baseMapper.selectPlacePage(page, place, list,regionChildCodesList,isAdministrator);
// 遍历
for (PlaceVO placeVO : placeVOS) {
// 设置对应的网格名称
diff --git a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
index aabedc1..1da8e49 100644
--- a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
@@ -63,8 +63,7 @@
/**
* 树列表
- * @param parentCode
- * @param regionCode
+ * @param region
* @return
*/
@MapKey(value = "id")
diff --git a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
index 0f22ccd..5d9b55e 100644
--- a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
@@ -119,7 +119,7 @@
name
FROM blade_region
where 1=1
- and district_code = '361102'
+ and district_code = '361102000000'
<if test="region.parentCode!=null and region.parentCode!=''">
and parent_code = #{region.parentCode}
</if>
@@ -134,7 +134,7 @@
code as id,
parent_code as parentId,
name
- FROM blade_region where district_code = '361102'
+ FROM blade_region where district_code = '361102000000'
and region_level = 4
<if test="regionCode!=null and regionCode!=''">
and code = #{regionCode}
@@ -144,7 +144,7 @@
code as id,
parent_code as parentId,
name
- FROM blade_region where district_code = '361102'
+ FROM blade_region where district_code = '361102000000'
and region_level = 4
<if test="regionCode!=null and regionCode!=''">
and parent_code = #{regionCode}
diff --git a/src/main/java/org/springblade/modules/system/service/IRegionService.java b/src/main/java/org/springblade/modules/system/service/IRegionService.java
index 8416d79..cc25d59 100644
--- a/src/main/java/org/springblade/modules/system/service/IRegionService.java
+++ b/src/main/java/org/springblade/modules/system/service/IRegionService.java
@@ -109,4 +109,11 @@
* 区划数据处理
*/
void regionDataHandle();
+
+ /**
+ * 查询下级区域
+ * @param regionCode
+ * @return
+ */
+ List<Region> getRegionChild(String regionCode);
}
diff --git a/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
index 2f33745..f2f3053 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
@@ -155,8 +155,8 @@
String regionCode = null;
if (null != dept) {
regionCode = dept.getRegionCode();
- if (StringUtils.isNotBlank(regionCode) && regionCode.equals("3611")) {
- regionCode = "361102";
+ if (StringUtils.isNotBlank(regionCode) && regionCode.equals("361100000000")) {
+ regionCode = "361102000000";
}
}
return NodeTreeUtil.getStringNodeTree(baseMapper.getTownTree(regionCode));
@@ -214,4 +214,14 @@
}
region.setAncestors(Strings.join(list, ','));
}
+
+ /**
+ * 查询下级区域
+ * @param regionCode
+ * @return
+ */
+ @Override
+ public List<Region> getRegionChild(String regionCode) {
+ return baseMapper.selectList(Wrappers.<Region>query().lambda().like(Region::getAncestors, regionCode));
+ }
}
diff --git a/src/main/java/org/springblade/modules/task/mapper/EcCallEventMapper.java b/src/main/java/org/springblade/modules/task/mapper/EcCallEventMapper.java
index 0bb7b4d..c44b70f 100644
--- a/src/main/java/org/springblade/modules/task/mapper/EcCallEventMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/EcCallEventMapper.java
@@ -39,7 +39,10 @@
* @param eCallEvent
* @return
*/
- List<ECallEventVO> selectECallEventPage(IPage page,@Param("eCallEvent") ECallEventVO eCallEvent);
+ List<ECallEventVO> selectECallEventPage(IPage page,
+ @Param("eCallEvent") ECallEventVO eCallEvent,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
}
diff --git a/src/main/java/org/springblade/modules/task/mapper/EcCallEventMapper.xml b/src/main/java/org/springblade/modules/task/mapper/EcCallEventMapper.xml
index 2f2b67d..00783bf 100644
--- a/src/main/java/org/springblade/modules/task/mapper/EcCallEventMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/EcCallEventMapper.xml
@@ -42,8 +42,18 @@
<if test="eCallEvent.realName!=null and eCallEvent.realName!=''">
and jece.real_name like concat('%',#{eCallEvent.realName},'%')
</if>
- <if test="eCallEvent.regionCode!=null and eCallEvent.regionCode!=''">
- and jece.community_code like concat('%',#{eCallEvent.regionCode},'%')
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jece.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jece.community_code in ('')
+ </otherwise>
+ </choose>
</if>
<if test="eCallEvent.communityName!=null and eCallEvent.communityName!=''">
and br.name like concat('%',#{eCallEvent.communityName},'%')
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
index d14893f..fb1a047 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
import org.springblade.modules.task.entity.TaskEntity;
import org.springblade.modules.task.vo.TaskVO;
@@ -38,9 +39,15 @@
* @param task
* @return
*/
- List<TaskVO> selectTaskPage(IPage page, TaskVO task);
+ List<TaskVO> selectTaskPage(IPage page,
+ @Param("task") TaskVO task,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
- List<TaskVO> selectTaskPageBy(IPage page, TaskVO task);
+ List<TaskVO> selectTaskPageBy(IPage page,
+ @Param("task") TaskVO task,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
Integer selectTaskCount(TaskVO task);
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
index 57d4cb4..96da614 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
@@ -63,8 +63,18 @@
LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
WHERE
jg.is_deleted = 0
- <if test="task.communityCode != null and task.communityCode != ''">
- and jg.community_code = #{task.communityCode}
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.community_code in ('')
+ </otherwise>
+ </choose>
</if>
AND jgm.user_id = #{task.userId} )
</if>
@@ -208,6 +218,19 @@
<if test="task.userId != null and task.userId != ''">
AND jc.res_police_user_id = #{task.userId}
</if>
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jc.code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jc.code in ('')
+ </otherwise>
+ </choose>
+ </if>
</where>
</select>
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 a8118ba..cc589dd 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java
@@ -43,7 +43,9 @@
*/
List<TaskReportForRepairsVO> selectTaskReportForRepairsPage(IPage page,
@Param("vo") TaskReportForRepairsVO taskReportForRepairs,
- @Param("list") List<String> list);
+ @Param("list") List<String> list,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
/**
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 87b7aff..264404e 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -187,8 +187,18 @@
<if test="vo.startTime != null and vo.startTime != '' and vo.endTime != null and vo.endTime != '' ">
AND jtrfr.create_time BETWEEN #{vo.startTime} and #{vo.endTime}
</if>
- <if test="vo.regionCode != null and vo.regionCode !='' ">
- and jg.community_code like concat(#{vo.regionCode},'%')
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jg.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jg.community_code in ('')
+ </otherwise>
+ </choose>
</if>
<if test="vo.roleName!=null and vo.roleName!=''">
<if test="vo.roleName=='网格员'">
diff --git a/src/main/java/org/springblade/modules/task/service/impl/ECallEventServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/ECallEventServiceImpl.java
index 17ce3ed..40b9930 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/ECallEventServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/ECallEventServiceImpl.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
+import org.springblade.common.cache.SysCache;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.service.IDeptService;
@@ -40,16 +41,11 @@
@Service
public class ECallEventServiceImpl extends ServiceImpl<EcCallEventMapper, ECallEventEntity> implements IECallEventService {
- @Autowired
- private IDeptService deptService;
-
@Override
public IPage<ECallEventVO> selectECallEventPage(IPage<ECallEventVO> page, ECallEventVO eCallEvent) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null!=dept){
- eCallEvent.setRegionCode(dept.getRegionCode());
- }
- return page.setRecords(baseMapper.selectECallEventPage(page, eCallEvent));
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ return page.setRecords(baseMapper.selectECallEventPage(page, eCallEvent,regionChildCodesList,isAdministrator));
}
/**
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 f0afb84..141dca5 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
@@ -17,6 +17,7 @@
package org.springblade.modules.task.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.common.cache.SysCache;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.grid.entity.GridmanEntity;
@@ -65,10 +66,8 @@
*/
@Override
public IPage<TaskReportForRepairsVO> selectTaskReportForRepairsPage(IPage<TaskReportForRepairsVO> page, TaskReportForRepairsVO taskReportForRepairs) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null != dept) {
- taskReportForRepairs.setRegionCode(dept.getRegionCode());
- }
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
taskReportForRepairs.setConfirmUserId(AuthUtil.getUserId());
List<String> list = new ArrayList<>();
if (null != taskReportForRepairs.getRoleName() && !taskReportForRepairs.getRoleName().equals("")) {
@@ -80,7 +79,7 @@
taskReportForRepairs.setConfirmUserId(null);
}
}
- return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs, list));
+ return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs, list,regionChildCodesList,isAdministrator));
}
/**
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 4e8a432..2cd0cd4 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
@@ -25,6 +25,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import liquibase.pro.packaged.W;
import org.apache.commons.lang3.StringUtils;
+import org.springblade.common.cache.SysCache;
import org.springblade.common.constant.DictConstant;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
@@ -92,14 +93,12 @@
@Override
public IPage<TaskVO> selectTaskPage(IPage<TaskVO> page, TaskVO task) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null != dept) {
- task.setCommunityCode(dept.getRegionCode());
- }
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
// 民警角色
if (AuthUtil.getUserRole().equals("mj")) {
task.setUserId(AuthUtil.getUserId());
- return page.setRecords(baseMapper.selectTaskPageBy(page, task));
+ return page.setRecords(baseMapper.selectTaskPageBy(page, task,regionChildCodesList,isAdministrator));
} else {
if (AuthUtil.getUserAccount().equals("18879306957")) {
task.setCommunityCode("361102003027");
@@ -109,21 +108,19 @@
task.setUserId(AuthUtil.getUserId());
}
// 非民警角色
- List<TaskVO> taskVOS = baseMapper.selectTaskPage(page, task);
+ List<TaskVO> taskVOS = baseMapper.selectTaskPage(page, task,regionChildCodesList,isAdministrator);
return page.setRecords(taskVOS);
}
}
@Override
public IPage<TaskVO> getBailReportingPage(IPage<TaskVO> page, TaskVO task) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null != dept) {
- task.setCommunityCode(dept.getRegionCode());
- }
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
// 民警角色
if (AuthUtil.getUserRole().equals("mj")) {
task.setUserId(AuthUtil.getUserId());
- return page.setRecords(baseMapper.selectTaskPageBy(page, task));
+ return page.setRecords(baseMapper.selectTaskPageBy(page, task,regionChildCodesList,isAdministrator));
} else {
if (AuthUtil.getUserAccount().equals("18879306957")) {
task.setCommunityCode("361102003027");
--
Gitblit v1.9.3