王 威,李怡勇,米永巍,李 濤,陳培昕
在醫(yī)學(xué)工程科的設(shè)備維修過程中,需要不同規(guī)格、不同數(shù)量的電子元器件,庫房管理人員應(yīng)實時掌握元器件的庫存情況,從而在設(shè)備維修時可以立即提供所需的備件,并依據(jù)需求及庫存情況制定采購計劃[1]。單純靠手工記錄的方式很難實現(xiàn)這一目標(biāo),且容易出錯;使用普通電子表格記錄的方式又太繁瑣。一旦某些電子元器件出現(xiàn)緊缺的情況,將大大地影響醫(yī)療設(shè)備的維修進度。為了改善科室?guī)旆吭骷芾矸爆崗?fù)雜、容易出錯的情況,參考相關(guān)計算機數(shù)據(jù)庫元器件管理技術(shù)[2-6],開發(fā)了本套元器件管理軟件,以期方便有效地解決醫(yī)工科元器件管理中存在問題。
Visual Basic是微軟公司推出的圖形界面集成開發(fā)環(huán)境(integrated develop mentenvironment,IDE),具有上手快、通用性好、界面美觀等優(yōu)點。Access作為微軟辦公軟件的組成部分,使用簡單,且能方便地配置數(shù)據(jù)庫系統(tǒng)。為了縮短軟件開發(fā)周期,降低數(shù)據(jù)庫系統(tǒng)布置難度,提高系統(tǒng)的兼容性以及美化軟件界面,我們采用Visual Basic 2010作為開發(fā)工具、Access 2003作為后臺數(shù)據(jù)庫開發(fā)本套元器件管理軟件[7-8]。
本軟件主要由元器件信息管理、倉庫信息管理、廠家信息管理、代理商信息管理、分類信息管理、封裝信息管理和用戶信息管理7個模塊構(gòu)成,如圖1所示。
圖1 軟件構(gòu)成模塊示意圖
用戶管理模塊保證具有一定權(quán)限的用戶才可以對科室所用的電子元器件進行錄入、查找、刪除、統(tǒng)計等操作;元器件管理模塊負責(zé)維護管理元器件的相關(guān)信息,如該元器件的存放位置、生產(chǎn)廠家、代理商等;倉庫管理模塊、廠家管理模塊、代理商管理模塊等負責(zé)對各自分類的信息進一步的管理,如倉庫保管員、廠家名稱、代理商聯(lián)系方式等。通過元器件管理模塊和各個具體信息管理模塊的交叉查找,得到元器件更詳細的信息,節(jié)省系統(tǒng)冗余開銷及減少出錯的可能。
按照前述的軟件各模塊構(gòu)成,本數(shù)據(jù)庫共包括了7個數(shù)據(jù)表:元器件信息IC表、倉庫信息Storage表、廠家信息Factory表、代理商信息Agency表、元器件類別信息ICGroup表、封裝信息Package表、用戶信息Manager表,分別對應(yīng)元器件管理、倉庫管理、廠家管理、代理商管理、分類管理、封裝管理和用戶管理7個模塊的功能。其中,元器件信息IC表作為數(shù)據(jù)庫系統(tǒng)的主要部分,按照前期科室元器件管理中主要用到的表征元器件信息的相關(guān)參數(shù)(如廠家、封裝、價格等),設(shè)計了存儲字段(見表1),并設(shè)置了自動編號的ID作為主鍵,防止信息記錄重復(fù),方便數(shù)據(jù)庫的查詢、修改、刪除操作。
表1 元器件信息表結(jié)構(gòu)
考慮到單獨采用元器件信息表存儲信息過于復(fù)雜且容易出現(xiàn)數(shù)據(jù)冗余的情況,設(shè)計了輔助信息表來表征元器件更加詳細的信息(如廠家、代理商、存儲位置等信息),輔助信息表通過和元器件信息IC表聯(lián)合實現(xiàn)了更加詳細的元器件管理信息。其中,廠家信息Factory表主要包括廠家名稱、產(chǎn)地、聯(lián)系方式、廠家ID等內(nèi)容,見表2。
表2 廠家信息表結(jié)構(gòu)
IC表中的Factory ID字段和Factory表中的Factory ID字段對應(yīng),通過使用SQL交叉查詢語言[9],可以找到各個元器件對應(yīng)的廠家名稱等信息,如圖2所示。
用戶信息Manager表保存著管理員的相關(guān)信息以及其對數(shù)據(jù)庫操作的權(quán)限,只有具有對應(yīng)權(quán)限的用戶才能運行及修改數(shù)據(jù)庫信息。
用戶界面程序基于Visual Basic 2010設(shè)計,采用ADO.NET數(shù)據(jù)訪問接口訪問數(shù)據(jù)庫。
圖2 進行數(shù)據(jù)表SQL交叉查詢示意圖
3.2.1 系統(tǒng)登錄設(shè)計
為保證具有權(quán)限的用戶才能登錄管理系統(tǒng),在軟件啟動時,首先進入登錄界面,如圖3所示。程序在用戶信息Manager表中查找是否有匹配的用戶名和密碼,驗證通過方能進入系統(tǒng)。
圖3 系統(tǒng)登錄界面
此外,為提高軟件的復(fù)用性,降低操作的復(fù)雜性,將負責(zé)用戶信息的相關(guān)函數(shù)及變量按照面向?qū)ο蟮乃枷?,封裝成專門的DBUser類。該類中驗證用戶信息的代碼如下:
3.2.2 元器件信息管理功能的實現(xiàn)
若成功進入管理軟件,默認首先進入元器件管理界面,如圖4所示。
圖4 元器件信息管理界面
作為元器件管理系統(tǒng)的主要組成部分,元器件管理界面包括與元器件相關(guān)的豐富信息,且為了防止系統(tǒng)冗余,IC表中的許多字段僅僅保存了對應(yīng)的其他表中的字段的索引。為得到這些字段代表的實際含義,可采用聯(lián)合查找SQL語言進行交叉查找操作。例如要查找廠家名稱為Atmel的所有元器件,采用如下代碼:
3.2.3 圖片的存儲與顯示
在元器件管理中,常常需要查看元器件的封裝或者外觀形式,為此,軟件提供了圖像的數(shù)據(jù)庫存儲操作[10]。其代碼如下:
3.2.4 廠家信息管理功能的實現(xiàn)
廠家信息表作為輔助表,提供了元器件的廠家信息,其管理界面如圖5所示。
圖5 廠家信息管理界面
需要注意的是,對該表的某一項進行操作時,尤其是刪除操作時,如果IC表中存在的元器件廠家信息和需要刪除的廠家信息對應(yīng),程序會提示用戶的先修改元器件信息才能刪除該廠家信息。驗證信息代碼如下:
MsgBox("IC表中含有選定的廠家信息,請先修改IC表方能刪除",MsgBoxStyle.Critical,"刪除廠家信息")
Return
3.2.5 Excel文件數(shù)據(jù)導(dǎo)入模塊設(shè)計
為了方便導(dǎo)入Protel等電路設(shè)計軟件導(dǎo)出的元器件清單信息,設(shè)計了數(shù)據(jù)導(dǎo)入模塊,可實現(xiàn)特定格式的Excel文件數(shù)據(jù)導(dǎo)入。該模塊程序流程如圖6所示。
圖6 Excel文件數(shù)據(jù)導(dǎo)入流程圖
3.2.6 打印及導(dǎo)出數(shù)據(jù)的實現(xiàn)
水晶報表是一個優(yōu)秀的報表開發(fā)工具,作為Visual Studio的一部分,具有簡單易用性、靈活的可定制性、高度的可編程性等優(yōu)點。通過使用水晶報表[11],我們實現(xiàn)了對IC表中相關(guān)信息的輸出打印功能,如圖7所示。該模塊主要代碼如下所示:
圖7 軟件報表功能
'添加每一行數(shù)據(jù)
frmReport.ShowDialog()
由于水晶報表可以自動實現(xiàn)數(shù)據(jù)的打印操作,且可實現(xiàn)多種格式的數(shù)據(jù)導(dǎo)出,故降低了相關(guān)附加功能的開發(fā)難度。
本軟件在科室配件庫房使用過程中,簡化了庫房管理人員對元器件的錄入、修改等日常管理工作,同時,軟件提供的強大查詢功能實現(xiàn)了對元器件庫存情況實時詳細的跟蹤,報表功能進一步簡化了管理人員繁瑣的制表工作。軟件提供的Excel導(dǎo)入功能可以直接利用之前科室制作使用的庫存情況表格數(shù)據(jù),免去了重復(fù)輸入數(shù)據(jù)的工作。軟件還提供了元器件外觀圖像的存儲及查看功能,使管理人員對保管的各種元器件有了感性認識。總之,本軟件的使用提高了科室元器件管理的效率,達到了軟件設(shè)計的總體目標(biāo)。
為減輕醫(yī)學(xué)工程科元器件管理的負擔(dān),實現(xiàn)高效準(zhǔn)確的元器件信息管理,我們采用Access數(shù)據(jù)庫以及Visual Basic編程方法,設(shè)計了界面美觀、操作簡便、功能豐富的元器件管理軟件。通過使用該軟件,提高了元器件的管理效率,減少了出錯的可能。在今后的軟件升級中,考慮增加條形碼讀取及RFID識別元器件信息等功能,進一步減少人工輸入環(huán)節(jié);并增加網(wǎng)絡(luò)查詢功能,實現(xiàn)網(wǎng)絡(luò)化辦公,提高科室元器件管理的效率。
[1] 袁戰(zhàn)榮,王軍志.淺談成套設(shè)備廠的元器件采購管理[J].電氣制造,2009(2):60-62.
[2] 梁妙元,趙繼勇,陳加清.氣象臺站防雷元器件管理系統(tǒng)的設(shè)計與開發(fā)[J].氣象水文裝備,2011,22(1):43-45.
[3] 張斌斌,陳建軍,姚珅.基于ASP.NET的電子元器件管理系統(tǒng)的設(shè)計與實現(xiàn)[J].信息技術(shù),2011(3):63-67.
[4] 黃比今.基于MYSQL的醫(yī)療設(shè)備信息管理系統(tǒng)的設(shè)計[J].醫(yī)療衛(wèi)生裝備,2010,31(10):58-60.
[5] 付月生,王麗,張俊.基于WindChill的電子元器件管理[J].電子設(shè)計工程,2010,18(4):76-79.
[6] 上官松.基于Delphi和SQLServer的實驗室設(shè)備和元器件管理系統(tǒng)[J].科教文匯,2010(3):74-75.
[7] 王猛.VB與Access在電氣設(shè)備管理中的應(yīng)用[J].計算機編程技巧與維護,2011(12):28-29.
[8] 尤文堅,陸海財,黃新.一個實用的電子元器件管理系統(tǒng)[J].科技信息,2010(34):244-245.
[9] StephensR,Plew R,JonesAD.SQL入門經(jīng)典[M].井中月,郝記生,譯.5版.北京:人民郵電出版社,2011:155-162.
[10] 萬書亭,張玉,王聰.VB中用數(shù)據(jù)庫存儲圖片的方法研究[J].計算機與網(wǎng)絡(luò),2011,37(17):56-58.
[11] 歐陽艷階..Net平臺下水晶報表的應(yīng)用研究[J].軟件工程師,2012(7):38-40.