圣立明 朱朝平 常京
摘要:隨著互聯(lián)網(wǎng)的發(fā)展,企業(yè)實(shí)訓(xùn)中心資產(chǎn)管理的網(wǎng)絡(luò)化已經(jīng)成為趨勢(shì),結(jié)合企業(yè)自身對(duì)數(shù)據(jù)安全性的高度要求,文章提出了一種基于二維碼的資產(chǎn)管理雙系統(tǒng)的辦法,構(gòu)建兩個(gè)分立的子系統(tǒng)。系統(tǒng)A用于高效率地對(duì)資產(chǎn)進(jìn)行租借、歸還、信息更改和統(tǒng)計(jì)進(jìn)行管理,同時(shí)基于設(shè)備的已有的唯一編號(hào)生成設(shè)備的資產(chǎn)二維碼,貼在設(shè)備上,系統(tǒng)A單機(jī)脫網(wǎng),采用了Vue框架,并且使用數(shù)據(jù)持久化層的開(kāi)源框架Mybatis技術(shù)。另一套系統(tǒng)B用于資產(chǎn)的盤(pán)點(diǎn),通過(guò)掃描資產(chǎn)上的二維碼獲取資產(chǎn)信息,人工核對(duì),生成盤(pán)點(diǎn)報(bào)告,采用微信小程序?qū)崿F(xiàn)。
關(guān)鍵詞:資產(chǎn)管理;微信小程序;安全;二維碼
中圖分類(lèi)號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2023)06-0039-04
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)
企業(yè)實(shí)訓(xùn)中心承接著一些培訓(xùn)項(xiàng)目,包括培訓(xùn)的實(shí)訓(xùn)室,培訓(xùn)的設(shè)備租借、管理等工作,其中資產(chǎn)管理是核心。當(dāng)前,對(duì)設(shè)備的管理即便是已使用資管管理系統(tǒng)的情況下,即每個(gè)固定資產(chǎn)上張貼有對(duì)應(yīng)的設(shè)備的信息,包括編號(hào)、型號(hào)等,但對(duì)資產(chǎn)的日常管理并沒(méi)有得到根本性的改變,仍然是手工加計(jì)算機(jī)模式。該種方式效率低下、費(fèi)時(shí)費(fèi)力、出錯(cuò)率高,另外,考慮到日后業(yè)務(wù)的擴(kuò)展,實(shí)訓(xùn)室的擴(kuò)建,實(shí)訓(xùn)設(shè)備的數(shù)量日益龐大、種類(lèi)繁多、存放分散的特點(diǎn),此種方式的弊端顯而易見(jiàn)。
隨著信息技術(shù)和計(jì)算機(jī)行業(yè)的蓬勃發(fā)展,資產(chǎn)管理的網(wǎng)絡(luò)化也成為了一個(gè)關(guān)注的問(wèn)題[1]。本文主要是提供基于數(shù)據(jù)庫(kù)管理的方式,對(duì)企業(yè)用于培訓(xùn)的資產(chǎn)進(jìn)行管理。
1 設(shè)計(jì)方案
本系統(tǒng)目標(biāo)在于高效率地對(duì)實(shí)訓(xùn)設(shè)備和實(shí)訓(xùn)室租借、歸還、信息更改和統(tǒng)計(jì)進(jìn)行管理,方便快捷地對(duì)資產(chǎn)進(jìn)行盤(pán)點(diǎn),了解庫(kù)存的詳細(xì)情況。更為重要的一點(diǎn),實(shí)訓(xùn)中心對(duì)設(shè)備的數(shù)據(jù)的存放的安全性提出了很高的要求。基于此,本文提出了采用分立的兩套系統(tǒng)來(lái)實(shí)現(xiàn)實(shí)訓(xùn)設(shè)備的管理的方法。
系統(tǒng)A采用單機(jī)系統(tǒng),脫網(wǎng),用于設(shè)備信息的存放、日常的租借統(tǒng)計(jì)功能以及生成設(shè)備的二維碼功能,安全性高,滿(mǎn)足要求。
系統(tǒng)A前端以Vue為主體框架搭建的web端系統(tǒng),Vue是一套用于構(gòu)建用戶(hù)界面的漸進(jìn)式框架。與其他大型框架不同的是,Vue 被設(shè)計(jì)為可以自底向上逐層應(yīng)用。Vue 的核心庫(kù)只關(guān)注視圖層,不僅易于上手,還便于與第三方庫(kù)或既有項(xiàng)目整合[2]。后端使用Springboot+Mybatis-plus搭建接口與處理數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)使用的是MySQL數(shù)據(jù)庫(kù),作為當(dāng)下主流的關(guān)系型數(shù)據(jù)庫(kù),技術(shù)成熟,開(kāi)源免費(fèi),使用方便[3]。
系統(tǒng)B主要是倉(cāng)庫(kù)管理系統(tǒng)的配套系統(tǒng),用于對(duì)設(shè)備的信息進(jìn)行核查、盤(pán)點(diǎn)?;谖⑿判〕绦蛟_(kāi)發(fā),自成一體,是一款工具類(lèi)的系統(tǒng)。微信小程序是一種全新的連接用戶(hù)與服務(wù)的方式,它可以在微信內(nèi)被便捷地獲取和傳播,同時(shí)具有出色的使用體驗(yàn)[4]。
2 系統(tǒng)A設(shè)計(jì)與實(shí)現(xiàn)
針對(duì)不同的用戶(hù),系統(tǒng)A設(shè)計(jì)不同的角色:普通員工,設(shè)備責(zé)任人和系統(tǒng)管理員,系統(tǒng)管理員分超級(jí)管理員和普通管理員。
1)普通員工進(jìn)入系統(tǒng)可以進(jìn)行租借設(shè)備,耗材,實(shí)訓(xùn)室。
2)設(shè)備責(zé)任人可以登錄本系統(tǒng)查看自己所負(fù)責(zé)的設(shè)備的使用情況,以及審批對(duì)自己所負(fù)責(zé)設(shè)備的租借請(qǐng)求。
3)系統(tǒng)管理員可登錄本系統(tǒng)進(jìn)行信息管理,包含固定資產(chǎn)信息,耗材信息,培訓(xùn)班信息,實(shí)訓(xùn)室信息,倉(cāng)庫(kù)信息,部門(mén)信息,人員信息等的查看,同時(shí)負(fù)責(zé)審批租借和歸還請(qǐng)求,還具有統(tǒng)計(jì)權(quán)限,包括設(shè)備的數(shù)量統(tǒng)計(jì)和狀態(tài)統(tǒng)計(jì),耗材的數(shù)量統(tǒng)計(jì),租借記錄的統(tǒng)計(jì)。
4)超級(jí)管理員擁有系統(tǒng)管理員的所有權(quán)限,另外在信息管理模塊對(duì)信息不僅有查看的權(quán)限,還可進(jìn)行新增、修改。
其主要功能如圖1所示。
下面分別對(duì)各個(gè)功能塊進(jìn)行描述。
2.1 信息管理功能
此功能模塊只有超級(jí)管理員、系統(tǒng)管理員和責(zé)任人可使用,包括對(duì)實(shí)訓(xùn)中心固定資產(chǎn)、耗材、培訓(xùn)班、實(shí)訓(xùn)室、人員、部門(mén)等信息的管理。但是對(duì)信息的新增、修改和刪除需要超級(jí)管理員。
同時(shí),本系統(tǒng)的信息管理模塊提供了固定資產(chǎn)的二維碼生成功能,掃一掃即可迅速獲取某臺(tái)固定資產(chǎn)的狀態(tài)、責(zé)任人信息以及其聯(lián)系方式。
2.2 統(tǒng)計(jì)管理功能
此功能模塊超級(jí)管理員和系統(tǒng)管理員可使用。
進(jìn)入統(tǒng)計(jì)管理功能后,可以統(tǒng)計(jì)設(shè)備、耗材和租借記錄,設(shè)備統(tǒng)計(jì)會(huì)展示設(shè)備數(shù)量、可用數(shù)量,耗材統(tǒng)計(jì)也會(huì)展示所有耗材數(shù)量和可用數(shù)量、租借記錄。統(tǒng)計(jì)會(huì)展示近期的所有租借記錄,也可按條件統(tǒng)計(jì)租借記錄,如半年內(nèi)的所有租借記錄或一個(gè)月內(nèi)的所有租借記錄,半年內(nèi)實(shí)訓(xùn)室的租借記錄,一個(gè)月內(nèi)設(shè)備的租借記錄,功能如圖2所示:
2.3 租借功能
此功能模塊使用者為普通員工。
用戶(hù)進(jìn)入系統(tǒng)后,可選擇租借設(shè)備、耗材或?qū)嵱?xùn)室,點(diǎn)擊對(duì)應(yīng)的類(lèi)型后會(huì)展示當(dāng)前本所有可以租借的設(shè)備、耗材、實(shí)訓(xùn)室,點(diǎn)擊租借按鈕便會(huì)彈出租借單,填寫(xiě)租借信息后等待管理員審批即可,流程如圖3所示。
3 系統(tǒng)B設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)B主要通過(guò)掃碼設(shè)備上的二維碼來(lái)實(shí)現(xiàn)對(duì)資產(chǎn)的盤(pán)點(diǎn)、核對(duì)、生成盤(pán)點(diǎn)報(bào)告,以此降低資產(chǎn)管理實(shí)踐過(guò)程中的人力成本投入[5]。
主要功能如圖4所示。
1)用戶(hù)從系統(tǒng)A中導(dǎo)出需要盤(pán)點(diǎn)的資產(chǎn)的信息,導(dǎo)出Excel表格;
2)用戶(hù)將文件導(dǎo)入到系統(tǒng)B,并選擇資產(chǎn)的盤(pán)點(diǎn)項(xiàng);
3)用戶(hù)掃碼資產(chǎn)的二維碼,從系統(tǒng)B拿到資產(chǎn)當(dāng)前的信息;
4)用戶(hù)人工核對(duì),如果數(shù)據(jù)和資產(chǎn)實(shí)際數(shù)據(jù)不一致,點(diǎn)擊信息有誤,并輸入有誤的具體信息,如果一致,點(diǎn)擊信息正確;
5)盤(pán)點(diǎn)完畢,系統(tǒng)B生成盤(pán)點(diǎn)報(bào)告,并導(dǎo)出;
6)用戶(hù)根據(jù)盤(pán)點(diǎn)信息更新系統(tǒng)A的資產(chǎn)信息。
前端采用微信小程序原生MINA框架,該小程序頁(yè)面簡(jiǎn)潔,包含2個(gè)tarBar頁(yè)面(首頁(yè)和盤(pán)點(diǎn)報(bào)告頁(yè)面),其中首頁(yè)用于導(dǎo)入盤(pán)點(diǎn)信息、選擇盤(pán)點(diǎn)項(xiàng)、掃碼資產(chǎn)二維碼,盤(pán)點(diǎn)報(bào)告頁(yè)面用于生成盤(pán)點(diǎn)報(bào)告、分享盤(pán)點(diǎn)報(bào)告。
3.1 資產(chǎn)信息導(dǎo)入功能
該功能通過(guò)系統(tǒng)A導(dǎo)出待盤(pán)點(diǎn)的資產(chǎn)信息,包括設(shè)備的ID、名稱(chēng)、責(zé)任人等信息,格式為Excel文件,通過(guò)小程序?qū)⒈P(pán)點(diǎn)信息轉(zhuǎn)成json格式導(dǎo)入。如盤(pán)點(diǎn)設(shè)備數(shù)量過(guò)多,需分多次進(jìn)行,系統(tǒng)也可以實(shí)現(xiàn)將上次系統(tǒng)生成的盤(pán)點(diǎn)的報(bào)告作為待盤(pán)點(diǎn)的信息導(dǎo)入。同時(shí),在導(dǎo)入盤(pán)點(diǎn)的資產(chǎn)信息后,系統(tǒng)能顯示待盤(pán)點(diǎn)的資產(chǎn)的總數(shù)量。
資產(chǎn)導(dǎo)入功能實(shí)現(xiàn)通過(guò)事件綁定函數(shù)bindtap="getXlsx"來(lái)實(shí)現(xiàn),難點(diǎn)在于微信小程序能處理的文件格式是json格式,而小程序原生框架無(wú)法直接對(duì)本地文件做處理,解決方法就是對(duì)導(dǎo)入的文件直接轉(zhuǎn)成json。
通過(guò)在微信小程序的utils文件的定義文件解析模塊,然后在導(dǎo)入功能頁(yè)面調(diào)用此模塊“const xlsx = require('../../utils/util.js');”,將Excel文件解析成json,關(guān)鍵代碼如下:
/* 解析xlsx文件 */
parsexlsx:function(res){
try{
let data = xlsx.xlsx2json(res,app.data.keys);
return data;
}
catch(e){
console.log(e)
//wx.hideLoading();
wx.showToast({
title: '文件錯(cuò)誤!',? // 標(biāo)題
icon: 'error',? ?// 圖標(biāo)類(lèi)型,默認(rèn)success
duration: 1500? ?// 提示窗停留時(shí)間,默認(rèn)1500ms
})
return null;
}
3.2 盤(pán)點(diǎn)項(xiàng)的自定義選擇功能
系統(tǒng)會(huì)根據(jù)用戶(hù)導(dǎo)入的盤(pán)點(diǎn)信息生成盤(pán)點(diǎn)項(xiàng),用戶(hù)可以再次根據(jù)需要選擇需要盤(pán)點(diǎn)的項(xiàng)目,默認(rèn)是全部勾選。
本系統(tǒng)自定義了一個(gè)左側(cè)彈窗的組件,微信小程序通過(guò)component提供了自定義組件的方法,組件引用代碼如下:
"usingComponents": {
"popup-left":"../pop-left/pop-left"
}
pop-left組件通過(guò)微信小程序提供的scroll-view組件實(shí)現(xiàn)。用戶(hù)登錄小程序首頁(yè),只有點(diǎn)擊了盤(pán)點(diǎn)項(xiàng)選擇后,才會(huì)動(dòng)態(tài)渲染左側(cè)彈窗,并根據(jù)導(dǎo)入的文件顯示可供盤(pán)點(diǎn)的項(xiàng),默認(rèn)是全部勾選,這時(shí)可以人工勾選/去勾選需要盤(pán)點(diǎn)的項(xiàng)。
3.3 盤(pán)點(diǎn)報(bào)告的導(dǎo)出功能
用戶(hù)在盤(pán)點(diǎn)結(jié)束后,選擇生成報(bào)告,并導(dǎo)出盤(pán)點(diǎn)報(bào)告到微信,報(bào)告里面記錄對(duì)每一項(xiàng)資產(chǎn)盤(pán)點(diǎn)的結(jié)果。如果在盤(pán)點(diǎn)過(guò)程中小程序異常,來(lái)不及導(dǎo)出盤(pán)點(diǎn)報(bào)告,待小程序恢復(fù)正常后,可以利用系統(tǒng)每5min自動(dòng)保存的盤(pán)點(diǎn)報(bào)告tmp文件繼續(xù)盤(pán)點(diǎn)。這里用到了文件系統(tǒng),文件系統(tǒng)是小程序提供的一套以小程序和用戶(hù)維度隔離的存儲(chǔ)以及一套相應(yīng)的管理接口。通過(guò) wx.getFileSystemManager() 可以獲取到全局唯一的文件系統(tǒng)管理器,所有文件系統(tǒng)的管理操作通過(guò) FileSystemManager 來(lái)調(diào)用。生成報(bào)告的關(guān)鍵代碼如下:
/* 生成報(bào)告 */
writeXlsx:function(xlsxData){
const that = this;
const date = new Date();//獲取時(shí)間
const time = xlsx.formatTime(date);
that.data.time=time;
const fsm = wx.getFileSystemManager();
fsm.writeFile({
filePath: wx.env.USER_DATA_PATH + '/'+time+'tmp.xls',
data: xlsxData,
encoding: 'utf8',
success: res => {
console.info(res)
that.data.writecode=1;
var S = this.data.time+'tmp.xls';
this.Updatedt("\n"+S+"報(bào)告生成成功")
wx.showToast({
title: '生成報(bào)告成功!',? // 標(biāo)題
icon: 'success',? ?// 圖標(biāo)類(lèi)型,默認(rèn)success
duration: 1500? ?// 提示窗停留時(shí)間,默認(rèn)1500ms
})
},
3.4 部分功能設(shè)計(jì)實(shí)現(xiàn)
1)首頁(yè)展示
包含導(dǎo)入盤(pán)點(diǎn)文件、自定義盤(pán)點(diǎn)項(xiàng)目以及盤(pán)點(diǎn)設(shè)備的掃碼,效果如圖5所示。
點(diǎn)擊“導(dǎo)入excel”按鈕后,會(huì)顯示待盤(pán)點(diǎn)的設(shè)備總數(shù)量,接著點(diǎn)擊“盤(pán)點(diǎn)內(nèi)容”按鈕,則可以自定義選擇需要盤(pán)點(diǎn)的內(nèi)容。然后進(jìn)入開(kāi)始盤(pán)點(diǎn),進(jìn)行人工核對(duì),如果核對(duì)無(wú)誤,點(diǎn)擊確認(rèn),繼續(xù)核對(duì),如果有問(wèn)題,輸入正確的信息,同時(shí)顯示核對(duì)過(guò)的資產(chǎn)數(shù)量,效果如圖6所示。
2)盤(pán)點(diǎn)報(bào)告頁(yè)面
點(diǎn)擊“盤(pán)點(diǎn)結(jié)束”按鈕或者直接點(diǎn)擊tarBar頁(yè)面的“盤(pán)點(diǎn)報(bào)告”會(huì)自動(dòng)跳到該頁(yè)面,主要是用于生成盤(pán)點(diǎn)報(bào)告和分享報(bào)告,tmp文件的作用是防止小程序使用時(shí)崩潰數(shù)據(jù)丟失時(shí)使用。生成的報(bào)告以導(dǎo)出的時(shí)間命名,會(huì)在原有的導(dǎo)入的文件基礎(chǔ)上加上一欄“核對(duì)情況”,效果如圖7所示。
4 結(jié)束語(yǔ)
基于安全性考慮,本項(xiàng)目采用分立的兩套系統(tǒng)來(lái)實(shí)現(xiàn)實(shí)訓(xùn)設(shè)備的管理,這是本項(xiàng)目的主要設(shè)計(jì)思路。結(jié)合日常盤(pán)點(diǎn)的實(shí)際情況,該項(xiàng)目具有以下實(shí)用性很高的功能:
1)按照資產(chǎn)的分類(lèi)(固定資產(chǎn),耗材)和資產(chǎn)歸屬地(實(shí)訓(xùn)室、倉(cāng)庫(kù)、展廳)實(shí)現(xiàn)對(duì)實(shí)訓(xùn)中心不同種類(lèi)設(shè)備的管理;
2)通過(guò)二維碼來(lái)實(shí)現(xiàn)對(duì)設(shè)備的管理;
3)實(shí)現(xiàn)實(shí)訓(xùn)設(shè)備的數(shù)據(jù)的批量導(dǎo)入導(dǎo)出,在導(dǎo)入的同時(shí)能對(duì)比系統(tǒng)已存的數(shù)據(jù),保持資產(chǎn)賬面數(shù)據(jù)的一致性;
4)在盤(pán)點(diǎn)過(guò)程中,能根據(jù)不同的需求針對(duì)性選擇資產(chǎn)的不同屬性來(lái)進(jìn)行盤(pán)點(diǎn)。同時(shí),盤(pán)點(diǎn)過(guò)程中能顯示當(dāng)前需要盤(pán)點(diǎn)的設(shè)備數(shù)量和已盤(pán)點(diǎn)的設(shè)備數(shù)量;
5)在盤(pán)點(diǎn)過(guò)程中,系統(tǒng)每5分鐘自動(dòng)保存盤(pán)點(diǎn)的結(jié)果,防止微信小程序異常盤(pán)點(diǎn)數(shù)據(jù)丟失。
該系統(tǒng)使用實(shí)用性應(yīng)用面廣、可移植性高,成本低,開(kāi)發(fā)后可以在全國(guó)的實(shí)訓(xùn)設(shè)備的管理上進(jìn)行推廣,有效地減少人工效率低的問(wèn)題以及盤(pán)點(diǎn)工作的煩瑣復(fù)雜。
參考文獻(xiàn):
[1] 劉峰.基于互聯(lián)網(wǎng)的倉(cāng)庫(kù)管理系統(tǒng)[J].機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2021,34(1):74-77.
[2] 曠志光,紀(jì)婷婷,吳小麗.基于Vue.js的后臺(tái)單頁(yè)應(yīng)用管理系統(tǒng)的研究與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī)(專(zhuān)業(yè)版),2017(30):51-55.
[3] Horstmann C S.Java 核心技術(shù)[M].北京:機(jī)械工業(yè)出版社,2014.
[4] 微信公眾平臺(tái)開(kāi)發(fā)者文檔[EB/OL].[2021-08-22]. https://developers.weixin.qq.com/doc/.
[5] 尚金秋.基于手機(jī)二維碼的倉(cāng)庫(kù)管理系統(tǒng)研究[J].信息記錄材料,2021,22(3):149-151.
【通聯(lián)編輯:謝媛媛】