From 6750d41c4f75e8fd9ca91e78777ac6e50e5dc292 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 07 Feb 2024 15:08:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.java | 10 +
src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java | 97 ++++++++++++++++++-
src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml | 160 ++++++++++++++++++++++---------
src/main/java/org/springblade/modules/taskPlaceRectification/vo/TaskPlaceRectificationsVO.java | 10 ++
src/main/java/org/springblade/modules/taskPlaceRectification/dto/TaskPlaceRectificationDTO.java | 10 ++
5 files changed, 233 insertions(+), 54 deletions(-)
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/dto/TaskPlaceRectificationDTO.java b/src/main/java/org/springblade/modules/taskPlaceRectification/dto/TaskPlaceRectificationDTO.java
index c178829..7da13b0 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/dto/TaskPlaceRectificationDTO.java
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/dto/TaskPlaceRectificationDTO.java
@@ -98,5 +98,15 @@
@ApiModelProperty(value = "结束时间", example = "")
private String endTime;
+ /**
+ * 角色名称
+ */
+ private String roleName;
+
+ /**
+ * 社区编号
+ */
+ private String communityCode;
+
}
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.java b/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.java
index ec9819a..8388f12 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.java
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.java
@@ -61,10 +61,12 @@
* @param taskPlaceRectificationDTO 场所整改任务表
* @return 场所整改任务表集合
*/
- public List<TaskPlaceRectificationVO> selectTaskPlaceRectificationList(IPage page,
+ List<TaskPlaceRectificationVO> selectTaskPlaceRectificationList(IPage page,
@Param("taskPalce") TaskPlaceRectificationDTO taskPlaceRectificationDTO,
@Param("regionChildCodesList") List<String> regionChildCodesList,
- @Param("isAdministrator") Integer isAdministrator);
+ @Param("isAdministrator") Integer isAdministrator,
+ @Param("gridCodeList") List<String> gridCodeList,
+ @Param("nineTypeList") List<String> nineTypeList);
List<Map<String, Object>> getNineTypeStatistics(String code,
List<String> regionChildCodesList,
@@ -73,5 +75,7 @@
List<TaskPlaceRectificationExcel> export(@Param("taskPalce") TaskPlaceRectificationsVO taskPlaceRectification,
@Param("regionChildCodesList") List<String> regionChildCodesList,
- @Param("isAdministrator") Integer isAdministrator);
+ @Param("isAdministrator") Integer isAdministrator,
+ @Param("gridCodeList") List<String> gridCodeList,
+ @Param("nineTypeList") List<String> nineTypeList);
}
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml b/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml
index 8a8a47c..2fba7fb 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml
@@ -198,15 +198,14 @@
bu.`name`,
jpe.legal_tel,
jpe.legal_person,
- jda.address_name
+ jp.location as address_name
FROM
jczz_task_place_rectification jtpr
- LEFT JOIN jczz_place jp ON jtpr.house_code = jp.house_code
- LEFT JOIN jczz_grid jg ON jg.grid_code = jp.grid_code
+ LEFT JOIN jczz_place jp ON jtpr.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 = jtpr.create_user
- LEFT JOIN jczz_doorplate_address jda on jda.address_code=jtpr.house_code
LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
<where>
<if test="taskPalce.id != null ">and jtpr.id = #{taskPalce.id}</if>
@@ -228,15 +227,18 @@
</if>
<if test="taskPalce.addressName!=null and taskPalce.addressName!=''">
- and jda.address_name like concat('%',#{taskPalce.addressName},'%')
+ and jp.location like concat('%',#{taskPalce.addressName},'%')
</if>
<if test="taskPalce.deptName!=null and taskPalce.deptName!=''">
and jpag.pcs_name like concat('%',#{taskPalce.deptName},'%')
</if>
- <if test="taskPalce.nineType!=null">
- and jp.nine_type = #{taskPalce.nineType}
+ <if test="nineTypeList!=null and nineTypeList.size()>0">
+ and jp.nine_type in
+ <foreach collection="nineTypeList" separator="," open="(" close=")" item="nineType">
+ #{nineType}
+ </foreach>
</if>
<if test="taskPalce.punishFlag!=null">
@@ -275,25 +277,57 @@
</if>
<if test="isAdministrator==2">
<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
- br.village_code in
- <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
- #{code}
- </foreach>
- )
+ <when test="taskPalce.roleName != null and taskPalce.roleName != ''">
+ <if test="taskPalce.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="taskPalce.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>
- and
- (
- jg.grid_code in ('') or br.village_code in ('')
- )
+ <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>
@@ -430,7 +464,7 @@
bu.`name`,
jpe.legal_tel,
jpe.legal_person,
- jda.address_name
+ jp.location as address_name
FROM
jczz_task_place_rectification jtpr
LEFT JOIN jczz_place jp ON jtpr.house_code = jp.house_code
@@ -438,7 +472,6 @@
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 = jtpr.create_user
- LEFT JOIN jczz_doorplate_address jda on jda.address_code=jtpr.house_code
LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
<where>
<if test="taskPalce.id != null ">and jtpr.id = #{taskPalce.id}</if>
@@ -460,15 +493,18 @@
</if>
<if test="taskPalce.addressName!=null and taskPalce.addressName!=''">
- and jda.address_name like concat('%',#{taskPalce.addressName},'%')
+ and jp.location like concat('%',#{taskPalce.addressName},'%')
</if>
<if test="taskPalce.deptName!=null and taskPalce.deptName!=''">
and jpag.pcs_name like concat('%',#{taskPalce.deptName},'%')
</if>
- <if test="taskPalce.nineType!=null">
- and jp.nine_type = #{taskPalce.nineType}
+ <if test="nineTypeList!=null and nineTypeList.size()>0">
+ and jp.nine_type in
+ <foreach collection="nineTypeList" separator="," open="(" close=")" item="nineType">
+ #{nineType}
+ </foreach>
</if>
<if test="taskPalce.punishFlag!=null">
@@ -507,25 +543,57 @@
</if>
<if test="isAdministrator==2">
<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
- br.village_code in
- <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
- #{code}
- </foreach>
- )
+ <when test="taskPalce.roleName != null and taskPalce.roleName != ''">
+ <if test="taskPalce.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="taskPalce.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>
- and
- (
- jg.grid_code in ('') or br.village_code in ('')
- )
+ <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>
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java b/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java
index b5081aa..a2192b9 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java
@@ -17,16 +17,20 @@
package org.springblade.modules.taskPlaceRectification.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.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.doorplateAddress.entity.DoorplateAddressEntity;
import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService;
+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.patrol.vo.PatrolRecordVO;
@@ -52,6 +56,7 @@
import org.springblade.modules.taskPlaceRectification.service.ITaskPlaceRectificationService;
import org.springblade.modules.taskPlaceRectification.vo.TaskPlaceRectificationVO;
import org.springblade.modules.taskPlaceRectification.vo.TaskPlaceRectificationsVO;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@@ -59,6 +64,7 @@
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import java.util.stream.Collectors;
/**
* 场所整改任务表 服务实现类
@@ -68,6 +74,9 @@
*/
@Service
public class TaskPlaceRectificationServiceImpl extends ServiceImpl<TaskPlaceRectificationMapper, TaskPlaceRectificationEntity> implements ITaskPlaceRectificationService {
+
+ @Autowired
+ private IDictBizService dictBizService;
@Override
public IPage<TaskPlaceRectificationVO> selectTaskPlaceRectificationPage(IPage<TaskPlaceRectificationVO> page, TaskPlaceRectificationVO taskPlaceRectification) {
@@ -95,9 +104,48 @@
@Override
public IPage<TaskPlaceRectificationVO> selectTaskPlaceRectificationList(IPage<TaskPlaceRectificationVO> page, TaskPlaceRectificationDTO taskPlaceRectificationDTO) {
// 数据过滤 todo
+ String roleName = SpringUtils.getRequestParam("roleName");
+ String communityCode = SpringUtils.getRequestParam("communityCode");
+ if (!Strings.isBlank(communityCode)){
+ // 校验社区编号是否合规
+ if(null!=SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
+ taskPlaceRectificationDTO.setCommunityCode(communityCode);
+ }
+ }
List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
- Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
- List<TaskPlaceRectificationVO> taskPlaceRectificationVOS = baseMapper.selectTaskPlaceRectificationList(page, taskPlaceRectificationDTO, regionChildCodesList, isAdministrator);
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ // 网格编号集合
+ List<String> gridCodeList = new ArrayList<>();
+ // 民警角色
+ if (!Strings.isBlank(roleName)){
+ taskPlaceRectificationDTO.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<String> strings = new ArrayList<>();
+ if (null!=taskPlaceRectificationDTO.getNineType()){
+ QueryWrapper<DictBiz> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("is_deleted",0).eq("dict_key",taskPlaceRectificationDTO.getNineType()).eq("code","nineType");
+ // 先查询当前
+ DictBiz one = dictBizService.getOne(queryWrapper);
+ // 查询本身和子集的key
+ List<DictBiz> list = dictBizService.getList("nineType", one.getId());
+ if (list.size()==0){
+ strings.add(taskPlaceRectificationDTO.getNineType());
+ }else {
+ strings = list.stream().map(DictBiz::getDictKey).collect(Collectors.toList());
+ }
+ }
+ List<TaskPlaceRectificationVO> taskPlaceRectificationVOS = baseMapper.selectTaskPlaceRectificationList(page,
+ taskPlaceRectificationDTO,
+ regionChildCodesList,
+ isAdministrator,
+ gridCodeList,
+ strings);
for (TaskPlaceRectificationVO taskPlaceRectificationVO : taskPlaceRectificationVOS) {
StringBuilder builder = new StringBuilder("");
List<PatrolRecordVO> patrolRecordVOList = taskPlaceRectificationVO.getPatrolRecordVOList();
@@ -166,10 +214,49 @@
@Override
public List<TaskPlaceRectificationExcel> export(TaskPlaceRectificationsVO taskPlaceRectificationVO) {
- // todo
+ // 数据过滤 todo
+ String roleName = SpringUtils.getRequestParam("roleName");
+ String communityCode = SpringUtils.getRequestParam("communityCode");
+ if (!Strings.isBlank(communityCode)){
+ // 校验社区编号是否合规
+ if(null!=SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
+ taskPlaceRectificationVO.setCommunityCode(communityCode);
+ }
+ }
List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
- Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
- List<TaskPlaceRectificationExcel> export = baseMapper.export(taskPlaceRectificationVO, regionChildCodesList, isAdministrator);
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ // 网格编号集合
+ List<String> gridCodeList = new ArrayList<>();
+ // 民警角色
+ if (!Strings.isBlank(roleName)){
+ taskPlaceRectificationVO.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<String> strings = new ArrayList<>();
+ if (null!=taskPlaceRectificationVO.getNineType()){
+ QueryWrapper<DictBiz> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("is_deleted",0).eq("dict_key",taskPlaceRectificationVO.getNineType()).eq("code","nineType");
+ // 先查询当前
+ DictBiz one = dictBizService.getOne(queryWrapper);
+ // 查询本身和子集的key
+ List<DictBiz> list = dictBizService.getList("nineType", one.getId());
+ if (list.size()==0){
+ strings.add(taskPlaceRectificationVO.getNineType());
+ }else {
+ strings = list.stream().map(DictBiz::getDictKey).collect(Collectors.toList());
+ }
+ }
+ List<TaskPlaceRectificationExcel> export = baseMapper.export(
+ taskPlaceRectificationVO,
+ regionChildCodesList,
+ isAdministrator,
+ gridCodeList,
+ strings);
IDictBizService bean = SpringUtils.getBean(IDictBizService.class);
List<DictBiz> nineType = bean.list(Wrappers.<DictBiz>lambdaQuery().eq(DictBiz::getCode, "nineType").eq(DictBiz::getIsDeleted, 0));
for (TaskPlaceRectificationExcel taskPlaceRectificationExcel : export) {
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/vo/TaskPlaceRectificationsVO.java b/src/main/java/org/springblade/modules/taskPlaceRectification/vo/TaskPlaceRectificationsVO.java
index e044154..2322f23 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/vo/TaskPlaceRectificationsVO.java
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/vo/TaskPlaceRectificationsVO.java
@@ -95,6 +95,16 @@
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date endTime;
+ /**
+ * 角色名称
+ */
+ private String roleName;
+
+ /**
+ * 社区编号
+ */
+ private String communityCode;
+
}
--
Gitblit v1.9.3