Activity工作流:流程创建总结

Activity工作流:流程创建总结Activiti工作流的应用示例1、新建流程模型模型管理->模型工作区点击“创建”后会立即跳转到“流程在线设计器”页面,请参考下一节2、在线流程设计器模型管理->模型工作区->编辑3、设置流程属性l名称:流程定义名称l描述信息:流程定义描述l流程标识:流程定义KEY,对应procDefKey,用来标识一个流程4、拖拽元素介…

大家好,又见面了,我是你们的朋友全栈君。

Activiti工作流的应用示例

1、新建流程模型

模型管理->模型工作区

image

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

2、在线流程设计器

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

image

3、设置流程属性

image

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、流程发起人的流程变量

image

 

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

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

image

 

image

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

6、表单概念

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

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

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

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

6、设置表单地址

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

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

image

 

7、设置流程参与者

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

image

 

image

 

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

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

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

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

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

8、设置流程流转的条件

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

image

9、保存流程设计图

 

image

 

10、部署流程设计图

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

image

11、导出流程设计图

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

image

 

12、【请假流程】

使用softwareuser登陆

image

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

image

 

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

image

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

image

 

13、leaderuser待办任务

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

image

image

 

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

image

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

image

14、leaderuser任务签收

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

image

 

image

15、leaderuser任务办理

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

image

 

image

任务完成。

16、hruser待办任务

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

 

image

image

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

image

 

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

image

17、hruser任务签收

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

image

image

 

18、hruser任务办理

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

image

 

image

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

image

 

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

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

image

image

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

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

image

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

image

20、任务完成。

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

image

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142651.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 查看服务器的外网地址[通俗易懂]

    查看服务器的外网地址[通俗易懂]服务器上执行以下命令:curlmembers.3322.org/dyndns/getip转载于:https://blog.51cto.com/zhenfen/2106824

    2022年5月1日
    145
  • 博客内的百度网盘资源公开目录下载[通俗易懂]

    博客内的百度网盘资源公开目录下载[通俗易懂]本博客下的百度网盘资源公开下载目录,及地址更新。博客园文档与资料(长期更新,2015-10-18Build)欢迎大家,github 推荐方式下载:https://github.co

    2022年7月3日
    28
  • 教你如何迅速秒杀掉:99%的海量数据处理面试题

    教你如何迅速秒杀掉:99%的海量数据处理面试题教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道blog前言  一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。  毕竟受文章和理论之限,本文将

    2022年6月23日
    17
  • Ubuntu安装GCC5/7/9/10/11「建议收藏」

    Ubuntu安装GCC5/7/9/10/11「建议收藏」为了使用C++14/17的新特性,我们难免要升级下自己的GCC版本,同时还要保证自己新安装的GCC生效,并且和原GCC共存。安装GCC-5.0sudoadd-apt-repositoryppa:ubuntu-toolchain-r/testsudoapt-getupdatesudoapt-getinstallgcc-5g++-5sudoupdate-alte…

    2022年7月24日
    24
  • hadoop怎么分割写入的文件为多个块的,一个map对应一个split分片吗?split与block的关系

    hadoop怎么分割写入的文件为多个块的,一个map对应一个split分片吗?split与block的关系hadoop怎么分割写入的文件为多个块的,一个map对应一个split分片吗?split与block的关系

    2022年4月23日
    134
  • 寻址方式小结

    寻址方式小结最近看了下王爽著的 里面总结了 8086CPU 编程的寻址方式 nbsp nbsp 1 idata 用医保常量来表示地址 可用于直接定位一个内存单元 nbsp nbsp 2 bx 用一个变量来表示内存地址 可用于间接定位一个内存单元 nbsp nbsp 3 bx idata 用一个变量和常量表示地址 可在一个起始地址的基础上用变量间接定位一个内存单元 nbsp nbsp 4 bx si 用两个变量表示地址 nbsp nbsp 5

    2025年7月30日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号