远望号船用设备管理系统研究与设计
2013-06-12阳跃图石启亮邓振兴
阳跃图,石启亮,邓振兴
(中国卫星海上测控部,江苏 江阴214431)
远望号船通用设备种类多、数量大、技术含量高,船员流动快,采取传统的管理模式很难适应工作需要。采用现代计算机管理技术是实现科学、高效地管理船用设备的良好途径。为此开发了船用设备信息管理系统,该系统的开发主要包括数据库的建立和维护以及前端应用程序两个方面。同时根据设备使用情况,不断更新对设备的管理档案,能够为船用设备管理人员简化管理模式,并提供充足的信息和快捷的查询手段。
1 需求分析
船用设备信息管理系统的设计思想必须符合船用设备管理规范的工作流程,可以引导设备管理人员在使用软件时自然遵循船用设备管理标准模式,提高设备信息管理的效率。本系统是由满足船用设备管理所需要的、彼此互相联系的所有船用设备信息有机构成的一个能经济有效地实现船用设备管理功能的整体,同时能根据需要将数据以word或excel文档的形式导出。船用设备信息管理系统的功能模块组成见图1。
图1 系统功能模块
①基本信息模块,主要完成系统基本信息以及各种信息的查询;②设备管理模块,主要完成设备信息、线缆连接等信息的管理;③故障管理模块,主要完成故障信息、船用设备自修、故障归零、应急措施等信息的管理;④人员管理模块,主要完成人员信息、工作记录等信息的管理;⑤备件管理模块,主要完成备件、工具等信息的管理;⑥维修管理模块完成待维修设备、送修设备等信息的管理;⑦系统服务模块,主要完成数据库文件备份、恢复、压缩以及系统帮助等管理;⑧系统维护模块,主要完成人员权限、系统初始化设置等管理。
系统维护方面根据需要将用户分为两种:普通用户及系统管理员。其中,普通用户能进行查询,生产word和excel文档以及各种原始数据的录入。而系统管理员能对系统所有功能进行操作并进行系统维护。
2 系统设计
在Windows XP操作系统下,采用delphi开发界面程序,数据库由Microsoft Access生成。数据库方面的应用历来是Delphi的优势,Delphi中含有丰富的控件,能够快速方便地连接数据库和读写数据库内容。在系统中,使用TTable和TQuery组件来连接数据库,两者在使用上很相似。TTable处理一个表很方便,不能进行多表处理,但TQuery组件可以进行多表处理,因为TQuery组件可以使用SQL语法作为获取数据源的根据,TQuery组件的核心是SQL语言,它通过执行SQL语句来实现程序功能。使用Query最大的优点是它的灵活性,而使用变量进行动态查询时是它灵活性的最大体现。在程序中,可以使用(:)在SQL中设置变量,TQuery组件便会将这些变量存入TParams中,TParams以数组的形式保存变量,赋值的操作主要通过Params或ParamByName来实现。
2.1 主要业务流程设计
根据船用设备管理的普遍特点和特有的管理模式,主要的业务流程见图2。
2.2 数据库设计
采用Microsoft Access数据库,数据库名为zbxx.mdb,数据库中包含设备信息表、设备故障表、归零报告表、船用设备自修表、应急措施表、备件信息表、人员基本信息表等总共52个表。
3 系统研发分析
3.1 主程序窗体设计
启动主程序,验证操作员名称和密码后,进入系统主界面。系统主界面主要实现的功能有:通过菜单和工具栏快速调用相应子程序;操作具有权限的业务;显示单位、操作员和日期时间等状态信息;显示事项公告以及在指定时间提醒设备借用信息。
3.2 项目文件设计
项目文件是在设计时所创建的,为主程序文件,是主窗体以及其它自动创建的窗体实例化的地方,一般不需要编辑项目文件,除非要执行程序初始化例程、显示启动画面或执行其它必须在程序启动时执行的例程。系统的项目文件为main.dpr,因为要执行程序初始化例程、显示启动动画,所以需要编辑项目文件。
3.3 Word文档导出
系统中Word文档导出主要采用的方法是事先按要求构造好Word模板文件,然后将数据库中的信息导出到Word文档。主要过程如下。
1)在USES单元中加入WordXP,OleServer;
2)数据发送到Word,如果及其没有Word,则提示信息。使用函数CreateOleObject(‘Word.Application’);
3)以指定的模板文件template.res创建新Word文档,wordApp.Documents.AddOld(templateName,newTemplate);然后取得取文档中的第1张表vTable:=wordApp.ActiveDocument.Tables.Item(1);最后通过循环语句实现数据库字段输出到word文档中指定位置vTable.Cells(Row,Col).Range.Text:=DataSet.fieldbyname('FieldName').asstring。
3.4 Excel文档导出
为实现导出到Excel功能,定义一个过程DriverToExcel,该过程实现DBGrid控件所显示的数据转入到Excel中,当其它模块有需要实现这一功能的,引入这个过程即可。
1)在USES单元中加入ExcelXP,OleServer;
2)数据发送到Excel,如果及其没有Excel,则提示信息。使用函数CreateOleObject(‘Excel.Application’)、CreateOleObject(‘Excel.Sheet’);
3)过程实现如下:首先添加工作簿,使用WorkBook:=ExcelApp.WorkBooks.Add;然后建表名称ExcelApp.Cells(2,Col):=Title;设置数据源DataSet:=DBGrid.DataSource.DataSet;通过循环语句实现导入所有DBGrid显示的字段名FieldName:=DBGrid.Columns[I].Title.Caption;ExcelApp.Cells(Row,Col):=FieldName;然后将DBGrid的值传给EXCEL,FieldName:=Columns[J].FieldName;ExcelApp.Cells(Row,Col):=″+DataSet.FieldByName(FieldName).AsString+″。
3.5 数据库压缩
由于使用Access作为数据库时,随着使用时间的增加,Access数据库文件会不断增加容量,因此需要对数据库文件进行压缩。
在程序中只要先断开数据库连接,确保无其他用户打开或使用数据库文件,然后调用上述函数,就实现指定数据库文件的压缩。
3.6 系统特点
在远望号船船用设备中,存在元件较为复杂、连接线缆多的实际困难,备品备件管理和维护检修要求高,新岗位人员可通过系统快速查询设备状况,以对设备有全面的了解和评估。
1)在相应的部门下,输入设备的基本性能、管理人员和设备组成等资料,在日常管理使用中,可对设备的使用情况进行适时更新,不断完善设备档案资料,参见图3。
图3 船用设备信息录入
2)当需要对设备使用情况进行查询时,进入查询界面,把需要的有用信息导出打印;特别是岗位人员变动时,新上船人员可以对设备基本情况、性能快速查询,参见图4、5。
图4 船用设备信息浏览查询
3)在相关航运企业内部,没有较为全面的设备管理系统,大型公司一般为使用设备的简要目录,调拨管理使用时主要是根据相关部门的库管员根据自身的日常管理接触加以分类,缺乏科学详细的质量管理要求。而这个研发管理系统,较好地解决了此类问题,提高了工作效率和管理质量,使船用设备管理高效率运转、确保各项工作顺利开展。
图5 船用设备信息查询导出
4 结论
1)系统具有检索迅速、查找方便、存储量大、可靠性高等特点,在日常工作中,提高了工作效率。
2)系统把以往大量的Word、Excel文档录入到数据库中,通过对数据库中设备故障等信息的检索,能为系统管理者掌握设备信息、设备故障、技术状况等提供了全方位的动态信息,有利于开展船用设备信息的分析和研究。
3)系统还处在初步试运行阶段,下一步研究发展方向主要是拓展功能,完善系统运行,包括系统与设备的包容性,系统与局域网的互通性等,使之具备远程查询功能。