王贤恩, 王德东, 王文军
(浙江海洋学院 实验室建设与设备管理处,浙江 舟山 31600)
随着高等教育大众化[1],高校的办学规模不断扩大,许多高校出现了多校区办学,设备损坏后报修的工作量不断增加,产生多校区多人管理设备维修。由于人工管理,相应报修程序的烦琐,出现信息不共享,处理不及时,管理成本变大的问题。随着计算机网络的普及与VPN技术[2-5]的成熟,采用B/S模式[6]开发的多校区网上报修系统[7-10],实现了网上办公,提高工作效率,加强维修工作的管理,提供了安全实施的基础。
多校区网上报修系统主要是利用互联网技术实现网上报修操作,并将整个操作过程详细展示记录下来。此系统的实现,一能大大提高工作效率,二能为兼职维修员和定点维修公司提供详实的记录依据,三能通过报修者的评价来考量维修人员的维修技术与服务态度,作为下一年度定点的依据。传统的报修大多以电话,口头通知或纸质文件传递形式进行,多校区间的传递,不仅浪费人力物力,而且效率低,甚至产生管理人员与维修人员的遗忘,导致无法进行及时维修,影响教学、科研、学习与生活,甚至还容易产生报修部门和维修单位相互扯皮的现象。市场上虽有大量报修的管理系统,但每个单位具有不同的实际情况,购置的系统不一定合符单位实际情况。因此,开发网上报修系统是相当必要的。
网络技术的发展使高校通过网络对多校区设备报修管理成为了可能。通过网站对保修信息进行管理,大大提高了办公效率,避免了人为记录信息时的误差,使管理更加科学、系统化。网络化的管理,使报修的过程更加规范,实现了信息的快速传递与发布。
我校已经具备了进行网络化管理的硬件条件,设立专门的内网服务器,建立学校设备维修网站,通过网站的访问管理系统。利用专用的VPN服务器,实现多校区间、定点维修公司、教师家庭间的网络连接,管理员、维修人员和报修者可以在任何时间、任何地点访问该系统,而且VPN技术可以隔断来自网络的恶意攻击与无效信息的提交,保证了网站的安全。
本系统采用模块化结构,共包用户管理、维修管理、报修工作报表统计及评价系统。其中用户管理包括一般报修用户(含校外维修公司维修员)、部门、校内维修员以及各类管理人员用户管理;维修管理是指报修申请人通过网络提交报修申请单、管理人员审核及派工、维修人员提交维修结论、报修申请人提交维修意见及对维修员的评价等报修及维修过程;报修工作报表统计指根据不同的要求及应用,输出相应的统计报表;评价系统是指在给定的一段时间对每一维修项目、每一维修人员或整个维修进行评价,给出相应的评分,作为考核维修与定点公司的依据,类似与淘宝网的评价。
1.4.1系统数据库模型图
根据实际功能的需求,需要的主要数据信息有:用户表(含校外维修人员)、部门表、资产表及维修表等信息。系统采用关系数据库[11]进行数据管理,实现了高效的管理与使用这些数据信息。系统数据库模型图如图1所示。
1.4.2关键数据库物理结构表
各类用户信息见表1,维修信息见表2。
表2 维修表(因篇幅限删除了一些字段)
(1) 部门资产管理员报修:填写申请单,提交部门领导;
(2) 部门领导审核通过,提交资产处;不通过,作废申请单;
(3) 设备处审核,提出维修意见,分派维修任务;
(4) 修理员接单修理;
(5) 修理员(厂商维修),填写维修记录,部门资产管理员给出评价;
(6) 使用人、部门领导在发票签字;
(7) 送交设备处统一办理相关手续。
本系统主要采用B/S模式的体系结构,用户所有的操作通过Web浏览器来实现,极少部分事务逻辑在前端实现,主要事务逻辑在服务器实现,形成所谓三层结构[12]。这样的设计减少了客户端计算机载荷,降低了用户端系统维护与硬件升级的成本和工作量,降低了用户端的总体成本。客户端用户均通过同一个连接缓冲池连接数据库,用户并不保存对数据的连接,从而大大减少了对数据据库的资源占用[13]。
系统网络架构拓扑图如图2所示,分校区用户与校外定点维修公司通过Internet和给定VPN服务器账号与系统服务器连接,校内通过校内部局域网连接,用户可以直接与数据库服务器连接。
图2 系统网络架构图拓扑图
2.2.1“用户登录功能”模块主要代码
为了有效抵御SQL注入风险,该模块使用ADO的参数化查询功能来实现[16]。
<%
UserID = Trim(Request("a_userid")) ‘获取提交的账号信息
PassWD = MD5(Trim(Request("a_pwd"))) ‘获取提交的密码信息
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = oConn
cmd.CommandType = 1
cmd.CommandText = "SELECT TOP 1 * FROM 用户表 WHERE 账号 = ? AND 密码 = ?"
cmd.Parameters.Append(cmd.CreateParameter("@账号", 200, 1, 20, UserID))
cmd.Parameters.Append(cmd.CreateParameter("@密码", 200, 1, 16, PassWD))
Set oRs = cmd.Execute()
Response.Write("账号= " & oRs("账号").value)
…
%>
2.2.2“报修信息处理”模块主要代码
从1.5系统业务流程可以看出,不同类型的用户具有不同的权限,相应的处理模块代码也不完全相同,但核心代码基本类似,即通过Request或Session变量获取输入数据,然后写入数据库。下面的Ajax[14]及ASP代码[15]展示的是“部门资产管理员”填写申请单,通过资产编号获得其相应信息。
//调用的ajax代码:
var xmlHttpRequest;
function GetByNum(ID){
if(ID = =""){ return false;}
else{//1. 创建XMLHttpRequest组件
xmlHttpRequest=createXmlHttpRequest();
// 请求字符串
var URL ="FindByID.asp?ID = "+escape(ID);
// 2. 设置回调函数
xmlHttpRequest.onreadystatechange=callback;
// 3. 初始化XMLHttpRequest组件
xmlHttpRequest.open("GET",URL,true);
// 4. 发送请求 xmlHttpRequest.send(null);} }
function createXmlHttpRequest(){ if(window.ActiveXObject)
{ return new ActiveXObject("Microsoft.XMLHTTP");
//windows浏览器}
else if(window.XMLHttpRequest)
{ return new XMLHttpRequest();//其他浏览器 } }
function callback(){ if(xmlHttpRequest.readyState == 4)
{ if(xmlHttpRequest.status==200)
{var returnMsg=xmlHttpRequest.responseText;
if(returnMsg != ""){
var strs= new Array(); //定义数组
strs= returnMsg.split(","); //字符分割
cument.myform.._设备名称.value=strs[0];
document.myform.._单价.value=strs[1];
document.myform.._品牌规格.value=strs[2];
document.myform.._型号规格.value=strs[3];
document.myform.._实验室.value=strs[4];
document.myform.._购置日期.value=strs[5].substring(0,4); }
} } }
2.2.3“报修设备信息”查询模块主要代码
<%
response.ContentType = "text/html;charset=gb2312"
Dim cRs, cSql, Num, RetunMsg
Num=request("ID")
Num=GetSafeStr(trim(Num))
cSql="select * from 资产表 where 资产编号 =’" & Num & "’"
set cRs=Server.CreateObject("ADODB.Recordset")
cRs.Open cSql, oConn, 1, 1
If cRs.eof Then
RetunMsg="" ‘没有查到该编号的设备信息
Else
RetunMsg=cRs("名称") & ","
RetunMsg=RetunMsg & cRs("金额") & ","
RetunMsg=RetunMsg & cRs("规格") & ","
RetunMsg=RetunMsg & cRs("型号") & ","
RetunMsg=RetunMsg & cRs("使用单位") & ","
RetunMsg=RetunMsg & cRs("购置日期")
response.Write RetunMsg
End If
cRs.Close
Set cRs = Nothing
%>
2.2.4“表单统计”模块主要代码
“表单统计”模块主要完成一些基本信息的统计工作,例如:按部门、维修人统计维修次数,维修总价,服务评价等信息,其功能主要是利用SQL的统计语句来实现的。
按照部门统计维修次数:SELECT Count(单据编号) AS维修次数, 部门编号 FROM 维修表 GROUP BY .部门编号;
按照维修人统计维修次数:SELECT Count(单据编号) AS 维修次数, 维修人 FROM 维修表 GROUP BY 维修人;
按照部门汇总维修总费用:SELECT Sum(维修总价) AS 维修费用,部门编号 FROM 维修表 GROUP BY .部门编号;
对客户评价进行分类统计:SELECT Count(客户评价) AS 客户评价之计数, 客户评价 FROM 维修表 GROUP BY 客户评价。
设计开发的多校区网上报修系统,经过我校大半年的应用,方便、快捷使用的优势,所有行为都有记录,考量有依据,实现了学校设备日常维修的信息化管理,提高学校设备维修业务的工作水平及管理效率。
本文所设计与实现的报修系统在其它有大量维修的大型企事业单位中,具有较好的推广和应用的意义。
[1] 马丁·特罗.从精英向大众高等教育阶段转变中的问题[Z].王香丽,译.外国语高等教育资料,1999(1):1-22.
Martin Trow: Problems in the Transition from Elite to Mass Higher Education[Z].Wang Xiang-li, Translate. Information on Higher Education in foreign languages, 1999(1):1-22.
[2] 黄新民,刘旺全. VPN技术综述[J].计算机安全,2003(5):25-28.
HUANG Xin-Min, LIU Wang-quan. Summary of VPN Technical[J]. Network & Computer Security,2003(5):25-28.
[3] 魏念忠,基于VPN技术的多校区校园网络安全研究[J].微电子学与计算机,2007(10):108-111.
WEI Nian-zhong, Study on the Network Safety of Multi-district Campus Based on VP N Technology [J].Microelectronics & Computer,2007(10):108-111.
[4] 李盘荣,毛万年.基于VPN的多校区校园网络安全[J].电脑知识与技术,2010(10):1080-1083.
LI Pan-rong,MAO Wan-nian. The Campus Network Security Based on the Technology of VPN[J].Computer Knowledge and Technology,2010(10):1080-1083.
[5] 伏秋平,姚渺波.应用VPN技术延伸校园网覆盖范围[J].计算机时代,2007(4):21-23.
FU Qiu-ping,YAO Miao-bo. Application of VPN in Extending Coverage of Campus Network[J].Computer Era,2007(4):21-23.
[6] 冯曼菲.精通Ajax——基础概念、核心技术与典型案例[M].北京:人民邮电出版社,2008.
[7] 佀新学,李喆,田涛.高校实验室信息化平台—设备在线报修系统的开发[J]. 中国现代教育装备,2010(7):115-116.
SI Xin-xue, LI Zhe, TIAN Tao. Laboratory Informationization Platform of University——Development of a Online Repair System [J]. China Modern Educational Equipment.,2010(7):115-116.
[8] 王 涛.增强型报修系统的分析和设计[J].电脑知识与技术,2011(18):4283-4285.
WANG Tao. Analyze and Design of Enhanced Fault Reporting System[J]. Computer Knowledge and Technology, 2011(18):4283-4285.
[9] 周 翔.基于Web 的高校后勤报修系统设计与实现[J].科技广场,2009(11):131-133.
ZHOU Xiang. Design and Implement of College Logistics Repair System Based on Web[J]. Science Mosaic, 2009(11):131-133.
[10] 杨海波,许礼捷,岳 浩.基于Web的网络中心报修管理系统的设计与实现[J].电脑知识与技术,2011(23):5610-5611.
YANG Hai-bo,XU Li-jie,YUE Hao, Design and implement of Network Center Report management system based on Web [J].Computer Knowledge and Technology, 2011(23):5610-5611.
[11] 钟克英.基于Web报修系统的数据库设计[J].软件导刊,2011(6):170-172.
ZHONG Ke-ying. [J]. Design of Database for Repair System Based on Web. Software Guide, 2011(6):170-172.
[12] 吴 丹,易 辉.知识库系统中语义网知识的表示[J].电脑与信息技术,2004(1): 9-11.
WU Dan,YI Hui. Knowledge Representation for Semantic Web in Knowledge Base System[J]. Computer and Information Technology,2004(1):9-11.
[13] 刘柏嵩.基于知识的语义网:概念、技术及挑战[J].中国图书馆学报,2003(29):18-21.
LIU Bai-song. The Semantic Web Based On Knowledge: Concept、Technology And Challenges[J]. The Journal of The Library Science In China,2003(29):18-21.
[14] 侯艳君,马子领. 基于Ajax的高校设备管理系统设计与实现[J].实验室研究与探索,2011 (12):183-186.
HOU Yan-jun, MA Zi-ling. Design and Implementation of Equipment Management System in Colleges and Universities Based on Ajax[J].Research and Exploration in Laboratory, 2011 (12):183-186.
[15] 周金桥.ASP-NET夜话[M].北京:电子工业出版社,2009.
[16] 陈雪梅. 基于ADO技术实现多种数据源间SQL查询功能[J].计算机技术与发展,2007(10):7-11.
CHEN Xue-mei. Realization of SQL Query Function Among Multiple Data Sources Based on ADO Technique[J].Computer Technology and Development, 2007(10):7-11.