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