feat: 企标立项变更流程发起节点增加限制

This commit is contained in:
2024-01-19 14:12:02 +08:00
parent 189ca1bf08
commit d513650be4
2 changed files with 12 additions and 1 deletions
@@ -14,6 +14,7 @@ import com.jero.modules.activiti.process.common.enums.ProcessType;
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange;
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPApplicationCategoryEnum;
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus;
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType;
import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO;
import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService;
@@ -340,7 +341,14 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
if (esplist == null || esplist.size() != espIdSet.size()) {
throw new JeroBootException(ResultCommon.INVALID_ESP);
}
// 如果是责任部门变更,需要判断计划是否已经逾期
if (ESPProjectType.RESPONSIBLE_DEPT_CHANGE.getValue().equals(initChange.getProjectType())) {
for (EnterpriseStandardPlan esp : esplist) {
if (esp.getProjectStatus().equals(ESPProjectStatus.OVERDUE.getValue())) {
throw new JeroBootException(ResultCommon.INVALID_ESP);
}
}
}
// 如果是变更流程,则需要撤回制修订流程
List<String> espIdList = initChangeData.getDataList().stream().map(ProcessEsInitChange::getEspId).collect(Collectors.toList());
LambdaQueryWrapper<ProcessEsRevision> lambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -27,6 +27,7 @@ public class ESPlanProjectStatusJob implements Job {
// 每天执行定时任务 判断所有进行中的计划是否逾期 逾期则修改项目状态为逾期
LambdaQueryWrapper<EnterpriseStandardPlan> espWrapper = new LambdaQueryWrapper<>();
espWrapper.eq(EnterpriseStandardPlan::getProjectStatus, ESPProjectStatus.IN_PROGRESS.getValue());
espWrapper.eq(EnterpriseStandardPlan::getProjectStatus, ESPProjectStatus.OVERDUE.getValue());
espWrapper.eq(EnterpriseStandardPlan::getDelFlag, YesOrNoEnum.NO.getValue());
List<EnterpriseStandardPlan> list = espService.list(espWrapper);
Date curDate = new Date();
@@ -35,6 +36,8 @@ public class ESPlanProjectStatusJob implements Job {
curDate.after(p.getSolicitationDraftPlanCompleteDate()) ||
curDate.after(p.getPlanApprovalDate())) {
p.setProjectStatus(ESPProjectStatus.OVERDUE.getValue());
} else {
p.setProjectStatus(ESPProjectStatus.IN_PROGRESS.getValue());
}
});
espService.updateBatchById(list);