田 萱 曹偉強(qiáng) 羅雅露 李甜甜
(北京林業(yè)大學(xué)信息學(xué)院,北京 100083)
隨著我國教育事業(yè)的迅速發(fā)展,各大高校的雙一流實(shí)驗(yàn)室的建設(shè)工作正如火如荼地開展。這些實(shí)驗(yàn)室在相關(guān)專業(yè)和學(xué)科建設(shè)中承擔(dān)著越來越重要的作用,使得對(duì)于相關(guān)化學(xué)試劑管理需求進(jìn)一步擴(kuò)大?;瘜W(xué)試劑作為實(shí)驗(yàn)室主要的實(shí)驗(yàn)原料,具有種類繁多、理化性質(zhì)復(fù)雜、流通速度快的特點(diǎn)。但是,目前對(duì)于化學(xué)試劑的管理卻長期依賴于人工負(fù)責(zé),實(shí)行卡片加賬本等手工記賬方式[1],難以保證化學(xué)試劑庫存信息的一致性,致使管理效率低、管理成本高。
筆者通過對(duì)北京林業(yè)大學(xué)化學(xué)實(shí)驗(yàn)室的分析,發(fā)現(xiàn)目前實(shí)驗(yàn)室的化學(xué)試劑管理仍然存在以下問題。
第一,管理方式仍采用人工管理方式,無法及時(shí)記錄化學(xué)試劑的流通信息,難以保證數(shù)據(jù)的實(shí)時(shí)性和一致性。
第二,教師每學(xué)期都需要頻繁對(duì)庫存進(jìn)行清查,耗費(fèi)大量人力,同時(shí)查詢相關(guān)信息困難。
第三,隨著每學(xué)期課程實(shí)驗(yàn)信息及選課信息的變化,化學(xué)試劑的消耗量和采購量需要多次重復(fù)計(jì)算核對(duì),導(dǎo)致采購的過程繁瑣低效。
筆者結(jié)合當(dāng)今日益成熟的web系統(tǒng)開發(fā)技術(shù),依托北京林業(yè)大學(xué)化學(xué)實(shí)驗(yàn)室業(yè)務(wù)需求,設(shè)計(jì)開發(fā)了一套化學(xué)試劑的進(jìn)貨、消耗和存儲(chǔ)管理的web系統(tǒng)。該web系統(tǒng)分析了教師、實(shí)驗(yàn)員以及實(shí)驗(yàn)室主任之間的關(guān)系以及他們的需求,將化學(xué)試劑的采購、課程實(shí)驗(yàn)需求和試劑庫存管理三者緊密結(jié)合,簡化了整個(gè)管理模式。該web系統(tǒng)建立了對(duì)應(yīng)的課程表、實(shí)驗(yàn)表、實(shí)驗(yàn)詳情表、采購單表、采購詳情表以及出入庫記錄表等信息關(guān)系;建立了課程管理、出入庫管理和采購管理等模塊,實(shí)現(xiàn)了課程實(shí)驗(yàn)需求量與化學(xué)試劑消耗量的關(guān)聯(lián),同時(shí)支持化學(xué)試劑直接批量出入庫,可以幫助實(shí)驗(yàn)員大大提高管理效率。該web系統(tǒng)具有數(shù)據(jù)查詢、數(shù)據(jù)管理和數(shù)據(jù)統(tǒng)計(jì)等功能,支持實(shí)驗(yàn)室領(lǐng)導(dǎo)和實(shí)驗(yàn)室管理人員兩種用戶角色的使用,可降低實(shí)驗(yàn)室管理成本,對(duì)實(shí)驗(yàn)室管理水平的提升具有重要意義,對(duì)加強(qiáng)實(shí)驗(yàn)室的信息化管理、安全管理,把控事故風(fēng)險(xiǎn)[2],也具有重要的實(shí)踐意義。另外,該化學(xué)試劑web管理系統(tǒng)還具有較高的實(shí)用性和較高的經(jīng)濟(jì)價(jià)值,主要體現(xiàn)在以下幾方面:①通過信息化管理替代原有人工管理,可以顯著降低管理成本,有利于實(shí)驗(yàn)教學(xué)和科學(xué)研究質(zhì)量的提高;②為實(shí)驗(yàn)室管理員和實(shí)驗(yàn)室主任提供業(yè)務(wù)管理支撐,幫助他們提高實(shí)驗(yàn)室的管理水平和管理效率;③滿足高校實(shí)驗(yàn)室的教學(xué)和科研需求,通過信息化監(jiān)控化學(xué)試劑的流通過程,提高實(shí)驗(yàn)室化學(xué)試劑管理的安全性,降低事故發(fā)生的風(fēng)險(xiǎn)。
該實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)的底層為存儲(chǔ)化學(xué)試劑編號(hào)、名稱、庫存信息等試劑基本屬性,以及課程和實(shí)驗(yàn)等的基本信息;上層為web技術(shù)架構(gòu)服務(wù)網(wǎng)站,為用戶提供良好的交互體驗(yàn)。該實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)提供化學(xué)試劑的管理功能,包括對(duì)實(shí)驗(yàn)室的試劑實(shí)現(xiàn)批量出入庫操作,對(duì)實(shí)驗(yàn)課程的試劑采購單生成服務(wù),以及采購申請(qǐng)單的審核等。
為支持多用戶訪問,該web系統(tǒng)總體采用瀏覽器/服務(wù)器模式,見圖1。用戶可通過瀏覽器訪問后臺(tái)的系統(tǒng)服務(wù)器;后臺(tái)的系統(tǒng)服務(wù)器接受用戶請(qǐng)求并進(jìn)行相應(yīng)數(shù)據(jù)庫操作后反饋給用戶。后臺(tái)的系統(tǒng)服務(wù)器采用基于Spring MVC框架的系統(tǒng)實(shí)現(xiàn)方式,由數(shù)據(jù)庫和web服務(wù)器構(gòu)成。其中,服務(wù)器端代碼按照邏輯結(jié)構(gòu)可以抽象劃分為視圖層、控制層、模型層和功能層4個(gè)部分。服務(wù)器端以控制層代碼為中心,接受頁面請(qǐng)求后分派給模型層和功能層的處理程序[3],并返回結(jié)果給視圖層。模型層代碼負(fù)責(zé)與底層數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,數(shù)據(jù)庫是數(shù)據(jù)管理和維護(hù)的基礎(chǔ)[4],用于存儲(chǔ)系統(tǒng)數(shù)據(jù)和信息。
圖1 實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)的基本架構(gòu)
在實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)中,以化學(xué)試劑的管理為中心,筆者通過分析不同實(shí)體之間的聯(lián)系和對(duì)應(yīng)的關(guān)系,對(duì)該系統(tǒng)的實(shí)體之間的聯(lián)系進(jìn)行了建模。該系統(tǒng)涉及化學(xué)試劑、課程、實(shí)驗(yàn)信息、采購單、用戶等實(shí)體。通過分析實(shí)體之間的聯(lián)系,得到系統(tǒng)的存儲(chǔ)結(jié)構(gòu)E-R圖(entity-relation model),見圖2。
根據(jù)實(shí)際業(yè)務(wù)需求,筆者在實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)中設(shè)定了兩類用戶角色,分別是實(shí)驗(yàn)室管理員和實(shí)驗(yàn)室主任。這兩類用戶對(duì)應(yīng)該系統(tǒng)的兩大功能模塊,即實(shí)驗(yàn)室管理員模塊和實(shí)驗(yàn)室主任模塊,見圖3。
1.實(shí)驗(yàn)室管理員模塊
實(shí)驗(yàn)室管理員模塊涉及實(shí)驗(yàn)管理、化學(xué)試劑管理、課程管理、訂單管理、出入庫管理5個(gè)模塊。管理員可以根據(jù)課程添加課程下的相關(guān)實(shí)驗(yàn),編輯實(shí)驗(yàn)信息,并添加實(shí)驗(yàn)所用的化學(xué)試劑。該模塊支持實(shí)驗(yàn)的增、刪、改、查等操作。
圖2 實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)的存儲(chǔ)結(jié)構(gòu)E-R圖
圖3 實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)的功能模塊
其中,①實(shí)驗(yàn)管理模塊,支持實(shí)驗(yàn)室管理員添加、刪除、更改、查找實(shí)驗(yàn)。②化學(xué)試劑管理模塊,支持實(shí)驗(yàn)室管理員查看化學(xué)試劑概要信息和詳細(xì)信息,修改、添加化學(xué)試劑信息,根據(jù)化學(xué)試劑信息查找化學(xué)試劑。③課程管理模塊,支持實(shí)驗(yàn)室管理員添加課程信息,管理課程的相應(yīng)實(shí)驗(yàn),并與對(duì)應(yīng)的教師相關(guān)聯(lián)。④訂單管理模塊,支持基于課程的訂單生成功能。在該訂單管理模塊,實(shí)驗(yàn)室管理員可以對(duì)生成的訂單進(jìn)行修改,并提交訂單給實(shí)驗(yàn)室主任審核,審核通過后,實(shí)驗(yàn)室管理員導(dǎo)出excel文件,用于實(shí)驗(yàn)室文件的審批和管理。⑤出入庫管理模塊,支持實(shí)驗(yàn)室管理員根據(jù)采購單實(shí)現(xiàn)批量的化學(xué)試劑出入庫及出入庫記錄的信息瀏覽功能。同時(shí)可通過手持掃碼機(jī)掃描化學(xué)試劑標(biāo)簽實(shí)現(xiàn)單種試劑的出入庫。
2.實(shí)驗(yàn)室主任模塊
實(shí)驗(yàn)室主任模塊包括訂單管理、化學(xué)試劑管理、出入庫管理3個(gè)模塊。①訂單管理模塊,支持實(shí)驗(yàn)室主任對(duì)于訂單的審核和查找操作。②化學(xué)試劑管理模塊,支持實(shí)驗(yàn)室主任對(duì)于實(shí)驗(yàn)室化學(xué)試劑信息的瀏覽、添加和修改操作。③出入庫管理模塊,支持出入庫記錄及實(shí)驗(yàn)室主任對(duì)于出入庫記錄的瀏覽操作。
該實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)為典型的瀏覽器/服務(wù)器架構(gòu),服務(wù)器后臺(tái)基于Spring MVC架構(gòu)和MySQL數(shù)據(jù)庫支持實(shí)現(xiàn)。用戶在瀏覽器前端的請(qǐng)求操作將被送到服務(wù)器端的Spring MVC架構(gòu)中的控制層程序中,控制層程序?qū)ζ溥M(jìn)行解析后,交由模型層的DAO(data access object)完成對(duì)數(shù)據(jù)的增、刪、改、查等操作。數(shù)據(jù)庫操作執(zhí)行完成后向控制層返回一個(gè)ModelAndView對(duì)象(這是Spring MVC框架自帶的默認(rèn)功能,從控制層向視圖層傳遞數(shù)據(jù)的對(duì)象),并將數(shù)據(jù)顯示在視圖層后返回給瀏覽器前端頁面。該實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)過程需要涵蓋以下幾個(gè)方面。
1.系統(tǒng)文件配置
web.xml文件是Spring MVC框架的入口配置文件。在web.xml文件中配置分發(fā)器程序DispatcherServlet和上下文載入器Listener,配置后默認(rèn)加載Spring-servlet.xml文件用于攔截請(qǐng)求頁面,并分發(fā)到相應(yīng)的控制層程序中。
2.控制層設(shè)計(jì)與實(shí)現(xiàn)
控制層程序包含針對(duì)不同功能模塊的Controller類程序。例如,響應(yīng)用戶登錄請(qǐng)求的控制類LoginController程序、響應(yīng)用戶課程實(shí)驗(yàn)或?qū)嶒?yàn)詳情信息請(qǐng)求的控制器類CourseController程序、采購單或采購詳情請(qǐng)求的控制器類POController程序、化學(xué)試劑詳細(xì)信息請(qǐng)求的控制器類ChemicalController程序、出入庫記錄請(qǐng)求的控制器IOController程序等。每個(gè)控制器程序都遵循Spring MVC框架的約定,并使用@Controller注釋,以便這些控制程序被自動(dòng)納入Spring MVC框架的管理中,同時(shí)使用@RequestMapping映射程序,實(shí)現(xiàn)請(qǐng)求頁面的URL地址自動(dòng)跳轉(zhuǎn)。
3.模型層設(shè)計(jì)與實(shí)現(xiàn)
模型層程序主要負(fù)責(zé)和后端數(shù)據(jù)庫進(jìn)行交互。其程序包含操作數(shù)據(jù)庫的數(shù)據(jù)訪問對(duì)象類JdbcDaoSupport、數(shù)據(jù)庫連接類JDBCTemplate等,能簡化對(duì)后端MySQL數(shù)據(jù)庫的操作。
4.功能層設(shè)計(jì)與實(shí)現(xiàn)
根據(jù)后端數(shù)據(jù)庫的定義建立相應(yīng)的化學(xué)試劑、課程等的實(shí)體類,并定義對(duì)應(yīng)屬性的獲取方法和讀取方法,進(jìn)行持久化封裝類,方便用戶直接通過實(shí)體類對(duì)數(shù)據(jù)庫進(jìn)行操作
筆者以采購功能的實(shí)現(xiàn)為例,介紹采購單的創(chuàng)建過程。首先,實(shí)驗(yàn)員用戶點(diǎn)擊“生成采購單”按鈕,服務(wù)器后端獲取課程編號(hào),并顯示彈出框要求實(shí)驗(yàn)員填寫采購單基本信息:課程人數(shù)、學(xué)期等。其次,點(diǎn)擊彈出框的“確認(rèn)”按鈕觸發(fā)采購控制器類POController中的函數(shù)POAdd,并傳送參數(shù)課程編號(hào)、學(xué)期、課程人數(shù),向數(shù)據(jù)庫中插入采購單信息,并設(shè)置采購單的狀態(tài)為“未提交”。最后,調(diào)用模型層程序PODAO類里的函數(shù)getPODetail獲取該課程的詳細(xì)采購需求,并將其傳送到前端的采購需求頁面供實(shí)驗(yàn)員用戶編輯。在實(shí)驗(yàn)員用戶編輯完所有采購需求并點(diǎn)選“提交”或“保存”按鈕后,這些編輯數(shù)據(jù)(如處理類型提交或保存、采購單編號(hào)、勾選的化學(xué)試劑編號(hào)及需求量)將被傳送給采購控制器類POController中的函數(shù)ManPODetail進(jìn)行處理。若處理類型為“提交”,該函數(shù)將根據(jù)庫存計(jì)算出實(shí)際需求的采購量,若計(jì)算出的實(shí)際采購量大于0,則插入采購詳情表,并將該采購單的采購詳情列表傳送到前端頁面供實(shí)驗(yàn)員用戶確認(rèn)。整個(gè)采購單創(chuàng)建的流程順序見圖4。
筆者以北京林業(yè)大學(xué)化學(xué)實(shí)驗(yàn)室為依托,設(shè)計(jì)并實(shí)現(xiàn)了一套實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)。該web系統(tǒng)實(shí)現(xiàn)了化學(xué)試劑的全流程跟蹤和控制,解決了以往化學(xué)試劑難以管理、流程難以控制、安全難以保障的問題,實(shí)現(xiàn)了化學(xué)試劑相關(guān)信息的數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、數(shù)據(jù)管理等功能,提升了化學(xué)實(shí)驗(yàn)室的管理效率和信息化水平。該web系統(tǒng)提供了較好的人機(jī)交互模式,節(jié)約了實(shí)驗(yàn)和管理成本,有助于降低風(fēng)險(xiǎn)事故的發(fā)生。
目前,該web系統(tǒng)已經(jīng)在北京林業(yè)大學(xué)理學(xué)院化學(xué)系上線試運(yùn)行,獲得了實(shí)驗(yàn)室工作人員的肯定。在經(jīng)過一年試運(yùn)行期之后,將推廣到北京林業(yè)大學(xué)的多個(gè)學(xué)院的化學(xué)實(shí)驗(yàn)室大范圍使用。該web系統(tǒng)對(duì)于進(jìn)一步推動(dòng)我國高校實(shí)驗(yàn)室的信息化建設(shè)和管理具有一定的實(shí)踐價(jià)值。
圖4 實(shí)驗(yàn)室化學(xué)試劑web管理系統(tǒng)中采購單創(chuàng)建流程