用java代码怎么实现flowable驳回
时间: 2023-08-17 16:08:06 浏览: 150
Flowable 是一个 Java 中的 BPMN (Business Process Model and Notation) 框架,提供了丰富的 API 来实现流程控制。在 Flowable 中,驳回操作通常是通过设置任务的候选人或候选组来实现的。
以下是 Java 代码示例,演示如何使用 Flowable API 驳回任务:
```java
// 获取流程引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 获取当前任务
Task currentTask = processEngine.getTaskService().createTaskQuery().taskId(taskId).singleResult();
// 取消当前任务
processEngine.getTaskService().deleteTask(currentTask.getId(), true);
// 创建新的任务
Task newTask = processEngine.getTaskService().newTask();
newTask.setAssignee(assignee); // 设置新任务的候选人
newTask.setName(taskName); // 设置新任务的名称
newTask.setProcessDefinitionId(currentTask.getProcessDefinitionId());
newTask.setProcessInstanceId(currentTask.getProcessInstanceId());
// 保存新任务
processEngine.getTaskService().saveTask(newTask);
// 完成新任务
processEngine.getTaskService().complete(newTask.getId());
```
在上面的代码中,我们首先获取当前任务,然后取消当前任务。接下来,我们创建一个新的任务,设置新任务的候选人、名称和流程定义 ID 等信息,并将其保存。最后,我们使用 `complete` 方法来完成新任务。由于新任务的候选人已经设置,所以该任务会被分配给该候选人,从而实现了驳回操作。
阅读全文