Activiti(工作流)如何关联业务表
注(version:5.15.1)
1.部署流程(定义流程)
InputStream in = new FileInputStream(file);
ZipInputStream zipInputStream = new ZipInputStream(in);
processEngine.this.getRepositoryService()
.createDeployment()
.name(processName)
.addZipInputStream(zipInputStream)
.deploy();
2.启动流程(所定义流程的一个实例)
processEngine().getRuntimeService()
/**第二个参数是businesskey:业务工单的主键,作为区分,一般流程名+id,当然如果id为uuid则无所谓 */
.startProcessInstanceByKey("leave", "leaveBill", variables);
这样,业务表就与activiti的表关联起来了(一般为了方便,业务表里也会存一个processId)
其内部表之间关联如下
3.查看某人的任务
/**
* 当前登录人登录系统以后要执行的任务(包含个人任务+组任务)
*/
public List<Task> getTasksByAssignee(String userId){
List<Task> assigneeTasks = this.getTaskService()
.createTaskQuery()
.taskAssignee(userId)//参与者,个人任务查询
.orderByTaskCreateTime()
.desc()
.list();
List<Task> candidateTasks = this.getTaskService()
.createTaskQuery()
.taskCandidateUser(userId)//参与者,组任务查询
.orderByTaskCreateTime()
.desc()
.list();
assigneeTasks.addAll(candidateTasks);
return assigneeTasks;
}
4.根据task -》 processInstance -》 businessKey -》 业务表
/**
* 根据taskId查找businessKey
*/
public String getBusinessKeyByTaskId(String taskId){
Task task = this.processEngine
.getTaskService()
.createTaskQuery()
.taskId(taskId)
.singleResult();
ProcessInstance pi = this.getRuntimeService()
.createProcessInstanceQuery()
.processInstanceId(task.getProcessInstanceId())
.singleResult();
return pi.getBusinessKey();
}
Activiti(工作流)如何关联业务表的更多相关文章
- Winform开发框架中工作流模块的业务表单开发
在我们开发工作流的时候,往往需要设计到具体业务表单信息的编辑,有些是采用动态编辑的,有些则是在开发过程中处理的,各有各的优点,动态编辑的则方便维护各种各样的表单,但是数据的绑定及处理则比较麻烦,而自定 ...
- 二、activiti工作流-创建25张表
首先我们在eclipse上创建一个maven项目 然后在resources下面创建一个file,并命名问activiti.cfg.xml activiti.cfg.xml的配置内容如下 <?xm ...
- Activiti工作流引擎数据库表结构
Activiti工作流引擎数据库表结构 一.数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. ACT_RE_ ...
- Activiti工作流框架学习(一)之通用数据表详细介绍
文/朱季谦 Activiti工作流引擎自带了一套数据库表,这里面有一个需要注意的地方: 低于5.6.4的MySQL版本不支持时间戳或毫秒级的日期.更糟糕的是,某些版本在尝试创建此类列时将引发异常,而其 ...
- Activiti工作流数据库表结构
Activiti工作流引擎数据库表结构 数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. ACT_RE_*: ...
- Activiti工作流框架学习(一)——环境的搭建和数据表的了解
一.什么是工作流 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现 ...
- Gemini.Workflow 双子工作流入门教程五:业务表单开发
简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:业务表单开发. 业务表单开发 业务表单的开发,和在 ...
- Activiti工作流 安装myeclipse activiti设计插件并生成数据库表
从零开始学习Activiti工作流,记录下学习过程. 关于工作流的简介没什么好介绍了,只能说是个很有用的东西,数据库中23张表分别有什么用网上也有很详细的介绍,这里也不多加说明.activiti开发中 ...
- Activiti工作流学习笔记(三)——自动生成28张数据库表的底层原理分析
原创/朱季谦 我接触工作流引擎Activiti已有两年之久,但一直都只限于熟悉其各类API的使用,对底层的实现,则存在较大的盲区. Activiti这个开源框架在设计上,其实存在不少值得学习和思考的地 ...
随机推荐
- Python中关于XML-RPC原理
SimpleXMLRPCServer模块为XML-RPC服务端的写入提供了一个基本的框架.利用SimpleXMLRPCServer服务器既可以一直空闲,也可以利用CGIXMLRPCRequestHan ...
- 终于说再见了!Google Reader
终于说再见了!Google Reader 投递人 itwriter 发布于 2013-07-02 13:28 评论(5) 有760人阅读 原文链接 [收藏] « » 今天 15:00 左右,Go ...
- VMware vSphere 服务器虚拟化之二十 桌面虚拟化之准备虚拟桌面模版
VMware vSphere服务器虚拟化之二十 桌面虚拟化之准备虚拟桌面模版 在虚拟桌面的部署中,我们必须准备好作为桌面模板的父映像,通过父映像使用完整克隆或者View Composer的链接克隆,创 ...
- Android系统移植(一)-让android系统在目标平台上运行起来
编号),文件系统采用ubifs格式,控制台设备为ttyS1,波特率为115200 启动的第一个应用程序是/init (6)确保控制台的设置和硬件保持一致,如:硬件上串口用的是UART1,则内核启动参数 ...
- JavaScript中SetInterval与setTimeout的用法详解
setTimeout 描述 setTimeout(code,millisec) setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 注:调用过程中,可以使用clearTimeou ...
- vim 模式基础操作
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 虽然Emacs已经可以完成大部分的编辑操作,但有时候为了方便也会用到vim.所以记录了 ...
- 【CSS学习笔记】a标签的四种伪类
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- Python 的基本使用说明
1.先定义一个被调用的模块,文件名 cnf.py #!/usr/bin/ #coding=utf- import sys reload(sys) sys.setdefaultencoding( &qu ...
- Xcode插件推荐
deriveddata-exterminator: A magic button in Xcode to exterminate the current project's DerivedData d ...
- MAC OS 常用软件及开发工具
1.各个版本的 Mac OS 链接: http://pan.baidu.com/s/1mgDtCi0 密码: 4y3u 2.Xcode xcode_4.6.3 链接: http://pan.baidu ...