Appearance
示例
概述
本文将以常见的"请假申请"流程作为示例,介绍Bpmn工作流的整体配置。通过该示例,您将了解工作流在处理请假流程中的运作原理。请假流程作为一个典型的业务流程,可以帮助您更好地理解Bpmn工作流的实际应用。我们将详细介绍流程的定义和配置,并解释各个环节的功能和交互方式。让我们一起来深入了解工作流引擎的工作原理及其在请假流程中的应用。
流程简介
假设我们的请假申请流程如下: 发起人提交请假申请,经由上级和行政助理的审批后完成请假流程。如果请假天数超过或等于3天,则需要经过行政主管的审批,才能被视为请假申请通过。
流程图
根据假定的请假申请流程,我们绘制了以下流程图以展示流程的结构和流转方式:

数据表
存储请假申请表单数据的数据表结构如下:
| 字段 | 类型 | 说明 |
|---|---|---|
| leaveType | 列表选择 | 请假类型,选项值包括:年假、病假、事假、调休 |
| startDate | 日期 | 请假开始时间 |
| endDate | 日期 | 请假结束时间 |
| reason | 多行文本 | 请假事由 |
| durations | 函数 | 请假天数。具体的配置内容为:DATE(endDate) - DATE(startDate) + 1 |
durations配置内容:
DATE(endDate) - DATE(startDate) + 1工作流配置
在请假申请流程中,发起人需要填写请假申请表单,并经过上级和行政助理的审批。如果请假天数超过或等于3天,还需要行政主管的审批。下面是工作流的具体配置:
全局设置
添加启动表单,用于发起人填写请假申请信息。 
上级审批节点
直接指派用户任务给发起人的上级,配置处理人即可,默认为或签行为。 
行政助理审批节点
使用多实例来配置或签行为,处理人设置为${adminAsitor}。 
判断请假时长
添加排他网关,并配置流转规则,系统根据流转规则决定流程流转到符合条件的分支。 
行政主管审批节点
类似于上级审批节点,选择行政主管作为处理人即可。
所有用户任务节点的设置请参考以下示例图: 
效果图
申请表单:
上级审批任务: 

