fix: 企标计划状态修复
This commit is contained in:
+14
-11
@@ -27,7 +27,10 @@ import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
|||||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus;
|
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus;
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType;
|
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType;
|
||||||
import com.jero.modules.activiti.process.esRevision.entity.*;
|
import com.jero.modules.activiti.process.esRevision.entity.EsRevisionAdvice;
|
||||||
|
import com.jero.modules.activiti.process.esRevision.entity.HandleAdviceEnum;
|
||||||
|
import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision;
|
||||||
|
import com.jero.modules.activiti.process.esRevision.entity.SignInfo;
|
||||||
import com.jero.modules.activiti.process.esRevision.entity.vo.ESRevisionDataVO;
|
import com.jero.modules.activiti.process.esRevision.entity.vo.ESRevisionDataVO;
|
||||||
import com.jero.modules.activiti.process.esRevision.entity.vo.InspectContentVO;
|
import com.jero.modules.activiti.process.esRevision.entity.vo.InspectContentVO;
|
||||||
import com.jero.modules.activiti.process.esRevision.entity.vo.OtherDraftUserVO;
|
import com.jero.modules.activiti.process.esRevision.entity.vo.OtherDraftUserVO;
|
||||||
@@ -945,7 +948,8 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updatePlanDateByProcessInstanceId(List<String> processInstanceIdList) {
|
public void updatePlanDateByProcessInstanceId(List<String> processInstanceIdList) {
|
||||||
for (String processInstanceId : processInstanceIdList) {
|
List<EnterpriseStandardPlan> espList = new ArrayList<>();
|
||||||
|
processInstanceIdList.forEach(processInstanceId -> {
|
||||||
String espId = "";
|
String espId = "";
|
||||||
ProcessEsRevision revision = getOne(new LambdaQueryWrapper<ProcessEsRevision>()
|
ProcessEsRevision revision = getOne(new LambdaQueryWrapper<ProcessEsRevision>()
|
||||||
.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId));
|
.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId));
|
||||||
@@ -956,7 +960,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
.eq(ProcessDraft::getSaveSource, 3));
|
.eq(ProcessDraft::getSaveSource, 3));
|
||||||
if (CollUtil.isEmpty(draftList)) {
|
if (CollUtil.isEmpty(draftList)) {
|
||||||
log.error("根据流程实例ID未找到企标制修订流程草稿数据 processInstanceId:{}", processInstanceId);
|
log.error("根据流程实例ID未找到企标制修订流程草稿数据 processInstanceId:{}", processInstanceId);
|
||||||
continue;
|
return;
|
||||||
}
|
}
|
||||||
ProcessDraft draft = draftList.get(0);
|
ProcessDraft draft = draftList.get(0);
|
||||||
String infoJsonStr = draft.getInfoJsonStr();
|
String infoJsonStr = draft.getInfoJsonStr();
|
||||||
@@ -971,7 +975,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
EnterpriseStandardPlan esp = espService.getById(espId);
|
EnterpriseStandardPlan esp = espService.getById(espId);
|
||||||
if (esp == null) {
|
if (esp == null) {
|
||||||
log.error("根据企标制计划ID未找到企标制计划数据,espId:{}", espId);
|
log.error("根据企标制计划ID未找到企标制计划数据,espId:{}", espId);
|
||||||
continue;
|
return;
|
||||||
}
|
}
|
||||||
// 获取所有通过和已完成的审批记录
|
// 获取所有通过和已完成的审批记录
|
||||||
List<ProcessApprovalRecord> approvalRecords = parService.list(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
List<ProcessApprovalRecord> approvalRecords = parService.list(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||||
@@ -1023,18 +1027,17 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
} else {
|
} else {
|
||||||
esp.setReleaseDate(new Date());
|
esp.setReleaseDate(new Date());
|
||||||
}
|
}
|
||||||
espService.updateById(esp);
|
espList.add(esp);
|
||||||
}
|
});
|
||||||
|
espService.updateBatchById(espList);
|
||||||
|
log.info("企标制计划审批完成日期更新成功,共更新企标制计划{}条数据", espList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAllPlanDate() {
|
public void updateAllPlanDate() {
|
||||||
List<String> prcStatus = new ArrayList<>();
|
// 从流程主表找到所有企标制修订流程
|
||||||
// 从流程主表找到所有已经完成的企标制修订流程
|
|
||||||
List<ProcessAll> processAlls = processAllService.list(new LambdaQueryWrapper<ProcessAll>()
|
List<ProcessAll> processAlls = processAllService.list(new LambdaQueryWrapper<ProcessAll>()
|
||||||
.eq(ProcessAll::getPrcType, ProcessTypeEnum.ES_REVISION.getValue())
|
.eq(ProcessAll::getPrcType, ProcessTypeEnum.ES_REVISION.getValue()));
|
||||||
.in(ProcessAll::getPrcStatus, FinishFlagEnum.COMPLETE.getValue())
|
|
||||||
);
|
|
||||||
List<String> prcIds = processAlls.stream().map(ProcessAll::getProcessInstanceId).collect(Collectors.toList());
|
List<String> prcIds = processAlls.stream().map(ProcessAll::getProcessInstanceId).collect(Collectors.toList());
|
||||||
this.updatePlanDateByProcessInstanceId(prcIds);
|
this.updatePlanDateByProcessInstanceId(prcIds);
|
||||||
}
|
}
|
||||||
|
|||||||
+35
-4
@@ -1,6 +1,8 @@
|
|||||||
package com.jero.modules.laws.enterprise.job;
|
package com.jero.modules.laws.enterprise.job;
|
||||||
|
|
||||||
|
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPChangeType;
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus;
|
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus;
|
||||||
|
import com.jero.modules.activiti.process.esRevision.service.impl.EsRevisionServiceImpl;
|
||||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -10,6 +12,7 @@ import org.quartz.JobExecutionException;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.time.ZoneId;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -25,12 +28,40 @@ public class ESPlanProjectStatusJob implements Job {
|
|||||||
@Resource
|
@Resource
|
||||||
private EnterpriseStandardPlanService espService;
|
private EnterpriseStandardPlanService espService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private EsRevisionServiceImpl esRevisionService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||||
|
// 更新所有流程状态
|
||||||
|
esRevisionService.updateAllPlanDate();
|
||||||
// 每天执行定时任务 判断所有进行中的计划是否逾期 逾期则修改项目状态为逾期
|
// 每天执行定时任务 判断所有进行中的计划是否逾期 逾期则修改项目状态为逾期
|
||||||
List<EnterpriseStandardPlan> list = espService.list();
|
List<EnterpriseStandardPlan> list = espService.list();
|
||||||
|
// 将list中的时间的时分秒都去掉
|
||||||
|
list.forEach(esp -> {
|
||||||
|
if (null != esp.getApprovalDate()) {
|
||||||
|
esp.setApprovalDate(Date.from(esp.getApprovalDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate().atStartOfDay(ZoneId.systemDefault()).toInstant()));
|
||||||
|
}
|
||||||
|
if (null != esp.getReviewDate()) {
|
||||||
|
esp.setReviewDate(Date.from(esp.getReviewDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate().atStartOfDay(ZoneId.systemDefault()).toInstant()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
List<EnterpriseStandardPlan> cancelList = list.stream()
|
||||||
|
.filter(esp -> ESPChangeType.CANCEL.getValue().equals(esp.getChangeStatus()) ||
|
||||||
|
ESPChangeType.WORK_TERMINATE.getValue().equals(esp.getChangeStatus()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
// 将工作中止和取消的设置为未开始
|
||||||
|
cancelList.forEach(esp -> {
|
||||||
|
esp.setProjectStatus(ESPProjectStatus.NOT_STARTED.getValue());
|
||||||
|
});
|
||||||
|
espService.updateBatchById(cancelList);
|
||||||
|
|
||||||
List<EnterpriseStandardPlan> inProgressList = list.stream()
|
List<EnterpriseStandardPlan> inProgressList = list.stream()
|
||||||
.filter(esp -> ESPProjectStatus.IN_PROGRESS.getValue().equals(esp.getProjectStatus()))
|
.filter(esp -> ESPProjectStatus.IN_PROGRESS.getValue().equals(esp.getProjectStatus()) ||
|
||||||
|
ESPProjectStatus.NOT_STARTED.getValue().equals(esp.getProjectStatus()))
|
||||||
|
.filter(esp -> !ESPChangeType.WORK_TERMINATE.getValue().equals(esp.getChangeStatus()) &&
|
||||||
|
!ESPChangeType.CANCEL.getValue().equals(esp.getChangeStatus()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
List<EnterpriseStandardPlan> overdueList = list.stream()
|
List<EnterpriseStandardPlan> overdueList = list.stream()
|
||||||
.filter(esp -> ESPProjectStatus.OVERDUE.getValue().equals(esp.getProjectStatus()))
|
.filter(esp -> ESPProjectStatus.OVERDUE.getValue().equals(esp.getProjectStatus()))
|
||||||
@@ -41,7 +72,7 @@ public class ESPlanProjectStatusJob implements Job {
|
|||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
Date curDate = new Date();
|
Date curDate = new Date();
|
||||||
// 判断所有进行中的流程是否逾期
|
// 判断所有进行中的流程是否逾期
|
||||||
inProgressList.forEach(p -> {
|
inProgressList.parallelStream().forEach(p -> {
|
||||||
if (null == p.getPlanApprovalDate()) {
|
if (null == p.getPlanApprovalDate()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -56,7 +87,7 @@ public class ESPlanProjectStatusJob implements Job {
|
|||||||
});
|
});
|
||||||
espService.updateBatchById(inProgressList);
|
espService.updateBatchById(inProgressList);
|
||||||
// 判断所有逾期的流程是否还是逾期
|
// 判断所有逾期的流程是否还是逾期
|
||||||
overdueList.forEach(p -> {
|
overdueList.parallelStream().forEach(p -> {
|
||||||
if (null == p.getPlanApprovalDate()) {
|
if (null == p.getPlanApprovalDate()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -72,7 +103,7 @@ public class ESPlanProjectStatusJob implements Job {
|
|||||||
});
|
});
|
||||||
espService.updateBatchById(overdueList);
|
espService.updateBatchById(overdueList);
|
||||||
// 判断所有已完成的计划是否逾期完成
|
// 判断所有已完成的计划是否逾期完成
|
||||||
completeList.forEach(p -> {
|
completeList.parallelStream().forEach(p -> {
|
||||||
// 判断两个日期都不能为null
|
// 判断两个日期都不能为null
|
||||||
if (null == p.getApprovalDate() || null == p.getPlanApprovalDate()) {
|
if (null == p.getApprovalDate() || null == p.getPlanApprovalDate()) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user