首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

基于数据库管理的多级自定义工作流的实现思路

作者:赵峡策 来源:电子技术与软件工程

摘 要 工作流是公司企业业务及办公信息系统中最重要的功能之一,本文介绍的基于数据库的多级自定义工作流的实现思路,通过设置数据表参数即可控制工作流的流转,可自由设定无限级流转环节,设置上简单易懂,理论上适用于任何语言、任何数据库开发的信息系统。因本文只为实现该功能应用,故与本功能无关的字段则不再列出,在实际工作中,可根据需要自由扩展增加其它字段,不影响该功能的实现。

【关键词】数据库 自定义 数据表

1 数据表设计

实现该功能共设有四个数据表,其中“人员基础信息表”和“人员职务表”存储系统人员基础信息及多级职务信息,“流程管理数据表”存储各流程的环节及控制流转的相关信息,“业务信息数据表”为本文中用来实例讲解的业务表,本文以休假流程为例,如存在多个流程业务,可根据字段需要新建多个业务信息数据表。

1.1 人员基础信息数据表设计

在信息系统中,所有用户凭用户名及密码登陆信息系统,所以必然存在人员基础信息表,人员基础信息数据表设计如表1所示:

1.2 人员职务表设计

在公司内部,很多情况下会出现一人身兼多职的情况,如王五同时是公司副总经理,同时兼任工程设计所的主管领导职务,那么王五则对应有至少两条职务记录。在本文中,为满足休假流程需要,共设置了四个人员,对应七个角色,其中张三为工程设计所的职员,李四为工程设计所的部门主任兼部门负责人,王五为公司副总经理兼工程设计所的主管领导,赵六为人力资源部的部门主任兼部门负责人,人员职务表设计如表2,该表通过uid字段与表一关联。

1.3 流程管理数据表设计

流程管理数据表中的信息用来管理各个模块的流程环节及各环节责任人对应的部门及职务,该表可管理多个模块的流程,故使用“模块代码”进行区分,通过“模块代码”和“步骤名称”可锁定其中一条记录。表中的步骤号从1开始,步骤号0代表流程结束。如果在某一步骤中需要人为主观选择下一步的走向,则可在该步骤下增加子步骤号,如下表三中的第2步,下面分为2.1、2.2及2.3三个小分支,在第2步“部门负责人审批”环节,可以主观选择三个分支中的任何一步,当选择2.2步骤时,流程对应的下一步骤为步骤4。

流程管理数据表设计如表3:

1.4 业务信息数据表设计

如表4,该表用来收集业务数据,如下表(表四)即为用来收集休假相关信息的数据表,该表中的当前环节及当前处理人表示该业务流程的当前状态,用来控制该业务流程的流转,当前处理人为李四时,表示该流程流转到李四帐户中待处理。

2 功能实现原理

当“表3”中部门的值为“本部门”时,在流程提交处理过程中,系统自动将“本部门”替换为流程申请人所在的部门,这样便于不同部门的人申请的流程通过自己所在部门的负责人审批而不会造成冲突,下面以休假申请流程为例讲解流程流转实现原理:

(1)张三录入休假申请信息时,初始环节名称为“开始”,对应的处理人为“张三”。

(2)“张三”提交该休假申请时,根据“流程管理数据表”表3中的信息,可获得下一步骤为步骤2,步骤2中对应的步骤名称为“部门负责人审批”,对应的审批人为流程申请人所在部门的部门负责人,即部门“工程设计所”的部门负责人,根据uid关联关系,联合“表1”、“表2”查询可获得“部门负责人审批”环节的责任人为“李四”,将“部门负责人审批”及“李四”对应更新到“当前环节”和“当前处理人”字段中,也就实现了流程流转到工程设计所部门负责人“李四”的帐户中待处理。

(3)部门负责人“李四”提交该流程时,可根据实际情况选择2.1、2.2或2.3三个分支中的任何一个,本例以选择2.1为例,2.1步骤对应的下一步为步骤3,根据步骤3,可获得该环节应由“工程设计所”的“部门主领导”审批,联合查询“表1”、“表2”可获得“主管领导审批”环节的责任人为“王五”,将“主管领导审批”及“王五”对应更新到“当前环节”和“当前处理人”字段中,也就实现了流程流转到工程设计所部门主管领导“王五”的帐户中待处理。

(4)部门主管领导“王五”提交的下一步为步骤4,下一环节名称为“人力资源部负责人审批”,同理可获得该环节的责任人为“赵六”,将环节名称及责任人更新到“当前环节”和“当前处理人”字段中,也就实现了流程流转到人力资源部负责人“赵六”的帐户中待处理。

(5)人力资源部负责人“赵六”提交的下一步为步骤0,步骤0代表流程结束,将环节名称“结束”及责任人“存档”更新到“当前环节”和“当前处理人”字段中,也就实现了流程的关闭和存档,流程数据不再允许修改。

至此整个审批流程流转完毕,基于数据库管理的多级自定义工作流功能得以实现,目前该工作流的实现方法已在我公司信息管理系统的各个流程模块中长期稳定运行。

作者单位

核工业工程研究设计有限公司 北京市 100000