多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 引擎工作机制 在本章节中,会详细讲解基本的实现原理,即流程引擎如何将配置数据转化为实例数据。 ****** ### 1、基础配置 - 表单配置 #### 表单配置 | 表单类型 | | --- | | 费用报销 | #### 流程配置 | 流程名称 | 表单类型 | | --- | --- | | 销售类费用报销 | 费用报销 | #### 流程步骤 | 序号 | 步骤名 | 办理人 | | --- | --- | --- | | 1 | 直属部门领导审核 | @部门领导 | | 2 | 财务审核 | @会计 | > 这里的@xxx等同于一组取值规则,用于匹配流程实例的办理人 ### 2、流程发起 流程发起时,系统会根据流程配置读取流程各节点信息以及办理人,同时生成一个流程实例,并且生成对应的流程步骤。 引擎处理动作如下: 1. 流程实例数据插入到 **wf_task** 表中 2. 流程步骤数据插入到 **flow_step** 表中 3. 将当前步骤的执行人数据插入到 **flow_step_partent** 表中 4. 通知第一步的相关办理人 ### 3、流程办理 流程办理时,引擎会将流程推送至当前办理人处,办理人进行办理。如果当前步骤属于会签,则需要多个办理人都同意办理才能进入下一步;如果是属于混签,则其中一个办理人同意办理之后推送到下一步。 #### **会签**: 1. 更新办理结果到 **flow_step_partent** 中 2. 判断如果当前步骤还有其他办理人,则不做处理 3. 如果没有其他办理人,将当前步骤数据更新为已处理(对应表 **flow_step**) 4. 在表 **flow_step_partent** 中生成下一步的办理人数据 #### **混签**: 1. 更新办理结果到 **flow_step_partent** 中 2. 将当前步骤数据更新为已处理(对应表 **flow_step**) 3. 在表 **flow_step_partent** 中生成下一步的办理人数据 ### 4、流程归档 当所有的流程步骤处理完毕之后,流程结束,流程归档并通知相关办理人。 引擎处理动作如下: 1. 更新流程实例为完成 2. 邮件通知发起人 3. 调用业务接口以及更新业务数据 ### 5、流程打回 需要注意的是,在流程实例流转的过程中,只要有一步办理不通过,则整个流程实例会结束。 引擎处理动作如下: 1. 更新流程实例为打回 2. 邮件通知发起人 3. 调用业务接口以及更新业务数据