本文主要是介绍springboot与flowable(8):候选人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、流程绘制和部署
创建流程图
绘制如下流程图
给人事审批添加候选人
给经理审批添加两个候选人
保存导出流程图
部署流程定义
@Testvoid contextLoads() {DeploymentBuilder deployment = repositoryService.createDeployment();deployment.addClasspathResource("process01/HolidayDemo1.bpmn20.xml");deployment.name("候选人案例");Deployment deploy = deployment.deploy();System.out.println("deploy.getId() = " + deploy.getId());}
二、拾取操作
发起流程
/*** 发起流程*/@Testpublic void startProcess() {String id = "HolidayDemo1:1:93caf684-2af9-11ef-910c-644ed7087863";// 给人事审批候选人进行赋值Map<String, Object> variables = new HashMap<>();variables.put("candidate1", "zhangsan");variables.put("candidate2", "lisi");variables.put("candidate3", "wangwu");// 根据流程定义ID启动流程ProcessInstance processInstance = runtimeService.startProcessInstanceById(id, variables);}
查看act_ru_task表发现assignee字段中审批人是空的。
根据候选人查询待办信息,并将候选人变更为审批人,进行审批。
/*** 根据用户查询待办信息*/@Testpublic void findFlow() {List<Task> list = taskService.createTaskQuery().taskCandidateUser("zhangsan").list();// 根据id进行审批for (Task task : list) {// 把zhangsan由候选人变更为审批人taskService.claim(task.getId(), "zhangsan");completeTask(task.getId());}}/*** 根据Id审批任务*/public void completeTask(String taskId) {// 定义经理审批候选人Map<String, Object> variables = new HashMap<>();variables.put("candidate4", "youwangzi1");variables.put("candidate5", "youwangzi2");taskService.complete(taskId, variables);}
查看运行时用户关系信息表。
三、归还与指派
归还操作:审批人 -> 候选人
/*** 根据用户查询待办信息*/@Testpublic void findFlow() {List<Task> list = taskService.createTaskQuery().taskCandidateUser("zhangsan").list();// 根据id进行审批for (Task task : list) {// 把zhangsan由候选人变更为审批人taskService.claim(task.getId(), "zhangsan");// 可以通过unclaim()方法将审批人归还回候选人。taskService.unclaim(task.getId());// completeTask(task.getId());}}
指派新的审批人
/*** 根据用户查询待办信息*/@Testpublic void findFlow() {List<Task> list = taskService.createTaskQuery().taskCandidateUser("zhangsan").list();// 根据id进行审批for (Task task : list) {// 将当前任务指派给youwangzi用户进行审批task.setAssignee("youwangzi");}}
这篇关于springboot与flowable(8):候选人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!