工作流数据库表设计-ASP.NET

 

 

 

公司准备开发一套工作流引擎,以前没有什么OA开发经验,也是第一次设计工作流引擎,我把我的一些思路分享一下,希望得到些帮助或者能帮助到一些人。

 

产品的定位:

1、能够做到前后端分离

2、可以做到项目的分离使用,通过接口来实现

3、支持复杂流程逻辑 例如: 填写加班表单-》多人审核=》退回=》填写证明人=》指定人审核=》通过

 或者

等等。

 

设计思想

一、通过对审批流程的分解可以得到三个动作  ,然后对这三个动作进行更细的分析得出结果如下: 

 

1、提写表单

          表单表:例如加班单

          表单元素表:加班单里面需要填写的输入框和下拉框等

          表单存储表:加班单点击提交存储的值

          表单事件表:如验证件,提交事件等

      

2、选择审核人

         审核表:存储上一次动作的审核信息

         审核用户表:所需要的审核人

         审核组织架构表:查询所需要用的组织架构

3、条件判定

        判定表:复杂的工作流中会对流程的结果进行判定,例如请假天数超过N天进行XXX动作

 

从填写【表单】开始,后面可以是 【判定】 也以是【审核】也可以是继续填写表单,这样就型成了一个工作流

 

二、动作通用表,考虑到良好的用户体验添加了附件、回复和@功能

        主贴表:可以进行回复

        从贴表:可以对回复进行跟贴

        附件表:可以对动作添加多个附件

 

三、动作历史表

        动作记录:在一种特殊情况下会用的到,就是你的操作被撤回到上一个动作, 这个时候就需要一个历史记录进行查看。

 

posted @   阿妮亚  阅读(6081)  评论(10编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示