linwei
2024-02-22 7bcd0d2d7510cb2ba67099cd768e1b2b6d047dc2
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) {