Browse Source

避免重复创建流程

master
gjh 1 week ago
parent
commit
541537d260
  1. 25
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java

25
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java

@ -154,7 +154,9 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
String projectId = planinfoService.getById(planinfoid).getProjectId();
HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId);
// 提交试运行阶段的时候自动创建 计划
if("试运行阶段".equals(taskName) && !projectinfoService.queryIsSubProject(projectId)){
List<String> taskNames = Arrays.asList("提交终验申请","联合验收审批");
Boolean flag1 = checkTaskNamesExist(taskNames, projectId);
if("试运行阶段".equals(taskName) && !projectinfoService.queryIsSubProject(projectId) && !flag1){
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getProjectId,planinfo.getProjectId());
queryWrapper.eq(HuzhouPlaninfo::getTaskName,"试运行阶段");
@ -186,7 +188,8 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
}
}
// 不存在子项目则会自动创建流程
if ("终验阶段".equals(taskName) && !projectinfoService.queryIsSubProject(projectId)) {
Boolean flag2 = checkTaskNamesExist(Arrays.asList("提交核验申请","部门集中核验","上传核验报告"), projectId);
if ("终验阶段".equals(taskName) && !projectinfoService.queryIsSubProject(projectId) && !flag2) {
autoCreatPlanAfterFinal(planinfo);
}
@ -349,6 +352,24 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
}
}
/**
* 判断指定任务是否已经存在(避免重复创建)
* @param taskNames
* @param projectId
*/
private Boolean checkTaskNamesExist(List<String> taskNames, String projectId) {
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getProjectId, projectId);
queryWrapper.in(HuzhouPlaninfo::getTaskName, taskNames);
List<HuzhouPlaninfo> planinfoList = planinfoMapper.selectList(queryWrapper);
if (planinfoList.size() > 0){
// 指定的流程已经存在
return true;
}else {
return false;
}
}
private void basicFlowUpdate(String planinfoid, ArrayList<String> strings, WorkFlow workFlow) {
Task task = workFlow.getTask();
String taskId = task.getId();

Loading…
Cancel
Save