集团远程办公自动化之员工考勤系统.docx
- 文档编号:12537168
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:31
- 大小:28.28KB
集团远程办公自动化之员工考勤系统.docx
《集团远程办公自动化之员工考勤系统.docx》由会员分享,可在线阅读,更多相关《集团远程办公自动化之员工考勤系统.docx(31页珍藏版)》请在冰豆网上搜索。
集团远程办公自动化之员工考勤系统
目录
第一章、 绪论……………………………………………………1
1.1论文研究的背景…1
1.2办公自动化系统发展概况及趋势…1
1.3论文的目标和意义…2
第二章、 办公自动化系统开发的理论和技术基础……………4
2.1ASP.NET概述…4
2.2C#概述(本文程序采用C#编程)…4
第三章、 系统设计………………………………………………6
3.1需求分析…6
3.2总体设计…6
3.2.1UML活动关系图…6
3.3功能设计…7
3.3.1项目管理…7
3.3.2项目角色管理…7
3.3.3项目进程日志管理…7
3.3.4项目统计报告…8
第四章、 数据库设计与实现……………………………………9
4.1.数据库的需求分析…9
4.1.1数据项和数据结构…9
4.2.数据库的逻辑设计…9
4.2.1.人员基本信息表(MrBaseInf)…9
4.2.2.项目基本信息表…9
4.2.3.项目成员信息表(PM_ProjectMembers)…10
4.2.4.项目角色字典表(PM_Roles)…10
4.2.5.项目进程表…10
4.2.6.项目进程日志表…11
4.3.数据库存储过程…11
第五章、 项目管理………………………………………………14
5.1.实现效果…14
5.2.用户表示层…14
5.2.1.项目列表页面ProjectList.aspx…14
5.2.2.ProjectList.aspx的后台代码…14
5.2.3.项目详细信息页面….19
5.2.4日期选择页面Calendar.aspx…34
5.3业务逻辑层…35
5.4数据访问层…35
5.5项目角色管理…36
5.5.1实现效果…36
5.5.2权限判断…36
5.6项目进程日志管理…37
5.6.2身份验证…37
5.7项目统计报告…38
5.7.1实现效果…38
5.7.2权限判断…38
第六章、 总结……………………………………………………39
第七章、 参考文献………………………………………………45
第八章、 致谢……………………………………………………46
第1章概述
1.1课题设计背景
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。
Web用超链接的方式使用户能非常方便地从Internet的一个站点访问另一个站点,从而获取丰富的信息。
与此同时,越来越多的中小企业为了适应信息革命的要求,提高自身的竞争力,正打算或正在建立符合企业特色的办公自动化信息系统。
但是,这些中小企业由于自身信息化基础比较薄弱,计算机软、硬件配置较差,而且员工的素质也参差不齐,同时,其经济实力并不雄厚,不可能像政府或大公司、大企业那样进行大量投资建设信息系统。
无论公司还是企业,都会涉及到对职工的考勤管理。
考勤管理在生产管理过程中充当着一个十分重要角色,考勤管理的效率对生产的效果起着举足轻重的作用。
随着现代科学技术的发展,越来越多的公司和企业对职工的考勤管理都实行了信息化管理,使用计算机系统代替繁琐冗余的手工方式来管理考勤事务。
传统的手工方式不仅效率低下,而且容易出错,采用计算机技术进行货物管理可以克服手工管理的缺点,将人们从烦杂的劳动中解放出来。
基于此,开发了一套考勤管理系统,其主要目的是为了统计员工的迟到、早退、旷工、事病假、加班以及出差情况,这些信息将直接作为公司对员工的奖惩、提升以及培训的依据。
1.2办公自动化及员工考勤系统发展概况及趋势
随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。
建设一个科学高效的信息管理系统是解决这一问题的必由之路。
办公自动化已经成为现代企事业单位实现管理现代化的一个重要途径。
办公自动化(OA),是指利用计算机技术和网络技术,使办公室部分工作逐步物化于各种现代化设备中,由办公室人员与设备共同构成服务于某种目标的人机信息处理系统。
目前办公自动化系统发展的状况是,大公司做平台,中小公司做产品,通过平台可进行二次开发,通过产品可以做业务定制。
考勤管理作为企业内部的一种管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,日常的考勤工作,如果没有一个完整的管理,后果将不堪设想。
我国中小企业信息化水平一直处在比较初级的阶段,有关统计表明,真正具备计算机信息化比较高应用水平的企业在全国1000多万中小企业中所占的比例还不足10%。
然而,随着我国市场经济的不断成熟,企业的竞争也在不断的加剧,同时企业组织管理观念的变革以及业务流程标准化也在不断完善,中小企业信息化建设的热情近几年来有了显著的提高。
因此开发一个高质量的考勤工资系统进行企业管理尤为重要。
1.3方法概要
本考勤管理系统是采用面向对象的程序设计思想进行编制的,整个系统由若干个表、类、报表以及一个主菜单组成,由工程管理器统一管理全部程序的编写和调试。
用户可以通过主菜单调用系统的各项功能。
1.面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。
2.所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。
一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。
对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。
用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通信。
3.类可视为一个产品模具、一个模块。
在面向对象设计中,类是对象的原型,是对象的制作器。
类的概念是面向对象程序设计最重要的特征。
所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。
1.4系统开发的意义和条件
本系统开发的目的是紧密结合当前企事业单位和中小型公司办公业务流程和管理特点,开发一套综合的、完整的、水平较高的、能在局域网和广域网运行的办公自动化系统。
通过该系统的使用,可以有效的提高企事业单位和公司的工作效率,提高单位信息化管理水平,减少工作人数,降低成本。
特别是在员工考勤中,可以节约人力,实现从人力资源上提高效率和减少投入。
以面向对象技术为基础,美国微软公司推出的.NET为开发平台,采用B/S结构,以微软公司的SglServer2000为后台数据管理系统,结合INTERNET和INTRANET技术,开发一套先进的、综合的、完整的、可直接应用于实际使用单位的,办公自动化系统。
第2章 数据库的设计与实现
现在的办公自动化系统以及大多数的管理应用软件,都是以数据库为中心的应用。
一个结构良好的,考虑周全的数据库设计,是项目成功的关键。
本系统采用的数据库为Microsoft的SQLServer。
2.1SQLServer的优点
SQLServer正受到越来越广泛地欢迎,其原因在于:
它是一个拥有众多令人无法抗拒的优点的数据库。
数据完整性是任何一个好的数据库都要具备的最重要的一个特性。
SQLServer最大的优点就在于它极为可靠地实施了ACID特性;它的安全性保证关键数据的安全。
它的速度非常快,并具有高度的可调性。
第三章:
需求分析
办公自动化系统的建立,需要进行用户需求调查与分析,以确定系统目标,这是系统建设的重要环节。
中小企业需要规模相对较小,但其在功能上对系统的需求却是全面的。
大体可分为:
一方面是通过收发电子邮件为主的方式,与其它员工交流各种信息,基于工作流的方式实现诸如请假申请、物品申领审批过程;员工管理个人日程安排,各种图书资料的查阅等日常办公功能。
另一方面则是面向公司办公业务方面的业务管理功能。
即完全采用计算机技术处理办公业务,使企业内部人员能够方便快捷地共享信息、交流信息,高效地协同工作,既兼顾个人办公效率的提高,又可以实现群体协同工作。
综合、大型的办公自动化软件系统,没有通用的产品,需要由办公自动化方案提供商,在确定的平台上,按用户的具体情况度身开发。
而现在,市面上已经逐渐出现了通用的商品化办公自动化软件产品,用户只需要购买回来就可以着手实施了。
节省大量的时间及开发资金,并避免开发风险。
根据企业具体需求,下面列出大体的,细节需求在此不做详述:
(1)权限管理:
只有经过授权的人员才可以进入本系统。
本系统的使用者又分多种角色:
管理人、审核人、审批人、归档人。
每个角色在本模块中都只能进行相应的操作,而不能越权操作。
(2记录分类。
每一种记录类别对应着不同的记录项目,不同的记录报告。
(3)记录项目。
每种记录类别,都含有多种记录项目,每次具体的记录项目可都要填写固定格式的Word文档。
(4)系统需要记录所有模块的基本资料,又叫原始资料。
(5)报告流程。
每次记录之前,系统需根据不同的记录对象,不同的记录种类,确定不同的报告项目和内容,生成“原始记录报告”。
(6)系统可以根据需要,实时的生成“原始记录报告”和“记录报告”的Word文档。
(7)加分页。
在每个报告项目文档中,可能会因为测定数据的不定性而动态的增加页码的长度。
第4章用户考勤及设置
个人考勤
登记出差
登记请假
登记外出
登记上下班
登录
统计考勤记录
查询考勤记录
审批
审批出差
审批外出
审批请假
一般员工
Manager
具有一定管理权限的人员,如:
经理,管理员等
inciude
inciude
考勤管理用例图
用例图说明了考勤管理的功能需要。
其中使用了“包含”用例,考勤管理中的每一个步骤都会先登录进行权限验证,然后才能进行下一步的操作。
下面的功能都根据在工作流中己经设计好的对应的审批流程来进行审批的流程的
自动化处理过程。
①出差登记:
发出出差申请,在填入出差地点、出差日期、出差事由、审批人后,
发出申请。
另外包含出差历史记录和出差销假。
②外出登记:
发出外出申请,在申请单中填入外出原因,外出起止时间,审批人
后,发出申请,另外还包括外出回转销假。
③请假登记:
发出请假申请,填入请假类型、请假详细原因、请假起tFII期,审
批人后,发出申请。
另外包含请假历史记录和销假。
④上下班登记:
根据上下班登记时间限制进行上班签到与下班签退的登记。
如果
在时间限制之内,则允许登记,否则给出提示。
另外还包括上下班登记历史记录‘
⑤审批出差、审批外出、审批请假:
如果同意则批准,否则填入不同意的理山,
然后发出不批准指令。
⑥考勤记录查询:
可以根据日期来进行考勤记录的查询。
⑦考勤记录统计:
根据起止日期、部门、排班类型进行统计,结果以报表的形式
给出。
(3)考核管理
是用于每个员工在考核时使用,在员工的培训中会有很多的考核,要确定考核的指
标,考核的项目,发信息给考核人,然后由考核人进行考核。
具体功能模块如下:
①考核项目设定:
填入考核指标集合名称和指标的注释,然后建立个考核指标。
②指标详细设定:
对指标进行详细的设定,包括考核项目名称,分值范围设定。
③考核任务管理:
对已经设定生成的考核任务进行管理,功能有:
修正、过期失
效、任务删除,己经失效的任务的恢复有效。
④进行考核:
有设定的考核人进行给出考核的成绩。
发消息给系统。
⑤考核查询:
根据考核人、考核项目、考核日期、被考核人,有效性来进行考核
用户考勤功能模块是办公自动化系统中很重要的一个模块,它能够实现用户(员工)的上下班考勤功能,同时系统还提供了公司的上下班考勤的设置,以及查看公司所有用户的考勤详细情况。
下面是设计的详细功能模块。
4.1用户考勤
用户考勤功能由页面Attendance.aspx实现,它的代码隐藏文件为Attendance.aspx.cs,主要实现用户的上下班考勤登记功能。
4.1.1界面设计
在页面Attendance.aspx添加多个Label控件1个TextBox控件和1个Button控件,它们的名称分别为AttendanceDesn和CheckAttendance(没有包括Label控件的名称)。
控件AttendanceDesn用来输入用户迟到或早退的理由或原因;控件CheckAttendance提交用户的考勤。
页面Attendance.aspx的设置界面如图4.1所示。
页面Attendance.aspx的部分HTML设计代码如下:
Labelid=”lblDutyMessage”runat=”server”>考勤信息
Label>
……
TextBoxid=”AttendanceDesn”runat=”server”TextMode=”MultiLine” Height=”150px”Width=”500px”Visible=”False”>
TextBox>
Buttonid=”CheckAttendance”CommandArgument=””runat=”server” CssClass=”buttoncss”Width=”80px”>
Button>
4.1.2页面初始化
页面Attendance.aspx调用函数Page_Load(objectsender,System.EventArgse)初始化,该函数首先从Session变量中获取用户的ID,然后根据用户的实际情况处理考勤。
如果为上班时间,则程序检查该用户是否迟到;如果为下班时间,则程序检查用户是否早退等。
如果为非正常情况,还需要用户填写迟到或早退的理由。
之得注意的是,该页面还定义了一个全局的变量nStaffld,用来保存用户的ID。
两个全局变量和函数Page_Load(objectsender,System.EventArgse)的程序代码如下:
//定义两个全局变量
privateintnStaffld;
privatestaticboolDutyStatus=True;
privatevoidpage_load(objectsender,System.EventArgse)
{//判断用户是否登录,否则跳到登录页面
if(Session[“userID”]==null)
{
Response.Redirect(“~/Default.aspx”);
}
if(Session[“userID”]==null)
{//获取用户的ID
nStaffID=lnt32.parse(/session[“userID”].ToString());
}
if(CheckOnDuty(nStaffID)==false)
{//检查用户是否考勤,如果没有考勤。
则进行考勤
SetOnDuty(nStaffID);
}
CheckAttendance.Attributes.Add(“onclick”,
“returmconfirm(‘你确定要现在下班吗?
’);”);
}
函数CheckOnDuty(intnStaffID)和SetOnDuty(intnStaffID)分别实现检查用户是否考勤和对用户进行考勤。
函数CheckOnDuty(intnStaffID)调用类Attendance中的函数从数据库的考勤表Attendance中获取该用户的当天考勤数据,如果数据为空,则用户没有考勤,此时调用函数SetOnDuty(intnStaffID)对用户进行考勤。
函数CheckOnDuty(intnStaffID)和CheckOnDuty(intnStaffID)的程序代码如下:
privateboolCheckOnDuty(intnStaffID)
{
boolonDuty=fasle;
//获取用户当天的考勤数据
OfficeAuto.Components.Attendanceatten=
newOfficeAuto.Components.Attendance();
SqlDataReaderreca=atten.GetAttendanceByUserDay(nStaffID);
If(reca.Read())
{//已经上班
if(reca[“OnDuty”].ToString()).Length>0{onDuty=True;}
}
reca.Close();
return(onDuty);
}
privatevoidSetOnDuty(inrnStaffID)
{//如果用户没有考勤
if(CheckOnDuty(nStaffID)==false)
{//获取公司的考勤制度
DutyTimeduty=newDutyTime();
SqlDataReaderrecd=Duty.GetDutyTimeByType(“Company”);
DataTimedtOnDuty=DataTime.now;
If(recd.Read())
{//读取考勤时间
dtOnDuty=Convert.ToDataTime(recd[“OnDutyTime”].ToString());
}
recd.Close();
OfficeAuto.Components.Attentanceatten=
NewOfficeAuto.Components.Attendance();
//正常上班
if(((TimeSpan)DataTime.now.Subtract(dtOnDuty).Hours<0)
{
atten.AddAttendanceOnDuty(nStaffID,1);
Response.Write(“
‘上班考勤成功!
’);”);
}
else
{//上班迟到
atten.AddAttendanceOnDuty(nStaffID,0);
Response.Write(“
‘上班迟到,请填写迟到理由!
’);”);
}
)
}
应用程序运行后,查看页面Attendance.aspx,它的初始页面如图4.2所示,此时用户考勤,并显示下班考勤状态。
4.1.3用户考勤功能
单击页面Attendance.aspx中的【下班】按钮触发事件CheckAttendance_Click(objectsender,System.EventArgse),该事件实现用户的下班考勤功能。
它首先检查用户当天是否考勤,如果用户没有考勤,则检查用户是否早退,并把考勤的数据添加到数据库中。
事件CheckAttendance_Click(objectsender,System.EventArgse)的程序代码如下:
protectedvoidCheckAttendance_Click(objectsender,System.EventArgse)
{
if(CheckOffDuty(nStaffID)==false)
{//下班考勤
SetOffDuty(nStaffID);
}
}
privateboolCheckOffDuty(intnStaffID)
{
booloffDuty=false;
//获取用户当天的考勤数据
OffceAuto.Components.Attendceatten=
newOfficeAuto.Components.Attendce();
SplDataReaderreca=atten.GetAttendanceByUserDay(nStaffID);
If(reca.Read())
{//已经下班
if(reca[“OffDuty”].ToString().Length>0){offDuty=True;}
}
reca.Close();
return(offDuty);
}
privatevoidSetOffDuty(intnStaffID)
{//如果用户没有考勤
if(CheckOffDuty(nStaffID)==false)
{//获取公司的考勤制度
DutyATimeduty=newDutyATime();
SplDataReaderrecd=duty.GerDutyTimebyType(“company”);
DataTinedtOffDuty=DataTime.Now;
If(recd.Read())
{
dtOffDuty=Convert.ToDataTime(recd[“OffDutyTime”].ToString();
)
recd.Close();
OfficeAuto.Components.Attendance();
//正常下班
if(((TimeSpan)Data.now.Subtract(dtOffDuty)).Hours>0)
{
atten.AddAttendasnceOffDuty(nStaffID,1);
Response.Write(“
‘下班考勤成功!
’);”);
}
else
{//下班早退
atten.AddAttendasnceOffDuty(nStaffID,0);
Response.Write(“
‘下班早退,请填写早退理由!
’);”);
}
}
}
4.2考勤设置
考勤设置功能由页面Set.aspx实现,它的代码隐藏文件为Set.aspx,主要实现设置公司的考勤制度,如上班、下班的具体时间,同时还可以设置不同的的时间段使用不同的考勤制度。
4.2.1界面设计
在页面Set.aspx上添加4个textBox控件、2个Radiobutton控件、2个非空验证控件、2个正则表达式验证控件、2个比较验证控件和1个Button控件,它们的名称分别为Begintime、EndTime、OnDutyTime、OffDutyTime、rbtnthisweek、rbtnthismonth、rfOn、rfOff、rgOn、rgOff、vdate、c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 集团 远程 办公自动化 员工 考勤 系统