说明
本文介绍 部门经理 同意 的代码实现,是简化版本。
在真实项目中,部门经理通常要输入 意见,然后点击 同意 提交表单。
代码
完成任务时需要传递以下数据:
需要传入
tid,即:task id需要传入流程变量
Map,并有approved:true键值,表示 同意,才会走 排他网关 的 同意分支,然后才会调用CallExternalSystemDelegate类。详见:flowable6.3教程-部门经理审批-排他网关、流程变量、流程详解(关键)
java
package std;
import org.flowable.engine.ProcessEngine;
import org.flowable.engine.ProcessEngineConfiguration;
import org.flowable.engine.TaskService;
import org.flowable.engine.impl.cfg.StandaloneProcessEngineConfiguration;
import org.flowable.task.api.Task;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Std5部门经理完成任务 {
public static void main(String[] args) {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
TaskService taskService = processEngine.getTaskService();
// 获取最新的task id
List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("managers")
.orderByTaskCreateTime()
.desc()
.list();
String taskId = tasks.get(0).getId();
Map variables = new HashMap<String, Object>();
variables.put("approved", true);
// 传入tid
taskService.complete(taskId, variables);
}
}