3-1 请假流程数据库设计

说明:从本节开始进入一个全新的模块,开发多级审批流程,看似简单其实是很有设计感的功能

 先回顾一下请假流程

3-1 请假流程数据库设计_第1张图片

 有哪些约束呢?

3-1 请假流程数据库设计_第2张图片

 3-1 请假流程数据库设计_第3张图片

 对于功能来说底层的数据库该如何设计呢?

创建请假申请表

3-1 请假流程数据库设计_第4张图片

 对应的表为adm_leave_form

创建执行流程表

3-1 请假流程数据库设计_第5张图片

 

对应表为 adm_process_flow

 编号为4的员工也就是研发部的某一位java工程师提起了事假申请具体请假时间是2009年3月26到

3月31显然这超过了三天时间,理由是回老家买房,创建时间3月24日下午,表单的状态为processing正在审批中。

那对于当前这个审批流程执行到那个节点呢?我们可以在process_flow工作流程中看到,作为表单提交了以后,它会产生3个工作节点

3-1 请假流程数据库设计_第6张图片

 首先第一个节点是在这个时间点由编号为4的员工他执行了提交申请的操作,作为这个流程的任务他的编号为1代表是最先被处理的,同时在表单已经提交以后这个节点就已经完成了,所以当前state为complete,那紧接着来看到第二个节点的部分他的action是audit代表当前这个任务是一个审批任务,由谁来完成呢?是由operatorid为2的员工研发部的部门经理,创建时间如上,同时审批已经结束了因为他的状态为complete,result值为approved代表审批通过,第三个节点是process代表正在处理中,这个由谁来处理呢?因为当前请假超过三天,所以需要总经理审批,所以经办人序号为1总经理操作类型为audit审批任务,总经理没有给出最终的答复所以result,reason都为空,审批后自然就有了,islast代表为最后一个。

你可能感兴趣的:(慕课oa系统,大数据)