梁民, 李雪梅
(中國人民大學,實驗室管理與教學條件保障處,北京 100872)
中國人民大學實驗室管理與教學條件保障處于2012年開發了一套B/S(Brower/Server)架構的資產管理系統,通過桌面電腦,可以實現資產的增、刪、查、改以及批量報增報減等功能,方便了資產管理,也給運維工作帶來了很大便利。在一線運維工作使用系統的過程中,經常會遇到以下需求:(1)運維現場查詢某個資產信息或某類資產信息;(2)運維現場實時更新資產信息,特別是當資產位置發生變化后,第一時間更新資產位置信息。對于需求(1),可以通過手機或者便攜式設備,現場操作。但是,由于系統是為PC端設計的,可操作性和易用性以及用戶體驗不好。對于需求(2),更新資產信息通常有專門的資產負責人來操作,但并不是每個一線運維工作人員都有權限。系統中更新資產信息流程和實際工作有不符合之處,運維現場不能做到第一時間更改相關信息,導致了經常有漏改的現象發生,由此帶來了一個資產的實際信息和系統中的信息不符的現象。
資產實際信息和系統中的信息不符的問題可以通過制定相應制度和提高運維人員責任心來盡量解決。但是,在運維現場不能方便地查詢資產信息以及系統中更新資產信息流程跟實際工作不符合之處,只能通過對系統的二次開發予以解決。考慮微信公眾平臺的系統開發能同時適用于Andriod和IOS等移動操作系統,避免開發不同的移動應用程序所帶來的新問題,在微信極其普及的情況下[1],借助微信公眾號平臺,對資產管理系統進行了二次開發,實現了通過微信掃描設備二維碼,讀取資產信息,并能通過手機或者iPad等移動設備對資產信息進行實時修改,較好地解決了以上問題。
現有的資產管理系統采用B/S架構,前臺主要有資產信息查詢、資產信息修改、資產報增報檢減等功能。系統后臺還能對用戶進行權限角色分配。
對系統二次開發后,要求能通過手機或者iPad等便攜移動設備在運維現場訪問系統,實現資產的查詢和信息更改等功能。具體需要滿足以下功能:(1)基于移動端的資產信息查詢 ;(2)通過微信掃描資產標簽二維碼識別資產,顯示資產相關信息;(3)通過移動端設備進行資產信息更改。另一方面,頁面設計要簡單簡潔,盡可能使用選擇框或者下拉菜單,以減少文字輸入。
系統設計方面主要包括系統的權限設計、功能設計以及數據庫設計,分述如下。
(1)權限設計
鑒于系統用戶僅為本單位運維人員,類型比較單一且用戶數比較少,系統設定一個系統管理員,其有最高權限。其他用戶關注公眾號并被系統管理員審批通過后,系統管理員可在后臺分配相應權限,比如掃碼識別資產權限,添加維修記錄權限,查詢資產信息權限以及修改資產信息權限。其中修改資產信息權限僅限于一線運維人員。
(2)資產信息變更功能設計
資產保管人和資產位置,有如下對應關系:某個運維人員作為某個樓宇或者某幾個樓宇的資產保管人,其對應關系為一對多;某個樓宇的資產只能有一個資產保管人,其對應關系為一對一。
設定所有運維人員均可對資產信息發起更改,但是必須經過資產保管人確認后,才能在后臺更新相關數據。
運維現場通過移動設備對資產信息進行變更的工作流程如下:資產信息變更發起人通過掃描資產條形碼發起信息變更申請,系統自動獲得資產相關信息,信息變更發起人輸入相關信息;信息變更發起人提交申請后,系統會推送微信消息給該資產的保管人進行確認。同時,如果涉及到資產位置變更從而導致變更資產保管人的,也會發送信息給新保管者進行確認。當新舊資產管理人都確認后,資產更新記錄才會在數據庫中更新,該資產信息變更流程才算結束。
資產信息變更流程圖如圖1所示。

圖1 資產信息更新流程圖
(3)數據庫設計
現有的資產管理系統,資產表Asset主要有資產號、資產名稱、存儲位置、領用人、入庫時間等字段。其中領用人一般為單位主管領導,平時并不參與具體運維工作。二次開發完成后,要具備運維現場更改設備相關信息功能,結合實際運維工作,數據庫中新建一個保管人表Custodian,主要有以下字段:保管人Custodian(varchar);樓宇1 Building1(tinyint);樓宇2 Building 2(tinyint);樓宇3 Building 3(tinyint);……。如果某個Custodian是某個樓宇設備的保管人,其對應的樓宇賦值為1,否則賦值為0。保管人表Custodian如表1所示。

表1 Custodian表
微信是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊的免費應用程序,支持跨運營商、跨操作系統平臺通過網絡快速發送免費語音短信、視頻、圖片和文字[2]。微信公眾平臺(WeChat Public Platform)是騰訊公司于2012年推出的一款給個人、企業和組織提供業務服務與用戶管理能力的服務平臺。已經形成了一種主流的線上線下微信互動營銷方式,有服務號、訂閱號和小程序3個類型。通過微信公眾平臺進行二次開發過程中,用戶首先要申請微信公眾號,并配置開發環境,設置相關接口,文獻[3]有詳細描述。接口通過json格式傳輸數據,為了保證移動端和服務端數據傳輸相對安全,對接口進行加密傳輸。整體規范采用RESTful 方式來實施。API與用戶的通信協議,使用HTTPS協議,以確保交互數據的傳輸安全。
對系統的二次開發,前臺采用Java、HTML、JavaScript語言混合編寫,數據庫使用原系統MySQL數據庫。
(1)微信服務器與第三方應用服務器的通信連接
建立微信服務器和第三方服務器的通信連接,在通信開始時必須對接入通信請求進行校驗,確認通信請求來自微信服務器。如果請求來自微信服務器,則原樣回寫請求參數內容,此時雙方通信成功,否則不予處理,接入失敗。
第三方服務器和微信服務器通信校驗代碼如下[4]。
pubic boolean check(String signature,String
timestamp,String nonce)
{
Step 1
array.sort()
//將tocken timestamp nonce三個參數按照字典順序進行排序;
Step 2:排序后的字符串拼接成一個字符串,用content存儲拼接后的字符串;
Step 3:
MessageDigest.getlnstance(”SHA-1”).digest(”拼接后串”.getByte())
//將拼接后的字符串進行shal加密;
Step 4:
if(”加密后字符串”==signature){
return true;
}
return false;
} //將加密后的字符串與signature進行對比。
如果上述方法返回true值,表明微信服務器和第三方應用服務器校驗成功,接下來就可以進行通信工作。否則不能通信,微信公眾號接入失敗。
(2)掃描條形碼識別設備功能的實現
微信公眾號開發框架提供了對二維碼掃碼支持,通過與微信對接,調用微信官方提供的JS-SDK,可以實現有權限的用戶通過點擊微信公眾號頁面的按鈕來執行條形碼掃描器功能。當用戶點擊頁面掃描按鈕后,后臺調用wx.scanCode函數觸發攝像頭描器掃描固定資產上面的條碼[5],掃描條碼后系統根據返回的掃描信息和資產數據庫進行匹配,調取相同資產編號(資產編號唯一)的資產詳細信息,并進行頁面可視化處理,處理后將數據展現在前臺頁面。
實現掃描條形碼識別設備功能的主要代碼如下[6]。
document.querySelector('#scanQRCode').onclick
//點擊按鈕掃描二維碼
function(){
wx.scanQRCode({ //調用wx.scanQRCode函數
needResult :1,//默認為0,掃描結果由微信處理,1則直接返回掃描結果,
scanType :[ "qrCode"],//可以指定掃二維碼還是條形碼,默認二者都有
success:function(res){
var result =res.resultStr;//當needResult 為 1 時,掃碼返回的結果
window.location.href =result;//跳轉到該頁面
}
(3)資產信息變更功能的實現
資產信息變更發起人通過微信公眾平臺掃描資產二維碼識別出設備后,點擊“更新資產信息”可以進行資產信息更新。后端主要過程如下。
首先,引用微信JS-SDK文件及調用getJsApiQrode()函數,實現掃描固定資產上面的條形碼功能,資產被識別出后,系統自動獲取當前資產信息,資產信息變更發起人輸入要變更的項如下。



〈div class="but_r"〉〈a href="#" onclick='doSubmitForm()'〉提交〈/a〉〈/div〉
)
資產信息變更發起人提交資產信息變更請求后,系統首先判斷資產信息變更發起人是否為資產保管人且不涉及資產保管人變更,若為真,則后臺直接更新資產信息。
如果資產信息更新涉及到變更保管人或者資產信息更新發起人非資產保管人,系統自動推送微信消息給原保管人和新的保管人進行確認,發送模版消息給資產負責人進行確認變更資產信息的主要代碼如下。




資產信息變更完畢,系統后臺變更信息的代碼如下。

//修改資產信息





系統二次開發完成并成功上線運行后,極大地解決了原來系統不能解決的問題,工作人員可在運維一線比較方便地使用系統查詢資產設備,并可實時對資產信息進行更改。系統投入使用前,由于不能在運維一線實時更改設備信息,每年學校組織的資產清查工作,資產實際位置和系統中位置符合率不足80%。系統二次開發后,資產實際位置和系統中位置符合率已達98%以上。系統查詢界面如圖2所示。

圖2 系統查詢界面
實驗室管理與教學條件保障處于2012年基于電腦端開發了一套資產管理系統,使用移動設備訪問不方便,同時,通過原來的系統在運維一線查詢和更改設備信息都不能很好展開。基于微信公眾平臺,對系統進行了二次開發,擴展了系統對移動設備的支持。系統二次開發完成并上線應用,提高了運維效率,簡化了工作程序,提高了信息化程度,對其他高校的資產管理工作的信息化建設工作,也有很好的借鑒意義。