docs: 完善工作流文档

This commit is contained in:
wintel
2025-04-19 11:40:59 +08:00
parent 263ff70f26
commit 8027c7b5bb
3 changed files with 130 additions and 46 deletions

View File

@@ -1,7 +1,7 @@
/*
* @Author: yubaolee <yubaolee@163.com> | ahfu~ <954478625@qq.com>
* @Date: 2023-08-12 10:48:24
* @LastEditTime: 2025-04-09 20:38:14
* @LastEditTime: 2025-04-19 10:14:48
* @Description:
* @
* @Copyright (c) 2023 by yubaolee | ahfu~ , All Rights Reserved.
@@ -114,7 +114,7 @@ module.exports = {
title: '工作流', // 必要的
sidebarDepth: 1, // 可选的, 默认值是 1
collapsable: false,
children: ['flowinstance','flowinstanceconcept', 'flowinstancestatus', 'thirdparty'],
children: ['flowinstance','flowinstanceconcept','flowinstancedev', 'thirdparty'],
},
{
title: '前端开发', // 必要的

View File

@@ -34,47 +34,81 @@ OpenAuth.Net工作流基于国际标准的BPMN2.0规范,并在此基础上做
4. 流程审批:【流程中心/待处理流程】中进行审批;
这里只介绍开源版本的操作流程vue版本操作流程请参考[操作手册](/pro/startflow.md)
这里只介绍开源版本的操作流程vue版本操作流程请参考👉[操作手册](/pro/startflow.md)
# 流程审批逻辑
## 流程设计
当最终用户在【待处理流程】中审批一个流程实例时,流程实例会经过下面步骤进行处理:
在【基础配置/流程设计】界面,点击“添加模板”。填写好流程模板的名称及需要的信息。点击“选择表单”选择流程关联的表单。
@startuml
skinparam handwritten true
skinparam backgroundColor #EEEBDC
![2025-04-19-10-16-58](http://img.openauth.net.cn/2025-04-19-10-16-58.png)
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
流程模版使用的表单,需要在【基础配置/表单设计】中添加,具体查看[表单设计-基本介绍](/core/form.html)
else (no)
:标识当前节点状态;
if (同意) then (yes)
:修改流程最终状态,修改活动节点,修改可执行人;
:添加扭转记录;
else
:修改流程最终状态为不同意;
endif
:操作记录;
endif
stop
选择好表单后,点击“流程设计”进入流程设计。
![2025-04-19-10-19-59](http://img.openauth.net.cn/2025-04-19-10-19-59.png)
#### 节点属性
* 节点名称:**必填** 节点名称
* 三方回调URL当节点审批完成时如果需要通知其他系统或模块,则填写对应系统的接口地址。
* 执行权限 **必填** 节点的执行权限,如:指定用户、指定角色等。
* 所有用户: 任何人都可以审批
* 指定用户:指定用户审批,当选中这项时需要选择指定的用户
* 指定角色:指定角色审批,当选中这项时需要选择指定的角色
👉使用[vue版本](/pro/startflow.html)解锁更多类型指定SQL、上一节点执行人的直属上级、连续多级直属上级、部门负责人、运行时指定角色、运行时指定用户等等当然你也可以为[开源版本](https://gitee.com/dotnetchina/OpenAuth.Net)贡献代码,添加更多类型。
👉使用[vue版本](/pro/startflow.html),设置连线条件属性。你也可以为[开源版本](https://gitee.com/dotnetchina/OpenAuth.Net)贡献代码,让它支持该属性。
## 流程发起
OpenAuth.Net工作流分为两个大类
1. 无业务关联流程,如请假、报销等。
2. 有业务关联流程,如采购、销售、入库等。
这两种流程的差异有以下几点:
| 对比维度 | 无业务关联流程 | 有业务关联流程 |
|---------|--------------|--------------|
| 适用场景 | 请假、报销等日常办公 | 采购、销售、入库等业务操作 |
| 发起方式 | 流程中心 -> 我的流程 -> 新的申请 | 直接在业务模块中发起(如:仓储中心 -> 入库订单 -> 送审) |
| 表单类型 | 简单表单,适用拖拽表单设计器 | 复杂表单需要自定义表单或URL表单 |
| 审批结束处理 | 仅更新流程状态 | 需要修改业务数据状态 |
开源版本只能发起无业务关联的流程,使用[vue版本](/pro/startflow.html),解锁有业务类型关联的流程。当然你也可以为[开源版本](https://gitee.com/dotnetchina/OpenAuth.Net)贡献代码,支持更多类型。
### 无业务关联流程
完成流程模版设计后,在【流程中心/我的流程】中【新的申请】开始创建一个流程实例。
![2025-04-19-10-37-09](http://img.openauth.net.cn/2025-04-19-10-37-09.png)
1. 在左边选择流程模版;
2. 填写待审批的表单内容;
3. 保存完成后,在【流程中心/我的流程】中点击“搜索”按钮刷新查询,就可以看到刚刚发起的流程实例。
## 流程审批
用户可以在【流程中心/待处理流程】中看到自己需要审批的流程,点击【处理】按钮并进行相应的处理;
![2025-04-09-21-28-42](http://img.openauth.net.cn/2025-04-09-21-28-42.png)
其中:
* 同意:流程审批通过,流程结束;
* 不同意:流程审批不通过,流程结束;
* 驳回:可以驳回到指定的步骤,该步骤的人可以重新审批提交;
👉使用[vue版本](/pro/startflow.html),解锁更多加签、撤销审批操作。你也可以为[开源版本](https://gitee.com/dotnetchina/OpenAuth.Net)贡献代码,让它支持这些功能。
@enduml

View File

@@ -1,21 +1,52 @@
# 流程实例
# 流程相关的代码
流程实例指正在运行的一个流程。数据存放在FlowInstance表中该表核心字段如下
## 流程审批逻辑
#### IsFinish流程的当前状态
当最终用户在【待处理流程】中审批一个流程实例时,流程实例会经过下面步骤进行处理:
- -1 草稿/召回:流程发起人主动召回流程;
@startuml
skinparam handwritten true
skinparam backgroundColor #EEEBDC
- 0 正在运行;
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
- 1 完成:流程结束,同时所有的审批都通过;
else (no)
:标识当前节点状态;
if (同意) then (yes)
:修改流程最终状态,修改活动节点,修改可执行人;
:添加扭转记录;
else
:修改流程最终状态为不同意;
endif
:操作记录;
endif
stop
- 3 不同意:即流程结束,同时审批人员没有通过;
@enduml
- 4 驳回:流程结束,可能发起的流程内容有问题,要求被驳回重新提交;
## 流程模板
流程模板指流程的定义。数据存放在FlowScheme表中该表核心字段如下
#### ActivityId: 当前活动节点,即待审批的节点
#### FrmId流程模版关联的表单id
#### FrmType表单类型
#### SchemeContent流程实例的具体内容
@@ -128,6 +159,25 @@
| CanWriteFormItemIds | 数组 | 可写表单项id |
## 流程实例
流程实例指正在运行的一个流程。数据存放在FlowInstance表中该表核心字段如下
#### IsFinish流程的当前状态
- -1 草稿/召回:流程发起人主动召回流程;
- 0 正在运行;
- 1 完成:流程结束,同时所有的审批都通过;
- 3 不同意:即流程结束,同时审批人员没有通过;
- 4 驳回:流程结束,可能发起的流程内容有问题,要求被驳回重新提交;
#### ActivityId: 当前活动节点,即待审批的节点
与流程实例密切相关的还有两个表流程实例的操作记录FlowInstanceOperationHistory及流转记录FlowInstanceTransitionHistory。它们有不同的作用
### 操作记录FlowInstanceOperationHistory