蔣銀虎,鮑順萍
(昆明幼兒師范高等??茖W校,云南 昆明 650000)
高校在后勤的日常管理中,常常會出現很多問題,教室的燈壞了,衛(wèi)生間的水管壞了,等等;在傳統(tǒng)的報修方法中,學生看到后報告給老師或者輔導員,老師再通過上報部門,由部門上報后勤管理部門進行維修。維修時采用填寫維修清單的方式,這樣的方法,不僅不利于設施設備得到快速維修,會給學校造成一定的經濟損失,也不利于維修記錄的保存。同時,對維修服務缺乏有效的反饋、監(jiān)督管理[1]。開發(fā)一個高校報修系統(tǒng)有利于改變傳統(tǒng)的方法,幫助后勤管理部門更高效地完成設施設備的維修工作,實現報修服務準確地跟蹤、維護與管理[2]。
在原來的報修管理過程中,教職工將維修需求報給部門,部門再統(tǒng)一報給后勤管理部門,維修人員來了之后填寫維修申請單后再開始維修。這樣的工作流程過多,每次都需要找部門審核,不利于設施設備得到快速維修,而使用紙質的申請也不利于維修任務的保存。
通過設計與開發(fā)一個高校報修系統(tǒng)可簡化和轉變原有的工作流程。教職工將損壞的情況直接拍照通過報修系統(tǒng)上報,后勤部門管理人員通過系統(tǒng)中教職工所上傳的圖片和描述來審核,并通過系統(tǒng)將維修任務分配給維修人員,維修人員通過系統(tǒng)查看任務后,到現場維修,完成現場維修后直接拍照上傳系統(tǒng)。完成維修后,教職工可對該次維修進行評價。
根據對實際情況的問題分析,系統(tǒng)中共有3 個參與者:后勤部門管理人員、教職工、維修人員,主要完成以下功能:由教職工拍照并上報維修,后勤管理部門審核通過后分配任務給維修人員,維修人員完成維修后拍照上傳系統(tǒng),系統(tǒng)用例圖如圖1所示。
1) 個人信息管理和用戶登錄用例
用戶輸入用戶名和密碼后,系統(tǒng)驗證用戶名與密碼的正確性,正確后登錄系統(tǒng),在系統(tǒng)內可進行個人信息的維護和管理,修改登錄密碼等操作。
2) 設施設備報修管理用例
教職工看到需要維修的設施設備時,通過設施設備報修管理來實現新增報修信息,在審核通過前可進行報修信息的修改和刪除操作;當審核通過后,可對報修信息進行查看;報修完成后,可對此次報修進行評價。如果審核不通過,可查看審核不通過的原因。
3) 審核報修單用例
后勤管理人員對上報的設施設備報修信息進行審核,當通過了審核,可分配維修人員;如果未通過審核,可將未通過審核的原因反饋給教職工。
4) 維修管理用例
維修人員可查看個人的任務派單信息,維修完成后,上傳維修完成的照片。
根據系統(tǒng)的功能設計,使用UML中的狀態(tài)來描述系統(tǒng)的主要流程,狀態(tài)圖如圖2所示。
圖2 系統(tǒng)活動圖
實心圓圈表示狀態(tài)的開始,實心圓圈外面加空心圓圈表示了狀態(tài)的結束。在圖形中,圓角矩形的上半部分表示狀態(tài),下半部分表示引起該狀態(tài)的活動。當教職工在系統(tǒng)中報修后,就產生了維修單,維修狀態(tài)為“維修申請中”;后勤管理人員對該維修單進行審核,審核不通過再向教職工反饋不通過的原因并調整維修狀態(tài)為“維修申請不通過”;當審核通過后,后勤管理人員分配維修人員,維修狀態(tài)設置為“分配維修人員”;維修人員收到任務后,維修狀態(tài)設置為“維修中”;當維修人員完成了維修任務,維修狀態(tài)設置為“維修完成”;教職工可對該任務進行評價,評價完成后維修狀態(tài)設置為“已評價”,流程結束。
數據庫技術是一種針對信息的管理分析技術和工具集合[3]。通過數據庫技術能夠對數據進行快速的插入、更新、刪除和檢索。
E-R模型為建立數據庫實體,以及實體間的關系提供了識別的解決方案[4]。它直觀地反映了實體與屬性的內在聯系與特點[5],是設計關系型數據庫的主要表現形式。使用方框來表示實體,菱形來表示實體的關系。系統(tǒng)中主要有4個數據庫的實體:后勤管理人員信息、設施設備報修信息、維修人員信息、教職工信息、部門信息,E-R圖如圖3所示。
圖3 系統(tǒng)主要E-R圖
圖3描述了系統(tǒng)主要實體之間的關系。在實體關系中,主要有1對1、1對多、多對多的關系。每個部門有多位教職工,部門與教職工是1對多的關系;每個教職工可以進行多次報修,教職工與設施設備報修信息之間是1對多的關系;每個后勤管理人員可以審核多個報修信息,每個維修人員也可以完成多個報修任務,后勤管理人員與報修信息、維修人員與報修信息都是1對多的關系。
表1 部門信息表
表2 教職工信息表
表3 維修人員信息表
表4 設施設備報修信息表
系統(tǒng)使用ASP.NET(C#) 語言進行開發(fā),數據庫采用SQL Server實現。
當教職工報修時,向數據庫表RepairInfo 中插入一條數據,如果插入數據成功,則把上報的圖片也插入數據庫中,同時更新該條維修信息的狀態(tài)為“維修申請”。
string InsertRepairInfo = string.Format("insert into[RepairInfo](RepairContent,Adress,DateOfRepair,TeacherID,Status) values(N′{0}′,N′{1}′,′{2}′,′{3}′,{4})", repair-Content, adress, dateOfRepair, teacherID, status); //教職工報修的SQL語句
int i = RepairSqlDB.ExecuteSql(connectionString,InsertRepairInfo);
if(i>0) {string InsertImg = string. Format("Update[RepairInfo] set [DamageImg]=@fs where RepairID={0}",RepairID);
if (RepairSqlDB. ExecImg(connectionString, InsertImg, damageImg) > 0)
MessRes.Text = "上報維修信息和圖片成功!";
else MessRes.Text = "上報維修圖片失敗!"; }
else MessRes.Text = "上報失敗,請稍后再試";
當維修信息的狀態(tài)為“維修申請未通過”,后勤管理人員反饋未通過的原因;否則后勤管理人員分配維修人員并設置狀態(tài)為“已分配維修人員”。
if (status == 0) {UpdateStaus= string.Format("Update [RepairInfo] set [FeedBack] =N′{0}′, Status= {1}where RepairID={2}", feedBack,status,repairID);//設置狀態(tài)為“維修申請未通過”和反饋給教職工未通過的原因的SQL語句
Res = "審核成功,已反饋不通過原因"; }
else{UpdateStaus = string.Format("Update [Repair-Info] set [FeedBack]=N′{0}′,Status={1}, Maintenance-WorkerID={2} where RepairID={3}", feedBack, status,maintenanceWorkerID,repairID);//設置維修人員編號、狀態(tài)為“已分配維修人員”、向教職工反饋信息的SQL語句
Res = "審核成功,已分配維修人員";}
int i = RepairSqlDB.ExecuteSql(connectionString,UpdateStaus);//向數據庫中執(zhí)行UpdateStaus 的SQL語句
if (i > 0) { MessRes.Text =Res; }
else MessRes.Text = "審核失敗,請稍后再試";
當維修人員維修完成后,把狀態(tài)設置為“維修完成”,同時更新維修完成時間并上傳維修完成圖片。
byte[] damageImg = File.ReadAllBytes(filePath); //將路徑上的文件轉化為二進制數
string UpdateStatus = string.Format("Update [RepairInfo] set Status={0},DateOfCompleted=′{1}′ where RepairID={2}", status, dateOfCompleted,repairID);//設置狀態(tài)為“維修完成”和更新維修完成時間的SQL
int i = RepairSqlDB.ExecuteSql(connectionString,UpdateStatus);//執(zhí)行SQL語句
if (i > 0) { string UpdateRepairCompletedImg =string.Format("Update [RepairInfo] set [RepairCompletedImg]=@fs where RepairID={0}", repairID);//向數據庫更新維修完成圖片的SQL語句
if (RepairSqlDB. ExecuteSqlInsertImg(connection-String, UpdateRepairCompletedImg, damageImg) > 0) //執(zhí)行UpdateRepairCompletedImg的SQL語句
MessRes.Text = "維修信息和圖片更新成功!";
else MessRes.Text = "維修完成圖片上傳失?。?; }
else MessRes.Text = "維修信息更新失敗,請稍后再試";
當狀態(tài)為“維修完成”時,教職工可以對此次維修進行評價和打分。
string UpdateEvaluate = string.Format("Update [RepairInfo] set [Evaluate] =N′{0}′, Status= {1}, Score= {2}where RepairID={3}", evaluate, score, status, repairID);//更新教職工的評價、打分和狀態(tài)為“已完成評價”的SQL語句
int i = RepairSqlDB.ExecuteSql(connectionString,UpdateEvaluate);//執(zhí)行SQL語句
if (i > 0){MessRes.Text = "評價成功,感謝您對后勤管理部門的支持"; }
else MessRes.Text = "評價失敗,請稍后再試";
文章分析、設計并實現了高校報修系統(tǒng),分析了系統(tǒng)要完成的主要功能;設計了系統(tǒng)的主要業(yè)務流程;使用SQL Server 完成了對數據庫的實現;使用ASP.NET 實現了系統(tǒng)的開發(fā)。報修系統(tǒng)能夠有利于解決在后勤管理中設施設備報修的難點,轉變工作方式,提高后勤管理水平。