activiti 并行网关(八)

来源:互联网 发布:创新发展知乎 编辑:程序博客网 时间:2024/04/28 22:51

1. 流程图



2. 代码实现

package com.hxzq.workflow.parallelgateway;import java.io.InputStream;import java.util.List;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngines;import org.activiti.engine.repository.Deployment;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Task;import org.junit.Test;/** * 并行网关<br> * select * from act_re_deployment;<br> * select * from act_hi_procinst;<br> * select * from act_re_procdef;<br> *  * select * from act_ru_execution;<br> * select * from act_ru_task;<br> * select * from act_ru_variable;<br> *  * select * from act_hi_procinst;<br> * select * from act_hi_actinst;<br> * select * from act_hi_taskinst;<br> * select * from act_hi_varinst;<br> *  * @author ZHEN.L *  */public class ParallelGateWay {ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();/** * 部署流程定义 */@Testpublic void deploymentProcessDefinition() {InputStream bpmn = this.getClass().getResourceAsStream("Parallel.bpmn");InputStream png = this.getClass().getResourceAsStream("Parallel.png");Deployment deployment = processEngine.getRepositoryService().createDeployment().addInputStream("Parallel.bpmn", bpmn).addInputStream("Parallel.png", png).name("并行网关").deploy();System.out.println(deployment.getId());System.out.println(deployment.getDeploymentTime());}/** * 启动流程实例 */@Testpublic void startProcessInstance() {String processIntanceKey = "parallel";ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceByKey(processIntanceKey);System.out.println(processInstance.getId());System.out.println(processInstance.getActivityId());}/** * 查询个人任务 */@Testpublic void findTask() {String assignee = "王六";List<Task> tasks = processEngine.getTaskService().createTaskQuery().taskAssignee(assignee).list();if (tasks != null && tasks.size() > 0) {for (Task t : tasks) {System.out.println(t.getId() + ", " + t.getName() + ", " + ", "+ t.getOwner() + ", " + t.getCreateTime());}}}/** * 完成个人任务 */@Testpublic void completeTask() {String taskId = "2503";processEngine.getTaskService().complete(taskId);}/** * 执行汇总 */@Testpublic void execute(){String executeId = "2103";processEngine.getRuntimeService().signal(executeId);}}




0 0
原创粉丝点击