add 定时任务 企标计划更新项目状态为逾期

This commit is contained in:
lijiarao
2024-10-11 16:28:17 +08:00
parent 66d7e385e6
commit 76fca0b7fe
4 changed files with 107 additions and 11 deletions
@@ -1,4 +1,6 @@
package com.jero.modules.activiti.process.annualinit.service;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.google.common.collect.Lists;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -371,12 +373,20 @@ public class ProcessAnnualInitService extends ServiceImpl<ProcessAnnualInitMappe
enterpriseStandardPlan.setMainDraftingUser(processAnnualInitLink.getMainDraftingUser());
enterpriseStandardPlan.setDepartId(processAnnualInitLink.getDepartId());
enterpriseStandardPlan.setProfessionalModule(processAnnualInitLink.getProfessionalModule());
enterpriseStandardPlan.setDraftCompleteDate(processAnnualInitLink.getDraftCompleteDate());
enterpriseStandardPlan.setPlanArchivingDate(processAnnualInitLink.getPlanArchivingDate());
enterpriseStandardPlan.setHaveEnglishVersion(processAnnualInitLink.getHaveEnglishVersion());
enterpriseStandardPlan.setCommittee(processAnnualInitLink.getCommittee());
enterpriseStandardPlan.setProjectStatus(ESPProjectStatus.NOT_STARTED.getValue());
enterpriseStandardPlan.setPlanStatus(ESPlanStatusEnum.ADD.getValue());
Date draftCompleteDate = processAnnualInitLink.getDraftCompleteDate();
enterpriseStandardPlan.setDraftCompleteDate(draftCompleteDate);
Date planArchivingDate = processAnnualInitLink.getPlanArchivingDate();
enterpriseStandardPlan.setPlanArchivingDate(planArchivingDate);
DateTime date = DateUtil.date();
//初稿完成日期和计划归档日期有逾期
if (date.compareTo(draftCompleteDate) >= 0 || date.compareTo(planArchivingDate) >= 0){
enterpriseStandardPlan.setProjectStatus(ESPProjectStatus.OVERDUE.getValue());
}
return enterpriseStandardPlan;
}
@@ -1,5 +1,7 @@
package com.jero.modules.activiti.process.planchange.service;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -406,10 +408,16 @@ public class ProcessPlanChangeService extends ServiceImpl<ProcessPlanChangeMappe
private EnterpriseStandardPlan convertFromDelay(ProcessPlanChangeLink processPlanChangeLink) {
EnterpriseStandardPlan enterpriseStandardPlan = new EnterpriseStandardPlan();
enterpriseStandardPlan.setId(processPlanChangeLink.getPlanId());
enterpriseStandardPlan.setDraftCompleteDate(processPlanChangeLink.getDraftCompleteDateChange());
enterpriseStandardPlan.setPlanArchivingDate(processPlanChangeLink.getPlanArchivingDateChange());
Date draftCompleteDate = processPlanChangeLink.getDraftCompleteDateChange();
enterpriseStandardPlan.setDraftCompleteDate(draftCompleteDate);
Date planArchivingDate = processPlanChangeLink.getPlanArchivingDateChange();
enterpriseStandardPlan.setPlanArchivingDate(planArchivingDate);
enterpriseStandardPlan.setPlanStatus(ESPlanStatusEnum.DELAY.getValue());
DateTime date = DateUtil.date();
//初稿完成日期和计划归档日期有逾期
if (date.compareTo(draftCompleteDate) >= 0 || date.compareTo(planArchivingDate) >= 0){
enterpriseStandardPlan.setProjectStatus(ESPProjectStatus.OVERDUE.getValue());
}
return enterpriseStandardPlan;
}
@@ -446,12 +454,20 @@ public class ProcessPlanChangeService extends ServiceImpl<ProcessPlanChangeMappe
enterpriseStandardPlan.setMainDraftingUser(processPlanChangeLink.getMainDraftingUser());
enterpriseStandardPlan.setDepartId(processPlanChangeLink.getDepartId());
enterpriseStandardPlan.setProfessionalModule(processPlanChangeLink.getProfessionalModule());
enterpriseStandardPlan.setDraftCompleteDate(processPlanChangeLink.getDraftCompleteDate());
enterpriseStandardPlan.setPlanArchivingDate(processPlanChangeLink.getPlanArchivingDate());
enterpriseStandardPlan.setHaveEnglishVersion(processPlanChangeLink.getHaveEnglishVersion());
enterpriseStandardPlan.setCommittee(processPlanChangeLink.getCommittee());
enterpriseStandardPlan.setProjectStatus(ESPProjectStatus.NOT_STARTED.getValue());
enterpriseStandardPlan.setPlanStatus(ESPlanStatusEnum.ADD.getValue());
Date draftCompleteDate = processPlanChangeLink.getDraftCompleteDate();
enterpriseStandardPlan.setDraftCompleteDate(draftCompleteDate);
Date planArchivingDate = processPlanChangeLink.getPlanArchivingDate();
enterpriseStandardPlan.setPlanArchivingDate(planArchivingDate);
DateTime date = DateUtil.date();
//初稿完成日期和计划归档日期有逾期
if (date.compareTo(draftCompleteDate) >= 0 || date.compareTo(planArchivingDate) >= 0){
enterpriseStandardPlan.setProjectStatus(ESPProjectStatus.OVERDUE.getValue());
}
return enterpriseStandardPlan;
}
@@ -74,8 +74,8 @@ public class EnterpriseStandardPlan {
* 初稿完成日期
*/
@ApiModelProperty(value = "初稿完成日期")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date draftCompleteDate;
/**
* 初稿完成标识
@@ -86,8 +86,8 @@ public class EnterpriseStandardPlan {
* 计划归档日期
*/
@ApiModelProperty(value = "计划归档日期")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date planArchivingDate;
/**
* 计划归档标识
@@ -0,0 +1,70 @@
package com.jero.modules.laws.enterprise.job;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.enums.ProcessStatusEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.laws.enterprise.entity.ESPProjectStatus;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
import lombok.extern.slf4j.Slf4j;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author: Mzaxd
* @Date: 2024/1/16 11:42
*/
@Component
@Slf4j
public class ESPlanProjectStatusJob implements Job {
@Resource
private EnterpriseStandardPlanService espService;
//@Resource
//private EsRevisionServiceImpl esRevisionService;
@Resource
private ProcessAllService processAllService;
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
log.info("项目状态更新开始");
//获取所有未开始的计划
LambdaQueryWrapper<EnterpriseStandardPlan> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(EnterpriseStandardPlan::getProjectStatus,ESPProjectStatus.NOT_STARTED.getValue());
List<EnterpriseStandardPlan> list = espService.list(wrapper);
DateTime date = DateUtil.date();
List<EnterpriseStandardPlan> updateList = new ArrayList<>();
for (EnterpriseStandardPlan plan : list) {
//初稿完成日期
Date draftCompleteDate = plan.getDraftCompleteDate();
//计划归档日期
Date planArchivingDate = plan.getPlanArchivingDate();
//初稿完成日期和计划归档日期有逾期
if (date.compareTo(draftCompleteDate) >= 0 || date.compareTo(planArchivingDate) >= 0){
EnterpriseStandardPlan plan1 = new EnterpriseStandardPlan();
plan1.setId(plan.getId());
plan1.setProjectStatus(ESPProjectStatus.OVERDUE.getValue());
updateList.add(plan1);
}
}
if (!updateList.isEmpty()) {
espService.updateBatchById(updateList);
}
log.info("项目状态更新完成");
}
}