From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送

---
 src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java |   79 +++++++++++++++++++++++++++------------
 1 files changed, 54 insertions(+), 25 deletions(-)

diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java
index bf20c1c..3c11448 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.task.service.impl;
 
 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;
@@ -31,23 +32,24 @@
 import org.springblade.core.tool.utils.SpringUtil;
 import org.springblade.modules.system.entity.DictBiz;
 import org.springblade.modules.system.service.IDictBizService;
-import org.springblade.modules.task.service.ITaskService;
-import org.springblade.modules.task.entity.TaskPlaceRecordEntity;
-import org.springblade.modules.task.service.ITaskPlaceRecordService;
-import org.springblade.modules.task.vo.TaskPlaceRecordVO;
 import org.springblade.modules.task.dto.TaskPlaceSelfCheckDTO;
+import org.springblade.modules.task.entity.TaskEntity;
+import org.springblade.modules.task.entity.TaskPlaceRecordEntity;
 import org.springblade.modules.task.entity.TaskPlaceSelfCheckEntity;
 import org.springblade.modules.task.excel.TaskPlaceSelfCheckExcel;
-import org.springblade.modules.task.vo.TaskPlaceSelfCheckVO;
 import org.springblade.modules.task.mapper.TaskPlaceSelfCheckMapper;
+import org.springblade.modules.task.service.ITaskPlaceRecordService;
 import org.springblade.modules.task.service.ITaskPlaceSelfCheckService;
+import org.springblade.modules.task.service.ITaskService;
+import org.springblade.modules.task.vo.TaskPlaceRecordVO;
+import org.springblade.modules.task.vo.TaskPlaceSelfCheckVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
 /**
@@ -142,31 +144,58 @@
 		// 1.保存任务表
 		ITaskService iTaskService = SpringUtils.getBean(ITaskService.class);
 		Long restults;
-		if (taskPlaceSelfCheck.getType().equals("2")) {
-			restults = iTaskService.saveTask(CommonConstant.NUMBER_ONE, DictConstant.FIRE_SCHOOL_CHECK_NOTICE, 1,
-				"", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_FOUR, 1);
+		AtomicBoolean isState = new AtomicBoolean(false);
+		List<TaskPlaceRecordVO> taskPlaceRecordList = taskPlaceSelfCheck.getTaskPlaceRecordVOList();
+		for (TaskPlaceRecordVO taskPlaceRecordVO : taskPlaceRecordList) {
+			// 判断类型
+			if (StringUtils.isNotBlank(taskPlaceSelfCheck.getType()) && taskPlaceSelfCheck.getType().equals("2")) {
+				taskPlaceRecordVO.setType("3");
+			} else {
+				taskPlaceRecordVO.setType("1");
+			}
+			// 判断是否有隐患
+			if (taskPlaceRecordVO.getState().equals(0)) {
+				isState.set(true);
+			}
+		}
+		if (taskPlaceSelfCheck.getTaskId() == null) {
+			if (StringUtils.isNotBlank(taskPlaceSelfCheck.getType()) && taskPlaceSelfCheck.getType().equals("2")) {
+				// 不存在隐患。状态直接为已审核
+				if (!isState.get()) {
+					taskPlaceSelfCheck.setStatus(2);
+					taskPlaceSelfCheck.setRectificationFlag(3);
+				} else {
+					taskPlaceSelfCheck.setStatus(1);
+					taskPlaceSelfCheck.setRectificationFlag(1);
+				}
+				restults = iTaskService.saveTask(CommonConstant.NUMBER_ONE, DictConstant.FIRE_SCHOOL_CHECK_NOTICE, 1,
+					"", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_FOUR, taskPlaceSelfCheck.getStatus());
+			} else {
+				restults = iTaskService.saveTask(CommonConstant.NUMBER_ONE, DictConstant.FIRE_SELF_CHECK_NOTICE, 1,
+					"", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_SEVEN, 1);
+			}
+			if (restults <= 0) {
+				return false;
+			}
+			taskPlaceSelfCheck.setTaskId(restults);
 		} else {
-			restults = iTaskService.saveTask(CommonConstant.NUMBER_ONE, DictConstant.FIRE_SELF_CHECK_NOTICE, 1,
-				"", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_SEVEN, 1);
+			iTaskService.update(Wrappers.<TaskEntity>lambdaUpdate()
+				.set(TaskEntity::getStatus, taskPlaceSelfCheck.getStatus())
+				.eq(TaskEntity::getId, taskPlaceSelfCheck.getTaskId()));
 		}
-		if (restults <= 0) {
-			return false;
-		}
-		taskPlaceSelfCheck.setTaskId(restults);
+
 		// 2.保存任务详情
-		boolean save = save(taskPlaceSelfCheck);
+		boolean save = saveOrUpdate(taskPlaceSelfCheck);
 		if (save) {
 			// 3.保存题目记录
-			List<TaskPlaceRecordVO> taskPlaceRecordList = taskPlaceSelfCheck.getTaskPlaceRecordVOList();
-			ITaskPlaceRecordService bean = SpringUtil.getBean(ITaskPlaceRecordService.class);
 			taskPlaceRecordList.stream().forEach(item -> {
 				item.setTaskPlaceSelfCheckId(taskPlaceSelfCheck.getId());
 				item.setCreateUser(AuthUtil.getUserId());
-				item.setType("1");
 			});
-			List<TaskPlaceRecordEntity> collect = taskPlaceRecordList.stream().filter(item -> item.getState().equals(0)).collect(Collectors.toList());
+			ITaskPlaceRecordService taskPlaceRecordService = SpringUtil.getBean(ITaskPlaceRecordService.class);
+			List<TaskPlaceRecordEntity> collect = taskPlaceRecordList.stream().collect(Collectors.toList());
 			if (collect.size() > 0) {
-				bean.saveBatch(collect);
+				taskPlaceRecordService.saveBatch(collect);
 			}
 			updateById(taskPlaceSelfCheck);
 			return save;
@@ -190,10 +219,10 @@
 			List<TaskPlaceRecordVO> taskPlaceRecordList = taskPlaceSelfCheck.getTaskPlaceRecordVOList();
 			if (taskPlaceRecordList != null && taskPlaceRecordList.size() > 0) {
 				ITaskPlaceRecordService bean = SpringUtil.getBean(ITaskPlaceRecordService.class);
-				List<TaskPlaceRecordEntity> copy = BeanUtil.copy(taskPlaceRecordList, TaskPlaceRecordEntity.class);
-				boolean b = bean.saveOrUpdateBatch(copy);
-				if (b) {
-					return b;
+				List<TaskPlaceRecordEntity> placeRecordEntityList = BeanUtil.copy(taskPlaceRecordList, TaskPlaceRecordEntity.class);
+				boolean updateBatch = bean.saveOrUpdateBatch(placeRecordEntityList);
+				if (updateBatch) {
+					return updateBatch;
 				}
 				throw new CustomException("保存失败!");
 			}

--
Gitblit v1.9.3