你的位置:首页 > ASP.net教程

[ASP.net教程]工作流数据库表设计


 

 

 

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

 

产品的定位:

1、能够做到前后端分离

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

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

 或者

等等。

 

设计思想

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

 

1、提写表单

          表单表:例如加班单

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

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

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

      

2、选择审核人

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

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

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

3、条件判定

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

 

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

 

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

        主贴表:可以进行回复

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

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

 

三、动作历史表

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