mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-11-08 02:14:44 +08:00
docs: 完善工作流文档
This commit is contained in:
@@ -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: '前端开发', // 必要的
|
||||
|
||||
@@ -34,47 +34,81 @@ OpenAuth.Net工作流基于国际标准的BPMN2.0规范,并在此基础上做
|
||||
|
||||
4. 流程审批:【流程中心/待处理流程】中进行审批;
|
||||
|
||||
这里只介绍开源版本的操作流程,vue版本操作流程请参考:[操作手册](/pro/startflow.md)
|
||||
这里只介绍开源版本的操作流程,vue版本操作流程请参考👉[操作手册](/pro/startflow.md)
|
||||
|
||||
# 流程审批逻辑
|
||||
## 流程设计
|
||||
|
||||
当最终用户在【待处理流程】中审批一个流程实例时,流程实例会经过下面步骤进行处理:
|
||||
在【基础配置/流程设计】界面,点击“添加模板”。填写好流程模板的名称及需要的信息。点击“选择表单”选择流程关联的表单。
|
||||
|
||||
@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
|
||||
流程模版使用的表单,需要在【基础配置/表单设计】中添加,具体查看[表单设计-基本介绍](/core/form.html)
|
||||
|
||||
else (no)
|
||||
:标识当前节点状态;
|
||||
if (同意) then (yes)
|
||||
:修改流程最终状态,修改活动节点,修改可执行人;
|
||||
:添加扭转记录;
|
||||
else
|
||||
:修改流程最终状态为不同意;
|
||||
endif
|
||||
:操作记录;
|
||||
endif
|
||||
stop
|
||||
选择好表单后,点击“流程设计”进入流程设计。
|
||||
|
||||

|
||||
|
||||
|
||||
#### 节点属性
|
||||
|
||||
* 节点名称:**必填** 节点名称
|
||||
* 三方回调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)贡献代码,支持更多类型。
|
||||
|
||||
### 无业务关联流程
|
||||
|
||||
完成流程模版设计后,在【流程中心/我的流程】中【新的申请】开始创建一个流程实例。
|
||||
|
||||

|
||||
|
||||
1. 在左边选择流程模版;
|
||||
|
||||
2. 填写待审批的表单内容;
|
||||
|
||||
3. 保存完成后,在【流程中心/我的流程】中点击“搜索”按钮刷新查询,就可以看到刚刚发起的流程实例。
|
||||
|
||||
## 流程审批
|
||||
|
||||
用户可以在【流程中心/待处理流程】中看到自己需要审批的流程,点击【处理】按钮并进行相应的处理;
|
||||
|
||||

|
||||
|
||||
其中:
|
||||
|
||||
* 同意:流程审批通过,流程结束;
|
||||
|
||||
* 不同意:流程审批不通过,流程结束;
|
||||
|
||||
* 驳回:可以驳回到指定的步骤,该步骤的人可以重新审批提交;
|
||||
|
||||
👉使用[vue版本](/pro/startflow.html),解锁更多加签、撤销审批操作。你也可以为[开源版本](https://gitee.com/dotnetchina/OpenAuth.Net)贡献代码,让它支持这些功能。
|
||||
|
||||
@enduml
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user