Activiti工作流之任务的运行/查询/完成
8张表:
SELECT * FROM act_re_deployment; -- 一 流程部署表SELECT * FROM act_ge_bytearray; -- 二 流程二进制表SELECT * FROM act_re_procdef; -- 三 流程定义表SELECT * FROM act_ru_execution; -- 四 流程正在运行表SELECT * FROM act_hi_procinst; -- 五 流程实例历史表SELECT * FROM act_ru_task; -- 六 流程当前任务表SELECT * FROM act_hi_taskinst; -- 七 流程历史任务表SELECT * FROM act_hi_actinst; -- 八 流程历史活动节点表
先决工作:
//定义一个成员变量RepositoryService repositoryService;RuntimeService runtimeService;TaskService taskService;/*** 获取流程引擎*/@Beforepublic void setUp() throws Exception {ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();repositoryService = processEngine.getRepositoryService();runtimeService = processEngine.getRuntimeService();taskService = processEngine.getTaskService();}
1 启动流程
测试代码:
/*** 启动流程*/@Testpublic void startProcess() {ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("activiti_leave");String processInstanceId = processInstance.getId();String activityId = processInstance.getActivityId();String definitionId = processInstance.getProcessDefinitionId();System.out.println("流程实例ID:"+processInstanceId);System.out.println("正在活动的节点ID:"+activityId);System.out.println("流程定义ID:"+definitionId);}
2 查询正在运行的实例
测试代码:
/*** 查询正在运行的实例*/@Testpublic void queryExecution(){List<Execution> executionList = runtimeService.createExecutionQuery() //创建正在执行的流程查询对象.processDefinitionKey("activiti_leave") //根据流程定义的key查询.orderByProcessInstanceId() //根据流程实例id排序.desc() //倒序.list(); //查询出集合for(Execution execution: executionList){System.out.println("正在执行的流程对象的id: "+execution.getId());System.out.println("所属流程实例的id:"+execution.getProcessInstanceId());System.out.println("正在活动的节点的id: "+execution.getActivityId());}}
3 查询任务
测试代码:
/*** 根据办理人查询任务*/@Testpublic void queryTaskByAssignee(){String assignee = "employee";List<Task> taskList = taskService.createTaskQuery().processDefinitionKey("activiti_leave").taskAssignee(assignee).orderByTaskCreateTime().desc().list();for(Task task: taskList){System.out.println("任务id: "+task.getId());System.out.println("任务名字: "+task.getName());System.out.println("任务创建时间: "+task.getCreateTime());System.out.println("办理人: "+task.getAssignee());}}
4 查询任务位置
测试代码:
/*** 查询当前流程实例状态*/@Testpublic void queryProInstanceStateByProInstanceId(){ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId("35001").singleResult();if(processInstance == null){System.out.println("当前流程已经完成");}else{System.out.println("当前流程实例ID:"+processInstance.getId());System.out.println("当前流程所处的位置:"+processInstance.getActivityId());}}
5 完成任务
测试代码:
/*** 根据办理人查询任务*/@Testpublic void queryTaskByAssignee(){String assignee = "employee";List<Task> taskList = taskService.createTaskQuery().processDefinitionKey("activiti_leave").taskAssignee(assignee).orderByTaskCreateTime().desc().list();for(Task task: taskList){System.out.println("任务id: "+task.getId());System.out.println("任务名字: "+task.getName());System.out.println("任务创建时间: "+task.getCreateTime());System.out.println("办理人: "+task.getAssignee());}}
Activiti系列回顾:
Activiti工作流之简介与环境搭建
Activiti工作流之流程部署和相关操作
Activiti工作流之任务的运行/查询/完成相关推荐
- Activiti工作流之历史查询
流程的部署和流程的启动步骤就不贴出代码了, 请看我的Activiti系列之前的代码即可 系列回顾: 1 Activiti工作流之简介与环境搭建 2 Activiti工作流之流程部署和相关操作 3 Ac ...
- Activiti工作流之流程分支
回顾: Activiti工作流之简介与环境搭建 Activiti工作流之流程部署和相关操作 Activiti工作流之任务的运行/查询/完成 Activiti工作流之流程变量 Activiti工作流之历 ...
- Activiti工作流从入门到入土:工作流简介
文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!! 一.activiti介绍 Activiti5是由Alfresc ...
- activiti工作流引擎入门教程
activiti简介 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准. Activiti是一种轻量级,可嵌入的BPM引擎,而且 ...
- 【青铜打铁篇】Activiti 工作流从入门到入土?
点击上方"好好学java",选择"置顶"公众号 重磅资源.干货,第一时间送达 重磅推荐 ① 纯福利 | 公众号资源大汇总,一年才一次! ② 重磅!!2018年J ...
- Activiti工作流引擎使用
Activiti工作流引擎使用 1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百度百科:工作流引擎 1.1 我与工作流引擎 在第一家公司工作的时候主要任务就是开发OA系统,当然基本 ...
- activiti 工作流_一文让你读懂什么是Activiti工作流
Activiti工作流学习经验总结(一) 什么是工作流? 工作流指通过计算机对业务流程进行自动化管理,实现多个参与者按照预定义的流程去自动执行业务流程. 什么是Activiti? Activiti 是 ...
- Activiti工作流引擎的使用
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Activiti工作流引擎使用 1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百 ...
- activiti 生命周期_一文让你读懂什么是Activiti工作流
Activiti工作流学习经验总结(一) 什么是工作流? 工作流指通过计算机对业务流程进行自动化管理,实现多个参与者按照预定义的流程去自动执行业务流程. 什么是Activiti? Activiti 是 ...
- activiti idea 请假流程_IDEA创建Activiti工作流开发
IDEA创建Activiti工作流开发 一.安装Activiti插件 1.首先打开FIle的setting功能,搜索Plugins: 2.输入actiBPM,然后点击搜索: 3.点击安装.应用: 安装 ...
最新文章
- adb命令开启手机的一些功能,请问怎么操作?
- http中post和get方法区别
- Record of redevelopment of website
- 【pytorch 】nn.init 中实现的初始化函数 normal, Xavier==》为了保证数据的分布(均值方差一致)是一样的,类似BN
- Python正在褪色,最晚2030年就被淘汰
- 用户变量和系统变量的区别_环境变量的用户变量与系统变量的区别
- AOJ0118 Property Distribution【DFS】
- POJ 3046 Ant Counting ( 多重集组合数 经典DP )
- 经典——也许这就是方向
- 如何在C中调用C++的示例代码
- CIC滤波器原理及设计实现
- 工行u盾显示316_详解工行U盾及使用方法和注意事项
- javascript中正则匹配多个条件, 常用正则匹配, 正则详解
- (Matlab实现)CNN卷积神经网络图片分类
- 线性代数学习笔记——第三十三讲——向量混合积的几何意义
- HDU1071微积分公式求曲线面积
- 什么叫做股票实时行情接口api?
- 变点理论CUSUM在择时交易中的应用
- Katana程序集列表
- mysql实验训练2 数据查询操作_实验训练2:数据查询操作