linwei
2024-02-07 aae9bc1ebc7f65cebaec65ac7128f79ca6c827d1
src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
@@ -22,16 +22,23 @@
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.pro.packaged.W;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.cache.SysCache;
import org.springblade.common.constant.DictConstant;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.category.entity.CategoryEntity;
import org.springblade.modules.category.service.ICategoryService;
import org.springblade.modules.grid.entity.GridEntity;
import org.springblade.modules.grid.entity.GridWorkLogEntity;
import org.springblade.modules.grid.entity.GridmanEntity;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.grid.service.IGridWorkLogService;
import org.springblade.modules.grid.service.IGridmanService;
import org.springblade.modules.house.service.IHouseRentalService;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.house.vo.HouseRentalTenantVO;
@@ -39,8 +46,10 @@
import org.springblade.modules.place.service.IPlaceExtService;
import org.springblade.modules.place.service.IPlaceService;
import org.springblade.modules.place.vo.PlaceVO;
import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IRegionService;
import org.springblade.modules.task.entity.*;
import org.springblade.modules.task.mapper.TaskMapper;
import org.springblade.modules.task.service.*;
@@ -48,7 +57,10 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
@@ -59,7 +71,7 @@
 * @since 2023-11-06
 */
@Service
public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, TaskEntity> implements ITaskService {
public class TaskServiceImpl extends ServiceImpl<TaskMapper, TaskEntity> implements ITaskService {
    @Autowired
    private IPlaceService placeService;
@@ -69,9 +81,6 @@
   @Autowired
   private IHouseRentalService iHouseRentalService;
   @Autowired
   private IDeptService deptService;
   @Autowired
   private ICategoryService categoryService;
@@ -90,38 +99,47 @@
   @Override
   public IPage<TaskVO> selectTaskPage(IPage<TaskVO> page, TaskVO task) {
      Dept dept = deptService.getById(AuthUtil.getDeptId());
      if (null != dept) {
         task.setCommunityCode(dept.getRegionCode());
      String roleName = SpringUtils.getRequestParam("roleName");
      String communityCode = SpringUtils.getRequestParam("communityCode");
      if (!Strings.isBlank(communityCode)){
         // 校验社区编号是否合规
         if(null!=SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
            task.setCommunityCode(communityCode);
         }
      }
      List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
      Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
      // 网格编号集合
      List<String> gridCodeList = new ArrayList<>();
      // 民警角色
      if (AuthUtil.getUserRole().equals("mj")) {
         task.setUserId(AuthUtil.getUserId());
         return page.setRecords(baseMapper.selectTaskPageBy(page, task));
      } else {
         if (AuthUtil.getUserAccount().equals("18879306957")) {
            task.setCommunityCode("361102003027");
            task.setUserId(null);
      if (!Strings.isBlank(roleName)){
         task.setRoleName(roleName);
         if(roleName.equals("mj")) {
            regionChildCodesList = SpringUtil.getBean(IPoliceAffairsGridService.class).getCommunityCodeListByUserId(AuthUtil.getUserId());
         }
         if (AuthUtil.getUserRole().equals("wgy")) {
            task.setUserId(AuthUtil.getUserId());
         if (roleName.equals("wgy")) {
            gridCodeList = SpringUtil.getBean(IGridService.class).getGridListByUserId(AuthUtil.getUserId());
         }
         // 非民警角色
         List<TaskVO> taskVOS = baseMapper.selectTaskPage(page, task);
         return page.setRecords(taskVOS);
      }
      if (AuthUtil.getUserAccount().equals("18879306957")) {
         task.setCommunityCode("361102003027");
      }
      if (null!=task.getReportType() && task.getReportType()==1){
         // 查询取保候审任务列表(人房相关)
         return page.setRecords(baseMapper.selectTaskPageByPerson(page, task,regionChildCodesList,isAdministrator,gridCodeList));
      }
      // 查询非取保候审任务列表(场所相关)
      return page.setRecords(baseMapper.selectTaskPage(page, task,regionChildCodesList,isAdministrator,gridCodeList));
   }
   @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");
@@ -147,7 +165,8 @@
    * @return
    */
   @Override
   public Long saveTask(Integer type, String name, Integer frequency, String remark, Long createUser, String houseCode, Integer reportType) {
   public Long saveTask(Integer type, String name, Integer frequency, String remark, Long createUser,
                   String houseCode, Integer reportType,Integer status) {
      TaskEntity taskEntity = new TaskEntity();
      taskEntity.setType(type);
      taskEntity.setName(name);
@@ -157,6 +176,7 @@
      taskEntity.setCreateUser(createUser);
      taskEntity.setHouseCode(houseCode);
      taskEntity.setReportType(reportType);
      taskEntity.setStatus(status);
      return baseMapper.insert(taskEntity) > 0 ? taskEntity.getId() : 0;
   }
@@ -205,6 +225,8 @@
      taskVO.setNeiCode(neiCode);
      taskVO.setReportType(2);
      taskVO.setIsDeleted(0);
      // 查询网格员对应的网格id
      String gridCode = getGridCode();
      // 标签事件
      Integer bqsj = baseMapper.selectTaskCount(taskVO);
      taskVO.setReportType(1);
@@ -221,13 +243,29 @@
      Integer czsh = iHouseRentalService.getStatisticsCount(houseRentalTenantVO);
      // 场所审核
      Integer cssh = SpringUtils.getBean(IPlaceExtService.class).selectCount(roleType > 0 ? AuthUtil.getUserId() : null, neiCode, 1);
      // 走访日志
      Integer zfrw = SpringUtils.getBean(IGridWorkLogService.class).getGridWorkCountHandleCount(gridCode,1);
      // 设置
      objectObjectHashMap.put("qbhs", qbhs);
      objectObjectHashMap.put("bqsj", bqsj);
      objectObjectHashMap.put("bsbx", bsbx);
      objectObjectHashMap.put("zhsh", zhsh);
      objectObjectHashMap.put("czsh", czsh);
      objectObjectHashMap.put("cssh", cssh);
      objectObjectHashMap.put("zfrw", zfrw);
      return objectObjectHashMap;
   }
   /**
    * 获取网格员id
    * @return
    */
   private String getGridCode() {
      GridEntity grid = SpringUtils.getBean(IGridService.class).getGridByUserId(AuthUtil.getUserId());
      if (null!=grid){
         return grid.getGridCode();
      }
      return null;
   }
   @Override
@@ -344,9 +382,11 @@
      GridWorkLogEntity gridWorkLogEntity = new GridWorkLogEntity();
      gridWorkLogEntity.setHouseholdId(household.getId());
      gridWorkLogEntity.setType(2);
      gridWorkLogEntity.setPersonType(20);
      gridWorkLogEntity.setPersonType(1006);
      // 系统下发
      gridWorkLogEntity.setSource(2);
      // 待处理
      gridWorkLogEntity.setStatus(1);
      // 新增
      gridWorkLogService.save(gridWorkLogEntity);
   }
@@ -369,7 +409,7 @@
         String taskName = "";
         Integer reportType = 3;
         if (placeVO.getLabel().equals("130808")){
            taskName = DictConstant.DA_JIN_DIAN;
            taskName = DictConstant.SECOND_HAND_TRANSACTION;
            reportType = 3;
         }
         if (placeVO.getLabel().equals("130604")){
@@ -504,7 +544,6 @@
      if (reportType==5){
         taskLabelReportingEventEntity.setEventType("2");
      }
      taskLabelReportingEventEntity.setEventType(taskName);
      // 系统下发
      taskLabelReportingEventEntity.setSource(2);
      // 待完善
@@ -534,6 +573,8 @@
      taskEntity.setCreateTime(new Date());
      taskEntity.setHouseCode(houseCode);
      taskEntity.setReportType(reportType);
      // 系统下发
      taskEntity.setSource(2);
      // 待场所负责人上报完善处理
      taskEntity.setStatus(4);
      // 新增