鄭云波
摘 要
基于會議排座系統,能方便的實現會議室管理,可實現快速設置、查找參會人員所在的座位信息,方便參會人員及時查看座位信息,能迅速對號入座。通過對會議排座系統的需求功能進行分析,介紹系統具體實現的技術及方法。
【關鍵詞】PHP jQuery 會議排座
實際工作中,某些會議要求參會人員對號入座,當參會人員較多時,在會場查找座位上的名字有所不便,會議排座系統憑借現今優良的網絡環境,使參會人員可以通過諸如智能手機、平板電腦等設備,快速查找到自己的座位信息,并以圖例的效果顯示出來,及大的方便參會人員快速入座。
系統主要涉及的人員角色有會議管理人員和參會人員,會議管理人員主要負責會議室的設定、會議信息設定以及排座信息設定等工作,而參會人員主要使用到的功能是參會時對個人座位位置的檢索。管理員對會議的具體地點與時間預先設置,之后可針對會議添加參會人員的名單信息并與座位號相綁定,這些信息均存放到服務器端的數據庫中。之后參會人員在會議的有效期內,都可以通過web方式自由查看自己所參與的會議主題、時間、座位信息等。如果有考勤需求,還可以針對具體的運行條件,通過電子條碼方式實現簽到功能。
1 軟件支持
1.1 Apache+PHP+MySql
三者均為免費或者開源軟件,無需為軟件的發布再支付許可費用。開源的特點也使得開發者可以靈活的修改源代碼,有著極強的靈活性。同時三者的組合歷經多年多種環境的調試與運行,有著良好的穩定性。現行的某些版本提供了快速安裝與設置功能,使得三者的黃金組合可以快速搭建和調試,有著快速、便捷性。加上三個軟件都支持在不同的操作平臺運行,使得開發后的軟件幾乎可以無視運行的平臺,有著極好的兼容性。
1.2 jQuery
The write less , do more!這是jQuery最真實的功能說明。使用它的高級選擇器,配上幾行代碼就能實現令人驚奇的效果。現行的主流瀏覽器都對jQuery有著良好的支持,它不僅完全支持Ajax,而且豐富的抽象概念更能提高編程效率。
2 會議排座功能
會議室管理:會議管理員能自由新增、刪除會議室,設置并維護會議室名稱,不同的會議室由于實際空間大小等因素決定它們擁有不同座位信息,此外在同一間會議室內,每一排座位數還由于房屋空間限制可能導致各排的座位數據均不相同,這此相關信息均由會議管理員預先在系統中進行設置。之后涉及到的排座和查詢相關功能,均基于此參數進行識別。
會議管理:會議管理員可以根據實際會議內容、時間和點點新增會議信息,而召開會議所在的會議室則只能在“會議室管理”功能中添加后的列表中進行選擇。通過對會議具體召開時間的設置,能方便的控制當前有效的會議并進行管理。對于某些風格特點較強的會議,如國慶、元旦主題的會議,還可以自定義相應的Banner圖標,以增強界面視覺效果。
排座管理:排座管理功能的實現必須基于“會議管理”功能中所選定的會議室以及會議室所對應著的座位信息,生成會議室座位圖例,此時會議管理員僅需點擊相應座位,在系統的彈窗中便可設置參會人員姓名,以方便之后參會人員使用自己的姓名查找座位信息。對于參會人員相對固定的使用環境,還可以使用拼音快查的方式,快捷的錄入參會人員的姓名信息,不僅提高工作效率,還能防止輸入姓名時誤拼寫參會人員姓名所造成的尷尬。
參會查詢:會議系統首頁將顯示由會議管理員設置好的并且在有效期內的所有會議,參會人員可根據自己所要參加的會議點擊相關鏈接進行查看排座信息。系統使用圖例的方式,參會人員能在座次圖中找到自己的姓名及座位所在位置。同時系統還提供查詢功能,參會人員通過鍵入自己的姓名或拼音簡碼進行快速查詢,系統在找到符合的人員姓名后,將顯示出參會人員所在的座位位置并且在圖例中以明顯的顏色突出顯示出來。
3 排座系統主要功能的實現
系統主要采用B/S模式,這樣可方便參會人員使用任何可上網設備進行訪問,而無需安裝其它任何客戶端軟件。下面簡單介紹系統主要實現的幾個關鍵功能及相關方法。
3.1 會議室座位信息設置與管理
會議室座位信息是系統最基本運行的一項內容,實際使用中,系統可支持多個會議室,不同的會議室座位信息不一定相同,因此對每間會議室的座位信息采用序列的方式進行保存。例如某間會議室的座位信息可能是前兩排10個座位,第三排至第五排20個座位,其它排均為30個座位,則座位信息可以用10,10,20,20,20,30......序列進行保存。
在會議管理員對座位設置或參會人員最終查詢座位信息時,則以(1,10),(2,10),(3,20),(4,20),(5,20),(6,30)......的方式順序生成座位圖例,每一組的第一個參數代表了所在行排,而第二個參數則代表了當前所在排擁有的座位個數,它們的組合生成唯一的坐標[x , y],坐標以表示了當前某座位在會議室中所處的位置。
3.2 姓名簡拼的處理
姓名簡拼主要是為了方便會議管理員添加人員姓名以及最終參會人員快速輸入自己的姓名進行查詢。
此處主要介紹批量導入會議人員名單的方法,當大批量添加人員名單時,手工為每個姓名添加簡拼是一個枯燥且費時的工作,使用程序能快速、大量生成姓名簡拼,需要注意的是多音字簡拼的生成,比如“長江”的“長”,可讀“chang”亦可讀“zhang”。部分代碼如下。
判斷是否是多音字:
if (stripos($line, $name) != = false)
{
$spell[$w_order][] = strtoupper($key[0]);
$w_add_num++;endprint
}
$key代表相應的拼音,而$line代表每個拼音所包含的文字,當拆分后的姓名中的某個字能在對應的$line中找到,即表明其發音為$key,則取出此發音的首字母$key[0],而$w_order和$w_add_num分別用于計數,當兩者相等時,表示此字非多音字,反之為多音字。
在將姓名中的每個字所對應的所有拼音取得后,按順序依次排列組合,即可生成當前姓名所可能的所有姓名的簡拼。
3.3 會議排座管理
會議排座使用jQuery技術來實現實時對座位占用情況的改變。當系統從數據庫中取得所選擇的會議室信息后,將動態的生成相應會議室的座位圖表。會議管理員點擊某一個座位圖標后,程序調用jQuery的click事件,彈出的輸入框用于接收參會人員姓名,并獲取圖標所對應的坐標(x,y)。當輸入框關閉時,jQuery將調用post方法將姓名和座位坐標傳送到服務器端的PHP代碼進行處理。
PHP代碼首先對相應的會議信息、坐標信息進行判斷是否有效,當滿足設置座位的條件時,則在數據庫中進行數據查詢,查詢的主要目是判斷當前坐標的狀態。查詢結果將處理以下幾種情況:
①返回座位狀態為空時,代表當前座位還未被占用,則直接將參會人員姓名對應著座位坐標寫入數據庫,將數據庫操作結果再次返回,結果正常時再次調用jQuery程序將座位圖標顏色進行修改,以標記出當前哪一個座位已安排了參會人員。
②當狀態為占用時,代表當前座位已被占用,此時有兩種狀態,其一是判斷是否是參會人員姓名發生重復輸入,如果結果為真,則發出提示且不對座位圖標信息進行修改;否則將原有的姓名進行替換。主要代碼如下:
var si = saveid.slice(1);
var coord = si.split('-');
si = 's'+String(si);
var nameValue = $$("idBoxTxt").value;
if (nameValue != '')
{
$.post(dealUrl,
{ mname:nameValue,
coordx:coord[0],
coordy:coord[1],
whichm:$("#meetId").val(),
whichr:$("#roomId").val() },
callbackFun(si) );
$("#"+saveid).css("background-color","#F00");
}
4 結束語
jQuery得到現行多數主流瀏覽器的支持,實現的特效越來越多,加之其UI插件的使用使得整個系統界面簡潔、直觀、方便。在現如今網絡無處不在的環境下,會議排座系統的使用極大的方便了參會人員的座位信息查詢,部分地提高了會議的效率。
參考文獻
[1]范紅月.圖書館自習室自動排座系統[J].圖書館雜志,2008(9).
[2]單東林,張曉菲,魏然.鋒利的jQuery[M].北京:人民郵電出版社,2009(6).
作者單位
玉溪師范學院圖書館 云南省玉溪市 653100endprint