|
@@ -75,6 +75,7 @@ import com.ningdatech.pmapi.user.security.auth.model.UserFullInfoDTO; |
|
|
import com.ningdatech.pmapi.user.service.IUserInfoService; |
|
|
import com.ningdatech.pmapi.user.service.IUserInfoService; |
|
|
import com.ningdatech.pmapi.user.util.LoginUserUtil; |
|
|
import com.ningdatech.pmapi.user.util.LoginUserUtil; |
|
|
import com.wflow.contants.HisProInsEndActId; |
|
|
import com.wflow.contants.HisProInsEndActId; |
|
|
|
|
|
import com.wflow.contants.ProcessConstant; |
|
|
import com.wflow.exception.BusinessException; |
|
|
import com.wflow.exception.BusinessException; |
|
|
import com.wflow.workflow.bean.dto.ProcessInstanceUserDto; |
|
|
import com.wflow.workflow.bean.dto.ProcessInstanceUserDto; |
|
|
import com.wflow.workflow.bean.dto.ReqProcessHandlerDTO; |
|
|
import com.wflow.workflow.bean.dto.ReqProcessHandlerDTO; |
|
@@ -424,8 +425,9 @@ public class TodoCenterManage { |
|
|
break; |
|
|
break; |
|
|
// 撤回(流程发起人和当前流程审核人的前一个审核人操作) |
|
|
// 撤回(流程发起人和当前流程审核人的前一个审核人操作) |
|
|
case WITHDRAW: |
|
|
case WITHDRAW: |
|
|
// 当前登录用户是流程发起人 |
|
|
|
|
|
if (userId.equals(Long.valueOf(startUserId))) { |
|
|
|
|
|
|
|
|
// 登录用户是流程发起人,且是流程发起人撤回 |
|
|
|
|
|
if (userId.equals(Long.valueOf(startUserId)) |
|
|
|
|
|
&& ProcessConstant.Field.ROOT.equals(param.getTaskId())) { |
|
|
processTaskService.handleTask(param, userId); |
|
|
processTaskService.handleTask(param, userId); |
|
|
// 若是流程发起人点击撤回,项目回到上一个状态,需调用状态机更新项目状态,流程状态更新为审核通过 |
|
|
// 若是流程发起人点击撤回,项目回到上一个状态,需调用状态机更新项目状态,流程状态更新为审核通过 |
|
|
switch (Objects.requireNonNull(ProjectStatusEnum.getValue(projectStatus))) { |
|
|
switch (Objects.requireNonNull(ProjectStatusEnum.getValue(projectStatus))) { |
|
@@ -447,7 +449,6 @@ public class TodoCenterManage { |
|
|
} else { |
|
|
} else { |
|
|
// 当前登录用户不是流程发起人 |
|
|
// 当前登录用户不是流程发起人 |
|
|
List<ProgressNode> currentProgressInfo = currentInstanceDetail.getProgressInfo(); |
|
|
List<ProgressNode> currentProgressInfo = currentInstanceDetail.getProgressInfo(); |
|
|
|
|
|
|
|
|
ProgressNode progressNode = currentProgressInfo.get(currentProgressInfo.size() - 1); |
|
|
ProgressNode progressNode = currentProgressInfo.get(currentProgressInfo.size() - 1); |
|
|
ProgressNode beforeProgressNode; |
|
|
ProgressNode beforeProgressNode; |
|
|
ProgressNode currentProgressNode; |
|
|
ProgressNode currentProgressNode; |
|
|