From 7bcd0d2d7510cb2ba67099cd768e1b2b6d047dc2 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 22 Feb 2024 17:16:27 +0800
Subject: [PATCH] 投票人员查询优化
---
src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java | 226 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 158 insertions(+), 68 deletions(-)
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 675e795..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,29 +17,31 @@
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 io.lettuce.core.ScriptOutputType;
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.house.excel.HouseExcel;
+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;
-import org.springblade.modules.place.entity.PlaceCheckEntity;
import org.springblade.modules.place.entity.PlaceEntity;
-import org.springblade.modules.place.excel.NinePlaceExcel;
-import org.springblade.modules.place.service.IPlaceCheckService;
import org.springblade.modules.place.service.IPlaceService;
+import org.springblade.modules.place.vo.PlaceVO;
+import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
+import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.system.entity.DictBiz;
import org.springblade.modules.system.entity.Region;
import org.springblade.modules.system.entity.User;
-import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IDictBizService;
import org.springblade.modules.system.service.IRegionService;
import org.springblade.modules.system.service.IUserService;
@@ -50,19 +52,19 @@
import org.springblade.modules.taskPlaceRectification.entity.TaskPlaceRectificationEntity;
import org.springblade.modules.taskPlaceRectification.excel.PlaceRectificationsExcel;
import org.springblade.modules.taskPlaceRectification.excel.TaskPlaceRectificationExcel;
-import org.springblade.modules.taskPlaceRectification.vo.TaskPlaceRectificationVO;
import org.springblade.modules.taskPlaceRectification.mapper.TaskPlaceRectificationMapper;
import org.springblade.modules.taskPlaceRectification.service.ITaskPlaceRectificationService;
-import org.springblade.core.mp.base.BaseServiceImpl;
+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 com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import java.util.stream.Collectors;
/**
* 场所整改任务表 服务实现类
@@ -72,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) {
@@ -99,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();
@@ -170,10 +214,49 @@
@Override
public List<TaskPlaceRectificationExcel> export(TaskPlaceRectificationsVO taskPlaceRectificationVO) {
- // todo
- List<String> regionChildCodesList = new ArrayList<>();//SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
- Integer isAdministrator = AuthUtil.isAdmin() == true ? 1 : 2;
- List<TaskPlaceRectificationExcel> export = baseMapper.export(taskPlaceRectificationVO, regionChildCodesList, isAdministrator);
+ // 数据过滤 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<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) {
@@ -215,10 +298,18 @@
public void importPlaceRectifications(List<PlaceRectificationsExcel> data, Boolean isCovered) {
IPlaceService bean = SpringUtils.getBean(IPlaceService.class);
IUserService bean1 = SpringUtils.getBean(IUserService.class);
- IPlaceCheckService bean2 = SpringUtils.getBean(IPlaceCheckService.class);
IDoorplateAddressService bean3 = SpringUtils.getBean(IDoorplateAddressService.class);
+ IPlaceService bean4 = SpringUtils.getBean(IPlaceService.class);
+ IPoliceAffairsGridService policeAffairsGridService = SpringUtils.getBean(IPoliceAffairsGridService.class);
+
List<String> objects = new ArrayList<>();
+ List<String> objects2 = new ArrayList<>();
+ List<String> objects3 = new ArrayList<>();
+ List<String> objects4 = new ArrayList<>();
+ int a = 0;
for (PlaceRectificationsExcel datum : data) {
+ a++;
+ System.out.println(a + "第几个:" + datum.getHouseCode());
String phone1 = getPhone(datum.getPrincipals());
String name = getName(datum.getPrincipals());
datum.setPrincipalPhone(phone1);
@@ -229,47 +320,40 @@
.eq(PlaceEntity::getIsDeleted, 0));
if (one == null) {
// 新增场所
- DoorplateAddressEntity one1 = bean3.getOne(Wrappers.<DoorplateAddressEntity>lambdaQuery()
+ DoorplateAddressEntity doorplateAddressEntity = bean3.getOne(Wrappers.<DoorplateAddressEntity>lambdaQuery()
.eq(DoorplateAddressEntity::getAddressCode, datum.getHouseCode()));
- if (one1 == null) {
+ if (doorplateAddressEntity != null) {
objects.add(datum.getHouseCode());
- }
- PlaceCheckEntity placeCheckEntity = new PlaceCheckEntity();
- String police = datum.getPolice();
- String phone = getPhone(police);
- if (StringUtils.isNotBlank(phone)) {
- User one3 = bean1.getOne(Wrappers.<User>lambdaQuery()
- .eq(User::getPhone, phone)
- .eq(User::getIsDeleted, 0));
- if (one3 != null) {
- placeCheckEntity.setCreateUser(one3.getId());
+ continue;
+ } else {
+ PoliceAffairsGridEntity one1 = policeAffairsGridService.getOne(Wrappers.<PoliceAffairsGridEntity>lambdaQuery()
+ .like(PoliceAffairsGridEntity::getCommunityName, datum.getCommunityName()).last("limit 1"));
+ if (one1 == null) {
+ continue;
}
+ PlaceVO placeVO = new PlaceVO();
+ placeVO.setJwGridCode(one1.getJwGridCode());
+ placeVO.setHouseCode(datum.getHouseCode());
+ placeVO.setIsNine(1);
+ placeVO.setPrincipal(StringUtils.isBlank(datum.getPrincipal().trim()) ? "demo" : datum.getPrincipal().trim());
+ placeVO.setPrincipalPhone(datum.getPrincipalPhone());
+ placeVO.setRoleName("民警");
+ placeVO.setLocation(datum.getPlaceAddress());
+ placeVO.setSource(2);
+ placeVO.setIsScene(1);
+ placeVO.setIsNine(1);
+ placeVO.setPlaceName(datum.getPlaceName());
+ if (StringUtils.isNotBlank(datum.getNineType())) {
+ placeVO.setNineType(Integer.valueOf(datum.getNineType()));
+ }
+ Boolean aBoolean = bean4.addOrUpdate(placeVO);
+ objects2.add(datum.getHouseCode());
+ continue;
}
- // 4.保存检查表
- placeCheckEntity.setHouseCode(datum.getHouseCode());
- bean2.save(placeCheckEntity);
- continue;
}
// 2.判断负责人电话是否存在
if (StringUtils.isBlank(datum.getPrincipalPhone())) {
- one.setLocation(datum.getAddressName());
- one.setPlaceName(datum.getPlaceName());
- bean.updateById(one);
-
- PlaceCheckEntity placeCheckEntity = new PlaceCheckEntity();
- String police = datum.getPolice();
- String phone = getPhone(police);
- if (StringUtils.isNotBlank(phone)) {
- User one3 = bean1.getOne(Wrappers.<User>lambdaQuery()
- .eq(User::getPhone, phone)
- .eq(User::getIsDeleted, 0));
- if (one3 != null) {
- placeCheckEntity.setCreateUser(one3.getId());
- }
- }
- // 4.保存检查表
- placeCheckEntity.setHouseCode(datum.getHouseCode());
- bean2.save(placeCheckEntity);
+ objects4.add(datum.getHouseCode());
continue;
}
// 2.判断负责人是否存在
@@ -282,27 +366,38 @@
//如果用户不存在,则新增一个用户
newUser.setAccount(datum.getPrincipalPhone().trim());
newUser.setPhone(datum.getPrincipalPhone().trim());
- newUser.setName(datum.getPrincipal().trim());
- newUser.setRealName(datum.getPrincipal().trim());
+ newUser.setName(StringUtils.isBlank(datum.getPrincipal().trim()) ? "demo" : datum.getPrincipal().trim());
+ newUser.setRealName(StringUtils.isBlank(datum.getPrincipal().trim()) ? "demo" : datum.getPrincipal().trim());
// 社区群众部门
newUser.setDeptId("1727979636479037441");
// 目前暂定居民角色,
newUser.setRoleId("1717429059648606209");
//默认密码为 123456
newUser.setPassword("123456");
- // 设置机构
// 用户新增
boolean submit = bean1.submit(newUser);
-
// 3.更新场所负责人
one.setPrincipal(newUser.getRealName());
one.setPrincipalUserId(newUser.getId());
one.setPrincipalPhone(newUser.getPhone());
one.setLocation(datum.getAddressName());
one.setPlaceName(datum.getPlaceName());
+ one.setIsNine(1);
+ if (StringUtils.isNotBlank(datum.getNineType())) {
+ one.setNineType(Integer.valueOf(datum.getNineType()));
+ }
bean.updateById(one);
} else {
+ if (one == null) {
+ one = bean.getOne(Wrappers.<PlaceEntity>lambdaQuery()
+ .eq(PlaceEntity::getHouseCode, datum.getHouseCode())
+ .eq(PlaceEntity::getIsDeleted, 0));
+ }
// 3.更新场所负责人
+ one.setIsNine(1);
+ if (StringUtils.isNotBlank(datum.getNineType())) {
+ one.setNineType(Integer.valueOf(datum.getNineType()));
+ }
one.setPrincipal(one1.getRealName());
one.setPrincipalUserId(one1.getId());
one.setPrincipalPhone(one1.getPhone());
@@ -310,26 +405,18 @@
one.setPlaceName(datum.getPlaceName());
bean.updateById(one);
}
- PlaceCheckEntity placeCheckEntity = new PlaceCheckEntity();
- String police = datum.getPolice();
- String phone = getPhone(police);
- if (StringUtils.isNotBlank(phone)) {
- User one3 = bean1.getOne(Wrappers.<User>lambdaQuery()
- .eq(User::getPhone, phone)
- .eq(User::getIsDeleted, 0));
- if (one3 != null) {
- placeCheckEntity.setCreateUser(one3.getId());
- }
- }
- // 4.保存检查表
- placeCheckEntity.setHouseCode(datum.getHouseCode());
- bean2.save(placeCheckEntity);
}
System.out.println("没有数据:" + JSON.toJSONString(objects));
+ System.out.println("没有数据2:" + JSON.toJSONString(objects2));
+ System.out.println("没有数据3:" + JSON.toJSONString(objects3));
+ System.out.println("没有数据4:" + JSON.toJSONString(objects4));
}
private String getPhone(String text) {
+ if (StringUtils.isBlank(text)) {
+ return "";
+ }
Pattern pattern = Pattern.compile("1[3-9]\\d{9}");
Matcher matcher = pattern.matcher(text);
@@ -340,6 +427,9 @@
}
private String getName(String text) {
+ if (StringUtils.isBlank(text)) {
+ return "";
+ }
// Pattern pattern = Pattern.compile("[\\\\u4e00-\\\\u9fa5]+");
// Matcher matcher = pattern.matcher(text);
--
Gitblit v1.9.3