From ad2ec97fe0c60eee4bb7c8cdacff7c876f280ea7 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 08 Jan 2024 11:30:18 +0800
Subject: [PATCH] 公安安全监管

---
 src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java |  171 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 151 insertions(+), 20 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 0f50c30..23e6157 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,19 +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.xmlbeans.impl.xb.xsdschema.Public;
+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.task.entity.TaskEntity;
+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.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.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 java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -40,11 +50,41 @@
 @Service
 public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, TaskEntity> implements ITaskService {
 
+	// @Autowired
+	// private ITaskReportForRepairsService iTaskReportForRepairsService;
+
+	@Autowired
+	private IHouseholdService iHouseholdService;
+
+	@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);
+		}
 	}
 
 	/**
@@ -58,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);
@@ -67,6 +107,7 @@
 		taskEntity.setCreateTime(new Date());
 		taskEntity.setCreateUser(createUser);
 		taskEntity.setHouseCode(houseCode);
+		taskEntity.setReportType(reportType);
 		return baseMapper.insert(taskEntity) > 0 ? taskEntity.getId() : 0;
 	}
 
@@ -89,28 +130,118 @@
 	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<>();
-		// 已处理
-		Long comprehensiveTask = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getType, 1)
-			.eq(TaskEntity::getStatus, 1));
-		Long residentialTask = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getType, 2)
-			.eq(TaskEntity::getStatus, 1));
-		Long publicTask = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getType, 3)
-			.eq(TaskEntity::getStatus, 1));
-		objectObjectHashMap.put("comprehensiveTask", comprehensiveTask);
-		objectObjectHashMap.put("residentialTask", residentialTask);
-		objectObjectHashMap.put("publicTask", publicTask);
+		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(roleType > 0 ? AuthUtil.getUserId() : null, neiCode);
+		// 住房审核
+		Integer zhsh = iHouseholdService.statistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode);
+		// 出租审核
+		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;
 	}
+
+	@Override
+	public Object countFrequencyNumber() {
+		Map<String, Object> objectObjectHashMap = new HashMap<>();
+		TaskVO taskVO = new TaskVO();
+		taskVO.setUserId(AuthUtil.getUserId());
+		taskVO.setFrequency(1);
+		taskVO.setStatus(1);
+		Integer disposable = baseMapper.selectTaskCount(taskVO);
+		taskVO.setFrequency(2);
+		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;
+	}
 }

--
Gitblit v1.9.3