流程实例管理
来源:互联网 发布:python的列表推导式 编辑:程序博客网 时间:2024/05/29 23:44
package com.buyiner.activiti;import java.util.List;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngines;import org.activiti.engine.RuntimeService;import org.activiti.engine.TaskService;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Task;import org.activiti.engine.task.TaskQuery;import org.junit.Test;/** * * 流程实例管理 * 流程实例永远执行当前活动的节点 * * 私有任务 * 直接完成 * 共有任务 * 先认领任务,后完成 * * @author Administrator * */public class ProcessInstanceTest {//创建ProcessEngineprivate ProcessEngine processEngin = ProcessEngines.getDefaultProcessEngine();/** * 1.启动流程 * act_ru_execution 1条 * act_ru_task1条 * @throws Exception */@Testpublic void startProcess() throws Exception {//获取运行时服务RuntimeService runtimeService = processEngin.getRuntimeService();ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess");System.out.println("pid="+processInstance.getId()+"---activityId="+processInstance.getActivityId());}//2.查看任务//2.1 查看私有任务@Testpublic void queryMyTask() throws Exception {//创建服务对象idTaskService taskService = processEngin.getTaskService();String assignee = "王经理";//1)创建查询对象TaskQuery query = taskService.createTaskQuery();//2)配置参数TaskQuery taskQuery = query.taskAssignee(assignee).orderByTaskCreateTime().desc();//3)查询结果List<Task> list = taskQuery.list();for(Task task:list){System.out.println("task id="+task.getId()+",taskName="+task.getName()+",assignee="+task.getAssignee()+",createTime="+task.getCreateTime());}}//2.2 查看共有任务@Testpublic void queryCommonTask() throws Exception {//创建服务对象idTaskService taskService = processEngin.getTaskService();//String assignee = "user";//1)创建查询对象TaskQuery query = taskService.createTaskQuery();//String candidateUser = "张三";String candidateUser = "王经理";//2)配置参数TaskQuery taskQuery = query.taskCandidateUser(candidateUser).orderByTaskCreateTime().desc();//3)查询结果List<Task> list = taskQuery.list();for(Task task:list){System.out.println("task id="+task.getId()+",taskName="+task.getName()+",assignee="+task.getAssignee()+",createTime="+task.getCreateTime());}}//3.认领任务@Testpublic void renlinTask() throws Exception {TaskService taskService = processEngin.getTaskService();String taskId = "45002";String userId = "王经理";taskService.claim(taskId, userId);}//4.完成任务@Testpublic void finishTask() throws Exception {TaskService taskService = processEngin.getTaskService();String taskId = "45002";taskService.complete(taskId );}//5.查看任务状态@Testpublic void viewProcessStatus() throws Exception {RuntimeService runtimeService = processEngin.getRuntimeService();String processInstanceId = "42501";ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId ).singleResult();if(processInstance!=null){System.out.println("pid="+processInstance.getId()+"---activityId="+processInstance.getActivityId());}else{System.out.println("流程已结束");}//pid=42501---activityId=usertask2}}
0 0
- 流程实例管理
- Jbpm流程管理实例(一)
- Jbpm流程管理实例(二)
- JBPM4基础篇03-管理流程实例
- JBPM学习(3):管理流程实例
- jPBM4.3 -- 第三节 管理流程实例
- JBPM4基础篇03-管理流程实例
- [学习小结]Activiti5 流程实例管理
- JBPM4基础篇03-管理流程实例
- OA总结—jbpm管理流程实例
- Activiti第二篇【管理流程定义、执行任务和流程实例、流程变量】
- 将JBPM4整合到web工程---流程实例管理
- jbpm学习笔记(三)--管理流程实例
- 将JBPM4整合到web工程---流程实例管理
- 工作流学习——Activiti流程实例、任务管理四步曲
- 工作流学习——Activiti流程实例、任务管理四步曲
- 工作流学习——Activiti流程实例、任务管理四步曲
- 工作流学习——Activiti流程实例、任务管理四步曲
- iOS语音播放之切换听筒和扬声器的方法解决方案
- 【PHP】进一法取整、四舍五入取整、忽略小数等的取整数方法大全
- POJ1862-Stripies
- php开发中的页面跳转方法
- [IOS/翻译]Core Services Layer
- 流程实例管理
- Android 用户界面---操作栏(Action Bar 一)
- C++实验2-利用循环求和
- 基于opencv和QT的人脸(人眼)检测程序
- C++实验4-百钱百鸡问题
- servlet/filter/listener/interceptor区别与联系
- 反射dll里的函数
- ubuntu下ndnsim1.0的安装
- C#基础知识之自定义类