From 86ad1fbba8961fe2a7875a02c52372328daa59dd Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 07 Feb 2024 15:57:16 +0800
Subject: [PATCH] 场所检查数据过滤
---
src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java | 32 +++++++++++++++
src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml | 66 ++++++++++++++++++++++++++++++--
src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java | 5 ++
src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java | 10 +++++
4 files changed, 106 insertions(+), 7 deletions(-)
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
index be134a4..8cf063d 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
@@ -40,7 +40,10 @@
* @return
*/
List<PlaceCheckVO> selectPlaceCheckPage(IPage page,
- @Param("placeCheck") PlaceCheckVO placeCheck);
+ @Param("placeCheck") PlaceCheckVO placeCheck,
+ @Param("isAdministrator") Integer isAdministrator,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("gridCodeList") List<String> gridCodeList);
/**
* 查询场所检查表
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
index fc6a83e..d36b477 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
@@ -93,11 +93,12 @@
jpe.legal_person
FROM
jczz_place_check jpc
- LEFT JOIN jczz_place jp ON jpc.house_code = jp.house_code
- LEFT JOIN jczz_grid jg ON jg.grid_code = jp.grid_code
+ LEFT JOIN jczz_place jp ON jpc.house_code = jp.house_code and jp.is_deleted = 0
+ LEFT JOIN jczz_grid jg ON jg.grid_code = jp.grid_code and jg.is_deleted = 0
LEFT JOIN blade_region br ON br.`code` = jg.community_code
- LEFT JOIN jczz_place_ext jpe ON jpe.place_id = jp.id
- LEFT JOIN blade_user bu ON bu.id = jpc.create_user
+ LEFT JOIN jczz_place_ext jpe ON jpe.place_id = jp.id and jpe.is_deleted = 0
+ LEFT JOIN blade_user bu ON bu.id = jpc.create_user and bu.is_deleted = 0
+ LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
where jpc.is_deleted = 0
<if test="placeCheck.houseCode!=null and placeCheck.houseCode!=''">
and jpc.house_code = #{placeCheck.houseCode}
@@ -133,7 +134,62 @@
<if test="placeCheck.endTime!=null and placeCheck.endTime!=''">
and date_format(jpc.create_time,'%Y-%m-%d') <= #{placeCheck.endTime}
</if>
-
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="placeCheck.roleName != null and placeCheck.roleName != ''">
+ <if test="placeCheck.roleName=='wgy'">
+ <choose>
+ <when test="gridCodeList !=null and gridCodeList.size()>0">
+ and jp.grid_code in
+ <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jp.grid_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ <if test="placeCheck.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 in ('')
+ )
+ </otherwise>
+ </choose>
+ </otherwise>
+ </choose>
+ </if>
order by jpc.create_time desc
</select>
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
index 7988dee..b417634 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
@@ -16,16 +16,20 @@
*/
package org.springblade.modules.place.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xxl.job.core.util.FileUtil;
+import org.apache.logging.log4j.util.Strings;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springblade.common.cache.SysCache;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.constant.DictConstant;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.patrol.entity.PatrolRecord;
import org.springblade.modules.patrol.service.IPatrolRecordService;
import org.springblade.modules.place.dto.PlaceCheckDTO;
@@ -34,6 +38,9 @@
import org.springblade.modules.place.vo.PlaceCheckVO;
import org.springblade.modules.place.mapper.PlaceCheckMapper;
import org.springblade.modules.place.service.IPlaceCheckService;
+import org.springblade.modules.police.service.IPoliceAffairsGridService;
+import org.springblade.modules.system.entity.DictBiz;
+import org.springblade.modules.system.service.IRegionService;
import org.springblade.modules.task.service.ITaskService;
import org.springblade.modules.taskPlaceRectification.entity.TaskPlaceRectificationEntity;
import org.springblade.modules.taskPlaceRectification.service.ITaskPlaceRectificationService;
@@ -41,6 +48,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@@ -58,7 +66,29 @@
@Override
public IPage<PlaceCheckVO> selectPlaceCheckPage(IPage<PlaceCheckVO> page, PlaceCheckVO placeCheck) {
- List<PlaceCheckVO> placeCheckVOS = baseMapper.selectPlaceCheckPage(page, placeCheck);
+ String roleName = SpringUtils.getRequestParam("roleName");
+ String communityCode = SpringUtils.getRequestParam("communityCode");
+ if (!Strings.isBlank(communityCode)){
+ // 校验社区编号是否合规
+ if(null!=SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
+ placeCheck.setCommunityCode(communityCode);
+ }
+ }
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ // 网格编号集合
+ List<String> gridCodeList = new ArrayList<>();
+ // 民警角色
+ if (!Strings.isBlank(roleName)){
+ placeCheck.setRoleName(roleName);
+ if(roleName.equals("mj")) {
+ regionChildCodesList = SpringUtil.getBean(IPoliceAffairsGridService.class).getCommunityCodeListByUserId(AuthUtil.getUserId());
+ }
+ if (roleName.equals("wgy")) {
+ gridCodeList = SpringUtil.getBean(IGridService.class).getGridListByUserId(AuthUtil.getUserId());
+ }
+ }
+ List<PlaceCheckVO> placeCheckVOS = baseMapper.selectPlaceCheckPage(page, placeCheck,isAdministrator,regionChildCodesList,gridCodeList);
for (PlaceCheckVO placeCheckVO : placeCheckVOS) {
int number = 0;
for (PatrolRecord patrolRecord : placeCheckVO.getPatrolRecordVOList()) {
diff --git a/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java b/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
index 931a7a8..813d4b2 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
@@ -98,4 +98,14 @@
private Long jpid;
+ /**
+ * 角色名称
+ */
+ private String roleName;
+
+ /**
+ * 社区编号
+ */
+ private String communityCode;
+
}
--
Gitblit v1.9.3