linwei
2024-01-08 ad2ec97fe0c60eee4bb7c8cdacff7c876f280ea7
src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
@@ -16,24 +16,29 @@
 */
package org.springblade.modules.task.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.house.service.IHouseRentalService;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.house.vo.HouseRentalTenantVO;
import org.springblade.modules.task.entity.TaskEntity;
import org.springblade.modules.place.service.IPlaceExtService;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.task.entity.*;
import org.springblade.modules.task.mapper.TaskMapper;
import org.springblade.modules.task.service.ITaskReportForRepairsService;
import org.springblade.modules.task.service.ITaskService;
import org.springblade.modules.task.service.*;
import org.springblade.modules.task.vo.TaskVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -45,8 +50,8 @@
@Service
public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, TaskEntity> implements ITaskService {
//   @Autowired
//   private ITaskReportForRepairsService iTaskReportForRepairsService;
   // @Autowired
   // private ITaskReportForRepairsService iTaskReportForRepairsService;
   @Autowired
   private IHouseholdService iHouseholdService;
@@ -54,10 +59,32 @@
   @Autowired
   private IHouseRentalService iHouseRentalService;
   @Autowired
   private IDeptService deptService;
   @Override
   public IPage<TaskVO> selectTaskPage(IPage<TaskVO> page, TaskVO task) {
      task.setUserId(AuthUtil.getUserId());
      return page.setRecords(baseMapper.selectTaskPage(page, task));
      Dept dept = deptService.getById(AuthUtil.getDeptId());
      if (null != dept) {
         task.setCommunityCode(dept.getRegionCode());
      }
      // 民警角色
      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 (AuthUtil.getUserRole().equals("wgy")) {
            task.setUserId(AuthUtil.getUserId());
         }
         // 非民警角色
         List<TaskVO> taskVOS = baseMapper.selectTaskPage(page, task);
         return page.setRecords(taskVOS);
      }
   }
   /**
@@ -71,7 +98,7 @@
    * @return
    */
   @Override
   public Long saveTask(Integer type, String name, Integer frequency, String remark, Long createUser, String houseCode) {
   public Long saveTask(Integer type, String name, Integer frequency, String remark, Long createUser, String houseCode, Integer reportType) {
      TaskEntity taskEntity = new TaskEntity();
      taskEntity.setType(type);
      taskEntity.setName(name);
@@ -80,6 +107,7 @@
      taskEntity.setCreateTime(new Date());
      taskEntity.setCreateUser(createUser);
      taskEntity.setHouseCode(houseCode);
      taskEntity.setReportType(reportType);
      return baseMapper.insert(taskEntity) > 0 ? taskEntity.getId() : 0;
   }
@@ -102,45 +130,54 @@
   public Object countNumber(String houseCode, Integer status) {
      Map<String, Object> objectObjectHashMap = new HashMap<>();
      // 总数
      Long all = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getCreateUser, AuthUtil.getUserId() ));
      LambdaQueryWrapper<TaskEntity> objectQueryWrapper = new LambdaQueryWrapper<>();
      objectQueryWrapper.eq(TaskEntity::getCreateUser, AuthUtil.getUserId());
      objectQueryWrapper.isNotNull(TaskEntity::getHouseCode);
      objectQueryWrapper.eq(TaskEntity::getIsDeleted, 0);
      objectQueryWrapper.in(TaskEntity::getReportType, 2, 3, 4, 5, 6);
      if (StringUtils.isNotBlank(houseCode)) {
         objectQueryWrapper.eq(TaskEntity::getHouseCode, houseCode);
      }
      Long all = baseMapper.selectCount(objectQueryWrapper);
      objectQueryWrapper.eq(TaskEntity::getStatus, 2);
      // 已处理
      Long processed = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getCreateUser, AuthUtil.getUserId())
         .eq(TaskEntity::getStatus, 2));
      Long processed = baseMapper.selectCount(objectQueryWrapper);
      objectObjectHashMap.put("all", all);
      objectObjectHashMap.put("processed", processed);
      return objectObjectHashMap;
   }
   @Override
   public Object countTypeNumber() {
   public Object countTypeNumber(Integer roleType, String neiCode) {
      TaskVO taskVO = new TaskVO();
      Map<String, Object> objectObjectHashMap = new HashMap<>();
      taskVO.setUserId(AuthUtil.getUserId());
      taskVO.setType(1);
      taskVO.setStatus(1);
      // 综治任务
      Integer comprehensiveTask = baseMapper.selectTaskCount(taskVO);
      taskVO.setType(2);
      // 组建任务
      Integer residentialTask = baseMapper.selectTaskCount(taskVO);
      taskVO.setType(3);
      // 公安任务
      Integer publicTask = baseMapper.selectTaskCount(taskVO);
      taskVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null);
      taskVO.setNeiCode(neiCode);
      taskVO.setReportType(2);
      taskVO.setIsDeleted(0);
      // 标签事件
      Integer bqsj = baseMapper.selectTaskCount(taskVO);
      taskVO.setReportType(1);
      // 取保候审
      Integer qbhs = baseMapper.selectTaskCount(taskVO);
      // 报事报修
//      Integer statistics = iTaskReportForRepairsService.getStatistics(AuthUtil.getUserId());
      Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode);
      // 住房审核
      Integer statistics1 = iHouseholdService.statistics(AuthUtil.getUserId());
      Integer zhsh = iHouseholdService.statistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode);
      // 出租审核
      Integer statisticsCount = iHouseRentalService.getStatisticsCount(new HouseRentalTenantVO());
      objectObjectHashMap.put("comprehensiveTask", comprehensiveTask);
      objectObjectHashMap.put("residentialTask", residentialTask);
      objectObjectHashMap.put("publicTask", publicTask);
//      objectObjectHashMap.put("baoshi", statistics);
      objectObjectHashMap.put("zhufang", statistics1);
      objectObjectHashMap.put("chuzhu", statisticsCount);
      HouseRentalTenantVO houseRentalTenantVO = new HouseRentalTenantVO();
      houseRentalTenantVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null);
      houseRentalTenantVO.setNeiCode(neiCode);
      Integer czsh = iHouseRentalService.getStatisticsCount(houseRentalTenantVO);
      // 场所审核
      Integer cssh = SpringUtils.getBean(IPlaceExtService.class).selectCount(roleType > 0 ? AuthUtil.getUserId() : null, neiCode, 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);
      return objectObjectHashMap;
   }
@@ -153,9 +190,58 @@
      taskVO.setStatus(1);
      Integer disposable = baseMapper.selectTaskCount(taskVO);
      taskVO.setFrequency(2);
      Integer periodicity =  baseMapper.selectTaskCount(taskVO);
      Integer periodicity = baseMapper.selectTaskCount(taskVO);
      objectObjectHashMap.put("disposable", disposable);
      objectObjectHashMap.put("periodicity", periodicity);
      return objectObjectHashMap;
   }
   @Override
   public Boolean removeTask(TaskEntity task) {
      boolean update1 = update(Wrappers.<TaskEntity>lambdaUpdate()
         .set(TaskEntity::getIsDeleted, 1)
         .eq(TaskEntity::getId, task.getId()));
      if (update1) {
         if (task.getReportType().equals(1)) {
            ITaskBailReportingEventService bean = SpringUtils.getBean(ITaskBailReportingEventService.class);
            boolean update = bean.update(Wrappers.<TaskBailReportingEventEntity>lambdaUpdate()
               .set(TaskBailReportingEventEntity::getIsDeleted, 1)
               .eq(TaskBailReportingEventEntity::getTaskId, task.getId()));
            return update;
         } else if (task.getReportType().equals(2)) {
            ITaskHotelReportingService bean = SpringUtils.getBean(ITaskHotelReportingService.class);
            boolean update = bean.update(Wrappers.<TaskHotelReportingEntity>lambdaUpdate()
               .set(TaskHotelReportingEntity::getIsDeleted, 1)
               .eq(TaskHotelReportingEntity::getTaskId, task.getId()));
            return update;
         } else if (task.getReportType().equals(3)) {
            ITaskLabelReportingEventService bean = SpringUtils.getBean(ITaskLabelReportingEventService.class);
            boolean update = bean.update(Wrappers.<TaskLabelReportingEventEntity>lambdaUpdate()
               .set(TaskLabelReportingEventEntity::getIsDeleted, 1)
               .eq(TaskLabelReportingEventEntity::getTaskId, task.getId()));
            return update;
         } else if (task.getReportType().equals(4)) {
            ITaskLabelReportingEventService bean = SpringUtils.getBean(ITaskLabelReportingEventService.class);
            boolean update = bean.update(Wrappers.<TaskLabelReportingEventEntity>lambdaUpdate()
               .set(TaskLabelReportingEventEntity::getIsDeleted, 1)
               .eq(TaskLabelReportingEventEntity::getTaskId, task.getId()));
            return update;
         } else if (task.getReportType().equals(5)) {
            ITaskLabelReportingEventService bean = SpringUtils.getBean(ITaskLabelReportingEventService.class);
            boolean update = bean.update(Wrappers.<TaskLabelReportingEventEntity>lambdaUpdate()
               .set(TaskLabelReportingEventEntity::getIsDeleted, 1)
               .eq(TaskLabelReportingEventEntity::getTaskId, task.getId()));
            return update;
         } else if (task.getReportType().equals(6)) {
            ITaskCampusReportingEventService bean = SpringUtils.getBean(ITaskCampusReportingEventService.class);
            boolean update = bean.update(Wrappers.<TaskCampusReportingEventEntity>lambdaUpdate()
               .set(TaskCampusReportingEventEntity::getIsDeleted, 1)
               .eq(TaskCampusReportingEventEntity::getTaskId, task.getId()));
            return update;
         }
      }
      return update1;
   }
}