陽躍圖,石啟亮,鄧振興
(中國衛星海上測控部,江蘇 江陰214431)
遠望號船通用設備種類多、數量大、技術含量高,船員流動快,采取傳統的管理模式很難適應工作需要。采用現代計算機管理技術是實現科學、高效地管理船用設備的良好途徑。為此開發了船用設備信息管理系統,該系統的開發主要包括數據庫的建立和維護以及前端應用程序兩個方面。同時根據設備使用情況,不斷更新對設備的管理檔案,能夠為船用設備管理人員簡化管理模式,并提供充足的信息和快捷的查詢手段。
船用設備信息管理系統的設計思想必須符合船用設備管理規范的工作流程,可以引導設備管理人員在使用軟件時自然遵循船用設備管理標準模式,提高設備信息管理的效率。本系統是由滿足船用設備管理所需要的、彼此互相聯系的所有船用設備信息有機構成的一個能經濟有效地實現船用設備管理功能的整體,同時能根據需要將數據以word或excel文檔的形式導出。船用設備信息管理系統的功能模塊組成見圖1。

圖1 系統功能模塊
①基本信息模塊,主要完成系統基本信息以及各種信息的查詢;②設備管理模塊,主要完成設備信息、線纜連接等信息的管理;③故障管理模塊,主要完成故障信息、船用設備自修、故障歸零、應急措施等信息的管理;④人員管理模塊,主要完成人員信息、工作記錄等信息的管理;⑤備件管理模塊,主要完成備件、工具等信息的管理;⑥維修管理模塊完成待維修設備、送修設備等信息的管理;⑦系統服務模塊,主要完成數據庫文件備份、恢復、壓縮以及系統幫助等管理;⑧系統維護模塊,主要完成人員權限、系統初始化設置等管理。
系統維護方面根據需要將用戶分為兩種:普通用戶及系統管理員。其中,普通用戶能進行查詢,生產word和excel文檔以及各種原始數據的錄入。而系統管理員能對系統所有功能進行操作并進行系統維護。
在Windows XP操作系統下,采用delphi開發界面程序,數據庫由Microsoft Access生成。數據庫方面的應用歷來是Delphi的優勢,Delphi中含有豐富的控件,能夠快速方便地連接數據庫和讀寫數據庫內容。在系統中,使用TTable和TQuery組件來連接數據庫,兩者在使用上很相似。TTable處理一個表很方便,不能進行多表處理,但TQuery組件可以進行多表處理,因為TQuery組件可以使用SQL語法作為獲取數據源的根據,TQuery組件的核心是SQL語言,它通過執行SQL語句來實現程序功能。使用Query最大的優點是它的靈活性,而使用變量進行動態查詢時是它靈活性的最大體現。在程序中,可以使用(:)在SQL中設置變量,TQuery組件便會將這些變量存入TParams中,TParams以數組的形式保存變量,賦值的操作主要通過Params或ParamByName來實現。
根據船用設備管理的普遍特點和特有的管理模式,主要的業務流程見圖2。
采用Microsoft Access數據庫,數據庫名為zbxx.mdb,數據庫中包含設備信息表、設備故障表、歸零報告表、船用設備自修表、應急措施表、備件信息表、人員基本信息表等總共52個表。
啟動主程序,驗證操作員名稱和密碼后,進入系統主界面。系統主界面主要實現的功能有:通過菜單和工具欄快速調用相應子程序;操作具有權限的業務;顯示單位、操作員和日期時間等狀態信息;顯示事項公告以及在指定時間提醒設備借用信息。
項目文件是在設計時所創建的,為主程序文件,是主窗體以及其它自動創建的窗體實例化的地方,一般不需要編輯項目文件,除非要執行程序初始化例程、顯示啟動畫面或執行其它必須在程序啟動時執行的例程。系統的項目文件為main.dpr,因為要執行程序初始化例程、顯示啟動動畫,所以需要編輯項目文件。
系統中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。
為實現導出到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+″。
由于使用Access作為數據庫時,隨著使用時間的增加,Access數據庫文件會不斷增加容量,因此需要對數據庫文件進行壓縮。
在程序中只要先斷開數據庫連接,確保無其他用戶打開或使用數據庫文件,然后調用上述函數,就實現指定數據庫文件的壓縮。
在遠望號船船用設備中,存在元件較為復雜、連接線纜多的實際困難,備品備件管理和維護檢修要求高,新崗位人員可通過系統快速查詢設備狀況,以對設備有全面的了解和評估。
1)在相應的部門下,輸入設備的基本性能、管理人員和設備組成等資料,在日常管理使用中,可對設備的使用情況進行適時更新,不斷完善設備檔案資料,參見圖3。

圖3 船用設備信息錄入
2)當需要對設備使用情況進行查詢時,進入查詢界面,把需要的有用信息導出打印;特別是崗位人員變動時,新上船人員可以對設備基本情況、性能快速查詢,參見圖4、5。

圖4 船用設備信息瀏覽查詢
3)在相關航運企業內部,沒有較為全面的設備管理系統,大型公司一般為使用設備的簡要目錄,調撥管理使用時主要是根據相關部門的庫管員根據自身的日常管理接觸加以分類,缺乏科學詳細的質量管理要求。而這個研發管理系統,較好地解決了此類問題,提高了工作效率和管理質量,使船用設備管理高效率運轉、確保各項工作順利開展。

圖5 船用設備信息查詢導出
1)系統具有檢索迅速、查找方便、存儲量大、可靠性高等特點,在日常工作中,提高了工作效率。
2)系統把以往大量的Word、Excel文檔錄入到數據庫中,通過對數據庫中設備故障等信息的檢索,能為系統管理者掌握設備信息、設備故障、技術狀況等提供了全方位的動態信息,有利于開展船用設備信息的分析和研究。
3)系統還處在初步試運行階段,下一步研究發展方向主要是拓展功能,完善系統運行,包括系統與設備的包容性,系統與局域網的互通性等,使之具備遠程查詢功能。