|
|
@@ -430,30 +430,30 @@ public class TodoCenterManage { |
|
|
|
//如果发起的root 节点的 操作 |
|
|
|
if(ProcessConstant.Field.ROOT.equals(param.getTaskId())){ |
|
|
|
VUtils.isTrue(!employeeCode.equals(instance.getStartUserId())).throwMessage("您不是发起人 不能进行撤回"); |
|
|
|
// 登录用户是流程发起人,且是流程发起人撤回 |
|
|
|
processTaskService.handleTask(param, employeeCode); |
|
|
|
// 若是流程发起人点击撤回,项目回到上一个状态,需调用状态机更新项目状态,流程状态更新为审核通过 |
|
|
|
switch (Objects.requireNonNull(ProjectStatusEnum.getValue(projectStatus))) { |
|
|
|
// 当前项目状态是单位内部审核中 |
|
|
|
case UNDER_INTERNAL_AUDIT: |
|
|
|
// 当前项目状态是预审中 |
|
|
|
case PRE_APPLYING: |
|
|
|
// 当前项目状态是部门联审中 |
|
|
|
case DEPARTMENT_JOINT_REVIEW: |
|
|
|
// 当前项目状态是方案评审中 |
|
|
|
case SCHEME_UNDER_REVIEW: |
|
|
|
// 当前项目状态是终验审核中 |
|
|
|
case FINAL_ACCEPTANCE_IS_UNDER_REVIEW: |
|
|
|
updateWithdrawProjectStatus(user.getUserId(), declaredProject); |
|
|
|
break; |
|
|
|
default: |
|
|
|
throw new IllegalStateException("Unexpected value: " + projectStatus); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
//判断当前操作人 是否上一个节点的审批人 |
|
|
|
VUtils.isTrue(!checkUserIsBefore(currentInstanceDetail.getProgressInfo())) |
|
|
|
.throwMessage("当前登录用户不是发起人或者上一个节点审批人 无法进行撤回操作!"); |
|
|
|
|
|
|
|
} |
|
|
|
// 登录用户是流程发起人,且是流程发起人撤回 |
|
|
|
processTaskService.handleTask(param, employeeCode); |
|
|
|
// 若是流程发起人点击撤回,项目回到上一个状态,需调用状态机更新项目状态,流程状态更新为审核通过 |
|
|
|
switch (Objects.requireNonNull(ProjectStatusEnum.getValue(projectStatus))) { |
|
|
|
// 当前项目状态是单位内部审核中 |
|
|
|
case UNDER_INTERNAL_AUDIT: |
|
|
|
// 当前项目状态是预审中 |
|
|
|
case PRE_APPLYING: |
|
|
|
// 当前项目状态是部门联审中 |
|
|
|
case DEPARTMENT_JOINT_REVIEW: |
|
|
|
// 当前项目状态是方案评审中 |
|
|
|
case SCHEME_UNDER_REVIEW: |
|
|
|
// 当前项目状态是终验审核中 |
|
|
|
case FINAL_ACCEPTANCE_IS_UNDER_REVIEW: |
|
|
|
updateWithdrawProjectStatus(user.getUserId(), declaredProject); |
|
|
|
break; |
|
|
|
default: |
|
|
|
throw new IllegalStateException("Unexpected value: " + projectStatus); |
|
|
|
processTaskService.handleTask(param, employeeCode); |
|
|
|
} |
|
|
|
break; |
|
|
|
default: |
|
|
|