APP下载

计算机设备领借用(出入库)信息管理系统设计与实现

2023-05-30张竞波赵移

电脑知识与技术 2023年2期

张竞波 赵移

关键词:实训设备管理;设备进出库;实训环节管理

中图分类号:TP315 文献标识码:A

文章编号:1009-3044(2023)02-0053-04

1 背景

在高校专业课课程教学过程中,根据理实一体化教学设计需求把小型专业设备从设备库房搬运到授课场地使用。设备搬运过程中由于保管不严、使用不当等原因,容易导致设备或配件的遗失和损坏。同时,专业实训设备包含大量设备配件,相关设备配件即使是一颗螺丝的遗失也可能会导致设备不能正常工作。

据课题组团队调研发现,当前专业设备管理是由实训管理员采用纸质记录,存在工作效率低、资料保存繁、记录追溯难、使用情况无法统计等问题。尤其是在设备及配件出现损坏、遗失状况时,佐证记录(照片、视频等)材料获取难、统计难,损坏数量记录无法及时查清,保修采购不能及时开展等问题。由此造成了国有资产受损,更导致专业课教学质量受到影响。

为解决以上难题,课题组团队拟采结合高校现有网络环境,采用B/S模式,利用Spring Boot+MySql开发相应的信息管理系统,通过信息化手段,依托高校高度覆盖的网络环境和智能手机等设备,从专业设备出入库、设备去向追踪、设备保存情况、设备数量统计等方面改善设备管理质量。该系统的应用不但能提高实训设备的使用效率和设备安全,更能协助任课教师提高专业课教学质量,为学校节约因配套配件无故遗失、损坏导致的设备无法使用产生的维修资金。

2 平台模块设计

课题组团队通过对设备管理流程和方法的调研,拟从设备入库、设备领用、设备归还、设备状态查询、设备报修几个方面进系统设计。系统基于B/S模式构建,利用Spring Boot+MySql开发,服务器架设于学校内网,保障专用设备的保密性和系统安全性。

平台模块设计如图所示:

3 系统功能设计

计算机设备领借用(出入库)信息管理系统包含:系统权限模块、设备库存统计模块、设备领用(出库)模块和设备归还(入库)模块等四个部分[1]。

3.1 系统权限模块

(1)教师用户、管理员用户、学生用户新增、权限设置;

(2)用户添加、删除、修改功能;

(3)管理人员工作设定。

3.2 设备库存管理模块

(1)新设备入库、报废设备出库功能;

(2)现有设备库存统计;

(3)设备状体管理(设备损坏与否、配件是否齐全、设备残缺数量、需报修设备统计等);

(4)设备在库量和外借量统计等。

3.3 设备领用(出库)模块

(1)设备领取填报功能;

(2)单个设备去向详细信息查询。

3.4 设备归还模块

(1)设备归还填报功能(含设备入库照片、视频佐证材料上传);

(2)设备归还状态预警。

4 具体功能实现

4.1 系统权限模块

(1)身份分类

在设备管理、领借用、报修的环节中涉及系统管理员、设备管理员、专业课教师、使用学生等多重身份。

(2)系统权限

设备管理员具有设备入库、设备统计、设备报修审批、设备报废处理等权限。通常由实训室教师或实训主任担任。

4.2 设备库存管理模块

(1)新设备信息入库

计算机设备领借用(出入库)信息管理系统的设备基础数据均来源于设备入库环节,因此,设备信息录入必须要准确。为避免一次性到库的设备量过大导致的录入时间过长,系统设计除保证设备信息准确外,更需要增加库管人员录入系统的便捷性。

设备入库的信息包括2个部分,第一是设备详细信息,包括:设备类型、设备名称、台套数、小配件名称、小配件数量、小配件库存量、设备损坏程度、设备归口专业。这部分信息主要服务于设备管理,了解设备的状态、数量等。第二是人员时间等信息,包括:院系、入库时间、入库批次、入库顺序、经办人,这部分信息用做设备身份代码生成。

设备入库功能代码如下:

@RestController

@Slf4j

@RequestMapping("parts")

public class PartsController { @Autowired PartsSer?vice partsService;

@PostMapping("/insert")

public Result insert(@RequestBody EquParts parts){

if(parts==null){

return Result.build(404,"空指针异常!"); }

parts.setEquPname(LocalDate.now().toString()); /

boolean save = partsService.save(parts);if(!save){

return Result.build(500,"保存失敗!"); }

return Result.ok(); } } (2)设备身份代码生成

设备入库后为每套设备和其配件设计唯一的身份代码[2]。课题组拟将设备入库时间、当天入库批次、当批次入库顺序、设备类型、经办人编号等信息取样形成字符串,以此作为产生身份代码的依据。

产生功能程序代码如下:

@RestController

@RequestMapping("main")

@Slf4j

public class MainController {

@Autowired

MainService mainService;

@PostMapping("/insert")

public Result insert(@RequestBody EquMain main){

if(main == null){

return Result.build(404,"你添加的数据为空"); }

LambdaQueryWrapper wrapper = new

LambdaQueryWrapper<> (); wrapper. orderByDesc(Equ?

Main::getMainId);

List list = mainService.list(wrapper);

EquMain one = list.get(0);

int equOrder1 = Integer.parseInt(one.getEquOrder

()); main. setEquOrder(String. valueOf(equOrder1+1));

main.setEquTimes(LocalDateTime.now());

String college = main.getCollege();

String year = String. valueOf(main. getEquTimes().

getYear());

String Month = String.valueOf(main.getEquTimes().

toLocalDate().getMonth().getValue());

String day = String.valueOf(main.getEquTimes().to?

LocalDate().getDayOfMonth());

String equTimes = year+Month+day; String

mainId = String.valueOf(main.getMainId());

String equOrder = main.getEquOrder();

String equType = main.getEquType();

String equHandled = main.getEquHandled(); main.

setEquCode(college+equTimes+mainId+equOrder+equType+equHandled);

log. info(college+equTimes+mainId+equOrder+equType+equHandled);

boolean save = mainService.save(main);

if(!save) {

return Result.build(500, "添加失败,请检验数据是否正确!"); }

return Result.ok(); } }

return Result.ok(); } } (3)设备统计功能设备统计功能是统计设备的现有台套数、设备具体去向、设备使用情况、设备使用年限、设备配套配件数据等信息。该功能的设计目的包括:①方便实训设备盘存溯源;②统计课堂教学设备使用情况,包括:设备利用率、设备生均比、设备开出实训等数据,该数据可作为使用专业申报教改项目和实训室建设项目依据。

设备统计功能代码如下:

@RestController

@Slf4j @RequestMapping("wms")

public class StatisticsController {

@Autowired MainService mainService;

@Autowired RepService repService;

@Autowired StaService staService;

@Autowired PartsService partsService;

@GetMapping("/select") public WmsDto select(){

WmsDto dto = new WmsDto();

List list01 = mainService.list();

dto.setEquMain(list01);

List list02 = repService.list();

dto.setEquRep(list02);

List list03 = staService.list();

dto.setEquSta(list03);

List list04 = partsService.list();

dto.setEquParts(list04);

return dto; }

(4)設备状态管理功能

设备状态管理功能包括:设备能否正常使用、设备配件完整度、设备损坏具体信息、设备受损责任人等数据。

其中,设备配件完整度功能包括含设备主体在内的全部配件数据信息[3],该信息对教师领用也具有指导意义。若部分配件遗失、损坏,且不影响实训环节开出,则专业课教师可在系统中标注。若配件遗失或损坏后无法使用,系统则能提示管理人员,并提示专业课教师是否申请报修或购买对应耗材。

设备损坏具体信息功能可根据设备清点或设备归还记录显示设备损坏的具体情况,包括文字描述、设备损坏照片、视频、语音等,该功能服务于设备损坏追责和设备报修、报废处理。

设备是否正常使用、设备配件完整度、设备损坏具体信息等三项功能以系统设备入库总表中的“状态”字段作为判断关键字。若该字段内容为“受损”或“报修”,则激活系统查询,系统会显示该设备最近一次领用、归还记录详情数据中的描述信息、照片、视频等。若设备已报修并处理,管理员则需在系统中修改该设备的状态修改为“完好”状态。

设备受损责任人功能的设备受损责任人第一主体是使用教师和实训指导教师,第二责任人是设备使用学生。该项功能可实现设备受损溯源、绩效考核、成绩评定等提供相关依据。功能对应信息包括:姓名、教工号、所属专业、二级学院、授课课程、使用班级、学生姓名、学号等。该数据关联设备损坏信息,形成设备使用数据统计信息,在设备使用信息查询中以红色标明醒目提示。

该功能可形成设备损坏清单,时间、二级学院、班级、教师、课程等可以作为关键词筛选统计所需信息。

4.3 设备领用(出库)模块

设备领用是在课前进行,领用时间短。为提高领用效率,该模块设计包括:设备领用申请、设备领用审批、领用信息记录等功能。

设备领用申请功能是在专业课教师或者学生用户在查询设备状态数据后,确需领取设备的情况下,提前于系统中提交设备领用申请,申请包括:领用教师、班级、课程、领用时间、使用时间、归还时间、使用场地、台套数、配件信息等。

设备领用审批功能为系统管理员设计,包括设备领用审批通过、驳回修改、不同意退回、原因说明等功能。

设备当前去向查询功能可查询设备领取后至未归还时间段内设备去向和使用者信息,以便管理人员明确设备去向[4]。

该数据关联到使用者归还数据表,须为该数据设计“领用代码”作为关键字,在后续归还受损过程中可减小归还数据表数据量,提高系统效率。领用代码具备唯一性,其构成包括:设备身份代码+领用人工号+ 时间。

设备申请功能代码如下:

@RestController

@Slf4j @RequestMapping("sta")

public class StaController {

@Autowired

StaService staService;

@PostMapping("/application")

public Result Application(@RequestBody EquSta equSta){

if(equSta == null){ return Result.build(404,"你填寫的数据为空!"); }

boolean save = staService.save(equSta);

if(!save){

return Result.build(500,"保存失败!"); }

return Result.ok(); }

@PostMapping("/approval")

public Result approval(@RequestBody EquSta equSta){

if(equSta==null){

return Result.build(404,"你填写的数据为空!"); }

boolean save = staService.updateById(equSta);

if(!save){

return Result.build(500,"保存失败!"); }

return Result.ok(); } }

4.4 设备归还填报功能

(1)设备归还填报

设备使用人在申请领用时已填报设备相关信息,在归还设备时若设备完整,则无须再次填写。若设备归还时发生设备损坏、遗失等,相关责任人需在系统中选择“设备归还(受损)”按钮,并填写具体受损情况,包括:具体受损信息、使用受影响程度、是否可继续开展实训使用、是否报修、是否报废等。格式为:文字描述、照片上传、视频上传或语音信息等。

使用者在归还时选择“归还”按钮,则系统只记录归还时间。若选择“设备归还(受损)”,系统则会自动修改设备入库总表中的设备状态数据,同时在设备归还表中载入使用者填报的设备受损信息。管理员在接收归还设备时根据设备清点情况确认“是否入库”,若清点的数据和使用者填报数据存在差异,则“驳回归还”。

设备归还功能代码如下:

@RestController

@RequestMapping("rep")

@Slf4j public class RepController {

@Autowired RepService repService;

@PostMapping("/return") public Result Return(@RequestBody EquRep rep){

if(rep==null){

return Result.build(404,"你填写的数据为空!");}

if(rep.getEquQuass() == 1){

if(rep.getEquPic() == null){

return Result.build(500,"你未添加佐证材料"); }}

boolean save = repService.save(rep);

if(!save){

return Result.build(500,"保存失败,请重试!");}

return Result.ok(); }}

(2)设备归还预警

若设备归还超过设备申领时填写的归还时间,系统会弹出设备归还预警提示。管理员可通过使用者填写的信息联系设备领用人。该功能可由管理员设计预警时效,如:超过30 分钟未归还即发送超时预警[5]。

设备归还预警代码如下:

@GetMapping("/warning")

public Result warning(String equCode){

LambdaQueryWrapper queryWrapper =

new LambdaQueryWrapper<>();

queryWrapper.eq(EquSta::getEquCode,equCode);

EquSta one = staService.getOne(queryWrapper);

LocalDate equOtimes = one.getEquOtimes();

boolean before = equOtimes. isAfter(LocalDate.

now());

if(before){

return Result.ok();

}else {

return Result.fail();}} }

計算机设备领借用(出入库)信息管理系统开发与应用缩短了计算机实训设备领借用和管理的流程,降低了领借用的时间,提高了实训设备管理、实训设备领借用、设备使用统计信息的工作效率。同时,该系统实现了实训设备管理追根溯源,进而提高了师生使用专业设备时的责任心,也为高校相关信息化平台建设提供了需求借鉴和支持。