基于ASP.NET的高校报修系统的设计与实现
作者: 蒋银虎 鲍顺萍
摘要:在高校的后勤管理过程中,设施设备的维修是日常管理的重要工作之一,传统的报修方式是以纸质申请的方法,通过层层审批,无法保证维修的及时性,也无法对维修人员进行监督、反馈和评价。目前,这样的工作方式已无法满足高校后勤设施设备维修的要求。文章分析、设计并使用了ASP.NET和SQL Server技术实现了报修管理系统,能够转变传统工作方法,提高维修的及时性,解决报修过程的难点和痛点。
关键词:报修系统;状态图;E-R图;ASP.NET
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2023)30-0037-03
开放科学(资源服务)标识码(OSID)
0 引言
高校在后勤的日常管理中,常常会出现很多问题,教室的灯坏了,卫生间的水管坏了,等等;在传统的报修方法中,学生看到后报告给老师或者辅导员,老师再通过上报部门,由部门上报后勤管理部门进行维修。维修时采用填写维修清单的方式,这样的方法,不仅不利于设施设备得到快速维修,会给学校造成一定的经济损失,也不利于维修记录的保存。同时,对维修服务缺乏有效的反馈、监督管理[1]。开发一个高校报修系统有利于改变传统的方法,帮助后勤管理部门更高效地完成设施设备的维修工作,实现报修服务准确地跟踪、维护与管理[2]。
1 业务需求分析
在原来的报修管理过程中,教职工将维修需求报给部门,部门再统一报给后勤管理部门,维修人员来了之后填写维修申请单后再开始维修。这样的工作流程过多,每次都需要找部门审核,不利于设施设备得到快速维修,而使用纸质的申请也不利于维修任务的保存。
通过设计与开发一个高校报修系统可简化和转变原有的工作流程。教职工将损坏的情况直接拍照通过报修系统上报,后勤部门管理人员通过系统中教职工所上传的图片和描述来审核,并通过系统将维修任务分配给维修人员,维修人员通过系统查看任务后,到现场维修,完成现场维修后直接拍照上传系统。完成维修后,教职工可对该次维修进行评价。
2 系统设计
2.1 系统功能设计
根据对实际情况的问题分析,系统中共有3个参与者:后勤部门管理人员、教职工、维修人员,主要完成以下功能:由教职工拍照并上报维修,后勤管理部门审核通过后分配任务给维修人员,维修人员完成维修后拍照上传系统,系统用例图如图1所示。
1) 个人信息管理和用户登录用例
用户输入用户名和密码后,系统验证用户名与密码的正确性,正确后登录系统,在系统内可进行个人信息的维护和管理,修改登录密码等操作。
2) 设施设备报修管理用例
教职工看到需要维修的设施设备时,通过设施设备报修管理来实现新增报修信息,在审核通过前可进行报修信息的修改和删除操作;当审核通过后,可对报修信息进行查看;报修完成后,可对此次报修进行评价。如果审核不通过,可查看审核不通过的原因。
3) 审核报修单用例
后勤管理人员对上报的设施设备报修信息进行审核,当通过了审核,可分配维修人员;如果未通过审核,可将未通过审核的原因反馈给教职工。
4) 维修管理用例
维修人员可查看个人的任务派单信息,维修完成后,上传维修完成的照片。
2.2 系统流程设计
根据系统的功能设计,使用UML中的状态来描述系统的主要流程,状态图如图2所示。
实心圆圈表示状态的开始,实心圆圈外面加空心圆圈表示了状态的结束。在图形中,圆角矩形的上半部分表示状态,下半部分表示引起该状态的活动。当教职工在系统中报修后,就产生了维修单,维修状态为“维修申请中”;后勤管理人员对该维修单进行审核,审核不通过再向教职工反馈不通过的原因并调整维修状态为“维修申请不通过”;当审核通过后,后勤管理人员分配维修人员,维修状态设置为“分配维修人员”;维修人员收到任务后,维修状态设置为“维修中”;当维修人员完成了维修任务,维修状态设置为“维修完成”;教职工可对该任务进行评价,评价完成后维修状态设置为“已评价”,流程结束。
3 系统数据库设计
数据库技术是一种针对信息的管理分析技术和工具集合[3]。通过数据库技术能够对数据进行快速的插入、更新、删除和检索。
3.1 E-R模型设计
E-R模型为建立数据库实体,以及实体间的关系提供了识别的解决方案[4]。它直观地反映了实体与属性的内在联系与特点[5],是设计关系型数据库的主要表现形式。使用方框来表示实体,菱形来表示实体的关系。系统中主要有4个数据库的实体:后勤管理人员信息、设施设备报修信息、维修人员信息、教职工信息、部门信息,E-R图如图3所示。
图3描述了系统主要实体之间的关系。在实体关系中,主要有1对1、1对多、多对多的关系。每个部门有多位教职工,部门与教职工是1对多的关系;每个教职工可以进行多次报修,教职工与设施设备报修信息之间是1对多的关系;每个后勤管理人员可以审核多个报修信息,每个维修人员也可以完成多个报修任务,后勤管理人员与报修信息、维修人员与报修信息都是1对多的关系。
3.2 主要数据库表的设计
4 系统主要模块实现
系统使用ASP.NET(C#) 语言进行开发,数据库采用SQL Server实现。
4.1 教职工报修模块
当教职工报修时,向数据库表RepairInfo中插入一条数据,如果插入数据成功,则把上报的图片也插入数据库中,同时更新该条维修信息的状态为“维修申请”。
string InsertRepairInfo = string.Format("insert into [RepairInfo](RepairContent,Adress,DateOfRepair,TeacherID,Status) values(N'{0}',N'{1}','{2}','{3}',{4})", repairContent, 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 = "上报失败,请稍后再试";
4.2 后勤管理部门审核模块
当维修信息的状态为“维修申请未通过”,后勤管理人员反馈未通过的原因;否则后勤管理人员分配维修人员并设置状态为“已分配维修人员”。
if (status == 0) {UpdateStaus= string.Format("Update [RepairInfo] set [FeedBack]=N'{0}',Status={1} where RepairID={2}", feedBack,status,repairID);//设置状态为“维修申请未通过”和反馈给教职工未通过的原因的SQL语句
Res = "审核成功,已反馈不通过原因"; }
else{UpdateStaus = string.Format("Update [RepairInfo] set [FeedBack]=N'{0}',Status={1}, MaintenanceWorkerID={2} where RepairID={3}", feedBack, status,maintenanceWorkerID,repairID);//设置维修人员编号、状态为“已分配维修人员”、向教职工反馈信息的SQL语句
Res = "审核成功,已分配维修人员";}
int i = RepairSqlDB.ExecuteSql(connectionString,UpdateStaus);//向数据库中执行UpdateStaus的SQL语句
if (i > 0) { MessRes.Text =Res; }
else MessRes.Text = "审核失败,请稍后再试";
4.3 维修人员维修完成上报模块
当维修人员维修完成后,把状态设置为“维修完成”,同时更新维修完成时间并上传维修完成图片。
byte[] damageImg = File.ReadAllBytes(filePath); //将路径上的文件转化为二进制数
string UpdateStatus = string.Format("Update [RepairInfo] set Status={0},DateOfCompleted='{1}' where RepairID={2}", status, dateOfCompleted,repairID);//设置状态为“维修完成”和更新维修完成时间的SQL
int i = RepairSqlDB.ExecuteSql(connectionString, UpdateStatus);//执行SQL语句
if (i > 0) { string UpdateRepairCompletedImg = string.Format("Update [RepairInfo] set [RepairCompletedImg]=@fs where RepairID={0}", repairID);//向数据库更新维修完成图片的SQL语句
if (RepairSqlDB.ExecuteSqlInsertImg(connectionString, UpdateRepairCompletedImg, damageImg) > 0) //执行UpdateRepairCompletedImg的SQL语句
MessRes.Text = "维修信息和图片更新成功!";
else MessRes.Text = "维修完成图片上传失败!"; }
else MessRes.Text = "维修信息更新失败,请稍后再试";
4.4 教职工评价模块
当状态为“维修完成”时,教职工可以对此次维修进行评价和打分。
string UpdateEvaluate = string.Format("Update [RepairInfo] set [Evaluate]=N'{0}',Status={1},Score={2} where RepairID={3}", evaluate, score, status, repairID);//更新教职工的评价、打分和状态为“已完成评价”的SQL语句
int i = RepairSqlDB.ExecuteSql(connectionString, UpdateEvaluate);//执行SQL语句if (i > 0){MessRes.Text = "评价成功,感谢您对后勤管理部门的支持"; }
else MessRes.Text = "评价失败,请稍后再试";
5 结束语
文章分析、设计并实现了高校报修系统,分析了系统要完成的主要功能;设计了系统的主要业务流程;使用SQL Server完成了对数据库的实现;使用ASP.NET实现了系统的开发。报修系统能够有利于解决在后勤管理中设施设备报修的难点,转变工作方式,提高后勤管理水平。
参考文献:
[1] 鲁肖肖.高校后勤报修系统的探究与设计[J].信息与电脑,2020(13):71-73.
[2] 郑若鹢.应用Spring Boot的后勤报修系统的设计与实现[J].福建电脑,2021,37(10):66-69.
[3] 张铁红,李文婧,马立丽.信息管理中计算机数据库技术的应用研究[J].电脑知识与技术,2021,17(34):23-24,36.
[4] 杜啸楠,银莉.基于E-R模型的培训网站数据库设计[J].电子技术(上海),2022,51(12):178-179.
[5] 杨中书,刘臣宇.基于E-R模型的关系数据库设计方法[J].价值工程,2014,33(30):242-243.
【通联编辑:谢媛媛】