1.功能描述
在流程列表页面中显示用户自己添加的有查看流程定义权限的流程,除了超级管理员。超级管理员有所有流程的查看和其他操作权限,流程的权限分配请参考分管授权。在流程列表页面中进行的操作有:1.流程图的设计2.配置流程表单、节点人员的设置3.流程节点、插件配置 4.流程的其他设置。
2.基础操作-设计流程图
将左边的流程图元素拖到流程图编辑区域设计成符合自己需要的流程图,双击流程图元素和连线,修改元素和连线的名称,元素也可以称为节点,也可以在页面右边的【节点信息】中修改节点和连线名称,如下所示:
将元素拖到流程图编辑区域后,点击选中元素,在元素的右边显示其他元素,在元素的左下角显示“删除”按钮,在元素的下面显示“改变元素类型”按钮,如下图所示:
- 点击元素右边的元素,在编辑区域中增加一个元素,两个元素之间有连线连接,如下所示:
- 点击“删除”按钮,删除选中的元素,如下图所示:
- 点击“改变元素类型”按钮,显示“选择任务类型”弹出框,在弹出框中选择要变为的元素类型,点击“确定”按钮,元素类型变为选择的元素类型,如下图所示将用户任务变为会签任务:
注:改变元素类型时,只能变为相似的元素类型,例如,开始节点只能变为结束节点,用户任务只能变为其他任务,不能变为开始和结束节点,网关只能变为其他类型的网关。
3.流程元素使用说明
流程图的组成元素有开始、结束事件,有任务,有网关和泳池泳道,任务有人工任务的和自动任务,人工任务是需要人工处理的任务,例如用户任务、会签任务,自动任务是不需要人工干预的任务,有服务任务、脚本任务、消息任务。
序号 |
元素类型 |
说明 |
1 | 开始节点 |
开始节点代表着流程的开始,每个流程图必须有开始节点,并且只能有一个 |
2 | 结束节点 |
结束节点代表着流程的结束,每个流程图可以有多个结束节点 |
3 | 用户任务 |
普通用户任务(单人审批任务) |
4 | 会签任务 |
会签任务是需要多个人员来审批的任务,在【流程设置】中设置会签节点规则后,会签节点根据会签规则得出通过或者反对的投票结果,可以根据投票结果决定流程走向哪条分支 |
5 | 脚本任务 |
用来执行java脚本 |
6 | 消息任务 |
用来发送邮件、短信、站内消息,消息内容用户可以自己编辑 |
7 | 外部子流程 |
使用其他已发布的流程作为当前流程的外部子流程,外部子流程可以单实例也可以多实例 |
8 | 内部子流程 |
流程的内部子流程的流程图需要用户自己设计,内部子流程可以多实例也可以单实例 |
9 | 分支网关 |
分支网关根据设置的分支网关条件选择流程要走的分支 |
10 | 同步网关 |
同步网关需要成对使用,同步网关中的所有分支都会执行,只有同步网关中的所有分支都被处理后流程才可以通过同步网关走向同步网关的下一个节点 |
11 | 条件同步网关 |
条件同步网关也是必须要成对使用,与同步网关不同的是,同步网关中的每条分支都会执行,条件同步网关是根据设置的条件选择走哪条分支,可能是多条分支也可能是一条分支, 若走多条分支则每条分支都执行完后流程才能通过条件同步网关走向下一个节点。若没有设置条件同步网关的条件,则所有分支都要执行。 |
12 | 水平泳道 |
用来水平区分不同角色的任务区域,使流程图看起来整齐、规范。 |
用户任务:即单人审批任务,该任务节点只能由一个用户审批;
当在该节点设置多人审批时,则谁先对这个任务节点进行审批,谁就是该节点的审批人(即抢占式任务节点);
场景案例:
报销流程中,部门经理审批节点设置了2个审批人;
流程运行到部门经理环节,会在这个2个审批人中生成待办:
使用“王浩”的账号进行审批后,则“王浩”为部门经理审批环节的处理人,另外一个个用户的待办会在对应的待办列表上消失;
② 会签任务
在会签节点的【节点信息】中设置会签节点的串并行类型,如下所示:
会签节点有串行和并行两种类型,这里的串并行指的是会签节点产生任务时,任务是以串行或者以并行的方式产生。例如给会签节点设置了三个节点人员,串并行类型选择串行时,会签节点的任务是先产生一个,这个任务被处理后再产生另一个;串并行类型选择并行时,会签节点的这三个任务同时产生。下面举例说明。
- 串行
在下面这个流程中,会签节点的串并行类型选择的是“串行”,会签节点的审批人员设置了三个,如下图所示:
启动流程,流程运行到会签节点,可以看到会签节点目前产生了一个任务,这个任务被处理后才产生会签节点的第二个任务,第二个任务被处理后,才产生第三个任务,如下所示:
- 并行
将流程中会签节点的串并行类型修改为“并行”保存后,启动流程,流程运行到会签节点时,会签节点的三条任务同时产生,如下所示:
③ 内部子流程
内部子流程在【节点信息】中设置子流程的实例类型,实例类型有单实例和多实例,实例类型选择多实例是,需要设置实例的串并行类型。如下所示:
内部子流程的单实例是指当流程运行到内部子流程时,内部子流程只产生一条实例,多实例是指内部子流程产生多条实例,各个实例之间互不影响,内部子流程的第一个节点设置了几个节点人员,就产生几条实例。下面对单实例和多实例分别演示下。
- 子流程单实例
下图中的内部子流程的实例类型是单实例,在流程设置中设置内部子流程第一个节点的审批人员有三个,如下图所示:
启动流程,流程运行到内部子流程第一个节点时,可以看到内部子流程只有一条任务,子流程第一个节点任务的待执行人有三个,这三个人员的【待办事宜】中都有这该条任务的待办,他们对这个任务的审批是抢占式的,即其中一个审批后,其他两个人员的【待办事宜】中不再有该条任务。
- 子流程多实例
将内部子流程的实例类型改为“多实例”,并串行类型选择“并行”,并行即内部子流程一次性产生多个实例,多个实例之间的处理相互不影响,当所有实例都被处理完后才流转到主流程。串行即内部子流程每次只产生一个实例,产生的实例被处理完后才产生另一条实例,同样也是所有的实例都被处理完后才流转到主流程。下面是多实例并行的例子:
用户“李小明”在【待办事项】中审批了这条待办后,用户“张东东”和“钱西西”的该条任务还是存在,不受影响,如下所示:
④ 外部子流程
外部子流程节点在【节点信息】中选择子流程,设置子流程实例类型,当实例类型选择多实例时,设置串并行类型,和内部子流程一样。
选择子流程:点击子流程KEY旁边的“选择”按钮,在“选择子流程”弹出框的左边显示流程分类,点击流程分类,在弹出框的右边显示该分类下的流程,然后点击“确定”按钮,选择的流程的KEY显示在文本框中,即该流程作为主流程的外部子流程。如下所示:
外部子流程的单实例和多实例串、并行的效果同内部子流程的一样,这里不再赘述
⑤ 脚本任务
脚本任务:执行脚本的任务节点;
流程中添加了脚本任务的节点后,在流程配置-更多配置-设置自动任务,
点击“设置自定任务”,在“脚本任务节点”中填写需要执行的脚本即可;
示例:新增一个流程变量total,设置脚本任务为:execution.setVariable("total", 100);
操作如下:
第一步:添加流程变量;
第二步:设置脚本任务;
流程脚本执行后,该流程实例的流程变量total存的值是100,可在act_ru_variable表中查看:
⑥ 消息任务
消息任务:用于发送消息的任务节点;
流程中添加了消息任务的节点后,在流程配置-更多配置-设置自动任务;
点击“设置自定任务”,在“消息任务节点”中设置消息发送配置;
- 通知类型:设置发送消息的通知类型;
a. 需要与微信、钉钉做集成后,才能发送微信、钉钉消息通知
b. 发送邮件消息通知:需要在配置文件中配置发送邮件的账号,及在用户管理中填写接收人的邮箱地址;
c. 语音、短信的消息通知需要购买通讯运营商的服务
- 接收人配置:设置消息的接收人(接收人配置方式与节点审批人员配置方式一致,请参考节点审批人员);
- 标题:设置发送消息的标题;
- 文本:设置发送消息的内容;
- 外部数据类:该类必须实现IExternalData接口,程序会为你提供流程的一些信息,该实现类,通过已知流程信息,提供数据 map(String,Object),系统会通过map中的key匹配文本消息中${key}的动态数据。
消息任务(以发送邮件通知为例)示例:配置外部数据类,将流程实例id显示在发送的文内容中;
流程流转到消息节点时,会自动发送邮件给对应的用户,邮件内容如下图:
⑦ 分支网关
分支网关:分支网关根据设置的分支网关条件选择流程要走的分支
示例说明:表单字段“报销总金额”大于500时,需要总经理审批;“报销总金额”小于500,则结束流程,流程图如下所示:
分支节点配置步骤:
第一步:进入流程编辑页面,点击分支节点;
第三步:选择要设置表达式的节点,设置表达式;
第四步:设置完毕,点击{保存配置}
效果预览:
⑧ 同步网关
同步网关:同步网关需要成对使用,同步网关中的所有分支都会执行,只有同步网关中的所有分支都被处理后流程才可以通过同步网关走向同步网关的下一个节点;
⑨ 条件同步网关
条件同步网关:条件同步网关也是必须要成对使用,与同步网关不同的是,同步网关中的每条分支都会执行,条件同步网关是根据设置的条件选择走哪条分支,可能是多条分支也可能是一条分支,若走多条分支则每条分支都执行完后流程才能通过条件同步网关走向下一个节点。若没有设置条件同步网关的条件,则所有分支都要执行。
示例说明:根据表单字段“主办方、协助方”选择的内容流转到对应的节点,流程图如下所示:
预览效果:
⑩ 泳池泳道
示例: