From 5989f0e5838b58f5bc32dbe5583063fd74c171d7 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Mon, 08 Jan 2024 10:42:49 +0800
Subject: [PATCH] 根据开始时间修改状态

---
 src/main/java/org/springblade/modules/assessment/service/impl/AssessmentTaskServiceImpl.java |   22 ++++++++++++++++------
 src/main/java/org/springblade/scheduled/ScheduledTasks.java                                  |   26 ++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/springblade/modules/assessment/service/impl/AssessmentTaskServiceImpl.java b/src/main/java/org/springblade/modules/assessment/service/impl/AssessmentTaskServiceImpl.java
index 8e2d97a..a3cef49 100644
--- a/src/main/java/org/springblade/modules/assessment/service/impl/AssessmentTaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/assessment/service/impl/AssessmentTaskServiceImpl.java
@@ -16,21 +16,22 @@
  */
 package org.springblade.modules.assessment.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
+import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.modules.assessment.entity.AssessmentSetEntity;
 import org.springblade.modules.assessment.entity.AssessmentTaskEntity;
+import org.springblade.modules.assessment.excel.AssessmentTaskExcel;
+import org.springblade.modules.assessment.mapper.AssessmentTaskMapper;
 import org.springblade.modules.assessment.service.IAssessmentScoreService;
 import org.springblade.modules.assessment.service.IAssessmentSetAssessorService;
 import org.springblade.modules.assessment.service.IAssessmentSetService;
-import org.springblade.modules.assessment.vo.AssessmentTaskVO;
-import org.springblade.modules.assessment.excel.AssessmentTaskExcel;
-import org.springblade.modules.assessment.mapper.AssessmentTaskMapper;
 import org.springblade.modules.assessment.service.IAssessmentTaskService;
+import org.springblade.modules.assessment.vo.AssessmentTaskVO;
+import org.springblade.modules.utils.DateUtils;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.validation.constraints.NotEmpty;
@@ -66,6 +67,15 @@
 	}
 
 	@Override
+	public boolean saveOrUpdate(AssessmentTaskEntity assessmentTask) {
+
+		if (DateUtils.isToday(assessmentTask.getStartTime())) { //如果是今天 状态修改为进行中
+			assessmentTask.setIsAssessmentOk(1);
+		}
+		return super.saveOrUpdate(assessmentTask);
+	}
+
+	@Override
 	@Transactional
 	public boolean deleteLogic(@NotEmpty List<Long> ids) {
 		boolean ret = super.deleteLogic(ids);
diff --git a/src/main/java/org/springblade/scheduled/ScheduledTasks.java b/src/main/java/org/springblade/scheduled/ScheduledTasks.java
index b53cf97..9465ba4 100644
--- a/src/main/java/org/springblade/scheduled/ScheduledTasks.java
+++ b/src/main/java/org/springblade/scheduled/ScheduledTasks.java
@@ -29,8 +29,34 @@
 	private final IAssessmentTaskService assessmentTaskService;
 	private final IEvaluateTaskService evaluateTaskService;
 
+	/**
+	 * 考核任务根据开始时间修改状态
+	 */
+	@Scheduled(fixedRate = 1000*60*10)
+	public void assessmentDoSomething() {
+		QueryWrapper queryWrapper = new QueryWrapper();
+		queryWrapper.eq("is_assessment_ok", -1);
+		queryWrapper.ge("start_time", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00")));
+		queryWrapper.le("start_time", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd 23:59:59")));
+		List<AssessmentTaskEntity> assessmentTaskEntityList = assessmentTaskService.list(queryWrapper);
+		if (assessmentTaskEntityList.size() > 0) {
+			List<AssessmentTaskEntity> editList = assessmentTaskEntityList.stream()
+				.map(ate -> {
+					ate.setIsAssessmentOk(0);  // 给每个Person对象的name属性设置新值
+					return ate;  // 返回修改后的对象
+				})
+				.collect(Collectors.toList());  // 收集流中的对象到一个新的列表中
+
+			assessmentTaskService.updateBatchById(editList);
+
+			log.info("考核任务状态修改,修改数量为:" + assessmentTaskEntityList.size());
+		} else
+			log.info("考核任务状态修改,修改数量为:0");
+	}
+
 
 	/**
+	 * 考核任务根据结束时间修改当前状态
 	 * 第一个字段(秒):0
 	 * 第二个字段(分):0
 	 * 第三个字段(小时):0

--
Gitblit v1.9.3