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工作流之任务的运行/查询/完成相关推荐

  1. Activiti工作流之历史查询

    流程的部署和流程的启动步骤就不贴出代码了, 请看我的Activiti系列之前的代码即可 系列回顾: 1 Activiti工作流之简介与环境搭建 2 Activiti工作流之流程部署和相关操作 3 Ac ...

  2. Activiti工作流之流程分支

    回顾: Activiti工作流之简介与环境搭建 Activiti工作流之流程部署和相关操作 Activiti工作流之任务的运行/查询/完成 Activiti工作流之流程变量 Activiti工作流之历 ...

  3. Activiti工作流从入门到入土:工作流简介

    文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!! 一.activiti介绍 Activiti5是由Alfresc ...

  4. activiti工作流引擎入门教程

    activiti简介 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准. Activiti是一种轻量级,可嵌入的BPM引擎,而且 ...

  5. 【青铜打铁篇】Activiti 工作流从入门到入土?

    点击上方"好好学java",选择"置顶"公众号 重磅资源.干货,第一时间送达 重磅推荐 ① 纯福利 | 公众号资源大汇总,一年才一次! ② 重磅!!2018年J ...

  6. Activiti工作流引擎使用

    Activiti工作流引擎使用 1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百度百科:工作流引擎 1.1 我与工作流引擎 在第一家公司工作的时候主要任务就是开发OA系统,当然基本 ...

  7. activiti 工作流_一文让你读懂什么是Activiti工作流

    Activiti工作流学习经验总结(一) 什么是工作流? 工作流指通过计算机对业务流程进行自动化管理,实现多个参与者按照预定义的流程去自动执行业务流程. 什么是Activiti? Activiti 是 ...

  8. Activiti工作流引擎的使用

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Activiti工作流引擎使用 1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百 ...

  9. activiti 生命周期_一文让你读懂什么是Activiti工作流

    Activiti工作流学习经验总结(一) 什么是工作流? 工作流指通过计算机对业务流程进行自动化管理,实现多个参与者按照预定义的流程去自动执行业务流程. 什么是Activiti? Activiti 是 ...

  10. activiti idea 请假流程_IDEA创建Activiti工作流开发

    IDEA创建Activiti工作流开发 一.安装Activiti插件 1.首先打开FIle的setting功能,搜索Plugins: 2.输入actiBPM,然后点击搜索: 3.点击安装.应用: 安装 ...

最新文章

  1. adb命令开启手机的一些功能,请问怎么操作?
  2. http中post和get方法区别
  3. Record of redevelopment of website
  4. 【pytorch 】nn.init 中实现的初始化函数 normal, Xavier==》为了保证数据的分布(均值方差一致)是一样的,类似BN
  5. Python正在褪色,最晚2030年就被淘汰
  6. 用户变量和系统变量的区别_环境变量的用户变量与系统变量的区别
  7. AOJ0118 Property Distribution【DFS】
  8. POJ 3046 Ant Counting ( 多重集组合数 经典DP )
  9. 经典——也许这就是方向
  10. 如何在C中调用C++的示例代码
  11. CIC滤波器原理及设计实现
  12. 工行u盾显示316_详解工行U盾及使用方法和注意事项
  13. javascript中正则匹配多个条件, 常用正则匹配, 正则详解
  14. (Matlab实现)CNN卷积神经网络图片分类
  15. 线性代数学习笔记——第三十三讲——向量混合积的几何意义
  16. HDU1071微积分公式求曲线面积
  17. 什么叫做股票实时行情接口api?
  18. 变点理论CUSUM在择时交易中的应用
  19. Katana程序集列表
  20. mysql实验训练2 数据查询操作_实验训练2:数据查询操作

热门文章

  1. 班级网站(网页设计实验)
  2. 大学生静态HTML网页源码 我的校园网页设计成品 学校班级网页制作模板 web课程设计 dreamweaver网页作业
  3. 2010-2019中国企业所有跨国并购数据
  4. 【Python数据分析学习实例】篮球运动位置分析
  5. 天铁托甲catarinite
  6. 免费天气API,全国天气 JSON API接口,可以获取五天的天气预报
  7. 网传程序员加班猝死,当事人:我还在写代码
  8. 中文分词词库汇总(一)
  9. Hadoop伪分布式
  10. 鸢尾花lris数据集的SVM线性分类