張競波 趙移
關(guān)鍵詞:實訓(xùn)設(shè)備管理;設(shè)備進出庫;實訓(xùn)環(huán)節(jié)管理
中圖分類號:TP315 文獻標識碼:A
文章編號:1009-3044(2023)02-0053-04
1 背景
在高校專業(yè)課課程教學(xué)過程中,根據(jù)理實一體化教學(xué)設(shè)計需求把小型專業(yè)設(shè)備從設(shè)備庫房搬運到授課場地使用。設(shè)備搬運過程中由于保管不嚴、使用不當?shù)仍?,容易?dǎo)致設(shè)備或配件的遺失和損壞。同時,專業(yè)實訓(xùn)設(shè)備包含大量設(shè)備配件,相關(guān)設(shè)備配件即使是一顆螺絲的遺失也可能會導(dǎo)致設(shè)備不能正常工作。
據(jù)課題組團隊調(diào)研發(fā)現(xiàn),當前專業(yè)設(shè)備管理是由實訓(xùn)管理員采用紙質(zhì)記錄,存在工作效率低、資料保存繁、記錄追溯難、使用情況無法統(tǒng)計等問題。尤其是在設(shè)備及配件出現(xiàn)損壞、遺失狀況時,佐證記錄(照片、視頻等)材料獲取難、統(tǒng)計難,損壞數(shù)量記錄無法及時查清,保修采購不能及時開展等問題。由此造成了國有資產(chǎn)受損,更導(dǎo)致專業(yè)課教學(xué)質(zhì)量受到影響。
為解決以上難題,課題組團隊擬采結(jié)合高?,F(xiàn)有網(wǎng)絡(luò)環(huán)境,采用B/S模式,利用Spring Boot+MySql開發(fā)相應(yīng)的信息管理系統(tǒng),通過信息化手段,依托高校高度覆蓋的網(wǎng)絡(luò)環(huán)境和智能手機等設(shè)備,從專業(yè)設(shè)備出入庫、設(shè)備去向追蹤、設(shè)備保存情況、設(shè)備數(shù)量統(tǒng)計等方面改善設(shè)備管理質(zhì)量。該系統(tǒng)的應(yīng)用不但能提高實訓(xùn)設(shè)備的使用效率和設(shè)備安全,更能協(xié)助任課教師提高專業(yè)課教學(xué)質(zhì)量,為學(xué)校節(jié)約因配套配件無故遺失、損壞導(dǎo)致的設(shè)備無法使用產(chǎn)生的維修資金。
2 平臺模塊設(shè)計
課題組團隊通過對設(shè)備管理流程和方法的調(diào)研,擬從設(shè)備入庫、設(shè)備領(lǐng)用、設(shè)備歸還、設(shè)備狀態(tài)查詢、設(shè)備報修幾個方面進系統(tǒng)設(shè)計。系統(tǒng)基于B/S模式構(gòu)建,利用Spring Boot+MySql開發(fā),服務(wù)器架設(shè)于學(xué)校內(nèi)網(wǎng),保障專用設(shè)備的保密性和系統(tǒng)安全性。
平臺模塊設(shè)計如圖所示:
3 系統(tǒng)功能設(shè)計
計算機設(shè)備領(lǐng)借用(出入庫)信息管理系統(tǒng)包含:系統(tǒng)權(quán)限模塊、設(shè)備庫存統(tǒng)計模塊、設(shè)備領(lǐng)用(出庫)模塊和設(shè)備歸還(入庫)模塊等四個部分[1]。
3.1 系統(tǒng)權(quán)限模塊
(1)教師用戶、管理員用戶、學(xué)生用戶新增、權(quán)限設(shè)置;
(2)用戶添加、刪除、修改功能;
(3)管理人員工作設(shè)定。
3.2 設(shè)備庫存管理模塊
(1)新設(shè)備入庫、報廢設(shè)備出庫功能;
(2)現(xiàn)有設(shè)備庫存統(tǒng)計;
(3)設(shè)備狀體管理(設(shè)備損壞與否、配件是否齊全、設(shè)備殘缺數(shù)量、需報修設(shè)備統(tǒng)計等);
(4)設(shè)備在庫量和外借量統(tǒng)計等。
3.3 設(shè)備領(lǐng)用(出庫)模塊
(1)設(shè)備領(lǐng)取填報功能;
(2)單個設(shè)備去向詳細信息查詢。
3.4 設(shè)備歸還模塊
(1)設(shè)備歸還填報功能(含設(shè)備入庫照片、視頻佐證材料上傳);
(2)設(shè)備歸還狀態(tài)預(yù)警。
4 具體功能實現(xiàn)
4.1 系統(tǒng)權(quán)限模塊
(1)身份分類
在設(shè)備管理、領(lǐng)借用、報修的環(huán)節(jié)中涉及系統(tǒng)管理員、設(shè)備管理員、專業(yè)課教師、使用學(xué)生等多重身份。
(2)系統(tǒng)權(quán)限
設(shè)備管理員具有設(shè)備入庫、設(shè)備統(tǒng)計、設(shè)備報修審批、設(shè)備報廢處理等權(quán)限。通常由實訓(xùn)室教師或?qū)嵱?xùn)主任擔任。
4.2 設(shè)備庫存管理模塊
(1)新設(shè)備信息入庫
計算機設(shè)備領(lǐng)借用(出入庫)信息管理系統(tǒng)的設(shè)備基礎(chǔ)數(shù)據(jù)均來源于設(shè)備入庫環(huán)節(jié),因此,設(shè)備信息錄入必須要準確。為避免一次性到庫的設(shè)備量過大導(dǎo)致的錄入時間過長,系統(tǒng)設(shè)計除保證設(shè)備信息準確外,更需要增加庫管人員錄入系統(tǒng)的便捷性。
設(shè)備入庫的信息包括2個部分,第一是設(shè)備詳細信息,包括:設(shè)備類型、設(shè)備名稱、臺套數(shù)、小配件名稱、小配件數(shù)量、小配件庫存量、設(shè)備損壞程度、設(shè)備歸口專業(yè)。這部分信息主要服務(wù)于設(shè)備管理,了解設(shè)備的狀態(tài)、數(shù)量等。第二是人員時間等信息,包括:院系、入庫時間、入庫批次、入庫順序、經(jīng)辦人,這部分信息用做設(shè)備身份代碼生成。
設(shè)備入庫功能代碼如下:
@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)設(shè)備身份代碼生成
設(shè)備入庫后為每套設(shè)備和其配件設(shè)計唯一的身份代碼[2]。課題組擬將設(shè)備入庫時間、當天入庫批次、當批次入庫順序、設(shè)備類型、經(jīng)辦人編號等信息取樣形成字符串,以此作為產(chǎn)生身份代碼的依據(jù)。
產(chǎn)生功能程序代碼如下:
@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,"你添加的數(shù)據(jù)為空"); }
LambdaQueryWrapper
LambdaQueryWrapper<> (); wrapper. orderByDesc(Equ?
Main::getMainId);
List
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, "添加失敗,請檢驗數(shù)據(jù)是否正確!"); }
return Result.ok(); } }
return Result.ok(); } } (3)設(shè)備統(tǒng)計功能設(shè)備統(tǒng)計功能是統(tǒng)計設(shè)備的現(xiàn)有臺套數(shù)、設(shè)備具體去向、設(shè)備使用情況、設(shè)備使用年限、設(shè)備配套配件數(shù)據(jù)等信息。該功能的設(shè)計目的包括:①方便實訓(xùn)設(shè)備盤存溯源;②統(tǒng)計課堂教學(xué)設(shè)備使用情況,包括:設(shè)備利用率、設(shè)備生均比、設(shè)備開出實訓(xùn)等數(shù)據(jù),該數(shù)據(jù)可作為使用專業(yè)申報教改項目和實訓(xùn)室建設(shè)項目依據(jù)。
設(shè)備統(tǒng)計功能代碼如下:
@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
dto.setEquMain(list01);
List
dto.setEquRep(list02);
List
dto.setEquSta(list03);
List
dto.setEquParts(list04);
return dto; }
(4)設(shè)備狀態(tài)管理功能
設(shè)備狀態(tài)管理功能包括:設(shè)備能否正常使用、設(shè)備配件完整度、設(shè)備損壞具體信息、設(shè)備受損責(zé)任人等數(shù)據(jù)。
其中,設(shè)備配件完整度功能包括含設(shè)備主體在內(nèi)的全部配件數(shù)據(jù)信息[3],該信息對教師領(lǐng)用也具有指導(dǎo)意義。若部分配件遺失、損壞,且不影響實訓(xùn)環(huán)節(jié)開出,則專業(yè)課教師可在系統(tǒng)中標注。若配件遺失或損壞后無法使用,系統(tǒng)則能提示管理人員,并提示專業(yè)課教師是否申請報修或購買對應(yīng)耗材。
設(shè)備損壞具體信息功能可根據(jù)設(shè)備清點或設(shè)備歸還記錄顯示設(shè)備損壞的具體情況,包括文字描述、設(shè)備損壞照片、視頻、語音等,該功能服務(wù)于設(shè)備損壞追責(zé)和設(shè)備報修、報廢處理。
設(shè)備是否正常使用、設(shè)備配件完整度、設(shè)備損壞具體信息等三項功能以系統(tǒng)設(shè)備入庫總表中的“狀態(tài)”字段作為判斷關(guān)鍵字。若該字段內(nèi)容為“受損”或“報修”,則激活系統(tǒng)查詢,系統(tǒng)會顯示該設(shè)備最近一次領(lǐng)用、歸還記錄詳情數(shù)據(jù)中的描述信息、照片、視頻等。若設(shè)備已報修并處理,管理員則需在系統(tǒng)中修改該設(shè)備的狀態(tài)修改為“完好”狀態(tài)。
設(shè)備受損責(zé)任人功能的設(shè)備受損責(zé)任人第一主體是使用教師和實訓(xùn)指導(dǎo)教師,第二責(zé)任人是設(shè)備使用學(xué)生。該項功能可實現(xiàn)設(shè)備受損溯源、績效考核、成績評定等提供相關(guān)依據(jù)。功能對應(yīng)信息包括:姓名、教工號、所屬專業(yè)、二級學(xué)院、授課課程、使用班級、學(xué)生姓名、學(xué)號等。該數(shù)據(jù)關(guān)聯(lián)設(shè)備損壞信息,形成設(shè)備使用數(shù)據(jù)統(tǒng)計信息,在設(shè)備使用信息查詢中以紅色標明醒目提示。
該功能可形成設(shè)備損壞清單,時間、二級學(xué)院、班級、教師、課程等可以作為關(guān)鍵詞篩選統(tǒng)計所需信息。
4.3 設(shè)備領(lǐng)用(出庫)模塊
設(shè)備領(lǐng)用是在課前進行,領(lǐng)用時間短。為提高領(lǐng)用效率,該模塊設(shè)計包括:設(shè)備領(lǐng)用申請、設(shè)備領(lǐng)用審批、領(lǐng)用信息記錄等功能。
設(shè)備領(lǐng)用申請功能是在專業(yè)課教師或者學(xué)生用戶在查詢設(shè)備狀態(tài)數(shù)據(jù)后,確需領(lǐng)取設(shè)備的情況下,提前于系統(tǒng)中提交設(shè)備領(lǐng)用申請,申請包括:領(lǐng)用教師、班級、課程、領(lǐng)用時間、使用時間、歸還時間、使用場地、臺套數(shù)、配件信息等。
設(shè)備領(lǐng)用審批功能為系統(tǒng)管理員設(shè)計,包括設(shè)備領(lǐng)用審批通過、駁回修改、不同意退回、原因說明等功能。
設(shè)備當前去向查詢功能可查詢設(shè)備領(lǐng)取后至未歸還時間段內(nèi)設(shè)備去向和使用者信息,以便管理人員明確設(shè)備去向[4]。
該數(shù)據(jù)關(guān)聯(lián)到使用者歸還數(shù)據(jù)表,須為該數(shù)據(jù)設(shè)計“領(lǐng)用代碼”作為關(guān)鍵字,在后續(xù)歸還受損過程中可減小歸還數(shù)據(jù)表數(shù)據(jù)量,提高系統(tǒng)效率。領(lǐng)用代碼具備唯一性,其構(gòu)成包括:設(shè)備身份代碼+領(lǐng)用人工號+ 時間。
設(shè)備申請功能代碼如下:
@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,"你填寫的數(shù)據(jù)為空!"); }
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,"你填寫的數(shù)據(jù)為空!"); }
boolean save = staService.updateById(equSta);
if(!save){
return Result.build(500,"保存失敗!"); }
return Result.ok(); } }
4.4 設(shè)備歸還填報功能
(1)設(shè)備歸還填報
設(shè)備使用人在申請領(lǐng)用時已填報設(shè)備相關(guān)信息,在歸還設(shè)備時若設(shè)備完整,則無須再次填寫。若設(shè)備歸還時發(fā)生設(shè)備損壞、遺失等,相關(guān)責(zé)任人需在系統(tǒng)中選擇“設(shè)備歸還(受損)”按鈕,并填寫具體受損情況,包括:具體受損信息、使用受影響程度、是否可繼續(xù)開展實訓(xùn)使用、是否報修、是否報廢等。格式為:文字描述、照片上傳、視頻上傳或語音信息等。
使用者在歸還時選擇“歸還”按鈕,則系統(tǒng)只記錄歸還時間。若選擇“設(shè)備歸還(受損)”,系統(tǒng)則會自動修改設(shè)備入庫總表中的設(shè)備狀態(tài)數(shù)據(jù),同時在設(shè)備歸還表中載入使用者填報的設(shè)備受損信息。管理員在接收歸還設(shè)備時根據(jù)設(shè)備清點情況確認“是否入庫”,若清點的數(shù)據(jù)和使用者填報數(shù)據(jù)存在差異,則“駁回歸還”。
設(shè)備歸還功能代碼如下:
@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,"你填寫的數(shù)據(jù)為空!");}
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)設(shè)備歸還預(yù)警
若設(shè)備歸還超過設(shè)備申領(lǐng)時填寫的歸還時間,系統(tǒng)會彈出設(shè)備歸還預(yù)警提示。管理員可通過使用者填寫的信息聯(lián)系設(shè)備領(lǐng)用人。該功能可由管理員設(shè)計預(yù)警時效,如:超過30 分鐘未歸還即發(fā)送超時預(yù)警[5]。
設(shè)備歸還預(yù)警代碼如下:
@GetMapping("/warning")
public Result warning(String equCode){
LambdaQueryWrapper
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();}} }
計算機設(shè)備領(lǐng)借用(出入庫)信息管理系統(tǒng)開發(fā)與應(yīng)用縮短了計算機實訓(xùn)設(shè)備領(lǐng)借用和管理的流程,降低了領(lǐng)借用的時間,提高了實訓(xùn)設(shè)備管理、實訓(xùn)設(shè)備領(lǐng)借用、設(shè)備使用統(tǒng)計信息的工作效率。同時,該系統(tǒng)實現(xiàn)了實訓(xùn)設(shè)備管理追根溯源,進而提高了師生使用專業(yè)設(shè)備時的責(zé)任心,也為高校相關(guān)信息化平臺建設(shè)提供了需求借鑒和支持。