简单流程测试(部署到审核)(2)
2015-07-04 18:01
274 查看
/** * 方法 :简单流程部署的测试方法 * @title: test * @param * @return void * @date 2015-7-4 创建 zp */ public void test(){ // Deploy the process definition repositoryService.createDeployment().addClasspathResource("/com/future/sem/resource/activiti/diagrams/testGW.bpmn").deploy(); // Start a process instance String procId = runtimeService.startProcessInstanceByKey("financialReport").getId(); List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("accountancy").list(); for (Task task : tasks) { System.out.println("Following task is available for accountancy group: " + task.getName()); // claim it taskService.claim(task.getId(), "fozzie"); } // Verify Fozzie can now retrieve the task tasks = taskService.createTaskQuery().taskAssignee("fozzie").list(); for (Task task : tasks) { System.out.println("Task for fozzie: " + task.getName()); // Complete the task taskService.complete(task.getId()); } System.out.println("Number of tasks for fozzie: " + taskService.createTaskQuery().taskAssignee("fozzie").count()); // Retrieve and claim the second task tasks = taskService.createTaskQuery().taskCandidateGroup("management").list(); for (Task task : tasks) { System.out.println("Following task is available for accountancy group: " + task.getName()); taskService.claim(task.getId(), "kermit"); } // Completing the second task ends the process for (Task task : tasks) { taskService.complete(task.getId()); } HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(procId).singleResult(); System.out.println("Process instance end time: " + historicProcessInstance.getEndTime()); List listh2 = historyService.createHistoricDetailQuery() .formProperties() .processInstanceId(procId) .orderByVariableName().asc() .list(); }
部署流程定义
/** * 部署流程定义 */ @Test public void deploymentProcessDefinition() { ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); Deployment deployment = processEngine.getRepositoryService()// 与流程定义和部署对象相关的Service .createDeployment() // 创建一个部署对象 .name("activiti").addClasspathResource("helloworld.bpmn")// 从classpath的资源中加载 .addClasspathResource("helloworld.png").deploy(); // 完成部署 System.out.println("ID: " + deployment.getId()); System.out.println("name: " + deployment.getName()); }
这里使用 RepositoryService 部署流程定义 addClasspathResource表示从类路径下加载资源文件,一次只能加载一个文件
启动流程实例
/** * 启动流程实例 */ @Test public void startProcessInstance() { ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); String processDefinitionKey = "helloworld"; ProcessInstance pi = processEngine.getRuntimeService() .startProcessInstanceByKey(processDefinitionKey); System.out.println("流程实例ID:" + pi.getId()); System.out.println("流程定义ID:" + pi.getProcessDefinitionId()); }
这里使用 RuntimeService 启动流程实例
查看我的个人任务
/** * 查询当前人的个人认为 */ @Test public void findMyPersonTask() { ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); String assignee = "张三"; List<Task> list = processEngine.getTaskService().createTaskQuery() .taskAssignee(assignee).list(); for (Task task : list) { System.out.println(task.getId()); System.out.println(task.getName()); System.out.println(task.getCreateTime()); System.out.println(task.getAssignee()); } }
这里使用 TaskService 完成任务的查询
完成我的个人任务
/** * 完成我的任务 */ @Test public void completeMyPersonTask() { ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); String taskId = "104"; processEngine.getTaskService().complete(taskId); System.out.println("完成任务:" + taskId); }这里使用 TaskService 完成任务的办理
相关文章推荐
- 怎么使用VS2010创建自己的DLL,并配置到另外的一个工程
- Linux 常用命令
- Java命名规则
- C3_循环结构练习
- lintcode:Longest Increasing Continuous subsequence II
- CentOs6.5中安装和配置vsftp简明教程
- nginx-php
- 原码, 反码, 补码 详解
- SublimeText Build UnicodeEncodeError
- 阴影体(shadow volume)
- C3_循环结构
- 利用keepalived构建高可用MySQL-HA
- Java String,Unicode,byte[],16进制的字符串互转
- 数组中的逆序对 (java实现)
- Python字符串逆序输出
- 从尾到头打印单链表
- ARM 非对齐的数据访问操作
- 返回顶部的功能 div固定在页面位置不变
- [翻译]用 Puppet 搭建易管理的服务器基础架构(2)
- 链栈的操作