转:

Activiti工作流的应用示例

1、新建流程模型

模型管理->模型工作区

点击“创建”后会立即跳转到“流程在线设计器”页面,请参考下一节

2、在线流程设计器

模型管理->模型工作区->编辑

3、设置流程属性

l 名称:流程定义名称

l 描述信息:流程定义描述

l 流程标识:流程定义KEY,对应procDefKey,用来标识一个流程

4、拖拽元素介绍

    Start event:开始事件
    End entit:结束事件
    User task:用户任务活动
    Service task:服务任务活动
    Exclusive gateway:独家网关,排它网关通道,只能有一条分支执行,如if else
    Parallel gateway:并行网关,并行网关通道,所有分支一块执行
更多介绍请参考:http://www.mossle.com/docs/activiti/#bpmnConstructs

5、流程发起人的流程变量

在开始节点的属性中设置“启动器”(流程发起人)的变量,例如:applyUserId

设置以后,在某个任务的属性中,可以设置参与者为${applyUserId},这样可以实现【谁发起谁执行】,请参考下图:

当发起人发起某个流程,在某个环节被驳回的时候,如果希望流程驳回到发起人,可使用方法。

6、表单概念

普通表单:每个节点的表单内容都写死在JSP或者HTML中。

动态表单:表单内容存放在流程定义文件中(包含在启动事件以及每个用户任务中)。

外置表单:每个用户任务对应一个单独的<b>.form</b>文件,和流程定义文件同时部署(打包为zip/bar文件)。

综合流程:可以查询到所有的流程(普通、动态、外置固定查询某些流程的表单,为了演示所以单独分开);综合流程的目的在于可以启动用户上传或者设计后部署的流程定义。

6、设置表单地址

l 全局表单:新建流程时或活动元素上未设置表单标识时调用的表单,位于开始事件属性中“表单标识”字段,指定表单访问地址。

l 活动表单:当前步骤使用的表单,使用活动节点属性“表单标识”字段。

7、设置流程参与者

在流程节点中,设置【任务分配】

l assignee:任务执行人,设置系统中的“登录名”(loginName)。

l candidateUsers:任务执行人,可以填写多个。

l candidateGroups:任务执行组,可以填写多个,设置系统中的“角色英文名(enname)”。

assignee和candidateUsers的区别是:assignee不需要签收任务,直接可执行任务;candidateUsers为竞争方式分配任务,被指定人待办中都有一条任务,谁先签收谁就获得任务的执行权。

参与者可指定流程变量(EL表达式),动态指定参与者,如:${processer}

8、设置流程流转的条件

选定流转线,在【流条件】中填写EL表达式,返回true或false。例如:

9、保存流程设计图

10、部署流程设计图

模型管理->模型工作区,点击【部署】

11、导出流程设计图

模型管理->模型工作区,可以导出BPMN、JSON、SVG格式的流程设计图

12、【请假流程】

使用softwareuser登陆

工作流程->请假申请,填写如下:

点击【申请】后,启动请假申请流程。

此时在流程办理->运行中的流程中,可以看到:

13、leaderuser待办任务

使用leaderuser用户登陆,它属于deptLeader用户组。deptLeader也就是【部门领导审批】任务分配的用户组。

点击工作流程->待办任务。可以看到未签收任务

点击【跟踪】可以看到流程目前进展情况。

14、leaderuser任务签收

leaderuser用户点击工作流程->流程办理->请假办理(普通),对任务进行签收。

15、leaderuser任务办理

leaderuser用户,进入流程办理->请假办理(普通),选中任务,点击【办理】

任务完成。

16、hruser待办任务

使用hruser登陆系统,hruser属于hr角色,是请假流程人事审批的任务分配组。

hruser登陆系统后,点击工作流程->待办任务,可以看到如下:

点击跟踪,可以看到目前流程进展情况。

17、hruser任务签收

hruser进入工作流程->流程办理->请假办理(普通),对任务进行签收

18、hruser任务办理

hruser进入工作流程->流程办理->请假办理(普通),对任务进行办理

同意以后,在工作流程->流程办理->运行中的流程(普通),可以看到:

19、请假最后一个环节,销假

使用softwareuser用户登录系统,他是请假者,销假的流程在设计图中分配给他自己。

注意以上2张图片applyUserId的变量。

softwareuser用户点击工作流程->流程办理->请假办理(普通),点击【办理】

填写实际请假开始时间和结束时间。

20、任务完成。

softwareuser用户点击工作流程->流程办理->已结束流程(普通),可以看到已完成的任务。

Activiti工作流的应用示例 (官方guide项目方式)的更多相关文章

  1. Activiti工作流的应用示例

    1.新建流程模型 模型管理->模型工作区 点击"创建"后会立即跳转到"流程在线设计器"页面,请参考下一节 2.在线流程设计器 模型管理->模型工作区 ...

  2. 项目结合activiti工作流框架使用

    项目结合activiti工作流框架使用: 1.项目与工作流框架的结合. 2.状态:草稿(待审批).审批中.审批通过.审批失败 3. 提交审批: 0 草稿(待审批),记录绑定工作流执行id,审批状态设置 ...

  3. Activiti工作流学习笔记一

    Activiti工作流 一:Activiti第一天 1:工作流的概念 说明: 假设:这两张图就是华谊兄弟的请假流程图 图的组成部分: 人物:范冰冰冯小刚王中军 事件(动作):请假.批准.不批准 工作流 ...

  4. activiti工作流的web流程设计器整合视频教程 SSM和独立部署

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  5. activiti工作流的web流程设计器整合视频教程 SSM 和 独立部署

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  6. activiti工作流的web流程设计器整合视频教程

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  7. Activiti工作流引擎使用

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

  8. Activiti工作流学习-----基于5.19.0版本(6)

    七. BPMN的简介 读者了解到这里,应付一般的工作流开发已经足够了.此处应该有华丽的分割线,在工作流项目中核心开发人员主要是对工作流业务设计以及实现,而初级开发人员是对业务功能的代码实现.以后将主要 ...

  9. Activiti工作流学习-----基于5.19.0版本(1)

    该版本的Activiti运行须知: 1.JDK 6+,Eclipse最好是Kepler以上版本. 2.试验功能都有EXPERIMENTAL标注,被标注的部分不应该视为稳定的. 有兴趣的同学可以去了解下 ...

随机推荐

  1. 《The Mythical Man-Month(人月神话)》读后感(2)

    第10章 未雨绸缪 在化学领域中,在实验室可以进行的反应过程,并不能在工厂中一步实现.一个被称为“ 实验性工厂(pilot planet)”的中间步骤是非常必要的,它会为提高产量和在缺乏保护的环境下运 ...

  2. Tomcat之初识初体验

    1.what's this? Stable performance, free Java web application server! 相关: Java,Javac,JVM,JRE,JDK,Java ...

  3. 第九次作业psp

    psp 进度条 代码累积折线图 博文累积折线图 psp饼状图

  4. 做一名合格的程序员(learning of a previous team)

    合格程序员的基本素质 作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具 有的素质.  1 团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备 ...

  5. Daily Scrum (2015/10/26)

    今晚由于我们组成员就团队Week5作业的个人贡献分开会协商,所以把今天的编码工作往后延迟了.考虑到有些成员代码还没理解够,正好TFS的代码阅读分配的工作时间还没进行完,所以在会议之后我们让成员回寝自由 ...

  6. 实验三:敏捷开发与XP实践

    Java实验三报告 一.   实验内容 (一)敏捷开发与XP 内容:1.敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法. 2.极限编程(eXtreme Pro ...

  7. “吃神么,买神么”的第二个Sprint计划(计划过程内容)

     “吃神么,买神么”项目Sprint计划 ——6.1(第二天)立会内容与进度 团队组员各自任务: 陈键.吴舒婷:继续完善前台设局与布局 林欢雯.冯美欣:开展后台的界面的设计与布局 任务的进度: 陈键. ...

  8. 结对作业-四则运算GUI

    目录: 一.项目地址二.PSP三.接口设计四.计算模块接口的设计与实现过程五.计算模块接口部分的性能改进六.计算模块部分单元测试展示七.计算模块部分异常处理说明八.界面模块的详细设计过程九.界面模块与 ...

  9. 谷歌地图api 开发 (转载)

    https://www.cnblogs.com/520lin/p/5800024.html

  10. 软工网络15团队作业8——Beta阶段敏捷冲刺(用户使用调查报告)

    一.项目概述 1.项目名称 考研必背 2.项目简介 微信小程序,帮助考研学生记忆单词. 3.项目预期达到目标 用户无需下载app,仅通过微信小程序就可以达到背单词的目的,并且能够制定背单词的计划. 4 ...