概要
本文档介绍的是某商用中集成的Activiti工作流的部署及使用,该框架用的Activiti版本为5.19.0。本文档中主要以一个请假流程为例子进行说明,该例子的流程图如下:


这是一个可以正常运作的工作流业务了,但是它也有不足的地方,如没做详细的分支控制,而且写死了节点,没能更好地体现工作流引擎的灵活性,这些在我们后面实际的项目业务中的工作流使用上做了调整,但由于项目业务不能公开,且这个例子已能说明大部分的问题,这里就不一一细说我们的其他业务实现了。
新建流程模型

  1. 新增模型
    (1)进入新建模型页面


(2)填写名称等信息


注意,这里的Key是该流程的唯一标识,须与实际业务中约定的key一致,如下图:


(3)点击保存时会进入工作流模型子系统,先在流程唯一标识处填写刚才的key


(4)添加开始事件,开始事件的属性不用填(也可填写名称)。然后添加人工任务,如下图:


(5)给已添加的人工任务添加指派者(填系统用户或用户组ID)、名称、ID.如下图:


注意,这里的ID是该任务的唯一标识,是实际业务中判断是否为当前用户可办理的依据,须和代码中判断约定的ID保持一致,若不理解请参考下图(但这种写法会导致流程节点的灵活性降低,不太建议):


(6)新建一个网关,任务后面一般会连着网关,根据上一任务的处理结果来实现分支管理(作用类似于if判断),请参考下图:


注意,网关后面的分支要填写名称及跳转条件,同意操作的跳转条件为” ${auditPass}”,不同意的跳转条件为” ${!auditPass}”


(7)按上述操作方法继续完成流程图的编辑。


(8)点击保存模型


部署模型
重新进入模型工作区,部署刚添加的模型

转换模型
转换模型可理解为采纳某个定义好的模型,采纳完后涉及到该流程的业务操作将按新的模型运作。


使用工作流
新建并定义好模型后,即可使用该工作流模型了,以下为请假流程为例进行示范:

  1. 提交申请


提交完后可以在【运行中的任务】中看到该任务及其当前所在的节点

  1. 签收任务
    通过有权限处理该节点的用户账号登录后,可在【任务签收】处签收该任务,获得该事件的处理权(这一步骤可根据实际业务需要省略)。

  1. 办理任务
    在【待办任务】中可对已签收的任务进行办理,办理后任务会根据办理结果移交下一节点,直至任务结束。

  1. 任务结束
    任务结束后可在【已结束任务中】看到。

感谢阅读,欢迎一起讨论,共同学习。 --广州学生梁植淋

基于Activiti工作流引擎实现的请假审核流程的更多相关文章

  1. Activiti工作流引擎开发系列

    Activiti工作流引擎开发系列-01 作者:Jesai 没有伞的孩子,只能光脚奔跑! 前言: 初次接触工作流这个概念是自从2014年11月份开始,当时是由于我的毕业设计需要,还记得当时我毕业设计的 ...

  2. Activiti工作流引擎简介

    Activiti工作流引擎简介 一.概述 Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活 ...

  3. Activiti工作流引擎参考资料

    Activiti工作流引擎使用 工作流-Activiti核心API介绍 传智播客Activiti工作流视频教程(企业开发实例讲解) 工作流引擎Activiti演示项目 http://www.kafei ...

  4. Activiti工作流引擎数据库表结构

    Activiti工作流引擎数据库表结构 一.数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. ACT_RE_ ...

  5. activiti工作流引擎

    参考文章 Activiti-5.18.0与springMvc项目集成和activiti-explorer单独部署Web项目并与业务数据库关联方法(AutoEE_V2实现方式) https://blog ...

  6. Activiti工作流引擎使用

    http://www.kafeitu.me/activiti/2012/03/22/workflow-activiti-action.html 1.简单介工作流引擎与Activiti 对于工作流引擎的 ...

  7. Activiti工作流引擎核心介绍

    引言 Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于 Java 的超快速.超稳定的 BPMN 2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更 ...

  8. Activiti工作流引擎使用详解(一)

    一.IDEA安装activiti插件 在插件库中查找actiBPM,安装该插件,如果找不到该插件,请到插件库中下载该包手动安装,插件地址 http://plugins.jetbrains.com/pl ...

  9. 【Activiti工作流引擎】官方快速入门demo

    Activiti官方快速入门demo 地址: https://www.activiti.org/quick-start 0. 版本 activiti 5.22.0 JDK 1.8 1. 介绍 这个快速 ...

随机推荐

  1. ECStore图片云端集群存储实践-又拍云存储

    通过又拍云存储REST API ,为ECStore新增图片存储引擎,从而达到图片数据与主站数据分离.提高网站性能. 图片存储引擎相关文件添加与修改 一共涉及到ECStore 2个APP 的文件添加和修 ...

  2. swift是强类型语言

    swift是强类型语言 所有的变量必须先声明,后使用: 指定类型的变量只能接收类型与之匹配的值. 强类型:变量的类型明确,变量的赋值必须符合类型约束:变量的类型转化必须显式进行. 强类型:类型规则的制 ...

  3. js 判断元素是否在列表中

    /** * 使用循环的方式判断一个元素是否存在于一个数组中 * @param {Object} arr 数组 * @param {Object} value 元素值 */ function isInA ...

  4. Hello Shader之Hello Trangle

    这两天配了一下现代OpenGL的开发环境,同时看了一下基础知识和编程规范 写了一个编译GLSL语言的前端程序和一个Hello trangle的程序 另外,推荐两个资源 1.学习网站Learn Open ...

  5. Scrapy实践----获取天气信息

    scrapy是一个非常好用的爬虫框架,它是基于Twisted开发的,Twisted又是一个异步网络框架,既然它是异步的,那么执行起来肯定会很快,所以scrapy的执行速度也不会慢的! 如果你还没没有学 ...

  6. tsconfig.json

    概述 如果一个目录下存在一个tsconfig.json文件,那么它意味着这个目录是TypeScript项目的根目录. tsconfig.json文件中指定了用来编译这个项目的根文件和编译选项. 一个项 ...

  7. 在openresty或nginx编译nginx-upsync-module&nginx_upstream_check_module

    针对我在编译在两个模块的过程中遇到的一系列问题,特此记录编译流程的一些细节 1.下载 install git git clone https://github.com/weibocom/nginx-u ...

  8. poj 3169 Layout(线性差分约束,spfa:跑最短路+判断负环)

    Layout Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15349   Accepted: 7379 Descripti ...

  9. 第9章 初识STM32固件库

    第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  10. stop-hbase.sh一直处于等待状态

    今天关闭HBase时,输入stop-hbase.sh一直处于等待状态 解决方法: 先输入:hbase-daemon.sh stop master 再输入:stop-hbase.sh就可以关闭HBase ...