999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

座位管理系統Web查詢頁面的實現

2013-04-12 00:00:00肖錚王爽黃國凡
中國教育信息化 2013年8期

摘 要:基于座位管理系統的Web Service接口,采用SOAP方案實現了座位信息的查詢頁面,并通過Ajax實現座位信息的實時更新。

關鍵詞:座位管理系統;Web Service;SOAP;Ajax

中圖分類號:TP315 文獻標志碼:A 文章編號:1673-8454(2013)15-0049-03

一、座位系統的現實意義

信息共享空間、自習室座位資源已成為考量高校圖書館服務的核心指標。臨近期末,讀者對座位資源的需求更為突出。部分高校圖書館針對座位緊張、占座現象嚴重,開發了自習室管理系統。[1]商業化的座位管理系統針對座位這一獨特資源進行了數據庫優化、流程簡化,并提供了應用接口供個性化二次開發。目前已有不少高校圖書館采用了此套座位管理系統。

安裝座位管理系統后,讀者在座位系統終端機上刷校園卡選號,點擊屏幕,在空座分布圖上選擇座位,打印座位號條即可憑號入座。憑條上印有座位號、校園學生卡卡號和進館時間等信息,離開時需要刷卡釋放座位。如果中途有事要離開座位,也需要重新刷卡,在系統中選擇暫離,座位將自動保留一段時間,如果超時系統將釋放座位,以便其他讀者選擇。每學年期末是座位緊張高峰期,從目前廈大圖書館使用情況來看,引進此套座位管理系統后,座位利用率有了很大的提升。

但是,此套座位管理系統安裝于我館內部網,無法由外部Web訪問,亦無法遠程查詢目前座位狀況。期末座位緊張時段,學生經常到館后才發現無位可選,提供通過Web查詢實時座位狀況的功能是對此套座位管理系統的有效改進,能極大地滿足學生使用需求,提升系統可用性。

二、座位系統Web Service介紹

座位管理系統提供了便于與其它應用系統互操作和個性化定制的Web Service,該Web Service使用SOAP代碼實現。[2] SOAP(Simple Object Access Protocol,簡單對象訪問協議)是一種輕量的、簡單的、基于XML的遠程訪問協議,可以與現有的多種傳輸層或應用層協議結合使用,如TCP、HTTP、SMTP等。SOAP廣泛使用的是基于HTTP和XML協議的實現(SOAP=RPC+HTTP+XML),也就是大家常提的Web Service使用的通信協議。一個SOAP方法可以簡單地看成遵循SOAP編碼規則的HTTP請求和響應。

座位管理系統Web Service目前提供六個接口,分別實現閱覽室狀態查詢、座位使用狀態查詢、讀者當前狀態查詢、讀者進出狀態查詢、讀者違規記錄查詢、違規黑名單記錄查詢六項功能。這里就本文需要使用的閱覽室狀態查詢和座位使用狀態查詢予以詳細介紹,其它接口不予贅述。

閱覽室狀態查詢接口 ReadingRoomState(ReadingRoomNo)

參數說明:

返回XML文檔說明:

<!—Status 閱覽室狀態(開放/關閉) -->

座位使用狀態查詢 SeatUsedInfo(ReadingRoomNo)

參數說明:

返回XML文檔說明:

<!--區域名稱 No 編號;-->

<!--UsedSum 使用數;AllSum 總數;LeaveSum 暫時離開數-->

三、座位信息Web查詢頁面的實現

座位信息Web查詢頁面需要提供的信息有:

(1)圖書館總座位數,總使用座位數;

(2)各閱覽室狀態;

(3)各閱覽室總座位數,總使用座位數。

因為閱覽室的狀態和座位使用情況是不斷變化的,因此在設計座位信息的Web查詢頁面時,必須要考慮如何能夠在Web頁面上顯示出實時的情況,因此就需要使用Ajax技術,讓Web頁面在不進行手動刷新時自動獲取當前座位信息,并顯示在Web頁面上。

為方便Ajax程序調用,在座位管理系統Web Service的基礎上,再設計一個二次封裝接口。該接口負責從數據庫提取獲得閱覽室記錄號,通過Web Service提交調用請求,解析Web Service返回結果,計算圖書館總座位數、總使用座位數。

流程如圖1所示:

座位管理系統提供的Web Service需要通過閱覽室記錄號提交調用請求返回查詢結果。調用座位系統Web Service的ASP代碼如下:[3]

function RoomInfo(readingroomno)

dim xmlReadingRoomState, xmlSeatUsedInfo, UsedSum, AllSum, freeSeat

dim soapClient, xmlReader

set soapClient = Server.CreateObject(\"MSSOAP.SoapClient30\")

Set xmlReader = Server.CreateObject(\"MSXML2.DomDocument\")

’調用閱覽室名稱和閱覽室狀態

soapClient.ClientProperty(\"ServerHTTPRequest\") = true

call soapClient.mssoapinit(\"http://localhost/WebService/SMS_DataQueryInterface.asmx?WSDL\")

xmlReadingRoomState = soapClient.ReadingRoomState(readingroomno)

xmlReader.loadXML(xmlReadingRoomState)

ReadingRoomState = xmlReader.documentElement.selectNodes(\"Status\")(0).text

RoomName = xmlReader.documentElement.selectNodes(\"RoomName\")(0).text

’調用閱覽室座位信息(已用座位、總座位數、暫離座位數)

xmlSeatUsedInfo = soapClient.SeatUsedInfo(readingroomno)

xmlReader.loadXML(xmlSeatUsedInfo)

UsedSum = xmlReader.documentElement.selectNodes(\"Seat/@UsedSum\")(0).text

AllSum = xmlReader.documentElement.selectNodes(\"Seat/@AllSum\")(0).text

freeSeat = xmlReader.documentElement.selectNodes(\"Seat/@freeSeat\")(0).text

LeaveSum= xmlReader.documentElement.selectNodes(\"Seat/@leaveSum\")(0).text

set soapClient = nothing

set xmlReader = nothing

’返回閱覽室信息

RoomInfo = Array(RoomName, AllSum, ReadingRoomState, freeSeat, UsedSum, leaveSum )

end function

封裝二次接口,返回圖書館總座位信息及各閱覽室座位信息:

’從數據庫讀取圖書館閱覽室記錄號,調用接口讀取各閱覽室信息

roomNo = \"000\"rs(\"ReadingRoomNo\")

’取閱覽室相關數據到數組roomInfos

roomInfos(i) = roomInfo(roomNo)

’計算總座位數、已占座位數

for i=0 to k-1

totalSeat = totalSeat + roomInfos(i)(1)

totalTakenSeat = totalTakenSeat + roomInfos(i)(4)

’定義一個二維數組(全部:已占:暫離:狀態)

redim seatInfo_ary(k, 3)

seatInfo_ary(0,0) = totalSeat

seatInfo_ary(0,1) = totalTakenSeat

’searInfo_ary(0,2) = 0

j = 0

for i=0 to k-1

seatInfo_ary(i+1, 0) = roomInfos(j)(1) ’總座位數

seatInfo_ary(i+1, 1) = roomInfos(j)(4) ’已占座位數

seatInfo_ary(i+1, 2) = roomInfos(j)(5) ’剩余座位數

seatInfo_ary(i+1, 3) = roomInfos(j)(2) ’閱覽室狀態

j=j+1

next

’二次封裝接口返回值

response.write \"\"

for i=0 to k

response.write \"\"seatInfo_ary(i, 3)\"\"seatInfo_ary(i, 2)\"\"seatInfo_ary(i, 1)\"\"seatInfo_ary(i, 0)\"\"

next

response.write \"\"

而后使用Ajax調用二次封裝接口數據,在查詢頁面顯示實時信息:

function xmuseat() {

$.ajax({

type: \"POST\",

url: \"seatinfo.asp\",

}).done(function( result ) {

k = $(result).find(\"takenseat\").length;

for (i=0; i

takenseat = $(result).find(\"takenseat\").eq(i).text();

readingroomstate = $(result).find(\"readingroomstate\").eq(i).text();

$('#st'+i).text(takenseat);

allseat = $(result).find(\"allseat\").eq(i).text();

if (readingroomstate = \"開放\"){

$('#roomstate'+i).removeClass().addClass(\"rb open\");

}else if (readingroomstate = \"關閉\") {

$('#roomstate'+i).removeClass().addClass(\"rb close\");

}

if (takenseat/allseat > 0.85) {

$('#roomstate'+i).removeClass().addClass(\"rb full\");

}

}

});

}

$(document).ready(function(){

//定時執行,自動加載ajax程序

setInterval(xmuseat, 10000);

});

為了使座位信息頁面更加直觀,在座位系統查詢頁面上使用色塊圖代表閱覽室,通過顏色區別閱覽室座位數使用情況。通過Ajax動態調用實時座位數,判斷已用座位與總座位數之比來確定色塊使用的CSS類,并動態更新頁面上的相關信息。最終查詢頁面如圖2所示:

四、結束語

座位管理系統除了提供閱覽室相關信息的Web Service接口外,還提供讀者相關信息的接口。為了讓讀者更加便利地查看自己的選座信息、違規信息等數據,筆者下一步計劃在圖書館自動化系統“我的圖書館”中,通過座位管理系統的Web Service整合讀者個人座位記錄查詢和違規記錄查詢。?

參考文獻:

[1]孫發,吳代莉,曾為眾.圖書館自習室管理系統的設計與實現[J].現代圖書情報技術, 2010(5):93-98.

[2]Web服務編程,REST與SOAP[EB/OL]. http://www.ibm.com/developerworks/cn/webservices/0907_rest_ soap/.

[3]使用Asp(vbs)來讀取XML數據島[EB/OL]. http://www.cnblogs.com/hanwater/articles/1405083.html.

(編輯:王天鵬)

主站蜘蛛池模板: 亚洲精品无码AV电影在线播放| 欧美精品一区在线看| 三上悠亚精品二区在线观看| 国产亚洲精品yxsp| 中字无码av在线电影| 天堂成人在线| 91九色最新地址| 免费全部高H视频无码无遮掩| 永久成人无码激情视频免费| 在线国产资源| 欧美福利在线观看| 国产97公开成人免费视频| 亚洲成A人V欧美综合天堂| 波多野结衣在线一区二区| 国产美女91呻吟求| 欧美午夜在线播放| 久久99国产综合精品女同| 亚洲人成人伊人成综合网无码| 国产精品30p| 日韩国产精品无码一区二区三区| 国产成人艳妇AA视频在线| 精品久久人人爽人人玩人人妻| а∨天堂一区中文字幕| 爱爱影院18禁免费| 欧美人在线一区二区三区| 亚洲有无码中文网| 色网站在线免费观看| 免费一极毛片| 国产大全韩国亚洲一区二区三区| 国产不卡国语在线| 2021精品国产自在现线看| 无码国产伊人| 亚洲二区视频| 中文一区二区视频| 99青青青精品视频在线| 77777亚洲午夜久久多人| 国产一级在线播放| 亚洲天堂自拍| 日韩国产黄色网站| 国产v欧美v日韩v综合精品| 国产va视频| 亚洲一区毛片| 无码又爽又刺激的高潮视频| 中文天堂在线视频| 精品久久久久久成人AV| 成人毛片免费在线观看| 国产成人免费视频精品一区二区| 国产91小视频在线观看| 91麻豆精品视频| 免费观看男人免费桶女人视频| 欧美精品伊人久久| 欧美一区二区自偷自拍视频| 中文无码精品a∨在线观看| 欧美一区日韩一区中文字幕页| 亚洲Av激情网五月天| 亚洲视频影院| 亚洲第一黄片大全| 国产成人精彩在线视频50| 99偷拍视频精品一区二区| 在线亚洲小视频| 九九久久精品免费观看| 精品伊人久久久久7777人| 婷婷99视频精品全部在线观看| 中文无码日韩精品| 亚洲VA中文字幕| 99人体免费视频| 亚洲天堂网在线播放| 亚洲第一视频网| 26uuu国产精品视频| 91成人免费观看在线观看| 六月婷婷精品视频在线观看| 欧美a在线看| 综合五月天网| 欧美精品v| 欧美视频在线不卡| 永久免费AⅤ无码网站在线观看| 国产新AV天堂| 亚洲成肉网| 香蕉色综合| 无码高清专区| 亚洲综合国产一区二区三区| 永久在线精品免费视频观看|