田 鹏 姜印平 张振波
(1.天津大学电气与自动化工程学院,天津 300072;2.中海石油(中国)有限公司深圳分公司西江作业区,深圳 518067)
基于B/S模式的计量检测综合管理系统的设计与实现
田 鹏1姜印平1张振波2
(1.天津大学电气与自动化工程学院,天津 300072;2.中海石油(中国)有限公司深圳分公司西江作业区,深圳 518067)
采用C# ASP.NET编程技术与SQL Server 2008数据库技术进行了计量检测综合管理系统的搭建。介绍了系统的总体结构,开发环境、数据库及功能模块设计,并详细说明了查询模块与证书出具模块的实现方法。该系统实现了委托信息、标准器信息的存储与查询,生成业务流程单据,处理实验数据,出具检定证书报告等功能。实践表明,系统的使用有效提高了计量检测机构的业务效率与证书报告质量。
B/S模式;计量检测;管理系统;证书报告
计量检测部门作为社会公用的计量标准机构,要为生产经营活动的全过程提供必要的、准确的计量数据和信息,在保证产品质量、促进生产、科研和贸易发展等方面发挥着重要作用。
计量器具的检测是法定计量机构的若干职责中的一项,工作十分繁琐,管理的数据多,数据存储量大[1]。完善方便的计量检测管理系统能够大大减少工作量,实现数据的快速保存,待检的仪器信息的查询,证书的自动生成,证书模版的资源共享,能规范计量检测机构业务的工作流程,减少人为因素造成的错误和检测质量事故[2]。
然而多数现有的计量检测管理系统由于业务信息共享与利用不当,在很大程度上限制了计量检测业务效率的提升。尤其是在数据处理与证书报告出具方面,传统方法存在速度慢、易出错、工作量大、不便保存等问题,已无法满足计量检测工作的需要。因此,有必要建立便于信息管理与信息利用的计量检测综合管理系统,以提升计量检测业务效率与质量。
1.1 系统总体功能结构
计量检测综合管理系统是在国家法定标准计量机构的支持下,通过实际需求调研设计与开发的。由于各计量检测机构的主要业务流程基本一致,因此系统的开发设计不失一般性。
系统框架是基于B/S模式的三层体系结构。核心功能集中在服务器端,客户端通过浏览器解释用户层代码显示交互界面。由逻辑层完成相关的业务逻辑,包括信息录入、存储、查询、统计、实验数据处理、单据与证书报告的自动生成。数据层为逻辑层提供业务逻辑所需要的数据与信息,用户无法直接对数据层进行操作,从而保证了系统的安全性。与其他结构相比,具有系统开发和升级的经济性、跨平台兼容性、协同工作性、系统易维护性以及具备信息的广泛发布能力等优势[3]。
系统设置有四种权限的用户:收发室人员、标准器具管理员、实验室人员、系统管理员。总体功能结构划分如图1所示。
图1 计量检测综合管理系统总体功能结构图
1.2 系统开发环境
计量检测综合管理系统采用.NET框架来实现,以Microsoft Visual Studio 2010为开发工具,开发基于C#语言的ASP.NET应用程序,同时使用web控件、Dreamweaver工具、HTML、CSS、JavaScript等完成各用户界面的开发。
数据库部分采用Microsoft SQL Server 2008,其是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理,且与.NET的集成比较好,因此很适合于Windows应用程序的后台数据库[4]。系统采用基于运行Microsoft Windows的互联网基本服务IIS,可在计量检测单位内部局域网通过TCP/IP协议完成数据传输。关于开发环境的安装与配置不再赘述。
2.1 数据库设计
根据信息类别与实际需要建立五个数据库,分别为客户委托信息数据库、标准器信息数据库、送检仪器分类信息数据库、系统信息数据库、证书编号数据库。现将各数据库包含的二维数据表列于表1中。
表1 系统数据库与所含数据表
2.1 系统功能模块设计
下面给出计量检测综合管理系统各功能模块的详细设计。
1)收发管理模块
计量检定机构收发室的主要职能在于接收送检仪器、流转送检仪器、跟踪送检状态、送出证书报告、调查业务反馈情况等。收发管理模块的设计服务于收发室人员,由委托信息处理与单据生成两个子模块组成。其中,委托信息处理子模块包括对送检仪器信息、送检单位信息、送检人信息的录入修改删除等操作,单据生成子模块主要包括委托单、委托单附表、流转单、收费单、意见反馈调查表等文档的生成。
2)标准器管理模块
计量检定机构所使用的标准仪器包含有仪器名称、出厂编号、内部编号、精度等级、测量范围、溯源有效期、证书编号以及检定证书等重要信息。标准器管理模块主要用于对上述仪器信息的管理工作,由标准器基本信息处理与标准器证书上传两个子模块组成。
3)证书报告出具模块
计量检定过程中常需要处理大量的实验数据,并收集实验信息排版生成证书报告。证书报告出具模块由实验数据处理与证书报告生成两个子模块组成。实验数据处理子模块按照不同类型的计量方法与数学模型来处理实验数据;证书报告生成子模块用来调用数据处理子模块所保存的数据,结合其他必要的辅助信息,由应用程序动态生成证书报告。
4)系统管理模块
系统的管理模块主要包含登录信息管理、系统日志管理与数据备份三个子模块。登录信息子模块用于查看当前在线用户、已注册用户列表,注册新用户、修改用户密码、修改登录权限。
系统日志子模块用于查看用户操作内容与操作时间,并可按照操作日期与用户名查询统计用户操作。为防止数据丢失,可由程序自动实现定期数据备份。
5)查询统计模块
查询统计模块用来实现对委托单信息、送检仪器信息、送检单位信息、送检人信息、标准器具信息的查询,并统计查询结果的总页数、总记录数以及当前页数。查询结果可按指定字段(如委托单号、送检时间、仪器编号、送检人姓氏首字母等)升降序排列。可在检索位置同时输入两条查询关键字,选择两者间的与或逻辑关系,由应用程序判断选择SQL语句。
3.1 数据库连接技术
在数据库连接技术方面,系统利用了.NET Framework提供的ThreadPool类,并结合ADO.NET技术,在项目命名空间下编写了数据库连接管理类DBConManager,有效支持了多用户对数据库连接池的访问。数据库连接池作为实现多个异步连接线程的集合,将数据库连接作为对象存储在内存中,并限定了最大线程数。这种重用使应用程序避免了为每个数据库连接创建新线程的开销,极大地提高了数据库的访问能力[5]。
3.2 系统功能模块实现
系统的五个功能模块在实现方法上有相同之处,现分为以下几个部分来说明。
1)系统信息录入
系统的信息录入采用自动读取Excel文件的方式来实现,具体实现过程为:首先经由FileUpload控件上传数据源对象至指定的服务器路径下,之后打开数据源连接OleDbConnection,经OleDbDataAdapter适配器填充DataTable表,最后将DataTable表内容显示在客户端页面上或直接插入数据库[6]。
2)系统信息查询与统计
系统查询统计模块可以完成对委托单信息、送检单位信息、送检仪器信息、标准器信息的查询,分别使用不同的GridView动态显示信息查询结果。在编辑列中可设置功能按钮用于链接显示详细记录信息、切换排列顺序。
由于系统中大量数据需要分页显示,经研究分析采用缓存的GridView自动分页技术,要实现带缓存的数据分页显示,只需开启SqlDataSource数据源的“允许缓存”属性,不但可提高Web应用程序的扩展性及运行效率,还降低了开发成本[7]。
关于查询模块的界面设计如图2所示。
图2 计量检测综合管理系统查询模块界面设计图
3)实验数据处理
在数据处理之前填写各种相关信息,包括仪器型号与校准项、所用标准器信息、实验环境条件以及其他参与运算的数据,系统数据处理部分的操作界面设计如图3所示。
图3 系统数据处理操作界面
数据处理结果保存在服务器指定路径下,以供出具证书报告时使用。点击数据重置,可初始化程序并清理页面内容,再次填写信息可处理其他数据。
4)单据与报告自动生成
计量检测业务中的单据与报告呈现出了种类繁多、格式相对固定、数据变化量大等特点。在系统的开发中使用了C#语言与Word对象模型交互,实践证明该方法可高效准确地生成各类型业务单据与证书报告。
其中格式较为简单、差异较小的文档可选择调用Word模板的方式来生成[8]。将编排好的Word模板文件存储在服务器路径下,在进行文档生成操作时,由应用程序在书签位置写入对应信息即可。多数证书报告格式复杂,数据量大,宜采用完整的编程方式实现。系统出具多校准项仪器证书报告的原理示意图如图4所示。
图4 出具多校准项仪器证书报告原理示意图
5)系统管理与维护
系统操作日志利用log4net记录,在项目中引用log4net.dll,添加一个配置文件 log4net.config。
计量检测业务管理的计算机化与网络化是信息化发展的必然趋势。系统采用B/S模式结构,客户端界面友好,操作方便,同时系统的设计与实现满足计量检测机构的一般业务内容与流程,使得系统具有较好的实用性与共享性。该系统的使用不仅提高了计量检测业务管理效率和信息管理质量,为实验数据的准确快速处理与证书报告的快速规范出具提供了有利保障,而且方便了标准器信息的存储与查询统计,为实验室的资源管理提供有力依据。综上所述,基于B/S模式的计量检测综合管理系统的进一步研究完善与推广使用有其重要的意义。
[1] 黄松涛,水利民.计量器具软件检测亟待开展[J].计量技术,2009(6)
[2] 刘银芳.分布式计量器具检测管理系统的设计与实现[D].东北大学,2009
[3] 赵士伟,王晓蕾,陈国良,等.基于C#.NET和SQL的计量实验室管理系统的设计与实现[J].计量技术,2010(6): 53
[4] (美)贺特克.SQL Server 2008从入门到精通[M].北京:清华大学出版社,2011
[5] 王丽霞.基于B∕S模式的孕妇儿童体检系统的设计与实现[J]. 计算机应用与软件,2013,30(10): 224-225
[6] 孙雪梅,丁军航,原明亭.基于C#.NET的Excel表格数据导入数据库技术研究[J].信息技术与信息化,2009(6):109-110
[7] 张式富,姜涛,吴效明.基于B∕S的智慧社区健康监护管理系统软件的设计与实现[J]. 计算机应用与软件,2014,31(3):6
[8] 王凯,陈全印,吴微.基于.NET的燃油加油机检测数据智能化管理系统的研究与实现[J].计量技术,2013(11):64
10.3969/j.issn.1000-0771.2015.12.21