时间:2024-06-19
王 东, 林 宏
(贵州师范学院a.数学与计算机科学学院;b.教育信息网络中心, 贵阳 550018)
工作流模型在科研项目经费管理系统中的应用研究
王 东a, 林 宏b
(贵州师范学院a.数学与计算机科学学院;b.教育信息网络中心, 贵阳 550018)
为提高科研院所、高等院校科研项目经费报销的工作效率,满足科研项目经费报销管理业务动态变化需求,将工作流技术应用到科研项目经费管理系统的开发中。首先对关键业务进行分析,定义了项目审核流程、项目预借审核流程和项目报账审核流程三个关键业务;再基于关系结构的工作流方法对系统的设计与实现进行建模,通过统一的关系结构来定义关键业务的业务规则、活动的依赖关系以及任务的指派等特征,并详细地给出了机构模型、信息模型和控制模型的表示和实现方法。应用实际表明,该方法既能满足业务过程的动态扩充和变化,又能简化系统的实现难度。
工作流;经费管理;关系数据库;业务逻辑
在科研院所、高等学校等学术研究机构中,科研项目经费预算申请、报销方式一般采用手工填写、人工传递的方式,由科研人员填写报销单据,粘贴相关票据,交付分管领导审批,领导核实票据的真实性和合理性,签署审批意见,再提交到上一级领导,最后由财务核查报销数额,查看报销标准及相关文件后,执行报销处理。该方式存在以下问题:(1)审批周期长,效率低下。传统经费预算与报销需要人员在审批过程中环环相扣,以致将大量时间和精力浪费在内部协调和文件传递上,如相关部门审核者出差,就会产生程序脱节,使报销停滞不前;(2)管理复杂,容易出错。由于过度的交互依赖,需要大量前台人员,如日常报销业务量大,员工单据填写不规范,导致工作不断重复,出错率较高,造成管理的混乱;(3)成本过高,不利发展。对于科研人员来说,把大量时间和精力耗在了无谓的管理程序和报销要求上,浪费宝贵的科研时间,对于审核者来说,需要耗费大量的精力和时间对单据进行审核、检验、审批,直接增加了部门的运行成本;(4)缺乏规范的审批流程记录和跟踪,导致业务、职责不明确,过度的纸张依赖导致大量浪费。因此,设计并实现可以满足科研项目关键业务处理需求的信息管理系统已成为改进科研项目经费管理方式、解决科研人员“报销难”问题的迫切要求。本文将基于关系结构的轻量级工作流方法[1-5]对系统设计进行建模,该方法原型最早由何清法等提出并应用到商标注册与管理信息化系统中[1],有学者对该方法进行扩展并应用到其他应用系统中,如文献[6-7]将其应用于OA系统中,文献[8]将该模型应用到ERP系统开发中,文献[9]将工作流技术成功应用到银行贷款申请审批系统中。科研项目经费管理中的项目审核、经费预借和报账具有显著的关键业务特征,业务过程由许多业务活动组成,业务逻辑和业务规则复杂,业务的完成依赖于其中众多业务活动之间的交互和众多的业务人员协作参与[1]。在系统中,将各级审核过程定义为工作流[10-11],流程模型按照科研项目经费管理规范提前定义或随时修改,将参加审批的经办人、项目负责人、部门负责人、科研处、分管领导、财务、财务负责人等角色有机组织起来,流程的各个环节由不同的角色参与完成,每个环节执行结束即自动转至下一环节继续执行,直到整个流程结束或终止[12],从而实现项目审核管理、预算审批流程管理、报账审批流程管理等关键业务的网络化办理。
工作流建模的第一步是获取业务流程信息,尤其是对关键业务进行深入分析。科研项目通过立项后,项目负责人要制定出项目经费使用计划,根据经费使用管理规定编制详细的经费预算,预算经各级管理部门审核通过后方可使用项目经费。项目经费使用一般采用先预借后报账的方式,预借项目经费要经过预借申请审批流程,最后进行报账要经过项目报账审批流程。项目信息审核流程、经费预借申请审批流程、经费报账审批流程共同构成了科研项目经费管理的关键业务。
1.1 项目信息审核流程
当项目获得批准立项后,项目经办人需要将项目的基本信息:项目名称、项目合同编号、项目主要内容、经费投入、项目科目构成及经费预算等信息录入系统,各级部门再对项目信息进行审核。项目信息审核流程如图1所示,图中每个节点表示一个审核者,每条有向边表示审核传递关系。
图1 项目审核流程
项目信息审批包括6个节点,由经办人发起审批,经项目负责人、部门负责人、科研处、财务、财务负责人审核。项目审批流程的流转过程为串行执行,审批过程中每个时刻只有一个活动节点,即只有一个审核者可以执行审批,每个节点有“审核通过”或“退回补充”两种状态。审核传递是逐级进行的,上一审核者审批通过后,等待下一审核者进行审批,当最后一个审核者审批通过后,整个审批流程结束。在具体的审批过程中,每个审核者执行的交互任务是不一样的。经办人填报项目信息,上传项目立项的证明文档或扫描件;项目负责人、部门负责人、科研处负责检查项目信息、科目项和经费预算的合理性;财务在科研处审批通过后执行经费到账处理;财务负责人执行项目开启操作。
1.2 经费预借审批流程
当项目信息审核通过后,项目经办人就可提交经费预借申请。预借申请要经过预借审批流程,流程中的所有审核者都审核通过后,经办人方可办理经费预借业务。根据预借金额的数额将预借审批流程分为3类:预借金额小于等于X元的称为简化流程,小于等于Y元的称为一般流程,预借金额大于Y元的为全流程。
图2 项目预借简化流程
简化流程包括4个节点,分别为经办人、项目负责人、部门负责人、科研处。一般流程比简化流程多1个节点——分管领导。全流程在简化流程基础上又增加了1个节点——主要领导。只有当最后一个节点审核通过后,才能生成并打印“预借申请表”。各个节点中,经办人主要业务是填报预借申请信息,明确预借申请包括的科目项及经费数额,并上传必要的支撑材料。后续节点负责查看预借申请信息及支撑材料的合理性和完整性。审核过程中,审核者可以精确到科目项执行3种操作:“通过”、“补充”或“否定”。如果所有科目项都执行“否定”操作,表明预借申请未通过,审核流程结束;若存在科目项被执行“补充”操作,流程跳转到第一个节点,经办人查看退回原因后可选择执行以下操作:(1)按要求更改预借申请信息和补充材料后提交到退回节点;(2)放弃被退回补充的科目项;(3)撤销并终止本次预借申请。若所有科目项未被否定且不存在补充项,审核流程流转到下一节点。项目经费预借审批简化流程如图2所示。
1.3 项目报账审批流程
当预借申请通过审核,财务确认并下账成功后,经办人就可以发起项目报账审批流程。报账审批流程分为3种:简化流程、一般流程和全流程。当预借申请为简化流程且报账经费数额并未超出预借经费数额为简化流程,包含6个审核节点:经办人、项目负责人、部门负责人、科研处、财务、财务负责人;当预借申请为一般流程且报账经费数额并未超出预借经费数额为一般流程,包含7个审核节点:经办人、项目负责人、部门负责人、科研处、财务、财务负责人、分管领导;当预借申请为全流程或报账经费数额超出预借经费数额为全流程,包含8个审核节点:经办人、项目负责人、部门负责人、科研处、财务、财务负责人、分管领导、财务分管领导。
各个节点中,由首节点经办人发起报账审批流程,上传报账凭据。若存在科目项被执行“补充”操作,流程跳转到第一个节点,经办人查看退回原因后可选择执行:(1)修改补充后提交到退回节点处;(2)放弃被“退回修改补充”的科目项。后续节点审核报账金额及报账凭据,财务可以针对实际情况核定最终金额。项目经费报账审批简化流程如图3所示。
图3 项目预账简化流程
基于关系结构的工作流引擎信息系统框架的数据模型包括机构模型和信息模型[13]。通过数据模型,可以方便地描述系统的框架、关键业务的业务规则、活动的依赖关系以及任务的指派等特征,它们均通过统一的关系结构来定义。图4给出了数据模型的ER图(限于篇幅只给出核心表结构)。
2.1 机构模型
机构模型描述了部门的组织机构关系。相关的表主要有TB_DEPARTMENT、TB_USER、TB_ROLE和TB_USERTOROLE。TB_DEPARTMENT表示单位部门的组成情况,TB_USER记录单位的人员信息。TB_DEPARTMENT和TB_USER通过字段DEPARTMENT_ID互相关联,TB_USER中的DEPARTMENT_ID表示部门与用户的所属关系,TB_DEPARTMENT中的HEADER_ID和LEADER_ID分别表示部门负责人和分管领导的用户ID。TB_ROLE表示角色,用户以角色身份获取一组操作权限,通过关系TB_USERTOROLE在TB_USER与TB_ROLE之间建立关联,从而可以给一个用户赋予不同角色。
2.2 信息模型
信息模型存储工作流程的描述信息和具体工作实例的运行信息。将模型分为工作模板和工作实例两部分。
工作模板用于定义工作流程,表结构主要包括工作流程表TB_FLOW、活动节点表TB_NODE、任务路由规则表TB_LINE。工作流程表TB_FLOW定义业务流程,一个工作流程由一系列具有逻辑关系的活动节点组成。节点信息存储于表TB_NODE中,每个活动节点表示工作的一个执行单元,表TB_FLOW与表TB_NODE通过字段TB_FLOW_ID关联。任务路由规则表TB_LINE定义节点之间的执行流转关系,当某活动节点执行完成时,从TB_LINE中获取节点的所有有向边(转出连接弧),依据相关流程变量的值选择转出连接弧、流转到下一节点[14],表中字段PRENODE_ID表示前驱节点,与表TB_NODE中的TB_NODE_ID对应,字段NEXTNODE_ID表示后驱节点,表TB_LINE中的一条记录表示工作流程由PRENODE_ID表示的活动流转到NEXTNODE_ID表示的活动。将工作模板中的表结构通过前端表单进行可视化维护后,对流程的控制权就彻底移交给了用户来进行自定义,用户可以根据实际需求对业务流程进行动态调整,满足业务过程的动态扩充和变化[15]。
工作实例用于存储具体发生的工作流程信息,本文定义了三个关键业务,即项目审核流程、项目预借审核流程和项目报账审核流程。
图4 数据模型ER图
(1) 项目审核信息模型
项目审核流程中主要表结构有项目审核表TB_PROAUDIT、项目审核详细表TB_PROAUDIT_DETAIL、项目审核进度表TB_PROAUDIT_SCHEDULE、项目审核到账表TB_PROAUDIT_ENTRY、项目审核任务队列表TB_PROAUDIT_TASK。TB_PROAUDIT中的每一条记录表示一个项目审核流程的实例,表TB_PROAUDIT中的字段PROJECT_ID与项目表TB_PROJECT关联,字段AUDIT_ID是项目审核详细表、项目审核进度表、项目审核到账表和项目审核任务队列的外键。关系TB_PROAUDIT_DETAIL用于记录工作流程的详细审批流水,即什么角色的什么人执行了何种审批操作,以及当前的状态及审核理由。表TB_PROAUDIT_SCHEDULE中存储的数据用于前台审批进度的可视化提供支持。表TB_PROAUDIT_ENTRY记录项目经费到账金额以及项目开启状态,字段ENTRYAMOUNTS为入账金额,入账金额不能大于项目经费总额,字段ISOPEN为项目开启状态,其值的修改依赖于字段ENTRYAMOUNTS,其他工作流程的发起依赖于字段ISOPEN。表TB_PROAUDIT_TASK是工作流程任务指派的关键,它存储了一个工作实例中最新执行的任务,同时指明了下一个执行节点,字段NODE_ID表示最近操作执行节点ID、字段LINK_ID表示具体操作、字段NEXTNODE_ID表示下一个执行节点的ID。
(2) 项目预借审核信息模型
项目预借审核流程的主要表结构有项目预借审核表TB_BUDGET_AUDIT、项目审核详细表TB_BUDGET_DETAIL、项目审核进度表TB_BUDGET_SCHEDULE、项目审核任务队列表TB_BUDGET_TASK、预借科目表TB_BUDGET_ITEM。关系TB_BUDGET_AUDIT中每条记录表示一个项目预借申请审核流程实例,表TB_BUDGET_AUDIT通过字段BUDGET_ID与其他关系关联,字段STATUS为当前流程的状态(未提交、审核中、审核通过、撤销、未通过)。关系TB_BUDGET_DETAIL用于存储流程审批流水。关系TB_BUDGET_SCHEDULE用于存储审核进度信息。关系TB_BUDGET_TASK存储下一个执行节点信息,前端通过查询字段NEXTNODE_ID值并参照关联关系TB_NODE与TB_ROLE,从而获得任务。关系TB_BUDGET_ITEM记录预借科目及经费数额,相同BUDGET_ID的一组记录表示一次项目预借申请,字段PROJECT_BUDGET_ID与关系TB_PROJECT_BUDGET(存储各个项目包含的科目项及经费预算数额)关联,从而建立起两个关系之间的约束规则:TB_BUDGET_ITEM.BUDGETAMOUNTS+TB_PROJECT_BUDGET.BUDGETED<=TB_PROJECT_BUDGET.AMOUNTS,项目预借审核精确到科目项,通过改变字段FLAG值实现科目项审核状态的转换,图5为预借审核状态转换图。
图5 预借审核状态转换图
另外,字段ACCOUNTAMOUNTS、FLAG1与报账审核流程有关。
(3) 项目报账审核信息模型
项目报账审核流程的主要表结构有项目报账审核表TB_ACCOUNT_AUDIT、项目报账审核详细表TB_ACCOUNT_DETAIL、项目报账审核进度表TB_ACCOUNT_SCHEDULE、项目报账审核任务队列表TB_ACCOUNT_TASK、预借科目表TB_BUDGET_ITEM、报账凭据表TB_ACCOUNT_EVIDENCE、报账凭据附件表TB_ACCOUNT_EVIDENC_ATTACH等。关系TB_ACCOUNT_AUDIT中每条记录表示一个项目报账申请审核流程实例,TB_ACCOUNT_AUDIT通过字段BUDGET_ID与TB_BUDGET_AUDIT一对一关联,项目报账申请审核流程的启动条件是表TB_BUDGET_AUDIT的字段STATUS值为“审核通过”。关系TB_ACCOUNT_DETAIL、TB_ACCOUNT_SCHEDULE、TB_ACCOUNT_TASK的作用与预借流程中对应表类似。关系TB_ACCOUNT_EVIDENCE、TB_ACCOUNT_EVIDENC_ATTACH用于存储报账凭证电子文档或扫描图片。在报账审核流程中,审核的科目数据来源于关系TB_BUDGET_ITEM中,前端提取相同BUDGET_ID且FLAG值为1的一组记录,字段ACCOUNTAMOUNTS为报账实际金额,通过改变字段FLAG1值实现科目项报账审核状态的转换,图6为报账审核状态转换图。
图6 报账审核状态转换图
(1) 权限控制
工作流由一组相互依赖的具体活动以一种协调的方式执行,只有经授权的用户才能执行这些活动实例[2]。权限控制定义了角色对系统功能和数据的访问规则。这些规则主要用于控制用户界面元素的生成、表单访问控制和活动实例的执行控制。其涉及的核心表结构为关系TB_MODULE、TB_POWER、TB_ROLE、TB_USER、TB_USERTOROLE。关系TB_MODULE定义了一组用于与用户交互的系统功能集合,关系TB_POWER中具有相同ROLE_ID的一组记录就是该角色所能操作的系统功能集合。指定用户的角色后,该用户就拥有了相关权限。当用户登录进系统时,应用程序根据用户的权限获取用户界面元素配置信息,设置界面元素属性,初始化用户界面,从而将用户的操作限制在一个功能子集中[2]。
(2) 任务指派
任务指派是指依照某种规则将任务分配给具体人员来执行[13]。每个交互活动都涉及到任务指派的问题。在前文中已经提到了许多表和字段将联合用于工作流引擎的任务指派,以报账流程为例,其涉及的核心表结构为关系TB_NODE、TB_ROLE、TB_ACCOUNT_TASK。在TB_NODE中,每一个交互活动在表中均对应一条记录,表中字段ROLE_ID表明任务指派的基准是基于角色的,即与ROLE_ID值相同的角色都可以执行此活动,通过该字段,实现组织角色权限与工作流的动态关联[8]。 当一个流程实例被创建后,活动的实例称为任务,一个活动可以同时具有多个实例,用FLOW_ID来标志任务所属批次。流程实例的创建与第一个任务执行是同步完成的,在满足流程创建的条件下,经办人执行流程第一个任务后,即创建了一个流程实例。除第一个任务,其他任务都依赖任务队列TB_ACCOUNT_TASK驱动。任务队列TB_ACCOUNT_TASK用于记录那些等待完成的任务,用户在登录系统后,能够查阅“待办任务”,并对其中的任务进行办理,执行完任务提交给后端处理程序,修改相应记录的后继节点信息,使任务再指派给其他角色,直至流转到终端节点,最后将任务从任务队列中清除。
工作流管理是计算机支持的协同设计的一个重要研究领域,它侧重于业务活动的自动化或半自动化完成。采用工作流技术对科研项目经费管理系统进行设计与实现,其目的是在成本、质量、服务和速度等方面取得显著的改善。本文所讨论的基于工作流模型的科研项目经费管理系统是在贵州省情报研究所的一个具体的应用基础之上提炼出来的。这个信息系统中,包含项目信息审核流程、经费预借申请审批流程、经费报账审批流程三大关键业务过程,每个业务过程均比较复杂,例如预算申请全流程审批活动达到七个,业务活动之间相互依赖,业务活动的推进有顺序、回退、跳转关系。采用PHP和MySQL作为开发工具,用关系表设计了工作流模型,目前系统全部开发完毕并已正式投入运行。实际的应用表明,有了工作流模型的支持,使得业务活动与流程控制的耦合性较低,系统易于维护,便于业务扩充,系统在开发与应用中最大限度降低了成本。
[1] 何清法,李国杰,焦丽梅,等.基于关系结构的轻量级工作流引擎[J].计算机研究与发展,2001,38(2):129-137.
[2] 沈熙玲,刘仁义,刘南.基于关系数据模型的工作流引擎设计与实现[J].江南大学学报:自然科学版,2007,6(5):537-541.
[3] 何中胜,庄燕滨.一种轻量级工作流管理系统的开发研究[J].计算机与数字工程,2013,41(8):1277-1279.
[4] 蔡孝武,韩永国,蓝科.一种轻量级工作流引擎的研究与设计[J].计算机工程,2010,36(20):78-79.
[5] 肖璞,刘亚军.基于关系模型工作流引擎技术的研究与实现[J].信息系统工程,2016(8):29-31.
[6] 张能立,陈刚,熊姣姣.基于关系数据库的自定义工作流模型在OA系统中人的研究与实现[J].计算机与数字工程,2005,33(8):105-107.
[7] 欧阳玉飞,刘晓军.基于关系数据库系统的WEB OA工作流管理系统的设计与实现[J].计算机工程与应用,2003,39(18):195-198.
[8] 苏鹏,王文,刘学理,等.基于关系数据库的轻量级工作流引擎[J].计算机应用与软件,2008,25(3):117-119.
[9] 刘伟军.工作流技术在银行贷款申请审批中的应用研究[J].赣南师范学院学报,2015,36(3):15-18.
[10] 陈广智,潘嵘,李磊.工作流建模技术综述及其研究趋势[J].计算机科学,2014,41(6):11-16.
[11] 刘怡,张子刚,张戡.工作流模型研究述评[J].计算机工程与设计,2007,28(2):448-451.
[12] 刘天真,董彦军.高校科研项目管理系统开发研究[J].中国高校科技与产业化,2009(12):105-107.
[13] 方睿,韩斌,甘刚.基于工作流引擎的信息系统通用框架设计[J].计算机应用研究,2006,23(8):222-224.
[14 郭玉彬,蔡泽野,林泽伟,等.轻量级动态工作流引擎的设计与实现[J].计算机工程与设计,2014,35(3):1105-1109.
[15] 喻洪江,丁伟,陈笑蓉.工作流模型在烟草成本精细化管理系统中的应用研究[J].贵州大学学报:自然科学版,2016,33(6):48-53.
The Applied Research of Workflow Model for Scientific Research Funds Management System
WANGDonga,LINHongb
(a.School of Mathematics and Computer Science;b.Educational Information and Network Technology Center, Guizhou Education University, Guiyang 550018,China)
In order to improve the working efficiency of the scientific research project funds reimbursement, to meet the needs of the scientific research project funds reimbursement management work changing in research institutes or universities, the workflow technology is used to develop a system of scientific research project funds management. First, the key business is analyzed, and the project review process, project pre-loan review process and project audit process are defined. Then, the design and implementation of the system is modeled based on the workflow method of the relational structure. The business rules of the key business, the dependencies of the activities and the assignment of tasks are defined through a unified relational structure. Also, the design principle of the mechanism model, information model and control model, and the concrete representation and realization method are given. The practical application shows that this method can not only satisfy the dynamic expansion and change of the business process, but also simplify the realization of the system.
workflow; fund management; relational database; business logic
2017-07-04
贵州省教育厅创新群体重大研究项目([2016]040);贵州省普通高等学校工程研究中心项目([2016]015);贵州省高技术产业示范工程专项项目([2015]1588号)
王 东(1978-),男,贵州赫章人,副教授,主要从事自然语言处理方面的研究,(E-mail)wd_gz@163.com; 林 宏(1980-),男,贵州赫章人,实验师,主要从事信息系统开发方面的研究,(E-mail)29152828@qq.com
1673-1549(2017)04-0023-06
10.11863/j.suse.2017.04.05
TP391
A
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!