研究常用管理系统中的审批模块

时间:2022-01-24 08:13:14

研究常用管理系统中的审批模块

一、设计思路

1流程分析及设计在日常工作中,人员的加班、请假、耗材领用、物品采购都需要领导审批,还有很多其它业务也会有审批这个环节。不同的业务由不同人员发起,管理部门不同,审批人员也不同,这使得流程看起来杂乱无章,其实经过细心梳理,关注其相同之处,还是有规律可循的,他们的基本流程都是特定的模式,大致为:发起申请、审批、办理、结束。以笔者所在单位耗材管理系统为例,用户填写表单,启动审批流程后,先递交所在部门领导审批,然后递交管理部门领导审批,最后由管理人员办理并结束流程。可以看到,其中审批过程又被分为三级,即:所在部门领导、管理部门领导、管理人员。以下按三级审批的设定,介绍一下审批模块的设计思路。

2程序设计思路前台界面主要规划为四个页面:“所有申请”页面、“等待我处理的审批”页面、“审批”页面、“授权管理”页面。“所有页面”显示的是全部申请,页面内可以按照业务类型、审批状态、申请人、申请时间等进行筛选查看;具有审批权限的用户进入“等待我处理的审批”页面后,会根据不同权限显示不同待审信息,用户可以清楚地看到哪些申请正等待自己处理;“审批”页面用来进行审批操作,页面列出申请单的详细内容和各级审批意见,可以通过按钮选择“同意”或者“不同意”,还可以填写其他审批意见;“授权管理”页面只有管理员可以访问,用来设置审批流程和对流程中具有审批资格的人员进行添加、修改、删除操作。后台程序主要实现三大功能:显示所有申请及该申请的审批状态;判断用户权限,按照权限设定显示不同的待审信息及审批界面;审批。后台程序的核心是对审批状态的鉴别和控制,针对这一部分,需要一个好的算法,算法是程序设计的灵魂,不仅要求算法正确还要求便于理解、编码、修改,结构上要直观、清晰、美观,能对极端数据、特殊数据作出合理的处理,并能在执行过程中占用最小的存储空间高效运行。笔者设计的算法,就可以满足上述要求,即在系统中设定一个字段“zt”,用来描述审批过程中的所有状态,通过判断“zt”的值选择相应的操作:申请人填写表单启动审批流程,提交后“zt”赋值为“1”进入一级审批,一级审批通过后“zt”赋值为“2”,多级审批依次类推,审批级别上升一级,字段“zt”的值就做加1操作,如遇审批意见为“不同意”,则将“zt”的当前值变为负数,采用这种方法不但容易通过程序区分审批意见和审批级别,还能帮助前台页面将拒绝信息友好的反馈给申请人。

3数据库表设计根据前面的介绍,需要在数据库中建立数据表,用来存储相关信息,数据库使用SQLServer,下面列出主要表及表结构。(1)表[qxb],用来存放授权信息,包括审批级别、授权用户和业务类型,表结构如下:列名:id;数据类型:int;长度:4;空:不允许;主键:是;描述:自动编号;列名:jb;数据类型:char;长度:2;空:允许;主键:否;描述:审批级别;列名:ry;数据类型:nchar;长度:5;空:允许;主键:否;描述:授权用户;列名:lx;数据类型:nchar;长度:10;空:允许;主键:否;描述:业务类型;(2)表[spb],用来存放审批信息,包括对应业务ID、审批状态等,表结构如下:列名:id;数据类型:int;长度:4;空:不允许;主键:是;描述:自动编号;列名:ywid;数据类型:int;长度:4;空:允许;主键:否;描述:对应业务ID;列名:zt;数据类型:char;长度:2;空:允许;主键:否;描述:审批状态;列名:spjb;数据类型:char;长度:2;空:允许;主键:否;描述:审批级别;列名:spyj;数据类型:nvarchar;长度:50;空:允许;主键:否;描述:审批意见;列名:qtyj;数据类型:nvarchar;长度:50;空:允许;主键:否;描述:其他意见。

二、结束语

按照该思路设计的审批模块,在实际应用中已经取得了较好的效果,它可以快速的为企业原有管理系统添加审批功能,解决网上审批的问题,并将审批流程显现化,它在不废弃、不干扰原有系统的基础上,最大限度的节约了资金成本、时间成本,让软件从单用户管理、操作的应用系统迅速升级为多用户协同合作的系统,进一步提高了管理系统的自动化水平,使得用户应用起来更方便,管理者管理起来更轻松。该设计思路不但适用于嵌入现有系统,新系统开发时同样适用。

作者:王娜张延奎王朋飞赵庆革单位:中航飞机汉中飞机分公司设计研究院