diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitService.java index 30ff7bbd..3deb05cd 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitService.java @@ -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= 0 || date.compareTo(planArchivingDate) >= 0){ + enterpriseStandardPlan.setProjectStatus(ESPProjectStatus.OVERDUE.getValue()); + } return enterpriseStandardPlan; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/planchange/service/ProcessPlanChangeService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/planchange/service/ProcessPlanChangeService.java index fb3709a8..c7d9320d 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/planchange/service/ProcessPlanChangeService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/planchange/service/ProcessPlanChangeService.java @@ -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= 0 || date.compareTo(planArchivingDate) >= 0){ + enterpriseStandardPlan.setProjectStatus(ESPProjectStatus.OVERDUE.getValue()); + } return enterpriseStandardPlan; } @@ -446,12 +454,20 @@ public class ProcessPlanChangeService extends ServiceImpl= 0 || date.compareTo(planArchivingDate) >= 0){ + enterpriseStandardPlan.setProjectStatus(ESPProjectStatus.OVERDUE.getValue()); + } return enterpriseStandardPlan; } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java index 1097068f..d6d4b523 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java @@ -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; /** * 计划归档标识 diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESPlanProjectStatusJob.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESPlanProjectStatusJob.java new file mode 100644 index 00000000..592425b9 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESPlanProjectStatusJob.java @@ -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 wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(EnterpriseStandardPlan::getProjectStatus,ESPProjectStatus.NOT_STARTED.getValue()); + List list = espService.list(wrapper); + DateTime date = DateUtil.date(); + List 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("项目状态更新完成"); + } + +}