Files
OpenAuth.Net/docs/core/flowinstance.md
2025-04-09 21:33:05 +08:00

2.7 KiB
Raw Blame History

工作流介绍

OpenAuth.Net工作流基于国际标准的BPMN2.0规范,并在此基础上做了一些扩展,以满足国内各种需求。系统工作流分为两个大类:

  1. 无业务关联流程,如请假、报销等。

无业务关联流程

  1. 有业务关联流程,如采购、销售等。

订单送审

这两种流程的差异有以下几点:

对比维度 无业务关联流程 有业务关联流程
适用场景 请假、报销等日常办公 采购、销售、入库等业务操作
发起方式 流程中心 -> 我的流程 -> 新的申请 直接在业务模块中发起(如:仓储中心 -> 入库订单 -> 送审)
表单类型 简单表单,适用拖拽表单设计器 复杂表单需要自定义表单或URL表单
审批结束处理 仅更新流程状态 需要修改业务数据状态

表中提到的表单类型差异可以查看:表单设计

基本操作

一个完整的工作流从设计到发起,到审批,需要经过:

  1. 表单设计:【基础配置/表单设计】中添加一个用于流程的表单;

  2. 流程设计:【基础配置/流程设计】中添加一个流程模版,流程模版选择刚刚建的表单;

  3. 流程发起:【流程中心/我的流程】中【新的申请】创建一个流程实例,或在业务系统中直接【送审】发起;

  4. 流程审批:【流程中心/待处理流程】中进行审批;

这里只介绍开源版本的操作流程vue版本操作流程请参考操作手册

流程审批逻辑

当最终用户在【待处理流程】中审批一个流程实例时,流程实例会经过下面步骤进行处理:

@startuml skinparam handwritten true skinparam backgroundColor #EEEBDC

start if (当前活动节点类型为会签) then (yes) :标识当前节点状态; :从所有的分支中找到一个用户可以审批的节点canCheckId; if (没找到?) then (yes) stop endif :标识canCheckId节点状态; #HotPink:进行会签,结果为res; if(res == TagState.No) then (yes) :修改流程最终状态为不同意; else if(res != string.Empty) then (yes) stop else (no) :修改流程最终状态,修改活动节点,修改可执行人; :添加扭转记录; endif

else (no) :标识当前节点状态; if (同意) then (yes) :修改流程最终状态,修改活动节点,修改可执行人; :添加扭转记录; else :修改流程最终状态为不同意; endif :操作记录; endif stop

@enduml