流程变量可以是流程中一系列参数,比如办理人(Assignee),消息(message)等。这些流程变量使得activiti能够应用于更为复杂的业务中,使得流程变得更加灵活可控。





场景(一)



图一:没有使用流程变量





图二:使用流程变量







上面两个流程定义只是是否应用流程变量的一个简单例子,但可以看出,应用流程变量可以使得流程图更符合我们的业务需要。

场景(二)



图一:



将Assignee办理人配死





如果需要改变办理人,怎么办?



图二:



代码中控制办理人

在启动流程时,给参数赋值。

     //设置流程参数,办理人
Map<String,Object> map=new HashMap<String,Object>();
map.put("inputUser","小李");

场景(三)

在项目开发中,最常用的是与业务相结合的变量参数了。比如员工管理中的员工姓名、性别等信息,请假管理中的请假人员、请假时长、请假原因等。

需求:新员工报道流程,保存员工信息。

// 与任务相关的service
TaskService taskService = processEngine.getTaskService();
//假定一个任务id
String taskId = "1604";
// 方法一:设置流程变量,使用基本数据类型 /*taskService.setVariableLocal(taskId, "请假天数", 5); // local 与任务绑定
taskService.setVariable(taskId, "请假日起", new Date());
taskService.setVariable(taskId, "请假原因", "回家探亲。hi");*/ //方法二:使用javabean类型
Person person=new Person();
person.setId(122);
person.setName("ysx");
taskService.setVariable(taskId, "人员信息",person);

上篇博客我们介绍了与activiti自带的数据库,其中,act_hi_varinst,act_ru_variable都与流程变量的存储相关。员工信息保存到业务数据库后,流程变量信息会保存到流程库的这两张表中。

Activiti工作流(三)——流程变量的更多相关文章

  1. 工作流Activiti5流程变量 任务变量 setVariables 跟 setVariablesLocal区别

    工作流Activiti5流程变量 任务变量 setVariables 和 setVariablesLocal区别 因为网上的资料比较少.结合源码把相关API写下来. 设置流程级别变量: runtime ...

  2. 工作流学习——Activiti流程变量五步曲 (zhuan)

    http://blog.csdn.net/zwk626542417/article/details/46648139 ***************************************** ...

  3. 工作流学习——Activiti流程变量五步曲

    一.前言 上一篇文章我们将流程实例的启动与查询,任务的办理查询都进行了介绍,我们这篇文章来介绍activiti中的流程变量. 二.正文 流程变量与我们寻常理解的变量是一样的,仅仅只是是用在了我们act ...

  4. Activiti流程变量五步曲 ——by fightingKing

    http://blog.csdn.net/zwk626542417/article/details/46648139 一.前言 上一篇文章我们将流程实例的启动与查询,任务的办理查询都进行了介绍,我们这 ...

  5. Activiti工作流笔记(4)

    Activiti工作流启动流程 /** * 启动流程 * */ public class ActivitiTest2 { RepositoryService repositoryService; Ru ...

  6. Activiti工作流笔记(3)

    Activiti工作流的流程部署和删除流程部署 流程部署代码: /** * 部署流程 */ public class ActivitiTest { RepositoryService reposito ...

  7. Activiti工作流学习(三)Activiti工作流与spring集成

    一.前言 前面Activiti工作流的学习,说明了Activiti的基本应用,在我们开发中可以根据实际的业务参考Activiti的API去更好的理解以及巩固.我们实际的开发中我们基本上都使用sprin ...

  8. 三分钟明白 Activiti工作流 -- java运用

    原文地址:https://blog.csdn.net/jiangyu1013/article/details/73250902 一. 什么是工作流 以请假为例,现在大多数公司的请假流程是这样的 员工打 ...

  9. 三分钟明白 Activiti工作流 -- java运用_转载

    一. 什么是工作流 以请假为例,现在大多数公司的请假流程是这样的 员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑 采用工作 ...

随机推荐

  1. noip模拟赛 动态仙人掌(并查集,贪心)

    思路: 贪心+并查集 因为45‘,所以可以很方便的算出每个仙人掌的最晚起跳(左端点) 右端点自然也能出来 先按左端点排序 如果他右面的和他相交,就更新 用并查集维护这个更新的关系 更新的同时维护高就好 ...

  2. poj 2186 Popular Cows :求能被有多少点是能被所有点到达的点 tarjan O(E)

    /** problem: http://poj.org/problem?id=2186 当出度为0的点(可能是缩点后的点)只有一个时就存在被所有牛崇拜的牛 因为如果存在有两个及以上出度为0的点的话,他 ...

  3. ABAP术语-Authorization

    Authorization 原文:http://www.cnblogs.com/qiangsheng/archive/2007/12/18/1004059.html Authority to exec ...

  4. Linux的开山篇

    一.Linux的学习方向 1.2Linux运维工程师 1.2.2Linux嵌入式开发工程师 1.2.3在Linux下做各种程序开发    javaEE   大数据    Python  PHP  C/ ...

  5. 如何在linux中创建虚拟环境

    安装虚拟环境的命令 : sudo pip install virtualenv sudo pip install virtualenvwrapper 安装完虚拟环境后,如果提示找不到mkvirtual ...

  6. CentOS7下rsync服务的基本详解和使用

    第1章 Rsync基本概述 1.1 什么是Rsync rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具.适用于多个平台.从软件名称可以看出来是远程同步的意思(re ...

  7. git的初始配置(简易的命令行)

    Git 全局设置: git config --global user.name "You name" git config --global user.email "Yo ...

  8. 微信小程序 提示框延时跳转

    wx.showToast({ title: '成功', icon: 'success', duration: 2000, success:function(){ console.log('haha') ...

  9. SSM框架搭建步骤

    首先要导入相关的jar包(spring\spring-core\spring-jdbc\spring-aop\spring-context\spring-webmvc\junit\commons-la ...

  10. Python学习手册之Python介绍、基本语法(二)

    在上一篇文章中,我们介绍了Python的一些基本语法,现在我们继续介绍剩下的Python基本语法.查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/987193 ...