物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  图书  >  正文

图书馆职工考勤自动化管理系统的设计与实现

作者:RFID世界网 收编
来源:论文网
日期:2011-07-19 10:52:43
摘要:考勤管理人员设置考勤的时间范围,由系统自动生成每月相对应的考勤表,职工根据自己的实际出勤情况,申请请假、休假、出差、加班等,由各部门管理员审批,最后系统根据实际的刷卡情况已经考勤表进行考勤。

  1.引言

  加强考勤管理、严格考勤制度是企事业单位搞好各项经营管理的前提与保障。我馆原有考勤系统是门禁系统集成的,采用的是C/S模式,只能运行于局域网,不仅功能局限,考勤的过程需要大量的人工,而且人工方式考勤管理不科学,统计工作量大,容易出错。本系统的目标是实现门禁考勤的自动化管理,让管理人员从繁重的考勤管理工作中解脱出来,使考勤管理工作更加科学化、智能化,提高单位考勤管理的效率,避免人为疏忽、遗漏等错误,强化图书馆的科学管理。

  2.需求分析和设计目标

  考勤管理人员设置考勤的时间范围,由系统自动生成每月相对应的考勤表,职工根据自己的实际出勤情况,申请请假、休假、出差、加班等,由各部门管理员审批,最后系统根据实际的刷卡情况已经考勤表进行考勤。管理员使用系统流程如图1所示:

  根据应用需求,进行系统设计时应完成以下目标:
  (1).系统能够根据每周排班情况,自动生成规定时间段内的考勤表;
  (2).职工通过申请请假、休假、出差、加班,由部门管理员来审批,从而更改考勤表的信息,作为考勤的准确依据;
  (3).系统能够生成详细的考勤报表。

  3.系统设计

  3.1实现平台

  本系统采用B/S架构,基于SQLServer 2000数据库,采用ASP为主要开发语言,借助VBScript脚本语言,系统运行环境为Windows 2000 Server操作系统,并且安装IIS6.0。

  3.2功能模块设计

  (1).用户登录模块,该模块主要实现用户身份的识别。
  (2).用户管理模块,该模块用于实现用户的增删改,修改用户的考勤表信息。
  (3).系统设定模块,该模块主要用于自动生成规定时间内的考勤表;从刷卡记录表中复制规定时间段内的刷卡信息到考勤临时表,这是为了解决门禁记录表记录数过大,从而影响查询比较的速度。
  (4).考勤管理模块,该模块分为简单考勤,能够一键自动生成所有职工的考勤报表;详细考勤,可生成单独某个职工的详细考勤报表。

  3.3数据库设计

  门禁机刷卡记录表(visit)用来保存刷卡信息:记录编号(VisitNo),卡号职工(CardID),刷卡时间(VisitTime)。
  管理员表(kaoqin_admin)用来保存管理员信息:管理员名称(UserName),密码(Password),所属部门(Department)。
  考勤系统时间表(kaoqin_system)用来保存系统设定的考勤起始和结束时间:起始时间(starttime),结束时间(endtime)。
  考勤临时表(visit_temp)用来保存系统时间表范围内的刷卡信息:记录编号(VisitNo),卡号(CariID),刷卡时间(VisitTime)。
  普通用户表(kaoqin_user)用来保存每周规定到馆时间:卡号(CardID),姓名(Username),密码(Password),周一规定时间1(MonTime1),周一规定时间2(MonTime2)…周日规定时间2(SunTime2)。
  考勤表(kaoqin_table)用来保存每月考勤表:卡号(CardID),起始时间(starttime),结束时间(endtime),姓名(UserName),部门(Department),是否有效标识(Flag),每月1号时间1(Time01a),每月时间1号时间2(Time01b)…每月时间31号2(Time31b)。

  3.4关键技术及实现

  (1) ASP的技术
  ASP全称为Active Server Pages,是Microsoft公司提供的一种开发动态网页的技术。通过ASP,开发人员可以结合HTML网页、ASP指令和ActiveX控件建立动态的、交互的、高效的Web服务器应用程序,且能较容易实现复杂的Web扩展功能。ASP具有无需编译、易于生成、独立于浏览器等特点。论文参考网。
  (2) ADO访问数据库技术
  ADO(ActiveX Data Objects)是一组优化的访问数据库专用对象集,为ASP提供了完整的站点数据库访问解决方案。它可作用于服务器端,以提供含有数据库信息的主页内容。ADO 使用内置的RecordSets对象作为数据的主要接口。ADO可使用VBScript语言来控制对数据库的访问,以及查询结果的输出显示。
  (3)系统的关键步骤在于如何判断出勤的状态,实现该功能的代码如下所示:
  <%
  If len(trim(rs("Time01a")))<>0 Then
   time_temp=TimeValue(Cdate(rs("Time01a")))
   starttime=dateadd("h",-2,time_temp)
   starttime=variableday&""&starttime
   midtime=variableday&""&time_temp
   endtime=time_temp+TimeValue("1:00:00")
   endtime=variableday&""&endtime
   str1="select * From Visit_tempWhere CardID='"&cardid&"' andVisitTime>'"&starttime&"' andVisitTime<'"&midtime&"'"
   Setrs1=Server.CreateObject("ADODB.Recordset")
   rs1.Open str1, Conn,1,1
   If rs1.eof Then
   str2="select* From Visit_temp Where CardID='"&cardid&"' and VisitTime>'"&midtime&"'and VisitTime<'"&endtime&"' "
   Setrs2=Server.CreateObject("ADODB.Recordset")
   rs2.openstr2, Conn,1,1
   Ifrs2.eof Then%>
   <tr><td><divalign="center"><%=rs("CardID")%></div></td>
   <td><divalign="center"><%=rs("UserName")%></div></td>
   <td><divalign="center" class="style2">缺席<%=midtime%></div></td></tr>
     <%Else%>
   <tr><td><divalign="center"><%=rs("CardID")%></div></td>
   <td><divalign="center"><%=rs("UserName")%></div></td>
   <td><divalign="center"><span class="style2">迟到<%=rs2("VisitTime")%></span></div></td></tr>
   <%endif
   end if
  end if%>

  4.结语

  本系统已在我校图书馆稳定运行多年,实时性强,充分利用了现有的门禁设备,无需添加任何其他设备。论文参考网。门禁考勤系统的设计与开发使得考勤数据处理,数据维护,手动更改数据,对数据库中的数据进行统计查询,自动生成考勤报表等考勤管理工作变得方便迅捷。论文参考网。实现了南航图书馆考勤的自动化,能在每学期根据职工排班、上课情况调整各人考勤表,实现将迟到、应到岗未刷卡的情况直接列出,减少人工反复核对,避免人为的疏忽、遗漏等错误,提高了考勤工作效率。