diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/handle/WithDrawHandle.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/handle/WithDrawHandle.java index 03d4377..f1ee236 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/handle/WithDrawHandle.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/handle/WithDrawHandle.java @@ -51,7 +51,7 @@ public class WithDrawHandle { * @param progressInstanceDetail * @return */ - public Boolean checkCanWithdraw(String instanceId, ProcessProgressVo progressInstanceDetail) { + public Boolean checkCanWithdraw(String instanceId, ProcessProgressVo progressInstanceDetail,String taskId) { HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(instanceId).singleResult(); UserInfoDetails userInfoDetails = LoginUserUtil.loginUserDetail(); @@ -66,7 +66,9 @@ public class WithDrawHandle { if (Boolean.TRUE.equals(userIsRoot) && canRootWithDraw(historicProcessInstance, employeeCode)){ return Boolean.TRUE; } - return checkUserIsBefore(progressInstanceDetail.getProgressInfo(),null); + ReqProcessHandlerDTO dto = new ReqProcessHandlerDTO(); + dto.setTaskId(taskId); + return checkUserIsBefore(progressInstanceDetail.getProgressInfo(),dto); } // 判断当前操作人 是上一个节点的审批人 diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java index a56f15d..fce580b 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java @@ -483,7 +483,7 @@ public class TodoCenterManage { res.setProcessProgressVo(progressInstanceDetail); res.setStatus(progressInstanceDetail.getStatus()); res.setProjectId(projectId); - res.setCanWithdraw(withDrawHandle.checkCanWithdraw(instanceId,progressInstanceDetail)); + res.setCanWithdraw(withDrawHandle.checkCanWithdraw(instanceId,progressInstanceDetail,request.getTaskId())); passHandle.checkCanPassOrSeal(request.getInstanceId(),request.getTaskId(),employeeCode,res); return res; }