关于OA流程相关数据表的设计

您所在的位置:网站首页 审批流数据库设计 关于OA流程相关数据表的设计

关于OA流程相关数据表的设计

2024-07-17 18:12| 来源: 网络整理| 查看: 265

一、前言

近期有些同学问起流程的表设计,终于有时间能写下博客,并整理下之前所发布的文章。 之前的文章讲到的表设计,没有给全且还存在漏洞,在这里向各位同学表示歉意。这是我个人最新领悟的一些流程思维,欢迎大家指正。关于流程审批,涉及的操作比较多,本章仅考虑了1/2/3点。

审批 退回 撤回/收回(指发起者中止流程) 加签(征求另一人或多人的意见,然后再回到原审批人) 转发(转发给他人进行审批) 会签(通常用于审批后给相关的人签字确认,以获得工作上的协调。) 知会(注意与“会签”的区别,“会签”是要留签字的,知会只是个认指定的人知道有这个流程这么回事,并能查看流程) 沟通(与流程相关人员就流程问题进行沟通,类似留言或论坛方式) 二、解决流程业务

这是常见到的两种流程场景过程,此类流程都明确规定了每个流程节点必须指定到某一操作人(不指定操作人不在本讨论范围内)。 1.学生请假流程图 2.学生离校手续申请流程图

学生请假申请流程图 学生离校申请流程图

两种流程各有一些不同,在“学生请假流程”中,学生可以多次申请,且流程业务的走向由表单的相关数据来决定。而在“学生离校手续申请流程”中,学生只能申请一次,且存在多个部门同时处理业务的过程,而归纳节点(暂且这样称呼)必须等待前置节点完成后方可进行审批。

三、表设计 表名:v1_flow(流程表) 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 id int 11 是 是 否 auto_increment 2 name varchar 255 是 流程名称 3 form_id int 11 是 表单设计编号 4 process_id int 11 是 流程设计编号 5 limit_times int 11 是 -1 一个用户可以发起多少次,-1=不限制 6 is_lock tinyint 4 是 是否锁定 表名:v1_flow_activity(流程活动表) 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 id int 11 是 是 否 auto_increment 2 sponsor int 11 是 活动发起者 3 title varchar 255 是 标题 4 status varchar 255 是 状态,0=仅保存,1=运行中,2=已中止,9=已结束 5 join_time bigint 15 是 加入时间戳 6 flow_id int 11 是 当前运行的流程编号,对应v1_flow表的id 7 cur_process_id int 11 是 当前运行的流程设计编号 8 cur_form_id int 11 是 当前运行的表单设计编号

cur_process_id和cur_form_id设计的目的:有些流程在流程活动运行过程中,更改了表单设计编号或流程设计编号。为让流程能继续往下运行而设计。

表名:v1_flow_activity_process(流程活动运行表) 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 id int 11 是 是 否 auto_increment 2 activity_id int 11 否 流程活动编号,对应v1_flow_activity表的id 3 run_node_id int 11 否 当前运行的节点编号,对应v1_flow_node表的id 4 arrive_time bigint 15 否 信息到达时间戳 5 accept_user_id int 11 否 0 接收用户编号 6 accept_status tinyint 4 是 0 接收信息状态,1=已接收,0=尚未接收 7 accept_time bigint 15 是 接收时间戳 8 done_user_id int 11 否 0 审批人编号(审批人不一定是接收的用户) 9 done_status tinyint 4 否 0 审批状态,1=已审批,0=为尚未审批 10 done_time bigint 15 是 审批时间戳 表名:v1_flow_form(表单设计表) 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 id int 11 是 是 否 auto_increment 2 name varchar 255 是 表单设计名称 3 data_table varchar 255 是 数据表表名 4 title_scheme varchar 255 是 流程活动的标题构成方式,如:#{student_no}#{user_name}请假申请 5 layout varchar 1000 是 表单设计HTML代码 表名:v1_flow_form_element(表单元素表) 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 id int 11 是 是 否 auto_increment 2 form_id int 11 否 所属表单设计编号 3 type varchar 255 否 表单类型,text/select/radio/checkbox/button等 4 label varchar 255 否 标记名称 5 name varchar 255 否 表单元素名称 6 data_source varchar 500 是 数据源,select/radio/checkbox会存在 7 data_type varchar 50 否 数据类型,int/varchar等 8 data_length int 11 是 数据长度 9 default_value varchar 255 是 默认值 10 placeholder varchar 255 是 11 styles varchar 255 是 样式 12 attributes varchar 255 是 属性 13 is_hidden tinyint 4 否 是否隐藏 表名:v1_flow_process(流程设计表) 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 id int 11 是 是 否 auto_increment 2 name varchar 255 是 流程设计名称 表名:v1_flow_node(流程节点表) 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 id int 11 是 是 否 auto_increment 2 process_id int 11 是 所属流程设计编号,对应v1_flow_process表的id 3 node_name varchar 50 是 节点名称 4 node_type varchar 255 是 节点类型,1=开始节点,2=收纳节点,3=子流程节点,9=结束节点 5 write_forms varchar 200 是 可写字段集合 6 operator int 11 是 指定的审批人用户id,可留空 7 operator_type tinyint 4 是 审批人类型,此项可自行设计,如-1=自行选择,1=发起者的班主任,2=发起者所在部门的二级学院学生科科长,3=发起者所在部门的二级学院领导等 8 allow_back tinyint 4 是 是否允许回退操作 9 back_step tinyint 4 是 1 回退操作步长,1=一步,2=两步 10 styles varchar 500 是 节点样式,长宽高top/left等 11 actions varchar 200 是 节点审批后的回调方法(钩子),需要程序具体实现 12 condition_prev tinyint 4 是 2 所有前置节点(可能存在多个前置节点)能运行到当前节点的方案,1=只要有一个审批完成即可,2=必须所有的审批完成即可

关于子流程,本章未做考虑

表名:v1_flow_process_procedure(流程设计步骤/线程表--即节点之间的线走势) 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 id int 11 是 是 否 auto_increment 2 cur_node_id int 11 是 当前节点id,对应v1_flow_node表的id 3 next_node_id int 11 是 下一节点id,对应v1_flow_node表的id 4 limit_hour int 255 是 -1 节点之间限制多少小时内必须审批,-1=不限制 5 condition_next_data varchar 1000 是 能往下一节点运行的数据条件,如请假中流程可设置#{days}>=3 表名:v1_flow_data1(流程编号为1的数据表-请假表) 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 id int 11 是 是 否 auto_increment 2 dept_name varchar 50 是 学生所在二级学院 3 major_name varchar 50 是 学生专业 4 classes_name varchar 50 是 学生行政班级 5 user_id int 11 是 用户id 6 student_no varchar 50 是 学号 7 user_name varchar 50 是 姓名 8 sq_timeBegin bigint 15 是 请假开始时间戳 9 sq_timeEnd bigint 15 是 请假截至时间戳 10 sq_days int 11 是 请假天数 11 sq_reason varchar 200 是 请假事由 12 banzhuren varchar 100 是 班主任姓名 13 banzhuren_shenpi varchar 25 是 班主任审批结果 14 banzhuren_shenpi_text varchar 255 是 班主任审批意见 15 xsk2 varchar 255 是 二级学院学生审批审批人姓名 16 xsk2_shenpi varchar 255 是 二级学院学生审批结果 17 xsk2_shenpi_text varchar 255 是 二级学院学生审批意见 18 lingdao2 varchar 255 是 二级学院领导姓名 19 lingdao2_shenpi varchar 255 是 二级学院领导审批结果 20 lingdao2_text varchar 255 是 二级学院领导审批意见 21 xsk varchar 255 是 学校学生科审批人姓名 22 xsk_shenpi varchar 255 是 学校学生科审批结果 23 xsk_shenpi_text varchar 255 是 学校学生科审批意见 24 xjr varchar 255 是 销假人姓名 25 xj_days varchar 255 是 销假天数 26 xj_time datetime 是 销假时间 27 xjshr varchar 255 是 销假审核人姓名 28 xjshr_shenhe varchar 255 是 销假审核结果 29 xjshr_shenhe_text varchar 255 是 销假审核意见

数据库表结构和简单数据 https://files.cnblogs.com/files/kingeric/zmoa.zip



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3