国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx

高校新生入學(xué)宿舍管理系統(tǒng)的設(shè)計與實現(xiàn)

2014-07-16 09:37:40
重慶三峽學(xué)院學(xué)報 2014年3期
關(guān)鍵詞:數(shù)據(jù)表床位寢室

錢 立 鄧 緋

(四川職業(yè)技術(shù)學(xué)院計算機科學(xué)系,四川遂寧 629000)

近幾年高等職業(yè)院校的新生規(guī)模都比較大,這給新生的報到注冊帶來了不少問題,其中之一便是新生的寢室安排.在以往的學(xué)生宿舍安排中,常常依靠人工查詢的方式,手動分配宿舍,其效率很低,出錯率也比較高.為了提高新生報到入住的效率,四川職業(yè)技術(shù)學(xué)院開發(fā)了以下的宿舍管理系統(tǒng).

1 系統(tǒng)需求分析

系統(tǒng)應(yīng)具有的基本功能:

(1)宿舍寢室床位生成和寢室預(yù)分配處理;

(2)新生注冊后,宿管科能自動分配寢室,并提供有限的床位選擇機會;

(3)可根據(jù)情況調(diào)整寢室分配;

(4)能對新生入住情況進行查詢統(tǒng)計;

(5)能以Excel表格方式導(dǎo)出新生入住詳細情況.

2 數(shù)據(jù)庫設(shè)計

2.1 ER分析

宿舍分男生和女生宿舍,每個宿舍有多個寢室,每個寢室有6個床位.每個專業(yè)有男女生,入住到多個寢室中.每個寢室屬于某個專業(yè),但特殊情況下,一個寢室可混住多個專業(yè)的學(xué)生,ER圖見圖1.

圖1

2.2 數(shù)據(jù)表設(shè)計

根據(jù)ER圖可設(shè)計兩張重要的數(shù)據(jù)表,見表1:

表1 數(shù)據(jù)表

3 系統(tǒng)設(shè)計分析及實現(xiàn)

系統(tǒng)采用Brower/Server體系結(jié)構(gòu),即建設(shè)宿舍管理系統(tǒng)網(wǎng)站,客戶聯(lián)網(wǎng)使用WEB瀏覽器來進行新生入住宿舍管理等操作.本系統(tǒng)采用微軟Dot Net Framework開發(fā)平臺和MS SQL Server2005數(shù)據(jù)庫服務(wù)器,運行于IIS服務(wù)器.

3.1 預(yù)設(shè)置專業(yè)寢室算法及入住分配算法

先根據(jù)本校宿舍情況,將不同的宿舍設(shè)置為男女生宿舍,由此生成寢室和床位.再根據(jù)學(xué)校新生錄取情況來預(yù)先分配寢室,錄取情況包括各專業(yè)錄取人數(shù),男女生人數(shù).初始分配寢室算法非常簡單,即如果某專業(yè)的男生人數(shù)恰好是6的整數(shù)倍,那么就分配整數(shù)個寢室;如果有余數(shù),余數(shù)若大于等于3,則多分整數(shù)加 1個寢室,否則就分配整數(shù)個寢室.床位分配算法:來一位新生,便用激光掃描槍輸入該生高考報名號,然后根據(jù)其專業(yè)和性別找到一個可用的寢室,列出空閑的床位待選擇,選擇后則分配完成.

3.2 實際情況分析

在新生實際報到過程中,常出現(xiàn)這樣幾個現(xiàn)象:

(1)新生并未按預(yù)先錄取的人數(shù)報到;

(2)新生報到后調(diào)整專業(yè);

(3)由于特殊情況,新生需要調(diào)整床位.

由于以上原因,某專業(yè)的男女生人數(shù)可能比預(yù)先的少或多.若比預(yù)先的少,則會產(chǎn)生空閑寢室;若多,則預(yù)先分配的寢室不夠用,則必須要求系統(tǒng)根據(jù)實際情況調(diào)整各專業(yè)宿舍寢室分配.還有新生入住后又調(diào)換專業(yè)需要調(diào)整寢室,或者新生要求調(diào)整床位.完成的系統(tǒng)具備了這幾種調(diào)整功能,見圖2.

圖2

3.3 入住情況查詢分析及數(shù)據(jù)導(dǎo)出

根據(jù)設(shè)計要求,系統(tǒng)提供了多種查詢和統(tǒng)計功能,如查詢某專業(yè)有哪些寢室,某寢室住了哪些學(xué)生或者定位學(xué)生.在新生寢室分配過程中,若遇到專業(yè)寢室不夠,則需要調(diào)整.先需要分析目前的入住情況,給出分配的寢室已入住多少,還有多少空余,再根據(jù)情況調(diào)整.新生報到結(jié)束后,方便以后工作,將入住詳細情況導(dǎo)出,專業(yè)輔導(dǎo)員就能清楚地掌握學(xué)生宿舍分布.系統(tǒng)實現(xiàn)的功能如圖3.

圖3

4 關(guān)鍵技術(shù)

4.1 AJAX頁面異步刷新

AJAX是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù).通過在后臺與服務(wù)器進行少量數(shù)據(jù)交換,AJAX可以使網(wǎng)頁實現(xiàn)異步更新,簡單說就是在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁某部分進行更新.

在學(xué)校頒發(fā)的大學(xué)新生錄取通知書上面有一個條形碼,該條形碼是一個 14位數(shù)字的新生報到號.該條形碼可通過條碼掃描槍迅速確定學(xué)生信息,并根據(jù)性別和專業(yè)安排宿舍寢室和床位.這個操作僅僅在5秒鐘內(nèi)就可完成.為了達到操作準(zhǔn)確迅速,一步到位的目的,在新生報到寢室分配頁面上采用了AJAX技術(shù),加快了頁面響應(yīng)速度.編程過程如下:

(1)在頁面標(biāo)簽內(nèi)增加JS代碼,包含一個分配床位的js方法assigneRoomBed().

(2)在頁面body中的觸發(fā)按鈕上調(diào)用該js方法,將服務(wù)器為新生自動分配好的寢室床位信息顯示在myDiv標(biāo)簽上.

(3)XMLHttpRequest對象用于在后臺與服務(wù)器交換數(shù)據(jù)[1].在頁面的js方法assigneRoomBed()中,首先要創(chuàng)建該對象,后使用該對象完成異步數(shù)據(jù)發(fā)送和接收.

(4)在ASP.net服務(wù)器端使用Http Handler來處理這個異步請求[2],根據(jù)傳送過來的新生報名號stuBaoID,查詢數(shù)據(jù)庫,確定性別和專業(yè),再自動分配出寢室和床位號,最后以文本字符串響應(yīng)給客戶頁面,下面是偽代碼.

//1.根據(jù)新生報名號查詢數(shù)據(jù)庫,確定出該生專業(yè)和性別

//2.根據(jù)專業(yè)和性別,以及預(yù)先專業(yè)寢室分配情況進行自動分配寢室和床號

//3.以文本字符串做出異步響應(yīng)

context.Response.Write("某新生分配的寢室和床號信息");

4.2 采用NPOI技術(shù)導(dǎo)出宿舍報表Excel

NPOI是POI項目的.NET版本,POI是一個開源的Java讀寫Excel、WORD等微軟OLE2組件文檔的項目.NPOI是構(gòu)建在POI 3.x版本之上的,使用它可以在沒有安裝Office的情況下對Word/Excel文檔進行讀寫操作[3].

該項目提供給開發(fā)者使用的對象主要位于NPOI.HSSF.UserModel空間下,主要有HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell,對應(yīng)的接口為位于 NPOI.SS.UserModel空間下的IWorkbook、ISheet、IRow、ICell,分別對應(yīng) Excel文件、工作表、行、單元格.導(dǎo)出數(shù)據(jù)過程如下:

(1)先構(gòu)造宿舍寢室入住的學(xué)生信息表StuRoom

這個表屬于一個臨時數(shù)據(jù)存放表,每次導(dǎo)出數(shù)據(jù)時,該表將清空.表結(jié)構(gòu)設(shè)計如表2.

表2 寢室學(xué)生信息表StuRoom

(2)從SQL Server 2005的數(shù)據(jù)表StuRoom中讀出數(shù)據(jù)到DataTable對象中

在進行數(shù)據(jù)導(dǎo)出操作時,根據(jù)先前重要數(shù)據(jù)表Room和StuRoomBed中的數(shù)據(jù),整理出每個寢室有哪些學(xué)生存入 StuRoom表中.再通過 ADO.net數(shù)據(jù)庫連接技術(shù)讀出該表數(shù)據(jù)到DataTable對象中.

(3)從DataTable對象中導(dǎo)出數(shù)據(jù)為Excel表

public static void ExportToExcel(DataTable table,string fileName){

MemoryStream ms = new MemoryStream();

IWorkbook workbook = new HSSFWorkbook();

ISheet sheet = workbook.CreateSheet());

IRow headerRow = sheet.CreateRow(0);

//處理表頭

foreach (DataColumn column in table.Columns){

headerRow.CreateCell(column.Ordinal).Set

CellValue(column.Caption);

//處理表中數(shù)據(jù)

int rowIndex = 1;

foreach (DataRow row in table.Rows){

IRow dataRow = sheet.CreateRow(rowIndex);

foreach (DataColumn column in table.Columns){

dataRow.CreateCell(column.Ordinal).Set

CellValue(row[column].ToString());

}

rowIndex++;

}

workbook.Write(ms);ms.Flush();

ms.Position = 0;

FileStream fs = new FileStream(fileName,FileMode.Create, FileAccess.Write);

byte[]data = ms.ToArray();

fs.Write(data, 0, data.Length);

fs.Flush();

data = null;

}

以上代碼導(dǎo)出Excel報表思路是:先構(gòu)造一個內(nèi)存流,再通過NPOI依次創(chuàng)建工作簿、工作表、數(shù)據(jù)行和單元格,并為單元格正確賦值,接著將整個工作表內(nèi)容寫入到內(nèi)存流中,最后將內(nèi)存流數(shù)據(jù)導(dǎo)出到一個Excel文件中.

5 結(jié) 語

根據(jù)宿舍入住分配管理要求開發(fā)的這個系統(tǒng)基本能滿足要求,即宿舍寢室及床位的生成,專業(yè)寢室預(yù)分配,進行自動安排寢室和有限選擇床位,調(diào)整寢室或床位,能進行適當(dāng)統(tǒng)計和入住情況數(shù)據(jù)導(dǎo)出.另外,該系統(tǒng)還設(shè)計了寢室室長設(shè)置,畢業(yè)和退學(xué)寢室床位的回收等功能.但由于四川職業(yè)技術(shù)學(xué)院存在宿舍較少,而新生較多的矛盾,以至于寢室常不夠用,只能采用查詢空余寢室床位安插新生.對于男女生在同一幢宿舍混住,即上面樓層住男生,下面樓層住女生這樣的情況尚未考慮,這是該系統(tǒng)的一大缺陷.但總的說來,這套系統(tǒng)能較好地進行新生入住信息化管理,提高了辦事效率.

[1]夏慧軍,魏雪輝.深入淺出ajax[M].北京:電子工業(yè)出版社,2007.

[2][美]matthew macdonald;mario szpuszta.ASP.NET3.5高級程序設(shè)計:第2版[M].博思工作室,譯.北京:人民郵電出版社,2008.

[3]NPOI官網(wǎng).http://npoi.codeplex.com[EB/OL].

猜你喜歡
數(shù)據(jù)表床位寢室
寢室“奇葩”操作大賞
寢室鬧鬼記
湖北省新冠肺炎疫情數(shù)據(jù)表
黨員生活(2020年2期)2020-04-17 09:56:30
基于列控工程數(shù)據(jù)表建立線路拓撲關(guān)系的研究
上海市醫(yī)療機構(gòu)床位分類研究:基于德爾菲專家咨詢法
醫(yī)院何以床位論英雄?
區(qū)域養(yǎng)老床位預(yù)測方法探析
寢室“活寶”征集令等
養(yǎng)老床位欠缺與閑置并存
兒子的"寢室交際圈"
人生十六七(2015年3期)2015-02-28 13:08:18
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
三门峡市| 新田县| 平利县| 安福县| 旅游| 罗江县| 塘沽区| 南华县| 武鸣县| 云和县| 志丹县| 福安市| 青川县| 韶关市| 崇州市| 华宁县| 施秉县| 甘泉县| 开江县| 革吉县| 沙河市| 宁武县| 河间市| 门头沟区| 奎屯市| 乌兰浩特市| 加查县| 军事| 夏河县| 紫云| 德昌县| 宜城市| 东海县| 措美县| 新民市| 郓城县| 谢通门县| 铁岭市| 汽车| 陕西省| 南岸区|