林仙土
(臺州科技職業(yè)學(xué)院,浙江 臺州 318020)
高校設(shè)備管理是學(xué)校日常工作中一項非常重要的工作,是學(xué)校教學(xué)和科研等工作的物質(zhì)保障,對設(shè)備資產(chǎn)的有效管理已成為學(xué)校新時期發(fā)展的重要因素。在“雙高”建設(shè)背景下,高水平實驗室和設(shè)備信息化管理更是“雙高”建設(shè)不可或缺的重要組成部分。高校的儀器設(shè)備,尤其是實驗室里的教科研設(shè)備,具有種類多、數(shù)量大、轉(zhuǎn)移頻繁等特點,加上職業(yè)教育對實驗操作的需求遞增,使得設(shè)備管理的難度不斷加大[1]。一方面,傳統(tǒng)的PC資產(chǎn)管理系統(tǒng)在查詢、盤點、上報等操作時仍存在諸多不便,導(dǎo)致賬目信息反映不及時、人工成本較高等問題;另一方面,閑置的設(shè)備沒有及時發(fā)現(xiàn),造成資源浪費,不利于學(xué)校發(fā)展。
隨著移動互聯(lián)網(wǎng)技術(shù)和智能手機的不斷發(fā)展,移動端應(yīng)用在各行各業(yè)逐步發(fā)揮重要作用。微信小程序是一種不需要下載安裝即可使用的應(yīng)用,具有觸手可及的特點,用戶只要掃一掃或搜一下即可打開應(yīng)用,出色的用戶體驗使其成為移動端應(yīng)用的最佳選擇[2-3]。本文提出基于微信小程序開發(fā)設(shè)備管理系統(tǒng)的移動端應(yīng)用,通過設(shè)計出色的交互功能,使設(shè)備管理更方便、更及時,有效地提高工作效率,提升實驗室管理的效能,具有廣闊的應(yīng)用前景。
本系統(tǒng)包含微信小程序、服務(wù)器端程序和數(shù)據(jù)同步程序3部分。微信小程序基于微信平臺底層支撐,使用微信開發(fā)者工具開發(fā)設(shè)計界面,可跨平臺運行在手機等移動設(shè)備上[4]。服務(wù)器端程序采用跨平臺語言Python開發(fā),基于Django框架,包括兩個部分:(1)數(shù)據(jù)庫接口。實現(xiàn)與數(shù)據(jù)庫、微信小程序之間的數(shù)據(jù)交互。(2)后臺管理界面。實現(xiàn)設(shè)備信息、上報信息、盤點信息和用戶信息等數(shù)據(jù)的統(tǒng)一管理。數(shù)據(jù)同步程序采用Navicat實現(xiàn)本地數(shù)據(jù)庫與云數(shù)據(jù)庫的數(shù)據(jù)表自動同步。
微信小程序是一種新形態(tài)的輕量級應(yīng)用,基于微信平臺支撐,其新穎的開放能力方便開發(fā)者快速搭建一個應(yīng)用。微信小程序是基于MINA框架,框架分視圖層和邏輯層。視圖層用來渲染和展示頁面,使用描述語言WXML和樣式WXSS。邏輯層則用來處理業(yè)務(wù)邏輯,使用JavaScript邏輯層語言,再加上json配置文件,構(gòu)筑了整個小程序框架??蚣艿暮诵氖且粋€響應(yīng)的數(shù)據(jù)綁定系統(tǒng),當(dāng)在邏輯層修改數(shù)據(jù)后,視圖層就會做相應(yīng)的更新[5]。MINA框架封裝了文件系統(tǒng)、任務(wù)管理、網(wǎng)絡(luò)通信等基礎(chǔ)功能,對上層提供一整套API,讓開發(fā)者方便快速地構(gòu)建具有原生App體驗的應(yīng)用。這里摘取了盤點開始代碼如下:
startPd:function (){
……
data:JSON.stringify({
dwid:this.data.dwid,
stime:Date.now(),
pdrid:wx.getStorageSync("username")
}),
success:function (t){
a.setData({
pdid:t.data.data
})
a.ddChange();
wx.setStorageSync(’pdid’,a.data.pdid)
……
本系統(tǒng)采用了當(dāng)前主流的關(guān)系型數(shù)據(jù)庫MySQL存儲數(shù)據(jù)。該數(shù)據(jù)庫是開源軟件,具有強大的數(shù)據(jù)處理功能。提供多線程和多語言支持,并能運行在不同的系統(tǒng)平臺上。針對不同的功能模塊,本數(shù)據(jù)庫設(shè)計了多張數(shù)據(jù)表,比如:設(shè)備信息表、單位信息表、盤點匯總表、盤點詳情表、上報情況表、用戶信息表、用戶權(quán)限表等。本系統(tǒng)數(shù)據(jù)庫的部分數(shù)據(jù)來自本地資產(chǎn)管理系統(tǒng)的數(shù)據(jù)庫,為實現(xiàn)數(shù)據(jù)的定期同步,采用數(shù)據(jù)庫管理工具Navicat設(shè)置批處理作業(yè),進行定時數(shù)據(jù)傳輸。在數(shù)據(jù)傳輸前還需對數(shù)據(jù)進行調(diào)整,篩選有用數(shù)據(jù),以用戶數(shù)據(jù)為例:
INSERT into user(username,password,dwid,name,phone,usergroup)SELECT distinct us.[用戶名],us.[密碼],us.[單位編號],sr.[人員名],us.[電話],us.[用戶權(quán)限] FROM USER us INNER JOIN S_RYK sr on us.[用戶名]=sr.[人員編號]。
Python是一種跨平臺的計算機程序設(shè)計語言,有高效率的高層數(shù)據(jù)結(jié)構(gòu),其核心特點是簡潔、直接、清晰,允許引入C/C++的擴展,使得它在Web開發(fā)、網(wǎng)頁爬蟲、數(shù)據(jù)分析、自動化運維、機器學(xué)習(xí)等多領(lǐng)域得到了廣泛應(yīng)用。服務(wù)端程序主要處理業(yè)務(wù)邏輯和數(shù)據(jù)的交互,根據(jù)小程序端的數(shù)據(jù)請求,訪問MySQL數(shù)據(jù)庫并返回數(shù)據(jù),同時對設(shè)備盤點記錄和上報信息進行存儲。盤點過程的代碼部分如下:
def pddetail(id):
pandian=db.session.query(Unit.dwname,Pddetail.Deviceid,Device.yqname,Pddetail.hasPd,
Pddetail.location).join(Unit,Unit.dwid==Device.dwid).join(Pddetail,Pddetail.Devicei
d==Device.yqid).filter(Pddetail.pdid == id).all()
jsonData = []
for row in pandian:
result = {}
result[’dwname’] = row[0]
result[’yqid’] = row[1]
result[’yqname’] = row[2]
result[’hasPd’] = row[3]
result[’location’] = row[4]
jsonData.append(result)
jsondatar = json.dumps(jsonData,cls=MyEncoder,ensure_ascii=False)
return jsondatar
設(shè)備管理系統(tǒng)包括4個模塊:用戶管理、設(shè)備查詢、設(shè)備盤點和設(shè)備上報。
用戶通過微信公眾號找到小程序,在登錄界面輸入用戶名和密碼,經(jīng)驗證后即進入小程序主界面。系統(tǒng)管理員可登錄后臺管理,對用戶信息、用戶權(quán)限和用戶密碼進行設(shè)置。用戶權(quán)限主要分:普通用戶、部門管理員、單位管理員、單位領(lǐng)導(dǎo)、系統(tǒng)管理員5類角色,分別擁有不同的功能模塊權(quán)限。
該模塊提供用戶多條件查詢設(shè)備信息,用戶在小程序應(yīng)用里輸入領(lǐng)用單位、設(shè)備編號、設(shè)備名稱或領(lǐng)用人名稱等條件進行篩選查詢,也可以通過掃設(shè)備條形碼直接查詢信息。此外,系統(tǒng)管理員可通過后臺對設(shè)備信息進行維護。
該模塊為資產(chǎn)管理員提供了便捷的盤點手段,可以選擇按照所在單位(實驗室)、領(lǐng)用人、存放地等條件進行盤點,盤點時對設(shè)備的位置狀態(tài)進行選擇,盤點過的設(shè)備使用灰底色標(biāo)識,如位置不對時可填寫正確位置。盤點結(jié)束后,管理員可登錄后臺查看盤點詳情,根據(jù)不同標(biāo)識進行篩選,并能導(dǎo)出記錄。
該模塊包含設(shè)備報修、設(shè)備保養(yǎng)、設(shè)備閑置、可疑設(shè)備上報等事件的處理。設(shè)備管理員通過填寫申請單、上傳圖片或文件等方式詳細報送設(shè)備處理事件,資產(chǎn)管理部門工作人員登錄系統(tǒng)進行審核,從而保留了設(shè)備異常事件的歷史記錄。設(shè)備閑置事件的上報能便于資產(chǎn)管理部門及時了解設(shè)備的使用狀況,通過調(diào)撥將閑置設(shè)備用于其他需要的地方。針對日常管理過程中有些無法核實身份或者被丟棄在室外的設(shè)備,用戶可通過系統(tǒng)報送該設(shè)備信息給資產(chǎn)管理部門,便于后續(xù)及時處理。
該系統(tǒng)已完成測試上線,以管理員賬號登錄,系統(tǒng)小程序端界面如圖1—4所示。
圖1 查詢界面
圖2 上報界面
圖3 盤點界面
圖4 個人界面
針對高?,F(xiàn)有設(shè)備管理系統(tǒng)存在的不足和實際工作需要,本文介紹了一種基于微信小程序的設(shè)備管理系統(tǒng)設(shè)計與實現(xiàn),充分利用小程序的便捷靈活,實現(xiàn)在移動端完成設(shè)備查詢、盤點、報修、調(diào)劑等功能。該系統(tǒng)操作簡單方便,有助于提升高校設(shè)備管理從粗放型向精細化轉(zhuǎn)變,能有效提高設(shè)備管理部門的工作效率,實現(xiàn)儀器設(shè)備的動態(tài)管理,充分發(fā)揮儀器設(shè)備的使用效益。