From a2979b5df06744de80c6be6218260e2fa701cce2 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 10 Jan 2024 20:27:42 +0800
Subject: [PATCH] 新增标签任务处理
---
src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java | 202 +++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 180 insertions(+), 22 deletions(-)
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
index 9430922..73c5687 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
@@ -16,27 +16,38 @@
*/
package org.springblade.modules.task.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.apache.commons.lang3.StringUtils;
+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.modules.category.entity.CategoryEntity;
+import org.springblade.modules.category.service.ICategoryService;
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.place.service.IPlaceExtService;
-import org.springblade.modules.task.entity.TaskEntity;
+import org.springblade.modules.place.service.IPlaceService;
+import org.springblade.modules.place.vo.PlaceVO;
+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 org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* 任务表 服务实现类
@@ -47,8 +58,8 @@
@Service
public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, TaskEntity> implements ITaskService {
- // @Autowired
- // private ITaskReportForRepairsService iTaskReportForRepairsService;
+ @Autowired
+ private IPlaceService placeService;
@Autowired
private IHouseholdService iHouseholdService;
@@ -56,16 +67,59 @@
@Autowired
private IHouseRentalService iHouseRentalService;
+ @Autowired
+ private IDeptService deptService;
+
+ @Autowired
+ private ICategoryService categoryService;
+
+ @Autowired
+ private ITaskCampusReportingEventService taskCampusReportingEventService;
+
@Override
public IPage<TaskVO> selectTaskPage(IPage<TaskVO> page, TaskVO task) {
- task.setUserId(AuthUtil.getUserId());
+ 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);
+ }
+ }
+
+ @Override
+ public IPage<TaskVO> getBailReportingPage(IPage<TaskVO> page, TaskVO 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.getBailReportingPage(page, task);
return page.setRecords(taskVOS);
}
}
@@ -81,7 +135,7 @@
* @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) {
TaskEntity taskEntity = new TaskEntity();
taskEntity.setType(type);
taskEntity.setName(name);
@@ -113,40 +167,48 @@
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())
- .in(TaskEntity::getReportType,2,3,4,5,6));
+ 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)
- .in(TaskEntity::getReportType,2,3,4,5,6));
+ 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.setStatus(1);
+ 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 bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(AuthUtil.getUserId(), "");
+ Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode);
// 住房审核
- Integer zhsh = iHouseholdService.statistics(AuthUtil.getUserId(),"");
+ Integer zhsh = iHouseholdService.statistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode);
// 出租审核
HouseRentalTenantVO houseRentalTenantVO = new HouseRentalTenantVO();
- houseRentalTenantVO.setUserId(AuthUtil.getUserId());
+ houseRentalTenantVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null);
+ houseRentalTenantVO.setNeiCode(neiCode);
Integer czsh = iHouseRentalService.getStatisticsCount(houseRentalTenantVO);
// 场所审核
- Integer cssh = SpringUtils.getBean(IPlaceExtService.class).selectCount(AuthUtil.getUserId(), "", 1);
+ 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);
@@ -165,9 +227,105 @@
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;
+ }
+
+ /**
+ * 根据类型创建任务
+ * @param reportType 任务/事件类型
+ * @param color 参数
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean createTaskJob(Integer reportType, String color) {
+ boolean flag = false;
+ if (reportType==6){
+ // 校园安全自查,查询标签为教育的场所 parentNo = 1601
+ String parentNo = "1601";
+ QueryWrapper<CategoryEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("is_deleted",0).eq("parent_no",parentNo);
+ List<CategoryEntity> categoryEntityList = categoryService.list(wrapper);
+ // 取出编号集合
+ List<String> stringList = categoryEntityList.stream().map(categoryEntity -> categoryEntity.getCategoryNo()).collect(Collectors.toList());
+ // 根据编号集合查询对应的场所
+ List<PlaceVO> placeVOList = placeService.getPlaceListByParam(stringList,color);
+ // 生成任务
+ for (PlaceVO placeVO : placeVOList) {
+ TaskEntity taskEntity = new TaskEntity();
+ taskEntity.setType(1);
+ taskEntity.setName(DictConstant.CAMPUS_SECURITY_INSPECTION);
+ taskEntity.setFrequency(2);
+ taskEntity.setCreateTime(new Date());
+ taskEntity.setHouseCode(placeVO.getHouseCode());
+ taskEntity.setReportType(reportType);
+ // 新增
+ flag = save(taskEntity);
+ // 同时新增校园安全检查任务
+ TaskCampusReportingEventEntity campusReportingEventEntity = new TaskCampusReportingEventEntity();
+ campusReportingEventEntity.setTaskId(taskEntity.getId());
+ campusReportingEventEntity.setPlaceId(placeVO.getId());
+ campusReportingEventEntity.setCheckUserId(placeVO.getPrincipalUserId());
+ campusReportingEventEntity.setCheckUserName(placeVO.getPrincipal());
+ campusReportingEventEntity.setCheckTelephone(placeVO.getPrincipalPhone());
+ // 系统下发
+ campusReportingEventEntity.setSource(2);
+ // 新增
+ taskCampusReportingEventService.save(campusReportingEventEntity);
+ }
+ }
+ return flag;
+ }
}
--
Gitblit v1.9.3