随着经济飞速发展,现代的企业竞争已经逐渐表现为企业管理水平的竞争,而提升管理水平和办公效率的有效途径就是加快管理信息化建设步伐,如实施ERP、办公自动化等系统。这些管理信息系统的核心是工作流技术,传统的以人工处理流程传递方式已不符合企业需求。本文以发文管理为模型探讨了基于关系数据库的工作流技术的设计与实现,不仅可以达到自主开发、降低成本的效果,而且可以整合各种独立工作流引擎之精华,功能更强大、应用更广泛、维护更方便。此外,本文中所使用的工具虽然为SQL Server数据库和PowerBuilder语言工具,但更重要的介绍的是一种思想,因而对其他数据库和开发工具同样适合。
一、工作流概述
工作流是针对工作中具有固定程序的常规活动而提出的一个概念。通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的,工作流技术为企业更好地实现经营目标提供了先进的手段。
工作流管理联盟给出的工作流定义是:工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化,在此过程中,文档、信息或任务按照一定的过程规则流转,实现组织成员间的协调工作以达到业务的整体目标。一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述,在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。作为一项集成技术,工作流所要实现的目标就是使企业中大量的基于知识与规则的任务和活动能够相互协调一致、高效运作,在正确的时间内能够将正确的信息传递给正确的人,从而完成正确的业务流程。从这一角度看,工作流是企业信息、企业资源、企业应用和企业人员的集合体。
二、电子化办公工作流
传统模式纸质发文处理过程中,每个领导审批同意后都要将文件返回给拟稿人,并由拟稿人将文件送递给下一处理者;如不同意,也要将文件返回拟稿人,并由拟稿人对文件修改。文件由文书编号后,需要将纸质文件送到打字员处,由打字员进行文字录入和排版工作。这里的文字录入工作是毫无意义的,因为在文件的拟稿阶段,拟稿人已经完成了文字录入工作,但出于制度的要求一直延续着这样的工作。同样,文件的分发的效率也十分低下,文书根据文件的接收单位首先印制规定数目的红头带章文件,对于接收单位较近的,电话通知该单位派人来取,对于距离较远的单位,需要文书填写邮件或特快专递信封,并随后送往邮局邮递。这个过程不仅浪费了大量的人力用于统计、填写信封、办理邮递,同时效率极为低下,有时文件邮寄到较远的单位需要一两个月时间。
利用工作流思想能从根本上解决了上述问题,能够实现文件的电子化流转、催办、签批。图1是结合电子化办公的特点,将原有流程进行了梳理和优化的发文处理工作流。这个流程中,文件审批者不同意,系统自动将文件返回给拟稿人;如果文件审批者同意,则不再经过拟稿人进行文件的传递,文件自动通过流程引擎发送给下一审批人。由于中小企业协同办公系统中支持文件的在线编辑,发文处理中从文件的拟稿到文件的发出,整个过程都是按权限可编辑电子文件的流转,因此打字员无需再进行文件的录入工作,只需要单位文件制发管理规定进行文件的排版工作,形成统一格式的红头文件。在文件的用印分发过程,文件加盖完电子印章后,指定文件的接收人或接收单位进行文件发送即可。
图1 优化后的发文管理流程
发文管理流程是企事业单位办公自动化系统的一个重要的流程,在文件管理工作中发挥着重要作用,同时此流程也带有较强的代表性,会议室管理、办公用品申领、财务报销管理等流程都和本流程的基本模式一致,因此,这种流程梳理和优化同样可以应用到其他流程中。
三、工作流设计
1.数据库表格设计
创建系统所需的组织机构表、员工信息表、文件信息表、文件附件信息表、工作流信息表、工作流节点信息表、信息流转模式信息表、文件流转信息跟踪表、成文收阅用户范围表等基本表格(如表1)。
表1 系统数据表信息
表名 |
描述 |
备注 |
My_dept |
组织机构表 |
组织机构级别、名称等信息 |
My_employee |
员工信息表 |
员工所属部门及姓名等个人信息 |
My_file |
文件信息表 |
标题、编号、正文、拟稿人等信息 |
My_file_accessory |
文件附件信息表 |
附件标题、大小等信息 |
My_workflow |
工作流信息表 |
工作流类别信息 |
My_workflow_node |
工作流节点信息表 |
各工作流从开始到结束节点信息 |
My_workflow_mode |
信息流转模式信息表 |
流转、回退、转发等模式信息 |
My_file_transfer |
文件流转信息跟踪表 |
具体文件的流转信息记录 |
My_opinion |
文件签批意见表 |
流转过程中用户的签批意见记录 |
My_readers |
成文收阅用户范围表 |
文件盖章成文后指定的收阅范围 |
2.工作流运行思路设计
工作流的实现包括拟稿、待签收文件、待办文件、已办文件、办结文件、签收、提交任务、签批意见、流程跟踪等主要功能的设计。
(1)拟稿
拟稿人点击拟稿按钮后,在文件基本信息中输入或选择标题、拟稿部门、拟稿人、拟稿日期、文种、缓急程度、密级、主送范围、抄送范围、主题词、保管期限、类型、启动流程及备注等信息后,保存信息并上传文件正文。
(2)待签收文件
此功能(界面如图2所示)显示其他用户提交过来的需要登录用户处理的各种公文,此时文件处待签收状态,需要用户签收后再进行文件处理。

图2 系统界面图
实现逻辑:
SELECT my_file.File_No,my_file.Title,my_file_transfer.Transfer_No,
my_file_transfer.Sender,my_file_transfer.SendDept,my_file_transfer.SendDate,
my_workflow_node.NodeName,my_file_transfer.ReceiveTask
FROM my_file,my_file_transfer,my_workflow_node
WHERE ( my_file.File_No = my_file_transfer.File_No ) and
( my_file_transfer.WorkFlowNo = my_workflow_node.WorkFlowNo ) and
( my_file_transfer.ReceiveTask = my_workflow_node.Node_No ) and
( ( my_file_transfer.Receiver = :current_emp ) AND
( my_file_transfer.IsReceived = 'N' ) )
注:IsReceived为签收标志,当值为Y时表示用户已经签收,为N时表示用户还未查看或签收文件;current_emp为当前登录用户。
(3)待办文件
此功能显示登录用户签收完成的各种公文列表,签收后本条信息的发送者即获悉收文者已经签收并处于办理的过程中,从而起到文件跟踪的作用。
实现逻辑:
SELECT my_file.File_No,my_file.Title,my_file_transfer.Transfer_No,
my_file_transfer.Sender,my_file_transfer.SendDept,my_file_transfer.SendDate,
my_workflow_node.NodeName,my_file_transfer.ReceiveTask
FROM my_file,my_file_transfer,my_workflow_node
WHERE ( my_file.File_No = my_file_transfer.File_No ) and
( my_file_transfer.WorkFlowNo = my_workflow_node.WorkFlowNo ) and
( my_file_transfer.ReceiveTask = my_workflow_node.Node_No ) and
( ( my_file_transfer.Receiver = :current_emp ) AND
( my_file_transfer.IsReceived = 'Y' ) AND
( my_file_transfer.IsOperated = 'N' ) AND
( my_file_transfer.IsFlowEnd = 'N' ) )
注:IsOperated为处理标志,当值为Y时表示用户已经处理并提交文件,为N时表示用户还未完成文件处理;IsFlowEnd为本流程结束标志,当值为Y时表示该文件已经顺利完成所有流转过程,为N时表示该文件还在流转过程中。
(4)已办文件
待办文件经过用户处理并提交后,该条文件信息自动显示在已办文件列表中,此部分信息不需要用户再做处理,只做信息浏览和流转跟踪用。
实现逻辑:
SELECT my_file.File_No,my_file.Title,my_file_transfer.Transfer_No,
my_file_transfer.Sender,my_file_transfer.SendDept,my_file_transfer.SendDate,
my_workflow_node.NodeName,my_file_transfer.ReceiveTask
FROM my_file,my_file_transfer,my_workflow_node
WHERE ( my_file.File_No = my_file_transfer.File_No ) and
( my_file_transfer.WorkFlowNo = my_workflow_node.WorkFlowNo ) and
( my_file_transfer.ReceiveTask = my_workflow_node.Node_No ) and
( ( my_file_transfer.Receiver = :current_emp ) AND
( my_file_transfer.IsReceived = 'Y' ) AND
( my_file_transfer.IsOperated = 'Y' ) AND
( my_file_transfer.IsFlowEnd = 'N' ) )
(5)办结文件
所有经过当前用户拟稿或其他处理的文件,在完成流转的所有环节后,信息自动显示在办结文件中。办结的文件是经过层层领导审批、校对并分发出去的,所以具有只读性。
实现逻辑:
SELECT my_file.File_No,my_file.Title,my_file_transfer.Transfer_No,
my_file_transfer.Sender,my_file_transfer.SendDept,my_file_transfer.SendDate,
my_workflow_node.NodeName,my_file_transfer.ReceiveTask
FROM my_file,my_file_transfer,my_workflow_node
WHERE ( my_file.File_No = my_file_transfer.File_No ) and
( my_file_transfer.WorkFlowNo = my_workflow_node.WorkFlowNo ) and
( my_file_transfer.ReceiveTask = my_workflow_node.Node_No ) and
( ( my_file_transfer.Receiver = :current_emp ) AND
( my_file_transfer.IsReceived = 'Y' ) AND
( my_file_transfer.IsOperated = 'Y' ) AND
( my_file_transfer.IsFlowEnd = 'Y' ) )
(6)签收文件
主要完成文件签收,从而告知文件提交者或流程中其他人员本环节处理者已经收到文件,进入文件处理过程。
实现逻辑:
UPDATE my_file_transfer
SET IsReceived = 'Y', IsOperated = 'N', IsFlowEnd = 'N', Receivedate =GetDate()
WHERE my_file_transfer.transfer_no = :il_current_transfer_no //注il_current_transfer_no为当前文件的传送序号。
(7)提交文件
通过提交文件功能可将待办列表中的文件,提交给下一处理者完成下一步工作(如图3所示)。

图3提交任务界面图
首先要在文件流转信息跟踪表中增加一条对应记录,记录此次流转的相关信息,实现逻辑如下:
INSERT INTO my_file_transfer
( File_No, Sender, SendDept, SendTask, SendDate, Receiver, ReceiveDept,
ReceiveTask, WorkFlowNo, WorkFlow_Mode, IsFlowEnd)
VALUES ( :ii_file_no,//当前文件序号
:gi_employeeid, //当前用户ID
:gi_deptno, //当前用户所在部门ID
:ii_sendtask, //当前用户对本文件处理的任务
GetDate(),//当前日期时间
:il_selected_employeeid, //所选择的提交对象ID
:il_selected_deptno, //提交对象所在部门ID
:ii_receivetask, //提交对象对本文件处理的任务
:ii_flow_no, //本文件所启用的工作流
1, //值为1表示流转,值为2表示转发,值为3表示回退
"N") ;
由于文件提交出去后,对于当前用户此文件已经处理完毕,因此还要修改当前处理结束标志,实现逻辑如下:
UPDATE my_file_transfer
SET IsOperated = 'Y'
WHERE my_file_transfer.transfer_no = :ii_transfer_no ;
(8)签批意见
签批意见功能主要是对应当前的文件和流转记录,将用户输入的文件签批意见登记在签批意见数据表中。此功能实现逻辑简单,通过一般的数据库更新操作即可实现。
(9)流程跟踪
此功能显示文件自拟稿开始流转的各个环节流转记录和签批意见的显示。此功能实现逻辑简单,通过一般的数据库查询即可实现。
以上为利用关系数据库技术为企事业单位量身定做基于工作流的信息系统的关键思想。这种思想可以拓展到几乎所有和工作流相关的管理信息系统中,不仅简单实用、便于开发与维护、有效降低建设成本,而且能够更贴近本单位的实际管理模式,从而能够切实提高开发和实施效率,为提升单位的管理水平和效率起到重要作用。
|