嚴李宏,黃 成
(江陰職業技術學院 計算機科學系,江蘇 江陰 214405)
?
基于.NET框架的高職體育鍛煉考勤系統的研究與實現
嚴李宏,黃 成
(江陰職業技術學院 計算機科學系,江蘇 江陰 214405)
該文分析了在高職院校中構建體育鍛煉考勤系統的必要性,介紹了該考勤系統的業務流程,并基于.NET框架設計了高職體育鍛煉考勤系統,對系統中3層架構的各功能模塊進行了探討,同時闡述了部分代碼在系統中的作用,旨在使體育鍛煉管理工作更加高效有序.
.NET框架; 高職體育鍛煉; 考勤系統
高職院校早鍛煉、課外活動具有時間性強,學生多而集中,涉及面廣等特點.如何統一、高效地組織管理好學生早鍛煉、課外活動,吸引更多的學生主動參與到早鍛煉、課外活動中來.讓學生真正達到鍛煉身體,增強體質的目的,一直是高職院校體育教育管理工作中的棘手問題.目前各高職院校體育鍛煉管理由于學生管理工作的特殊性,以及使用設備的局限性,加上原有軟件設計的缺陷,在考勤和日常管理等方面,還只是停留在半自動狀態,導致管理過程中漏洞較多,管理較為混亂,管理效率較差.因此設計一款高效、穩定、安全的體育鍛煉考勤系統已成為必然的趨勢.
體育鍛煉考勤系統用戶主要分為兩個模塊:管理員和學生.無論是學生還是管理員都要有自己的賬號和密碼才能登錄此系統.根據管理員的權限不同,此系統給予管理員展現不同的權限模塊.學生可以根據自己現有的賬號和密碼登錄查詢自己的早鍛煉和俱樂部活動情況.實時了解自己最新的體育考勤信息,快捷完成本學期的早鍛煉任務.此系統安全性極高,密碼存進數據庫全部采用隨機生成64位字符串.
系統的主要功能是體育部教師可及時了解學生體育考勤的信息與自己最新早鍛煉的管理問題;系部輔導員可督促早鍛煉未完成的學生及時參加早鍛煉;財務處老師可以及時查找本學期早鍛煉未過的同學信息,方便學生繳費;教務處老師根據財務處老師的操作信息及時查詢學生的繳費信息,開出憑證單據,方便快捷.
根據.NET面向架構的設計思想,本系統體系架構如圖1所示,邏輯上共分為3層,分別為:數據訪問層,業務邏輯層,用戶交互層[1].①數據訪問層:負責對業務數據的管理與存儲,主要是對原始數據的操作層,具體為業務邏輯層提供數據訪問服務.②業務邏輯層:負責根據業務協作流程提供相應的業務功能,主要是針對具體的問題的操作,也可以理解成對數據層的操作,對數據業務邏輯處理[2].③用戶交互層:提供了客戶交互的手段和界面,主要表現為基于B/S(瀏覽器/服務器)結構的Web界面以及手機客戶端訪問.
2.1 功能模塊管理設計
本系統為滿足廣大師生的需求,便于體育部快捷、有效的管理.系統包括刷卡管理,重修/繳費管理、查詢管理、基礎設置、系統管理等五個模塊.如圖2所示.
2.2 系統角色與各功能模塊介紹
本系統的角色主要包括超級管理員、系部人員、教務處人員、財務處人員、刷卡人員、所有學生,具體權限分配如表1所示.

圖1 系統體系架構圖 圖2 系統總體功能模塊圖
表1 項目總體功能性需求

(1)刷卡管理.刷卡管理模塊主要包括學生早鍛煉和俱樂部活動次數的及時模式和儲存模式的刷卡,并包括補跑管理和早鍛煉集中刷卡.
刷卡人員用掃描槍掃描早鍛煉或者俱樂部學生的積點卡,把參加早鍛煉和俱樂部的學生學號信息儲存在掃描槍中.管理員登錄系統成功后,點擊瀏覽早鍛煉刷卡(及時模式)管理,把掃描槍里儲存學生學號的信息導入到學號的文本框中,便會出現此頁面,然后點擊刷卡,即可完成早鍛煉刷卡(及時模式).早鍛煉刷卡(儲存模式)主要是應對刷卡學生較多,節約刷卡人員時間,提高刷卡效率而開發的.管理員登錄體育考勤系統成功后,把掃描槍里面的數據導入到文本框中選擇今日的刷卡時間,單機刷卡按鈕即可實現.
管理員可以查詢刷卡學生信息,根據篩選條件選擇操作的類型(刷卡和刪除).
早鍛煉刷卡(及時模式)涉及到管理員刷卡是否是在規定時間內操作的,若不是則彈出消息提示.界面層涉及到的核心代碼主要運用截取字符串的方法,以及判斷當前的時間是否可以執行刷卡操作,把掃描器里的數據綁定到(TEXTBOX)文本框中,Web.UI層的核心代碼如下:
#region 早鍛煉刷卡(及時模式)
protected void btnSwingCard_Click(object sender, EventArgs e)
{
string Errmsg ="";
Errmsg = IsCanSave();
if (Errmsg != "")
{
ShowMessage(Errmsg);
return;
}
if (TermsManager.IsCanReadCard() ==false) //調用BLL層自己寫的判斷刷卡時間是否滿足刷卡條件
{
ShowMessage("你好,當前時間不允許刷卡操作!");
return;
}
string mess = txtStuId.Text.Trim();
string[] stus = Utils.SplitString(mess, " "); //調用Common層里的分割字符串的方法,方法的參數有(要分割的字符串,分割的參數)
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
調用BLL層的核心代碼,主要是編寫sql語句進行刷卡的操作的時間限制:
#region 判斷當前時間是否允許早鍛煉刷卡
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)重修/繳費管理.重修/繳費管理模塊:對重修/繳費信息瀏覽,主要運用到sql視圖語句的代碼編寫,通過查詢重修繳費表、學生表、學期表,這三張表對早鍛煉次數不滿的同學進行sql語句查詢.通過不同的學期、系部、班級、學號等進行多種條件的查詢,既保證了數據查詢的準確性,同時也防止冗余數據的出現,方便管理員快捷查詢學生的體育早鍛煉信息.根據按條件查詢結果,各系部老師可以將本系學生早鍛煉次數不足的學生名單導出.單擊導出按鈕,即可實現.
導出的核心代碼如下:
protected void btnPutOut_Click(object sender, EventArgs e)
{
Export("application/ms-excel", "重修繳費表.xls");
AlertMsg("導出提示", "#", "您好,導出成功!", "~/RebuildpPyments.aspx");
}
#region 數據導出
///
/// 導出數據函數
///
/// 導出文件MIME類型
/// 導出文件的名稱
private void Export(String FileType, String FileName)
{
Response.Clear();
Response.BufferOutput = true;
//設定輸出字符集
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename="
+ HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8));
//設置輸出流HttpMiME類型(導出文件格式)
Response.ContentType = FileType;
//關閉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寫回游覽器
Response.Write(stringWriter.ToString());
Response.End();
Response.Flush();
}
#endregion
(3)查詢管理.查詢管理模塊主要功能:早鍛煉系部查詢、早鍛煉教務處查詢、早鍛煉財務處查詢、早鍛煉學生查詢.系部管理員進入系統,對學生跑操情況進行瀏覽并可導出相應數據及時提醒學生.教務處管理員進入系統教務處模塊,對跑操未過學生的情況進行操作(是否需重修辦理),并查看學生重修費用是否已辦理情況.財務處管理員進入系統,可以及時查找本學期早鍛煉未過及體育成績不及格的同學信息,對跑操未過學生的情況進行操作(是否繳費審核).學生通過系統前臺用姓名和學號登陸,可隨時查詢本學期的跑操次數.
2.3 數據庫設計
數據庫是管理系統的基礎與核心[3].數據庫設計將直接影響管理系統的性能.根據以上對體育鍛煉考勤管理系統模塊的設計,已明確了本系統所需要設計與開發所有功能.本數據庫采用Sql Server進行設計.依據各個功能模塊所需設計了9張數據庫表:系部表、班級表、學生表、用戶表、學期表、早鍛煉記錄表、俱樂部記錄表、重修繳費表、補跑表.如學期表主要包括:學期編號,學期名稱,學期開始時間,學期結束時間,早鍛煉次數,早鍛煉開始時間,早鍛煉結束時間,俱樂部開始時間,俱樂部結束時間,俱樂部時間間隔,俱樂部前多少次,俱樂部活動次數,俱樂部轉換分值,俱樂部最大分值,俱樂部最大分值,俱樂部后多少次,俱樂部轉換早鍛煉次數.早鍛煉記錄表主要包括:編號,學號,早鍛煉時間,刷卡人,刷卡時間.俱樂部記錄表主要包括:編號,學號,進場時間,出場時間,進場刷卡人,出場刷卡人,進場刷卡時間,出場刷卡時間.
體育鍛煉考勤系統是基于.NET框架,采用三層架構B/S模式實現[4],使用Visual Studio2013軟件作為開發平臺,SQL Server2008作為數據庫設計軟件,內容需要采用的語言是采用Asp.net、JS、JavaScript腳本語言、HTML標識語言等開發語言[5].基礎數據通過手持讀卡器進行讀卡導入.體育鍛煉考勤管理系統通過讀卡器讀取數據加快了體育組考勤效率;解決了學生及時了解自己最新早鍛煉的管理問題;實現學生體育考勤的信息及時上報給體育部老師;系部輔導員督促早鍛煉未完成的學生及時參加早鍛煉;同時,財務處老師可以及時查找本學期早鍛煉未過及體育成績不及格的同學信息,方便學生繳費;教務處老師根據財務處老師的操作信息及時查詢學生的繳費信息,開出憑證單據,方便快捷.提高了各主管部門的工作效率.
本系統基于.NET框架進行開發,經過一段時間的測試、調試,在功能上達到了預期的目標.該系統在我院已運行了近一年,效果較好,方便了體育考勤的管理,提高了部門間的工作效率.
[1]梁昊.基于.NET框架的校園網絡報修系統的實現[J].長沙大學學報,2011(9):43-44.
[2]陳翠紅.基于.NET三層架構的高校學生電子檔案管理系統的設計與實現[J].通化師范學院學報,2014(4):33-35.
[3]陳陽.基于.NET的酒店管理系統的設計與實現[D].長春:吉林大學,2014(12):38-59.
[4]何曉冬.基于.NET在線學習系統的開發與實踐[J].湖北函授大學學報,2015(23):110-111.
[5]武旭妹,侯健,王世梁.基于.NET的教務信息內容管理系統的研究與實現[J].電腦知識與技術,2016(1):106-107,110.
(責任編輯:王前)
10.13877/j.cnki.cn22-1284.2016.08.003
2016-04-05
嚴李宏,男,江蘇江陰人,講師.
TP31
A
1008-7974(2016)04-0008-04