🔄refactor: 优化流程

This commit is contained in:
yubaolee
2026-06-11 23:51:17 +08:00
parent 9aac53b3eb
commit cbb43f0011
6 changed files with 54 additions and 24 deletions

View File

@@ -6,7 +6,7 @@
public struct FlowInstanceStatus public struct FlowInstanceStatus
{ {
/// <summary> /// <summary>
/// 撤销、召回 /// 召回
/// </summary> /// </summary>
public const int Draft = -1; public const int Draft = -1;
/// <summary> /// <summary>

View File

@@ -400,7 +400,7 @@ namespace OpenAuth.App.Flow
} }
/// <summary> /// <summary>
/// 撤销流程,清空所有节点 /// 召回流程,清空所有节点,返回开始节点并修改为草稿状态
/// </summary> /// </summary>
public void ReCall(RecallFlowInstanceReq request) public void ReCall(RecallFlowInstanceReq request)
{ {
@@ -428,13 +428,13 @@ namespace OpenAuth.App.Flow
var sugarClient = AutofacContainerModule.GetService<ISqlSugarClient>(); var sugarClient = AutofacContainerModule.GetService<ISqlSugarClient>();
sugarClient.Updateable(flowInstance).ExecuteCommand(); sugarClient.Updateable(flowInstance).ExecuteCommand();
SaveOperationHis($"【回】备注:{request.Description}"); SaveOperationHis($"【回】备注:{request.Description}");
sugarClient.Ado.CommitTran(); sugarClient.Ado.CommitTran();
} }
///<summary> ///<summary>
/// 标记节点1通过-1不通过,0驳回 /// 标记节点1通过2不通过,3驳回
/// </summary> /// </summary>
/// <param name="nodeId"></param> /// <param name="nodeId"></param>
public void MakeTagNode(string nodeId, Tag tag) public void MakeTagNode(string nodeId, Tag tag)

View File

@@ -2,7 +2,7 @@
* @Author: yubaolee <yubaolee@163.com> | ahfu~ <954478625@qq.com> * @Author: yubaolee <yubaolee@163.com> | ahfu~ <954478625@qq.com>
* @Date: 2024-12-13 16:55:17 * @Date: 2024-12-13 16:55:17
* @Description: 工作流实例表操作 * @Description: 工作流实例表操作
* @LastEditTime: 2025-10-18 14:35:01 * @LastEditTime: 2026-06-11 22:35:03
* Copyright (c) 2024 by yubaolee | ahfu~ , All Rights Reserved. * Copyright (c) 2024 by yubaolee | ahfu~ , All Rights Reserved.
*/ */
@@ -521,7 +521,7 @@ namespace OpenAuth.App
$"结果:{(tag.Taged == 1 ? "" : "")},备注:{tag.Description}"; $"结果:{(tag.Taged == 1 ? "" : "")},备注:{tag.Description}";
wfruntime.SaveOperationHis(tag.UserId, tag.UserName, content); wfruntime.SaveOperationHis(tag.UserId, tag.UserName, content);
if (flowInstance.IsFinish == 1) if (flowInstance.IsFinish == FlowInstanceStatus.Finished)
{ {
//给知会人员发送通知信息 //给知会人员发送通知信息
var userids = _userManagerApp.GetNoticeUsers(flowInstance.Id); var userids = _userManagerApp.GetNoticeUsers(flowInstance.Id);
@@ -593,20 +593,20 @@ namespace OpenAuth.App
/// </summary> /// </summary>
public void Verification(VerificationReq request) public void Verification(VerificationReq request)
{ {
TagState tagState = (TagState)Int32.Parse(request.VerificationFinally);
//如果是同意,需要判断是否为运行时选定下一步执行角色/执行人 //如果是同意,需要判断是否为运行时选定下一步执行角色/执行人
if (request.VerificationFinally == "1") if (tagState == TagState.Ok)
{ {
CheckNodeDesignate(request); CheckNodeDesignate(request);
} }
bool isReject = TagState.Reject.Equals((TagState)Int32.Parse(request.VerificationFinally)); if (tagState == TagState.Reject)
if (isReject) //驳回
{ {
RejectNode(request); RejectNode(request); // 驳回
} }
else else
{ {
NodeVerification(request); NodeVerification(request); // 审核(同意/不同意)
} }
} }
@@ -661,10 +661,12 @@ namespace OpenAuth.App
ActivityId = flowinstance.ActivityId ActivityId = flowinstance.ActivityId
}); });
if (flowinstance.IsFinish != FlowInstanceStatus.Running) //流程已终止(完成/不同意/撤销等),不允许继续审批
if (flowinstance.IsFinish != FlowInstanceStatus.Running && flowinstance.IsFinish != FlowInstanceStatus.Rejected)
{ {
resp.CanVerify = false; //流程已终止(完成/不同意/撤销等),不允许继续审批 resp.CanVerify = false;
} }
//当前用户不是当前节点的审批人,不允许继续审批
else if (flowinstance.MakerList != "1" && !flowinstance.MakerList.Contains(user.User.Id) && else if (flowinstance.MakerList != "1" && !flowinstance.MakerList.Contains(user.User.Id) &&
!approvers.Contains(user.User.Id)) !approvers.Contains(user.User.Id))
{ {

View File

@@ -122,9 +122,13 @@ OpenAuth.Net工作流分为两个大类
* 同意:流程审批通过,流程结束; * 同意:流程审批通过,流程结束;
* 不同意:流程审批不通过,流程结束; * **不同意(拒绝 / 反对)**:审批人明确不批准本次申请,属于终结性意见。
* 驳回:可以驳回到指定的步骤,该步骤的人可以重新审批提交; * 结果:本次申请失败,流程结束,如果重新发起新流程。
* **驳回(退回 / 打回)**:审批人认为资料不全 / 有误,需要修改后重提,属于回退 + 重走动作。
* 结果:流程未终结,可修复后继续。

View File

@@ -4,27 +4,47 @@ createTime: 2025/04/23 23:43:26
permalink: /pro/start/ permalink: /pro/start/
--- ---
## 工具准备 ## 工具准备
#### NodeJs #### NodeJs
前端环境为NodeJs下载地址[http://nodejs.cn/download/current/](http://nodejs.cn/download/current/) 前端环境为NodeJs下载地址[http://nodejs.cn/download/current/](http://nodejs.cn/download/current/)
#### visual studio code #### visual studio code
下载最新版的vs code或Cursor、Windsurf、Trae等工具用来作为OpenAuth.Net Vue3版的开发工具。 下载最新版的vs code或Cursor、Windsurf、Trae等工具用来作为OpenAuth.Net Vue3版的开发工具。
## 源码下载 ## 源码下载
根据授权文件的下载指示下载Vue3源码。注意一定要使用下图中的数据库脚本 根据授权文件的下载指示下载Vue3源码。注意一定要使用下图中的数据库脚本
![2025-04-08-20-53-49](http://img.openauth.net.cn/2025-04-08-20-53-49.png) ![2025-04-08-20-53-49](http://img.openauth.net.cn/2025-04-08-20-53-49.png)
## 创建数据库 ## 创建数据库
* 新建一个空数据库OpenAuthPro。使用上一步下载的【sql脚本】文件夹根据你的数据库类型选择运行你需要的脚本`Sql Server脚本.sql``mysql脚本.sql`
* 新建一个空数据库OpenAuthPro。使用上一步下载的【sql脚本】文件夹根据你的数据库类型选择运行你需要的脚本`Sql Server脚本.sql``mysql脚本.sql`
## 启动后端 ## 启动后端
启动后端请参考:[快速开始](/core/start/) 启动后端请参考:[快速开始](/core/start/)
## 启动前端 ## 启动前端
使用Vs Code或个人喜欢的工具打开openauthvue3文件夹修改配置文件`.env.dev`对应的后端接口地址,调整为自己的接口地址:
使用Vs Code或个人喜欢的工具打开openauthvue3文件夹修改配置文件 `.env.dev`对应的后端接口地址,调整为自己的接口地址:
```javascript ```javascript
VITE_BASE_API = http://localhost:52789/api VITE_BASE_API = http://localhost:52789/api
VITE_BASE_IMG_URL = http://localhost:52789 VITE_BASE_IMG_URL = http://localhost:52789
``` ```
::: warning 注意 ::: warning 注意
如果是发布打包,调整的文件为`.env.production` 如果是发布打包,调整的文件为 `.env.production`
::: :::
使用`npm install`命令安装程序运行所需的第三方包。再用`npm run dev`命令运行。如下图 使用 `npm install`命令安装程序运行所需的第三方包。在安装的过程中如果遇到卡住的情况可能是ssl证书问题可以使用以下命令进行配置
![2025-04-08-20-57-34](http://img.openauth.net.cn/2025-04-08-20-57-34.png)
启动成功后,使用浏览器访问[http://localhost:1803/](http://localhost:1803/) 即可打开vue3版界面 ```
npm config set strict-ssl false; npm config set registry https://registry.npmmirror.com
```
再用 `npm run dev`命令运行。如下图:
![2025-04-08-20-57-34](http://img.openauth.net.cn/2025-04-08-20-57-34.png)启动成功后,使用浏览器访问[http://localhost:1803/](http://localhost:1803/) 即可打开vue3版界面
![2025-04-08-21-03-19](http://img.openauth.net.cn/2025-04-08-21-03-19.png) ![2025-04-08-21-03-19](http://img.openauth.net.cn/2025-04-08-21-03-19.png)

View File

@@ -145,9 +145,13 @@ OpenAuth.Net工作流分为两个大类
* 同意:流程审批通过,流程结束; * 同意:流程审批通过,流程结束;
* 不同意:流程审批不通过,流程结束; * **不同意(拒绝 / 反对)**:审批人明确不批准本次申请,属于终结性意见。
* 驳回:可以驳回到指定的步骤,该步骤的人可以重新审批提交; * 结果:本次申请失败,流程结束,如果重新发起新流程。
* **驳回(退回 / 打回)**:审批人认为资料不全 / 有误,需要修改后重提,属于回退 + 重走动作。
* 结果:流程未终结,可修复后继续。
* 加签:在已有审批流程上临时添加审批人,协助自己审批; * 加签:在已有审批流程上临时添加审批人,协助自己审批;