陽躍圖,石啟亮,鄧振興
(中國衛(wèi)星海上測控部,江蘇 江陰214431)
遠(yuǎn)望號船通用設(shè)備種類多、數(shù)量大、技術(shù)含量高,船員流動快,采取傳統(tǒng)的管理模式很難適應(yīng)工作需要。采用現(xiàn)代計(jì)算機(jī)管理技術(shù)是實(shí)現(xiàn)科學(xué)、高效地管理船用設(shè)備的良好途徑。為此開發(fā)了船用設(shè)備信息管理系統(tǒng),該系統(tǒng)的開發(fā)主要包括數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序兩個(gè)方面。同時(shí)根據(jù)設(shè)備使用情況,不斷更新對設(shè)備的管理檔案,能夠?yàn)榇迷O(shè)備管理人員簡化管理模式,并提供充足的信息和快捷的查詢手段。
船用設(shè)備信息管理系統(tǒng)的設(shè)計(jì)思想必須符合船用設(shè)備管理規(guī)范的工作流程,可以引導(dǎo)設(shè)備管理人員在使用軟件時(shí)自然遵循船用設(shè)備管理標(biāo)準(zhǔn)模式,提高設(shè)備信息管理的效率。本系統(tǒng)是由滿足船用設(shè)備管理所需要的、彼此互相聯(lián)系的所有船用設(shè)備信息有機(jī)構(gòu)成的一個(gè)能經(jīng)濟(jì)有效地實(shí)現(xiàn)船用設(shè)備管理功能的整體,同時(shí)能根據(jù)需要將數(shù)據(jù)以word或excel文檔的形式導(dǎo)出。船用設(shè)備信息管理系統(tǒng)的功能模塊組成見圖1。
圖1 系統(tǒng)功能模塊
①基本信息模塊,主要完成系統(tǒng)基本信息以及各種信息的查詢;②設(shè)備管理模塊,主要完成設(shè)備信息、線纜連接等信息的管理;③故障管理模塊,主要完成故障信息、船用設(shè)備自修、故障歸零、應(yīng)急措施等信息的管理;④人員管理模塊,主要完成人員信息、工作記錄等信息的管理;⑤備件管理模塊,主要完成備件、工具等信息的管理;⑥維修管理模塊完成待維修設(shè)備、送修設(shè)備等信息的管理;⑦系統(tǒng)服務(wù)模塊,主要完成數(shù)據(jù)庫文件備份、恢復(fù)、壓縮以及系統(tǒng)幫助等管理;⑧系統(tǒng)維護(hù)模塊,主要完成人員權(quán)限、系統(tǒng)初始化設(shè)置等管理。
系統(tǒng)維護(hù)方面根據(jù)需要將用戶分為兩種:普通用戶及系統(tǒng)管理員。其中,普通用戶能進(jìn)行查詢,生產(chǎn)word和excel文檔以及各種原始數(shù)據(jù)的錄入。而系統(tǒng)管理員能對系統(tǒng)所有功能進(jìn)行操作并進(jìn)行系統(tǒng)維護(hù)。
在Windows XP操作系統(tǒng)下,采用delphi開發(fā)界面程序,數(shù)據(jù)庫由Microsoft Access生成。數(shù)據(jù)庫方面的應(yīng)用歷來是Delphi的優(yōu)勢,Delphi中含有豐富的控件,能夠快速方便地連接數(shù)據(jù)庫和讀寫數(shù)據(jù)庫內(nèi)容。在系統(tǒng)中,使用TTable和TQuery組件來連接數(shù)據(jù)庫,兩者在使用上很相似。TTable處理一個(gè)表很方便,不能進(jìn)行多表處理,但TQuery組件可以進(jìn)行多表處理,因?yàn)門Query組件可以使用SQL語法作為獲取數(shù)據(jù)源的根據(jù),TQuery組件的核心是SQL語言,它通過執(zhí)行SQL語句來實(shí)現(xiàn)程序功能。使用Query最大的優(yōu)點(diǎn)是它的靈活性,而使用變量進(jìn)行動態(tài)查詢時(shí)是它靈活性的最大體現(xiàn)。在程序中,可以使用(:)在SQL中設(shè)置變量,TQuery組件便會將這些變量存入TParams中,TParams以數(shù)組的形式保存變量,賦值的操作主要通過Params或ParamByName來實(shí)現(xiàn)。
根據(jù)船用設(shè)備管理的普遍特點(diǎn)和特有的管理模式,主要的業(yè)務(wù)流程見圖2。
采用Microsoft Access數(shù)據(jù)庫,數(shù)據(jù)庫名為zbxx.mdb,數(shù)據(jù)庫中包含設(shè)備信息表、設(shè)備故障表、歸零報(bào)告表、船用設(shè)備自修表、應(yīng)急措施表、備件信息表、人員基本信息表等總共52個(gè)表。
啟動主程序,驗(yàn)證操作員名稱和密碼后,進(jìn)入系統(tǒng)主界面。系統(tǒng)主界面主要實(shí)現(xiàn)的功能有:通過菜單和工具欄快速調(diào)用相應(yīng)子程序;操作具有權(quán)限的業(yè)務(wù);顯示單位、操作員和日期時(shí)間等狀態(tài)信息;顯示事項(xiàng)公告以及在指定時(shí)間提醒設(shè)備借用信息。
項(xiàng)目文件是在設(shè)計(jì)時(shí)所創(chuàng)建的,為主程序文件,是主窗體以及其它自動創(chuàng)建的窗體實(shí)例化的地方,一般不需要編輯項(xiàng)目文件,除非要執(zhí)行程序初始化例程、顯示啟動畫面或執(zhí)行其它必須在程序啟動時(shí)執(zhí)行的例程。系統(tǒng)的項(xiàng)目文件為main.dpr,因?yàn)橐獔?zhí)行程序初始化例程、顯示啟動動畫,所以需要編輯項(xiàng)目文件。
系統(tǒng)中Word文檔導(dǎo)出主要采用的方法是事先按要求構(gòu)造好Word模板文件,然后將數(shù)據(jù)庫中的信息導(dǎo)出到Word文檔。主要過程如下。
1)在USES單元中加入WordXP,OleServer;
2)數(shù)據(jù)發(fā)送到Word,如果及其沒有Word,則提示信息。使用函數(shù)CreateOleObject(‘Word.Application’);
3)以指定的模板文件template.res創(chuàng)建新Word文檔,wordApp.Documents.AddOld(templateName,newTemplate);然后取得取文檔中的第1張表vTable:=wordApp.ActiveDocument.Tables.Item(1);最后通過循環(huán)語句實(shí)現(xiàn)數(shù)據(jù)庫字段輸出到word文檔中指定位置vTable.Cells(Row,Col).Range.Text:=DataSet.fieldbyname('FieldName').asstring。
為實(shí)現(xiàn)導(dǎo)出到Excel功能,定義一個(gè)過程DriverToExcel,該過程實(shí)現(xiàn)DBGrid控件所顯示的數(shù)據(jù)轉(zhuǎn)入到Excel中,當(dāng)其它模塊有需要實(shí)現(xiàn)這一功能的,引入這個(gè)過程即可。
1)在USES單元中加入ExcelXP,OleServer;
2)數(shù)據(jù)發(fā)送到Excel,如果及其沒有Excel,則提示信息。使用函數(shù)CreateOleObject(‘Excel.Application’)、CreateOleObject(‘Excel.Sheet’);
3)過程實(shí)現(xiàn)如下:首先添加工作簿,使用WorkBook:=ExcelApp.WorkBooks.Add;然后建表名稱ExcelApp.Cells(2,Col):=Title;設(shè)置數(shù)據(jù)源DataSet:=DBGrid.DataSource.DataSet;通過循環(huán)語句實(shí)現(xiàn)導(dǎo)入所有DBGrid顯示的字段名FieldName:=DBGrid.Columns[I].Title.Caption;ExcelApp.Cells(Row,Col):=FieldName;然后將DBGrid的值傳給EXCEL,F(xiàn)ieldName:=Columns[J].FieldName;ExcelApp.Cells(Row,Col):=″+DataSet.FieldByName(FieldName).AsString+″。
由于使用Access作為數(shù)據(jù)庫時(shí),隨著使用時(shí)間的增加,Access數(shù)據(jù)庫文件會不斷增加容量,因此需要對數(shù)據(jù)庫文件進(jìn)行壓縮。
在程序中只要先斷開數(shù)據(jù)庫連接,確保無其他用戶打開或使用數(shù)據(jù)庫文件,然后調(diào)用上述函數(shù),就實(shí)現(xiàn)指定數(shù)據(jù)庫文件的壓縮。
在遠(yuǎn)望號船船用設(shè)備中,存在元件較為復(fù)雜、連接線纜多的實(shí)際困難,備品備件管理和維護(hù)檢修要求高,新崗位人員可通過系統(tǒng)快速查詢設(shè)備狀況,以對設(shè)備有全面的了解和評估。
1)在相應(yīng)的部門下,輸入設(shè)備的基本性能、管理人員和設(shè)備組成等資料,在日常管理使用中,可對設(shè)備的使用情況進(jìn)行適時(shí)更新,不斷完善設(shè)備檔案資料,參見圖3。
圖3 船用設(shè)備信息錄入
2)當(dāng)需要對設(shè)備使用情況進(jìn)行查詢時(shí),進(jìn)入查詢界面,把需要的有用信息導(dǎo)出打印;特別是崗位人員變動時(shí),新上船人員可以對設(shè)備基本情況、性能快速查詢,參見圖4、5。
圖4 船用設(shè)備信息瀏覽查詢
3)在相關(guān)航運(yùn)企業(yè)內(nèi)部,沒有較為全面的設(shè)備管理系統(tǒng),大型公司一般為使用設(shè)備的簡要目錄,調(diào)撥管理使用時(shí)主要是根據(jù)相關(guān)部門的庫管員根據(jù)自身的日常管理接觸加以分類,缺乏科學(xué)詳細(xì)的質(zhì)量管理要求。而這個(gè)研發(fā)管理系統(tǒng),較好地解決了此類問題,提高了工作效率和管理質(zhì)量,使船用設(shè)備管理高效率運(yùn)轉(zhuǎn)、確保各項(xiàng)工作順利開展。
圖5 船用設(shè)備信息查詢導(dǎo)出
1)系統(tǒng)具有檢索迅速、查找方便、存儲量大、可靠性高等特點(diǎn),在日常工作中,提高了工作效率。
2)系統(tǒng)把以往大量的Word、Excel文檔錄入到數(shù)據(jù)庫中,通過對數(shù)據(jù)庫中設(shè)備故障等信息的檢索,能為系統(tǒng)管理者掌握設(shè)備信息、設(shè)備故障、技術(shù)狀況等提供了全方位的動態(tài)信息,有利于開展船用設(shè)備信息的分析和研究。
3)系統(tǒng)還處在初步試運(yùn)行階段,下一步研究發(fā)展方向主要是拓展功能,完善系統(tǒng)運(yùn)行,包括系統(tǒng)與設(shè)備的包容性,系統(tǒng)與局域網(wǎng)的互通性等,使之具備遠(yuǎn)程查詢功能。