|
|
@@ -48,14 +48,21 @@ public class WithDrawHandle { |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public Boolean checkCanWithdraw(String instanceId, ProcessProgressVo progressInstanceDetail) { |
|
|
|
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() |
|
|
|
.processInstanceId(instanceId).singleResult(); |
|
|
|
UserInfoDetails userInfoDetails = LoginUserUtil.loginUserDetail(); |
|
|
|
String employeeCode = userInfoDetails.getEmployeeCode(); |
|
|
|
//如果不是当前登录人 |
|
|
|
if(!ProcessStatusEnum.UNDER_REVIEW.getDesc() |
|
|
|
.equals(progressInstanceDetail.getStatus())){ |
|
|
|
return Boolean.FALSE; |
|
|
|
} |
|
|
|
|
|
|
|
return checkUserIsRoot(instanceId,null) || |
|
|
|
checkUserIsBefore(progressInstanceDetail.getProgressInfo(),null); |
|
|
|
// 如果当前登录用户是流程发起人,判断流程是否已经开始审批,如果开始审批,不能撤回 |
|
|
|
Boolean userIsRoot = checkUserIsRoot(instanceId, null); |
|
|
|
if (Boolean.TRUE.equals(userIsRoot) && canRootWithDraw(historicProcessInstance, employeeCode)){ |
|
|
|
return Boolean.TRUE; |
|
|
|
} |
|
|
|
return checkUserIsBefore(progressInstanceDetail.getProgressInfo(),null); |
|
|
|
} |
|
|
|
|
|
|
|
//判断当前操作人 是上一个节点的审批人 |
|
|
|