嚴(yán)李宏,黃 成
(江陰職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)科學(xué)系,江蘇 江陰 214405)
?
基于.NET框架的高職體育鍛煉考勤系統(tǒng)的研究與實(shí)現(xiàn)
嚴(yán)李宏,黃 成
(江陰職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)科學(xué)系,江蘇 江陰 214405)
該文分析了在高職院校中構(gòu)建體育鍛煉考勤系統(tǒng)的必要性,介紹了該考勤系統(tǒng)的業(yè)務(wù)流程,并基于.NET框架設(shè)計(jì)了高職體育鍛煉考勤系統(tǒng),對(duì)系統(tǒng)中3層架構(gòu)的各功能模塊進(jìn)行了探討,同時(shí)闡述了部分代碼在系統(tǒng)中的作用,旨在使體育鍛煉管理工作更加高效有序.
.NET框架; 高職體育鍛煉; 考勤系統(tǒng)
高職院校早鍛煉、課外活動(dòng)具有時(shí)間性強(qiáng),學(xué)生多而集中,涉及面廣等特點(diǎn).如何統(tǒng)一、高效地組織管理好學(xué)生早鍛煉、課外活動(dòng),吸引更多的學(xué)生主動(dòng)參與到早鍛煉、課外活動(dòng)中來(lái).讓學(xué)生真正達(dá)到鍛煉身體,增強(qiáng)體質(zhì)的目的,一直是高職院校體育教育管理工作中的棘手問(wèn)題.目前各高職院校體育鍛煉管理由于學(xué)生管理工作的特殊性,以及使用設(shè)備的局限性,加上原有軟件設(shè)計(jì)的缺陷,在考勤和日常管理等方面,還只是停留在半自動(dòng)狀態(tài),導(dǎo)致管理過(guò)程中漏洞較多,管理較為混亂,管理效率較差.因此設(shè)計(jì)一款高效、穩(wěn)定、安全的體育鍛煉考勤系統(tǒng)已成為必然的趨勢(shì).
體育鍛煉考勤系統(tǒng)用戶主要分為兩個(gè)模塊:管理員和學(xué)生.無(wú)論是學(xué)生還是管理員都要有自己的賬號(hào)和密碼才能登錄此系統(tǒng).根據(jù)管理員的權(quán)限不同,此系統(tǒng)給予管理員展現(xiàn)不同的權(quán)限模塊.學(xué)生可以根據(jù)自己現(xiàn)有的賬號(hào)和密碼登錄查詢自己的早鍛煉和俱樂(lè)部活動(dòng)情況.實(shí)時(shí)了解自己最新的體育考勤信息,快捷完成本學(xué)期的早鍛煉任務(wù).此系統(tǒng)安全性極高,密碼存進(jìn)數(shù)據(jù)庫(kù)全部采用隨機(jī)生成64位字符串.
系統(tǒng)的主要功能是體育部教師可及時(shí)了解學(xué)生體育考勤的信息與自己最新早鍛煉的管理問(wèn)題;系部輔導(dǎo)員可督促早鍛煉未完成的學(xué)生及時(shí)參加早鍛煉;財(cái)務(wù)處老師可以及時(shí)查找本學(xué)期早鍛煉未過(guò)的同學(xué)信息,方便學(xué)生繳費(fèi);教務(wù)處老師根據(jù)財(cái)務(wù)處老師的操作信息及時(shí)查詢學(xué)生的繳費(fèi)信息,開(kāi)出憑證單據(jù),方便快捷.
根據(jù).NET面向架構(gòu)的設(shè)計(jì)思想,本系統(tǒng)體系架構(gòu)如圖1所示,邏輯上共分為3層,分別為:數(shù)據(jù)訪問(wèn)層,業(yè)務(wù)邏輯層,用戶交互層[1].①數(shù)據(jù)訪問(wèn)層:負(fù)責(zé)對(duì)業(yè)務(wù)數(shù)據(jù)的管理與存儲(chǔ),主要是對(duì)原始數(shù)據(jù)的操作層,具體為業(yè)務(wù)邏輯層提供數(shù)據(jù)訪問(wèn)服務(wù).②業(yè)務(wù)邏輯層:負(fù)責(zé)根據(jù)業(yè)務(wù)協(xié)作流程提供相應(yīng)的業(yè)務(wù)功能,主要是針對(duì)具體的問(wèn)題的操作,也可以理解成對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理[2].③用戶交互層:提供了客戶交互的手段和界面,主要表現(xiàn)為基于B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)的Web界面以及手機(jī)客戶端訪問(wèn).
2.1 功能模塊管理設(shè)計(jì)
本系統(tǒng)為滿足廣大師生的需求,便于體育部快捷、有效的管理.系統(tǒng)包括刷卡管理,重修/繳費(fèi)管理、查詢管理、基礎(chǔ)設(shè)置、系統(tǒng)管理等五個(gè)模塊.如圖2所示.
2.2 系統(tǒng)角色與各功能模塊介紹
本系統(tǒng)的角色主要包括超級(jí)管理員、系部人員、教務(wù)處人員、財(cái)務(wù)處人員、刷卡人員、所有學(xué)生,具體權(quán)限分配如表1所示.
圖1 系統(tǒng)體系架構(gòu)圖 圖2 系統(tǒng)總體功能模塊圖
表1 項(xiàng)目總體功能性需求
(1)刷卡管理.刷卡管理模塊主要包括學(xué)生早鍛煉和俱樂(lè)部活動(dòng)次數(shù)的及時(shí)模式和儲(chǔ)存模式的刷卡,并包括補(bǔ)跑管理和早鍛煉集中刷卡.
刷卡人員用掃描槍掃描早鍛煉或者俱樂(lè)部學(xué)生的積點(diǎn)卡,把參加早鍛煉和俱樂(lè)部的學(xué)生學(xué)號(hào)信息儲(chǔ)存在掃描槍中.管理員登錄系統(tǒng)成功后,點(diǎn)擊瀏覽早鍛煉刷卡(及時(shí)模式)管理,把掃描槍里儲(chǔ)存學(xué)生學(xué)號(hào)的信息導(dǎo)入到學(xué)號(hào)的文本框中,便會(huì)出現(xiàn)此頁(yè)面,然后點(diǎn)擊刷卡,即可完成早鍛煉刷卡(及時(shí)模式).早鍛煉刷卡(儲(chǔ)存模式)主要是應(yīng)對(duì)刷卡學(xué)生較多,節(jié)約刷卡人員時(shí)間,提高刷卡效率而開(kāi)發(fā)的.管理員登錄體育考勤系統(tǒng)成功后,把掃描槍里面的數(shù)據(jù)導(dǎo)入到文本框中選擇今日的刷卡時(shí)間,單機(jī)刷卡按鈕即可實(shí)現(xiàn).
管理員可以查詢刷卡學(xué)生信息,根據(jù)篩選條件選擇操作的類型(刷卡和刪除).
早鍛煉刷卡(及時(shí)模式)涉及到管理員刷卡是否是在規(guī)定時(shí)間內(nèi)操作的,若不是則彈出消息提示.界面層涉及到的核心代碼主要運(yùn)用截取字符串的方法,以及判斷當(dāng)前的時(shí)間是否可以執(zhí)行刷卡操作,把掃描器里的數(shù)據(jù)綁定到(TEXTBOX)文本框中,Web.UI層的核心代碼如下:
#region 早鍛煉刷卡(及時(shí)模式)
protected void btnSwingCard_Click(object sender, EventArgs e)
{
string Errmsg ="";
Errmsg = IsCanSave();
if (Errmsg != "")
{
ShowMessage(Errmsg);
return;
}
if (TermsManager.IsCanReadCard() ==false) //調(diào)用BLL層自己寫(xiě)的判斷刷卡時(shí)間是否滿足刷卡條件
{
ShowMessage("你好,當(dāng)前時(shí)間不允許刷卡操作!");
return;
}
string mess = txtStuId.Text.Trim();
string[] stus = Utils.SplitString(mess, " "); //調(diào)用Common層里的分割字符串的方法,方法的參數(shù)有(要分割的字符串,分割的參數(shù))
string StuIds = "";
for (int i = 0; i <= stus.Length - 1; i++)
{
if (stus[i].ToString().Trim() != "")
{
if (StuIds == "")
StuIds = "select'"+stus[i].ToString()+ "'as StuId";
else
StuIds = StuIds +union select'"+stus[i].ToString()+"'as StuId";
}
}
moringRecordsManger.BatchReadCard(Utils.GetCookie("AdminName"), StuIds);
Reload();
txtStuId.Text = "";
ShowMessage("保存成功!");
}
#endregion
調(diào)用BLL層的核心代碼,主要是編寫(xiě)sql語(yǔ)句進(jìn)行刷卡的操作的時(shí)間限制:
#region 判斷當(dāng)前時(shí)間是否允許早鍛煉刷卡
public bool IsCanReadCard()
{
string sql;
sql = " select * "
+ " from "
+ " ( "
+ " select (CONVERT(varchar,getdate(),102) + ' ' + CAST( DATEPART(HOUR, MoringStartTime) as varchar) + ':' + CAST( DATEPART(MINUTE, MoringStartTime) as varchar) + ':0') as StartTime, "
+ " (CONVERT(varchar,getdate(),102) + ' ' + CAST( DATEPART(HOUR, MoringEndTime) as varchar) + ':' + CAST( DATEPART(MINUTE, MoringEndTime) as varchar) + ':0') as EndTime "
+ " from "
+ " ( "
+ " select top 1 MoringStartTime,MoringEndTime "
+ " from Terms "
+ " )T "
+ " )T1 "
+ " where DATEDIFF(mi,StartTime,GETDATE())>=0 and DATEDIFF(mi,EndTime,GETDATE())<=0";
return dal.IsHaveRows(sql);
}
#endregion
(2)重修/繳費(fèi)管理.重修/繳費(fèi)管理模塊:對(duì)重修/繳費(fèi)信息瀏覽,主要運(yùn)用到sql視圖語(yǔ)句的代碼編寫(xiě),通過(guò)查詢重修繳費(fèi)表、學(xué)生表、學(xué)期表,這三張表對(duì)早鍛煉次數(shù)不滿的同學(xué)進(jìn)行sql語(yǔ)句查詢.通過(guò)不同的學(xué)期、系部、班級(jí)、學(xué)號(hào)等進(jìn)行多種條件的查詢,既保證了數(shù)據(jù)查詢的準(zhǔn)確性,同時(shí)也防止冗余數(shù)據(jù)的出現(xiàn),方便管理員快捷查詢學(xué)生的體育早鍛煉信息.根據(jù)按條件查詢結(jié)果,各系部老師可以將本系學(xué)生早鍛煉次數(shù)不足的學(xué)生名單導(dǎo)出.單擊導(dǎo)出按鈕,即可實(shí)現(xiàn).
導(dǎo)出的核心代碼如下:
protected void btnPutOut_Click(object sender, EventArgs e)
{
Export("application/ms-excel", "重修繳費(fèi)表.xls");
AlertMsg("導(dǎo)出提示", "#", "您好,導(dǎo)出成功!", "~/RebuildpPyments.aspx");
}
#region 數(shù)據(jù)導(dǎo)出
///
/// 導(dǎo)出數(shù)據(jù)函數(shù)
///
/// 導(dǎo)出文件MIME類型
/// 導(dǎo)出文件的名稱
private void Export(String FileType, String FileName)
{
Response.Clear();
Response.BufferOutput = true;
//設(shè)定輸出字符集
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename="
+ HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8));
//設(shè)置輸出流HttpMiME類型(導(dǎo)出文件格式)
Response.ContentType = FileType;
//關(guān)閉ViewState
Page.EnableViewState = false;
System.Globalization.CultureInfo cultureInfo = new ystem.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo);
HtmlTextWriter textWriter = new HtmlTextWriter(stringWriter);
rptList.RenderControl(textWriter);
//把HTML寫(xiě)回游覽器
Response.Write(stringWriter.ToString());
Response.End();
Response.Flush();
}
#endregion
(3)查詢管理.查詢管理模塊主要功能:早鍛煉系部查詢、早鍛煉教務(wù)處查詢、早鍛煉財(cái)務(wù)處查詢、早鍛煉學(xué)生查詢.系部管理員進(jìn)入系統(tǒng),對(duì)學(xué)生跑操情況進(jìn)行瀏覽并可導(dǎo)出相應(yīng)數(shù)據(jù)及時(shí)提醒學(xué)生.教務(wù)處管理員進(jìn)入系統(tǒng)教務(wù)處模塊,對(duì)跑操未過(guò)學(xué)生的情況進(jìn)行操作(是否需重修辦理),并查看學(xué)生重修費(fèi)用是否已辦理情況.財(cái)務(wù)處管理員進(jìn)入系統(tǒng),可以及時(shí)查找本學(xué)期早鍛煉未過(guò)及體育成績(jī)不及格的同學(xué)信息,對(duì)跑操未過(guò)學(xué)生的情況進(jìn)行操作(是否繳費(fèi)審核).學(xué)生通過(guò)系統(tǒng)前臺(tái)用姓名和學(xué)號(hào)登陸,可隨時(shí)查詢本學(xué)期的跑操次數(shù).
2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)是管理系統(tǒng)的基礎(chǔ)與核心[3].數(shù)據(jù)庫(kù)設(shè)計(jì)將直接影響管理系統(tǒng)的性能.根據(jù)以上對(duì)體育鍛煉考勤管理系統(tǒng)模塊的設(shè)計(jì),已明確了本系統(tǒng)所需要設(shè)計(jì)與開(kāi)發(fā)所有功能.本數(shù)據(jù)庫(kù)采用Sql Server進(jìn)行設(shè)計(jì).依據(jù)各個(gè)功能模塊所需設(shè)計(jì)了9張數(shù)據(jù)庫(kù)表:系部表、班級(jí)表、學(xué)生表、用戶表、學(xué)期表、早鍛煉記錄表、俱樂(lè)部記錄表、重修繳費(fèi)表、補(bǔ)跑表.如學(xué)期表主要包括:學(xué)期編號(hào),學(xué)期名稱,學(xué)期開(kāi)始時(shí)間,學(xué)期結(jié)束時(shí)間,早鍛煉次數(shù),早鍛煉開(kāi)始時(shí)間,早鍛煉結(jié)束時(shí)間,俱樂(lè)部開(kāi)始時(shí)間,俱樂(lè)部結(jié)束時(shí)間,俱樂(lè)部時(shí)間間隔,俱樂(lè)部前多少次,俱樂(lè)部活動(dòng)次數(shù),俱樂(lè)部轉(zhuǎn)換分值,俱樂(lè)部最大分值,俱樂(lè)部最大分值,俱樂(lè)部后多少次,俱樂(lè)部轉(zhuǎn)換早鍛煉次數(shù).早鍛煉記錄表主要包括:編號(hào),學(xué)號(hào),早鍛煉時(shí)間,刷卡人,刷卡時(shí)間.俱樂(lè)部記錄表主要包括:編號(hào),學(xué)號(hào),進(jìn)場(chǎng)時(shí)間,出場(chǎng)時(shí)間,進(jìn)場(chǎng)刷卡人,出場(chǎng)刷卡人,進(jìn)場(chǎng)刷卡時(shí)間,出場(chǎng)刷卡時(shí)間.
體育鍛煉考勤系統(tǒng)是基于.NET框架,采用三層架構(gòu)B/S模式實(shí)現(xiàn)[4],使用Visual Studio2013軟件作為開(kāi)發(fā)平臺(tái),SQL Server2008作為數(shù)據(jù)庫(kù)設(shè)計(jì)軟件,內(nèi)容需要采用的語(yǔ)言是采用Asp.net、JS、JavaScript腳本語(yǔ)言、HTML標(biāo)識(shí)語(yǔ)言等開(kāi)發(fā)語(yǔ)言[5].基礎(chǔ)數(shù)據(jù)通過(guò)手持讀卡器進(jìn)行讀卡導(dǎo)入.體育鍛煉考勤管理系統(tǒng)通過(guò)讀卡器讀取數(shù)據(jù)加快了體育組考勤效率;解決了學(xué)生及時(shí)了解自己最新早鍛煉的管理問(wèn)題;實(shí)現(xiàn)學(xué)生體育考勤的信息及時(shí)上報(bào)給體育部老師;系部輔導(dǎo)員督促早鍛煉未完成的學(xué)生及時(shí)參加早鍛煉;同時(shí),財(cái)務(wù)處老師可以及時(shí)查找本學(xué)期早鍛煉未過(guò)及體育成績(jī)不及格的同學(xué)信息,方便學(xué)生繳費(fèi);教務(wù)處老師根據(jù)財(cái)務(wù)處老師的操作信息及時(shí)查詢學(xué)生的繳費(fèi)信息,開(kāi)出憑證單據(jù),方便快捷.提高了各主管部門(mén)的工作效率.
本系統(tǒng)基于.NET框架進(jìn)行開(kāi)發(fā),經(jīng)過(guò)一段時(shí)間的測(cè)試、調(diào)試,在功能上達(dá)到了預(yù)期的目標(biāo).該系統(tǒng)在我院已運(yùn)行了近一年,效果較好,方便了體育考勤的管理,提高了部門(mén)間的工作效率.
[1]梁昊.基于.NET框架的校園網(wǎng)絡(luò)報(bào)修系統(tǒng)的實(shí)現(xiàn)[J].長(zhǎng)沙大學(xué)學(xué)報(bào),2011(9):43-44.
[2]陳翠紅.基于.NET三層架構(gòu)的高校學(xué)生電子檔案管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].通化師范學(xué)院學(xué)報(bào),2014(4):33-35.
[3]陳陽(yáng).基于.NET的酒店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2014(12):38-59.
[4]何曉冬.基于.NET在線學(xué)習(xí)系統(tǒng)的開(kāi)發(fā)與實(shí)踐[J].湖北函授大學(xué)學(xué)報(bào),2015(23):110-111.
[5]武旭妹,侯健,王世梁.基于.NET的教務(wù)信息內(nèi)容管理系統(tǒng)的研究與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2016(1):106-107,110.
(責(zé)任編輯:王前)
10.13877/j.cnki.cn22-1284.2016.08.003
2016-04-05
嚴(yán)李宏,男,江蘇江陰人,講師.
TP31
A
1008-7974(2016)04-0008-04