基于Web的高校报修系统设计与实现
2017-09-18袁云霞邵朋许晓华
袁云霞 邵朋 许晓华
摘 要:文章立足于数字化、智能化校园的角度,设计和开发出基于Web的高校报修系统。在开发本系统时,主要采用Struts,Spring,Hibernate 3个开源框架和easyUI技术实现系统设计。该系统包括学生或教职工提交报修单、管理员分派工单和发布工单、维修人员接单以及提交维修结果、报修人对维修结果进行评价、打分,还包括对异常单处理、智能学习算法处理。文章对一人多次提交同一单和多人提交同一单,对用户和维修人员的奖罚制度、维修进度和设备详细情况也进行了阐述。该系统有良好稳定性、可扩展性,能切合实际地为高校报修提供方便。
关键词:高校报修系统;智能学习算法;SSH
随着高校占地面积大不断扩大,建筑物分布广泛,使后勤维修工作变得十分困难。一旦设备损坏不能得到及时维修会造成很大的资源和经济浪费。为了及时有效地进行维修,建立一个B/S的高校报修系统十分有必要[1]。本次设计实现了性价比高、功能齐全以及方便对维修人员管理的高校报修系统。设计实现系统技术包括Struts主要是一种协助类、丰富的标签库,Spring开源框架用着分层结构,Hibernate对轻量级Java数据库连接(Java DataBase Connectivity,JDBC)进行封装,完成映射关系操作数据库,easyUI是设计实现用户界面。
1 系统工作原理及过程
在校师生或教职工通过自己的学号/工号(默认账号密码一致可修改)登录系统,填写报修单。管理员分派任务(公派抢单和指定专人维修单),维修人员接单进行维修,将维修结果上报。如果维修异常提交管理员处理,维修完成用户评价,到达10个有效维修单的用户可以领取奖励。系统报修单协作如图1所示。
2 系统设计与实现
2.1 系统总体设计模块
该系统由报修人员、维修人员、业务管理员3种角色组成。用户角色分为报修模块、评价模块、领取奖励模块等。维修人员角色接单模块、提交已完成维修单和异常单模块、查看评价恢复评价,管理员角色分派工单模块、查看维修单模块、为用户分发奖励模块、查看用户评论模块、处理异常单模块、发布公告信息模块等。系统总体框图如图2所示。
2.2 用户模块
学生/教职工通过访问系统首页選择用户登录,登录之后完善自己个人资料和修改密码,完善资料完成后用户被激活,账号被激活后用户可以填写报修单(包括设备名称、选择地址、详细地址、图片/视频、损坏级别),提交后可以查看维修进度和催单,维修完成可以对维修单和维修员进行评价打分,当用户积累有效单10次时可以得到管理员的奖励(奖金/积分)。
2.3 管理员模块
管理员登录系统后,系统会自动提醒没处理的报修单和待审核维修单,对没有处理的维修单进行审核是否为有效单,管理员根据维修单的实际情况或系统建议(根据损坏级别提供)进行选择是指定维修人员还是派遣可抢工单,派遣完成可以查看可抢工单接单情况,对没有人接的可抢单可以一单算多单或者直接指定专人维修。派单完成可以查看维修进度,对维修人员提交的已完成维修进行审核,审核通过后则完成,否则填写退回原因并退回维修人员继续维修。对于维修人员提交的异常单,管理员可以招标维修。
对用户和维修人员管理,对于提交有效报修单多的用户管理员可以分发奖励(奖金、积分),对于多次提交无效报修单的用户,管理员可以禁止账号登录[2]。系统根据用户评价积分(40%)、月抢单个数(35%)和总工单个数(25%)3个指标对维修人员排名,管理员可以根据排名进行分发奖金,对于不积极抢单维修人员可以禁止账号登录或禁止抢单。对于暂时不能使用的设备管理可以发布公告通知所有用户。
2.4 维修人员模块
维修人员选择维修人员登录系统后,系统会推送管理员指定维修单并提醒可抢维修单。对于可抢维修单维修人员根据自己情况选择接单,完成维修后填写详细维修资料,提交管理员审核,管理员审核通过后,可以查看用户评价和回复用户评价。对于不能完成或需延期完成的维修单则填写异常单(原因、建议、详细描述等)。
2.5 智能学习算法实现
智能学习算法主要解决的是同一人多次提交同一单或不同人提交系统同一单,算法实现原理,系统提供文本文档内保存大量有效的地址与非有效地址映射关系,当用户提交的维修单地址与文档地址进行字符串匹配,匹配结果超过85%以上把地址转换为标准地址,并将用户提供的格式形式写入文档中,否则,归于其他类写入数据库[3]。
根据标准格式地址与从数据库中取出未完成的报修单地址用最长相同字符串算法匹配,如果相似度90%以上则为此单一提交过不能提交,否则可以提交。最长相同字符串部分代码如下:
for(int i = 0; i < str.length(); i++){
String temp = str.substring(0, i+1);
String tempStr = str.replAll(temp, "");
int count = (str.length() - tempStr.length()) / temp.length();
map.put(temp, c);}String max = it.next();
int max= map.get(max);
while(ite.hasNext()){String key = it.next();
int count = map.get(key).intValue();
if(count > max){max = key; maxCount = count;
}}
3 结语
本文设计了一个基于Web的高校报修系统,主要介绍了该系统的架构、功能和组成,并详细介绍了系统的业务逻辑和各角色之间的相互联系以及模块之间的交互。系统使用开放性的SSH三大框架,各模块功能单一并且有良好的接口易于扩展,系统使用了优秀的算法处理数据使系统更加智能化。此系统不仅适用于各大高校,还适用于管理有序的大型公司,其有助于提高维修效率以及对维修人员的管理水平。
[参考文献]
[1]杨帆.高校基建维修管理系统的设计与实现[D].成都:电子科技大学,2010.
[2]陈华龙.高校后勤网上报修管理系统的设计与实现[J].计算机光盘软件与应用,2012(10):196-197.
[3]陈亮.构建医院后勤网上报修系统的研讨[J].医院管理论坛,2014(9):61-62.endprint