时间:2024-06-19
严李宏,黄 成
(江阴职业技术学院 计算机科学系,江苏 江阴 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
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!