企业实训中心资产管理双系统的设计与实现
2023-04-14圣立明朱朝平常京
圣立明 朱朝平 常京
摘要:随着互联网的发展,企业实训中心资产管理的网络化已经成为趋势,结合企业自身对数据安全性的高度要求,文章提出了一种基于二维码的资产管理双系统的办法,构建两个分立的子系统。系统A用于高效率地对资产进行租借、归还、信息更改和统计进行管理,同时基于设备的已有的唯一编号生成设备的资产二维码,贴在设备上,系统A单机脱网,采用了Vue框架,并且使用数据持久化层的开源框架Mybatis技术。另一套系统B用于资产的盘点,通过扫描资产上的二维码获取资产信息,人工核对,生成盘点报告,采用微信小程序實现。
关键词:资产管理;微信小程序;安全;二维码
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2023)06-0039-04
开放科学(资源服务)标识码(OSID)
企业实训中心承接着一些培训项目,包括培训的实训室,培训的设备租借、管理等工作,其中资产管理是核心。当前,对设备的管理即便是已使用资管管理系统的情况下,即每个固定资产上张贴有对应的设备的信息,包括编号、型号等,但对资产的日常管理并没有得到根本性的改变,仍然是手工加计算机模式。该种方式效率低下、费时费力、出错率高,另外,考虑到日后业务的扩展,实训室的扩建,实训设备的数量日益庞大、种类繁多、存放分散的特点,此种方式的弊端显而易见。
随着信息技术和计算机行业的蓬勃发展,资产管理的网络化也成为了一个关注的问题[1]。本文主要是提供基于数据库管理的方式,对企业用于培训的资产进行管理。
1 设计方案
本系统目标在于高效率地对实训设备和实训室租借、归还、信息更改和统计进行管理,方便快捷地对资产进行盘点,了解库存的详细情况。更为重要的一点,实训中心对设备的数据的存放的安全性提出了很高的要求。基于此,本文提出了采用分立的两套系统来实现实训设备的管理的方法。
系统A采用单机系统,脱网,用于设备信息的存放、日常的租借统计功能以及生成设备的二维码功能,安全性高,满足要求。
系统A前端以Vue为主体框架搭建的web端系统,Vue是一套用于构建用户界面的渐进式框架。与其他大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合[2]。后端使用Springboot+Mybatis-plus搭建接口与处理数据库,数据库使用的是MySQL数据库,作为当下主流的关系型数据库,技术成熟,开源免费,使用方便[3]。
系统B主要是仓库管理系统的配套系统,用于对设备的信息进行核查、盘点。基于微信小程序原生开发,自成一体,是一款工具类的系统。微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验[4]。
2 系统A设计与实现
针对不同的用户,系统A设计不同的角色:普通员工,设备责任人和系统管理员,系统管理员分超级管理员和普通管理员。
1)普通员工进入系统可以进行租借设备,耗材,实训室。
2)设备责任人可以登录本系统查看自己所负责的设备的使用情况,以及审批对自己所负责设备的租借请求。
3)系统管理员可登录本系统进行信息管理,包含固定资产信息,耗材信息,培训班信息,实训室信息,仓库信息,部门信息,人员信息等的查看,同时负责审批租借和归还请求,还具有统计权限,包括设备的数量统计和状态统计,耗材的数量统计,租借记录的统计。
4)超级管理员拥有系统管理员的所有权限,另外在信息管理模块对信息不仅有查看的权限,还可进行新增、修改。
其主要功能如图1所示。
下面分别对各个功能块进行描述。
2.1 信息管理功能
此功能模块只有超级管理员、系统管理员和责任人可使用,包括对实训中心固定资产、耗材、培训班、实训室、人员、部门等信息的管理。但是对信息的新增、修改和删除需要超级管理员。
同时,本系统的信息管理模块提供了固定资产的二维码生成功能,扫一扫即可迅速获取某台固定资产的状态、责任人信息以及其联系方式。
2.2 统计管理功能
此功能模块超级管理员和系统管理员可使用。
进入统计管理功能后,可以统计设备、耗材和租借记录,设备统计会展示设备数量、可用数量,耗材统计也会展示所有耗材数量和可用数量、租借记录。统计会展示近期的所有租借记录,也可按条件统计租借记录,如半年内的所有租借记录或一个月内的所有租借记录,半年内实训室的租借记录,一个月内设备的租借记录,功能如图2所示:
2.3 租借功能
此功能模块使用者为普通员工。
用户进入系统后,可选择租借设备、耗材或实训室,点击对应的类型后会展示当前本所有可以租借的设备、耗材、实训室,点击租借按钮便会弹出租借单,填写租借信息后等待管理员审批即可,流程如图3所示。
3 系统B设计与实现
系统B主要通过扫码设备上的二维码来实现对资产的盘点、核对、生成盘点报告,以此降低资产管理实践过程中的人力成本投入[5]。
主要功能如图4所示。
1)用户从系统A中导出需要盘点的资产的信息,导出Excel表格;
2)用户将文件导入到系统B,并选择资产的盘点项;
3)用户扫码资产的二维码,从系统B拿到资产当前的信息;
4)用户人工核对,如果数据和资产实际数据不一致,点击信息有误,并输入有误的具体信息,如果一致,点击信息正确;
5)盘点完毕,系统B生成盘点报告,并导出;
6)用户根据盘点信息更新系统A的资产信息。
前端采用微信小程序原生MINA框架,该小程序页面简洁,包含2个tarBar页面(首页和盘点报告页面),其中首页用于导入盘点信息、选择盘点项、扫码资产二维码,盘点报告页面用于生成盘点报告、分享盘点报告。
3.1 资产信息导入功能
该功能通过系统A导出待盘点的资产信息,包括设备的ID、名称、责任人等信息,格式为Excel文件,通过小程序将盘点信息转成json格式导入。如盘点设备数量过多,需分多次进行,系统也可以实现将上次系统生成的盘点的报告作为待盘点的信息导入。同时,在导入盘点的资产信息后,系统能显示待盘点的资产的总数量。
资产导入功能实现通过事件绑定函数bindtap="getXlsx"来实现,难点在于微信小程序能处理的文件格式是json格式,而小程序原生框架无法直接对本地文件做处理,解决方法就是对导入的文件直接转成json。
通过在微信小程序的utils文件的定义文件解析模块,然后在导入功能页面调用此模块“const xlsx = require('../../utils/util.js');”,将Excel文件解析成json,关键代码如下:
/* 解析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: '文件错误!', // 标题
icon: 'error', // 图标类型,默认success
duration: 1500 // 提示窗停留时间,默認1500ms
})
return null;
}
3.2 盘点项的自定义选择功能
系统会根据用户导入的盘点信息生成盘点项,用户可以再次根据需要选择需要盘点的项目,默认是全部勾选。
本系统自定义了一个左侧弹窗的组件,微信小程序通过component提供了自定义组件的方法,组件引用代码如下:
"usingComponents": {
"popup-left":"../pop-left/pop-left"
}
pop-left组件通过微信小程序提供的scroll-view组件实现。用户登录小程序首页,只有点击了盘点项选择后,才会动态渲染左侧弹窗,并根据导入的文件显示可供盘点的项,默认是全部勾选,这时可以人工勾选/去勾选需要盘点的项。
3.3 盘点报告的导出功能
用户在盘点结束后,选择生成报告,并导出盘点报告到微信,报告里面记录对每一项资产盘点的结果。如果在盘点过程中小程序异常,来不及导出盘点报告,待小程序恢复正常后,可以利用系统每5min自动保存的盘点报告tmp文件继续盘点。这里用到了文件系统,文件系统是小程序提供的一套以小程序和用户维度隔离的存储以及一套相应的管理接口。通过 wx.getFileSystemManager() 可以获取到全局唯一的文件系统管理器,所有文件系统的管理操作通过 FileSystemManager 来调用。生成报告的关键代码如下:
/* 生成报告 */
writeXlsx:function(xlsxData){
const that = this;
const date = new Date();//获取时间
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+"报告生成成功")
wx.showToast({
title: '生成报告成功!', // 标题
icon: 'success', // 图标类型,默认success
duration: 1500 // 提示窗停留时间,默认1500ms
})
},
3.4 部分功能设计实现
1)首页展示
包含导入盘点文件、自定义盘点项目以及盘点设备的扫码,效果如图5所示。
点击“导入excel”按钮后,会显示待盘点的设备总数量,接着点击“盘点内容”按钮,则可以自定义选择需要盘点的内容。然后进入开始盘点,进行人工核对,如果核对无误,点击确认,继续核对,如果有问题,输入正确的信息,同时显示核对过的资产数量,效果如图6所示。
2)盘点报告页面
点击“盘点结束”按钮或者直接点击tarBar页面的“盘点报告”会自动跳到该页面,主要是用于生成盘点报告和分享报告,tmp文件的作用是防止小程序使用时崩溃数据丢失时使用。生成的报告以导出的时间命名,会在原有的导入的文件基础上加上一栏“核对情况”,效果如图7所示。
4 结束语
基于安全性考虑,本项目采用分立的两套系统来实现实训设备的管理,这是本项目的主要设计思路。结合日常盘点的实际情况,该项目具有以下实用性很高的功能:
1)按照资产的分类(固定资产,耗材)和资产归属地(实训室、仓库、展厅)实现对实训中心不同种类设备的管理;
2)通过二维码来实现对设备的管理;
3)实现实训设备的数据的批量导入导出,在导入的同时能对比系统已存的数据,保持资产账面数据的一致性;
4)在盘点过程中,能根据不同的需求针对性选择资产的不同属性来进行盘点。同时,盘点过程中能显示当前需要盘点的设备数量和已盘点的设备数量;
5)在盘点过程中,系统每5分钟自动保存盘点的结果,防止微信小程序异常盘点数据丢失。
该系统使用实用性应用面广、可移植性高,成本低,开发后可以在全国的实训设备的管理上进行推广,有效地减少人工效率低的问题以及盘点工作的烦琐复杂。
参考文献:
[1] 刘峰.基于互联网的仓库管理系统[J].机电产品开发与创新,2021,34(1):74-77.
[2] 旷志光,纪婷婷,吴小丽.基于Vue.js的后台单页应用管理系统的研究与实现[J].现代计算机(专业版),2017(30):51-55.
[3] Horstmann C S.Java 核心技术[M].北京:机械工业出版社,2014.
[4] 微信公众平台开发者文档[EB/OL].[2021-08-22]. https://developers.weixin.qq.com/doc/.
[5] 尚金秋.基于手机二维码的仓库管理系统研究[J].信息记录材料,2021,22(3):149-151.
【通联编辑:谢媛媛】