1系统设计
业务模型设计依据管道SCADA系统维护流程,采用面向对象思想对系统业务模型进行描述,业务模型如图1。数据库设计根据客户方要求,数据库设计需要每个区域每种类型的数据分开存储,以防数据混乱,但基本就分为四类:字典数据库、静态数据数据库、子表数据库、测试相关人员数据库。
2系统实现
2.1数据录入
遵循“所见即所得”的思想,主要的录入界面与报告证书界面保持高度一致,这样每个页面就代表了一个报告,为了更方便用户使用,我选择了用树形结构的菜单。子表数据的录入使用了DatagridView控件。
2.2数据查询
本系统采取的措施为,将每个功能模块需要查询的属性列名存储在字典数据库中,当我们指定了某个功能模块后,就可以在数据库中查询需要被查询的属性列名。这样不仅有效的达到查询的目的,还使代码量减少。
2.3报告出具
2.3.1Word报告出具
由于word本身是一个实现了自动化的COM组件,所以我们可以用C#语言和其提供的结构来访问和操纵Word文档。具体实现步骤如下:(1)生成word程序对象。(2)指定word模板路径。(3)生成word文档对象并打开模板文档。(4)获取模板中的所有书签。(5)给所有书签赋值。(6)保存word文件。
2.3.2Excel报告的出具
Excel报告的出具有两种方案可以实现。一种是基于流和COM组件的操作,一种是只基于COM组件的操作。考虑到效率,我们选择后者,实现步骤如下:(1)获取到处的数据表。(2)将所有满足要求的数据以流的形式全写入一个excel中。(3)生成Excel程序对象。(4)定义一个新的工作簿。(5)打开模板工作簿(此模板可以说一个空的excel文档,不起到任何作用,只是提供了一个载体而已)。(6)得到一个sheet。(7)将数据分割为一个一个的报告,并循环填充表格的表头(可适当的增减行列,以达到需要的目的)。(8)另存为。(9)退出Excel,并且释放调用的COM资源。
3结束语
系统从SCADA维护中心本身出发,根据其工作流程及计算机的实现技术,充分考虑SCADA维护中心获取数据的方法与流向,使系统设计更为合理。开发过程遵循“方便实用、能解决问题,能够满足用户需求”的根本原则,综合考虑数据库设计,数据库建设以及软件开发相关理论采用“高内聚知名经济期刊低耦合”的原则,从科学、实用的角度划分模块。此系统的成功开发,将进一步规范评价工作,大大提高工作效率。
作者:李晓鹏 余传梅 王伟