acitivi 流程实例(三)

来源:互联网 发布:数据结构与算法公开课 编辑:程序博客网 时间:2024/06/03 07:12
import java.io.InputStream;import java.util.List;import java.util.zip.ZipInputStream;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngines;import org.activiti.engine.history.HistoricProcessInstance;import org.activiti.engine.history.HistoricTaskInstance;import org.activiti.engine.repository.Deployment;import org.activiti.engine.runtime.ProcessInstance;import org.junit.Test;/** * 流程实例 *  * @author ZHEN.L *  */public class ProcessInstanceTest {ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();/** * 部署 */@Testpublic void deploymentProcess() {InputStream in = this.getClass().getClassLoader().getResourceAsStream("diagrams/LeaveProcess.zip");Deployment deployment = processEngine.getRepositoryService().createDeployment().name("汇信请假流程").addZipInputStream(new ZipInputStream(in)).deploy();System.out.println(deployment.getId());System.out.println(deployment.getName());}/** * 启动流程实例 */@Testpublic void startProcessInstance() {String processInstanceKey = "myProcess";ProcessInstance pi = processEngine.getRuntimeService().startProcessInstanceByKey(processInstanceKey);System.out.println(pi.getId());System.out.println(pi.getProcessInstanceId());System.out.println(pi.getProcessDefinitionId());}/** * 查询流程实例状态 */@Testpublic void isCompleted() {String processInstanceId = "1501";ProcessInstance pi = processEngine.getRuntimeService().createProcessInstanceQuery().processInstanceBusinessKey(processInstanceId).singleResult();if (pi == null) {System.out.println("流程已经结束");} else {System.out.println("未结束");}}/** * 完成流程 */@Testpublic void completeTask() {String processInstanceId = "1501";processEngine.getTaskService().complete(processInstanceId);}/** * 查询历史流程实例 */@Testpublic void findHistoricProcessInstance(){String processInstanceId = "1501";HistoricProcessInstance h = processEngine.getHistoryService().createHistoricProcessInstanceQuery().processDefinitionId(processInstanceId).singleResult();System.out.println(h.getId());System.out.println(h.getProcessDefinitionId());System.out.println(h.getStartTime());System.out.println(h.getEndTime());}/** * 查询历史任务 */@Testpublic void findHistoricTask() {String assignee = "张三";List<HistoricTaskInstance> list = processEngine.getHistoryService().createHistoricTaskInstanceQuery().taskAssignee(assignee).list();if (list != null && list.size() > 0) {for (HistoricTaskInstance h : list) {System.out.println(h.getAssignee() + " " + h.getName() + " "+ h.getStartTime() + " " + h.getEndTime());System.out.println("###################");}}}}

0 0
原创粉丝点击