工作流学习(个人总结)
最近接了一个Web的OA的项目,刚做好权限管理这块,马上要做工作流这块,个人感觉这块有点复杂,(涉及的流问题有点多)
对于刚入手不久的我,更是感觉头皮发麻,就最近段学习工作流,做一个总结(貌似网上具体的工作流设计知识并不多,也许是我没找到)
1,OA工作流:概念就不说了(此处省略100字)
2,工作流需求:
模拟一个例子
|--设计一个流程
创建流程---创建步骤---创建流程表单
|--创建表单
这里涉及到三张表
组件模板表----存储组件(textbox,checkbox....之类的组件)的信息
表单模板表-----各种各样的审批表(这里是数据表和表单字段对应表,这里为了更加清晰,就独立出来了)
组件表单关系表---存储表单和组件的关系(关联上面两张表)
这样一个用于显示给用户的表单就创建好了(当然里面如果要做的更细的话包括更多的表,这里是我的一个设计思路)
|--创建流程和步骤
流程模板表-----一个流程下面有很多的步骤,这里是为了给步骤加统一的名称
步骤表-------使用树形结构,关联上一级及下一级的步骤(关联到上面的流程表)
表单流转表------即,申请了一个表单,表单的流转信息就会存在此处(表单的申请时间,有效时间,状态等信息)
表单内容信息表------用于存储一种表单的内容信息(出差单,请假单的信息)
流转记录表------存储各个审批人的审批结果及意见等
|-- 对流程节点的动态改变
比如请假时间,t<5天,由 副经理签批,
10天>t>5天,由 部门经理签批,
t>10天,由总经理签批。
这里就涉及到了流程的跳转。
解决方案:数据库中新建一个FlowSkipNode表,用于存储节点间的跳转条件。
|--流程审批同节点多个审批人处理
对数据库上个锁。避免兵法操作
|--待解决问题,流程审批人的设置
审批人是针对人,还是针对部门?
感觉应该针对员工来说会更严谨,不过维护的时候就有点复杂了
如果针对员工, 怎么去给员工增加不同的审批人,并关联到每个流程的,每一个步骤上
使用 步骤-用户 关系表,然后再把这个表关联到用户(这样应该可以解决,貌似更复杂了)