public void handleCancellation(String procInstId) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 获取当前执行任务节点
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(procInstId).singleResult();
List<Execution> list = runtimeService.createExecutionQuery().processInstanceId(processInstance.getId()).list();
Set<Execution> executions = list.stream().filter(execution -> execution.getActivityId() != null).collect(Collectors.toSet());
Iterator<Execution> iterator = executions.iterator();
while (iterator.hasNext()) {
Execution execution = iterator.next();
// 获取当前执行任务
Task task = taskService.createTaskQuery().executionId(execution.getId()).singleResult();
String comment = "【" + sysUser.getRealname() + "】作废了该申请";
handleResult(task.getId(), procInstId, ActivitiConstant.HANDLE_STATUS_YZF, comment, task.getTaskDefinitionKey(), sysUser.getUsername(), execution.getId());
}
runtimeService.deleteProcessInstance(procInstId, ActivitiConstant.HANDEL_RESULT_ZF);
}
springboot+activiti7实现发起人作废流程功能
最新推荐文章于 2024-05-22 00:18:03 发布