毕业设计(论文)员工考勤管理系统设计.doc

上传人:laozhun 文档编号:3736986 上传时间:2023-03-18 格式:DOC 页数:33 大小:975.50KB
返回 下载 相关 举报
毕业设计(论文)员工考勤管理系统设计.doc_第1页
第1页 / 共33页
毕业设计(论文)员工考勤管理系统设计.doc_第2页
第2页 / 共33页
毕业设计(论文)员工考勤管理系统设计.doc_第3页
第3页 / 共33页
毕业设计(论文)员工考勤管理系统设计.doc_第4页
第4页 / 共33页
毕业设计(论文)员工考勤管理系统设计.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《毕业设计(论文)员工考勤管理系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)员工考勤管理系统设计.doc(33页珍藏版)》请在三一办公上搜索。

1、目 录1.引言12.系统分析12.1 系统需求分析12.2 解决方案设计12.3 系统功能分析23.数据库设计24.主程序模块45.系统相关表单的设计实现55.1 登录系统表单55.2 关于表单85.3 用户设置95.4 日常操作表单115.5 信息管理表单145.6 记录查询功能表单255.7 系统打印功能266.系统主菜单的设计286.1 创建系统菜单286.2 创建系统主表单297.系统的运行和维护30后 记31参考文献321.引言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计

2、算机对员工出勤管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工考勤管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。员工考勤信息管理系统是一个中小型企业单位不可缺少的部分,它的内容对于中小企业的决策者和管理者来说都至关重要,因此,开发一个代替手工操作的新型的计算机管理的员工考勤管理系统对企业和公司来说刻不容缓,这就是本课题的由来。2.系统分析2.1 系统需求分析员工考勤管理系统是员工对考勤实行了信息化管理,员工考勤管理中主要涉及的管理任务有4个方面:部门信息管理、员工基本信息管理、考勤信息管理

3、、以及加班信息管理。因此,我使用Visual FoxPro6.0数据库做了员工考勤管理系统。员工考勤系统的目的是为实现员工考勤数据采集、数据统计和信息查询过程的自动化,完善人事管理现代化,方便员工上班报到,方便管理人员统计、了解员工出勤情况,方便管理部门查询,准确地掌握员工出勤情况,有效地管理、掌握人员流动情况。2.2 解决方案设计解决企业员工的管理的复杂性,根据上面的功能,得出系统总体基本功能设计模块如图1、图2所示:图1 系统总体功能设计图2 记录打印功能设计2.3 系统功能分析该系统要实现的功能如下:1、部门信息管理功能:企业部门信息的添加、修改和删除。2、员工管理功能:企业员工的信息如

4、员工编号、姓名、性别、婚否、部门号等信息的添加、修改、删除、查询和打印。3、员工考勤记录管理:对员工的考勤进行记录,记录某一员工在一个时间段的出勤情况,并对记录的考勤进行浏览、修改和删除。4、员工加班记录管理:记录一个员工加班的时间,对记录进行浏览、修改和删除。5、记录查询:对员工信息、考勤记录和加班记录进行查询。6、信息打印:员工信息、部门信息的报表打印以及加班记录、考勤记录报表的打印。7、系统功能:系统用户的添加、删除功能。3.数据库设计数据库中表的设计:1、系统帐号表系统帐号表主要存储系统帐户信息,如用户登录的用户名、密码及访问权限,见表1表1 “系统用户”表字 段 名数据类型说 明用户

5、名字符型字符宽度12,主索引字段密码字符型字符宽度12权限字符型字符宽度22、员工基本信息表员工基本信息表存储员工的基本信息数据,如员工号、姓名、性别、学历等,见表2:表2 员工基本信息表字 段 名数据类型说 明员工号字符型字符宽度6,主索引姓名字符型字符宽度20性别字符型字符宽度4学历字符型字符宽度10所在部门字符型字符宽度6籍贯字符型字符宽度30民族字符型字符宽度12婚姻字符型字符宽度4生日日期型字符宽度8身份证字符型字符宽度18电话字符型字符宽度14住址字符型字符宽度30邮编字符型字符宽度63、部门基本信息表部门基本信息表主要存储部门的基本信息,如部门号、部门名称、员工人数等,见表3:表

6、 3 部门基本信息表字 段 名数据类型说 明部门号字符型字符宽度5,主索引字段部门名称字符型字符宽度20员工人数数值型字符宽度4上班制度字符型字符宽度104、考勤记录表主要记录员工的考勤基本信息,如员工号、考勤编号、考勤状况等,见表4:表 4 考勤记录表字 段 名数据类型说 明考勤编号字符型字符宽度12,主索引字段员工号字符型字符宽度6考勤状况字符型字符宽度4考勤日期日期型字符宽度8考勤时段字符型字符宽度45、 加班记录表加班记录表主要记录员工的加班记录,如加班的编号、员工号、开始时间等,见表5:表5 加班记录表字 段 名数据类型说 明加班编号字符型字符宽度6,主索引字段员工号字符型字符宽度6

7、开始时间日期时间型字符宽度8结束时间日期时间型字符宽度8加班时长数值型字符宽度4系统中各自由表在Visual FoxPro数据库中的联系图:图3 员工考勤管理系统中表的关系4.主程序模块在进行VFP6.0应用程序开发,需要对应用程序进行的系统环境进行设置,以保证应用程序的正常运行。这些系统环境的基本设置可以在菜单工具|选项的对话框中设置。但是对于不同的应用程序,所需要的系统环境的设置还有所区别,例如控制显示程序命令运行结果、设置日期表达方式、设置操作窗口的显示形式和标题等,对于这些更加具体的环境设置,一般在应用程序的主程序中通过编程来实现这些设置。编写主程序,可以按以下步骤来进行: 项目管理器

8、中单击代码选项按钮,打开代码选项卡,如图4所示:图4 代码选项卡 选定程序列表项,此时屏幕上弹出名为程序1的文本框,在这里编写程序,程序文件的扩展名为.prg。系统主程序的功能是进行前期的系统处理工作,设置系统的工作环境,包括隐藏主表单,调用系统登录表单。主程序如下:CLOSE ALLCLEAR ALLSET CENTURY ON & 显示四位年代SET HOURS TO 24 & 用24小时制显示时间PUBLIC TJ & 声明全局全变量PUBLIC QX _SCREEN.VISIBLE=.F.DO FORM 员工考勤管理系统logo.scx & 执行logo表单READ EVENTS5.系

9、统相关表单的设计实现5.1 登录系统表单5.1.1 创建表单运行主程序之后,进入到登录系统表单,它的功能是进行用户验证,如果用户名和密码都正确,则登录成功,如果用户登录次数达三次以上的则自动退出系统。登录系统表单如图5所示,表单的属性设置如表6所示。图5 登录系统表单表6 登录系统表单属性属 性属 性 值AutoCenter.T.BordeStyle3可调边框Caption登录系统Closable.T.Icon 胡玲员工考勤管理系统clock03.icoMDIForm.T.MaxButton.F.MinButton.F.NameLogoPicture胡玲员工考勤管理系统img777.jpgSh

10、owWindow2作为顶层表单ShowTips.T.TitleBar1打开WindowType1模式设置完表单属性,添加表单的数据环境,该表单的数据环境是添加account表,表单由六个标签控件、两个文本框控件组成。这些控件的属性设置如表7所示。表7 系统帐号控件属性控 件属 性属 性 说 明标签控件Autosize.T.Backcolor0 透明Fontblod.T.Fontsize16Fontname楷体LbltitleCaption欢迎进入考勤管理系统Label1Caption用户名Label3Caption密码Command1Caption确定Command2Caption取消文本框控

11、件Fontsize9Height37Width73Txt密码Passwordchar*5.1.2 实现代码表单属性设置完之后,要让表单能正常执行,需要确定按钮的单击次数,要添加一个表单属性。添加的方法是在VISUAL FOXPRO主窗口中单击表单|新建属性选项,在弹出新建属性窗口中输入要添加的属性名称,然后在属性窗口中找到刚才添加的属性,并将其初始化为0,一定要初始化,否则在使用时会弹出数据类型不匹配之类的错误。因为新建的属性默认数据类型为逻辑型,如果对其赋以类型值就会出错。确定按钮的功能是判断表单中帐号和密码输入的是否与帐号的数据一致,如果输入正确则进入系统,反之则弹出警告窗口。确定按钮的c

12、lick事件代码如下:SET EXACT ON &改为精确比较 thisform.i=thisform.i+1 &次数自动加1 SELECT account LOCATE FOR ALLTRIM(用户名)=ALLTRIM(THISFORM.txt用户名.value) &查找帐号 IF FOUND() AND ALLTRIM(密码)=ALLTRIM(Thisform.txt密码.value) THISFORM.RELEASE qx=account.权限 DO FORM MAIN ELSE IF THISFORM.I3 &如果次数小于3 MESSAGEBOX(用户名或密码错误,请重新输入,48,系

13、统警告) THISFORM.txt用户名.VALUE= THISFORM.txt密码.VALUE= THISFORM.txt用户名.SETFOCUSELSE &如果已登录三次 MESSAGEBOX( 密码错误三次,系统无法启动,48,系统警告) THISFORM.RELEASE &退出表单、退出系统 CLEAR QUIT ENDIF ENDIFSET EXACT OFF &改为模糊比较5.2 关于表单5.2.1 创建表单创建关于 表单,这个表单是关于制作人相关信息的介绍,包括制作人的姓名及指导老师,设计好的表单如图6所示:图6 关于表单添加表单控件,该表单的控件主要包括五个标签控件和一个计时器

14、控件。表单及其属性设置如表8所示。表8 关于表单控件属性控 件属 性属 性 说 明AboutAutoCenter.T.Borderstyle2-固定对话框Caption关于Closable.T.Controlbox.T.Icon胡玲员工考勤管理系统clock03.icoMaxbutton.F.MdiForm.T.Minbutton.F.NameaboutShowWindow1-在顶层表单中ShowTip.T.WindowState0-普通WindowType1-模式TimerlInterval60CmdreturnCaption返回MouseIcon胡玲员工考勤管理系统h_point.cur5

15、.2.2实现代码关于表单中的标题在运行时可以移动,要实现这个功能需要用到计时器控件,标题移动的速度由计时器控件(Timer1)的Interval属性来控制,Interval属性的作用是在到了其设定值的时候执行一遍计时器的Timer Event事件。Timer1 的Timer Event事件的代码如下:IF THISFORM.lbltitle.LEFT99 &连结新的字符串,记录编号自动加1 BH=STR(BH,3) CASE BH9 BH=STR(BH,2) BH=0+BH OTHERWISE BH=STR(BH,1) BH=00+BH ENDCASE BH=DTOS(DATE()+BH &考

16、勤编号由日期、考勤时段、编号组成 append blank replace 考勤编号 with BH replace 员工号 with alltr(bo1.value) replace 考勤状况 with alltr(thisform.pageframe1.page1.cmb考勤状况.value) replace 考勤日期 with date() replace 考勤时段 with alltr(thisform.pageframe1.page1.Combo2.value) MESSAGEBOX(添加成功,64,考勤系统信息) endif endif在page2的确认按钮的Click 事件中添加

17、代码如下:LOCAL BH &声明本地变量来保存编号 SELECT JIABAN &选择工作区 GO BOTTOM &到末记录 BH=JIABAN.加班编号 BH=RIGHT(BH,4) &取得末记录的记录编号的后四位 BH=VAL(BH)+1 &把后四位转化为数值型 DO CASE CASE BH999 &连结新的字符串,记录编号自动加1 BH=STR(BH,4) BH=JB+BH CASE BH99 BH=STR(BH,3) BH=JB0+BH CASE BH9 BH=STR(BH,2) BH=JB00+BH OTHERWISE BH=STR(BH,1) BH=JB000+BH ENDCA

18、SE append blank replace 加班编号 with BH replace jiaban.员工号 with thisform.pageframe1.page2.cmb员工号.value replace 开始时间 with thisform.pageframe1.page2.text1.value replace 结束时间 with thisform.pageframe1.page2.text2.value replace 加班时长 with thisform.pageframe1.page2.text3.value(thisform.pageframe1.page2.text2.

19、value-thisform.pageframe1.page2.text1.value)/3600 MESSAGEBOX(加班管理添加成功,64,考勤系统信息)5.5 信息管理表单这个功能模块包括员工信息管理表单、部门信息管理表单、考勤记录表单、加班记录表单 4个表单组成,在此仅列举其中的两个表单的制作加以解说。5.5.1 新建员工信息管理的表单在数据环境中添加员工基本信息表和部门基本信息表,并把员工基本信息表中的所在部门和部门基本信息表中的部门名称关联起来,如下图:。图9 “员工信息管理”表单表单中用到多个标签控件和文本框控件,表单控件的属性设置在此省略。设置员工信息管理表单的属性如表12所

20、示。表12 员工信息管理表单属性属 性属 性 值AutoCenter.T.BordeStyle2固定对话框Caption员工信息管理Closable.T.ControlBox.T.Height400Icon胡玲员工考勤管理系统clock03.icoModiform.T.MaxButton.F.MinButton.F.NameYgadminShowTips.T.ShowWindow1在顶层表单中WingdowType1模式5.5.2 实现代码表单有浏览、新增和修改三种状态,而在表单中表现为文本框是否可用,所以为控制表单要新建方法属性:Modmod 和Modpre 。其中Modmod 方法属性使表

21、单进入浏览状态,Modpre方法属性使表单进入非浏览状态。同时,还需要在表单添加一个属性Oldrecord,并将其设置为1。Modpre方法属性的代码如下:THISFORM.txt姓名.READONLY=.T.THISFORM.cmb性别.ENABLED=.F.THISFORM.cmb学历.ENABLED=.F.THISFORM.cmb婚否.ENABLED=.F.THISFORM.cmb民族.ENABLED=.F.THISFORM.cmb所在部门.ENABLED=.F.THISFORM.txt籍贯.READONLY=.T.THISFORM.txt电话.READONLY=.T.THISFORM.

22、txt身份证.READONLY=.T.THISFORM.txt住址.READONLY=.T.THISFORM.txt邮编.READONLY=.T.THISFORM.ygadmmr.ENABLED=.T.THISFORM.ygadmabg.cmdadd.ENABLED=.T.THISFORM.ygadmabg.cmdmod.ENABLED=.T.THISFORM.ygadmabg.cmddel.ENABLED=.T.THISFORM.ygadmabg.cmdser.ENABLED=.T.THISFORM.ygadmabg.cmdpri.ENABLED=.T.THISFORM.ygadmabg.c

23、mdsave.ENABLED=.F.THISFORM.ygadmabg.cmdcancel.ENABLED=.F.THISFORM.ygadmabg.cmdexit.ENABLED=.T.Modmod方法属性的代码如下:THISFORM.txt姓名.READONLY=.F.THISFORM.cmb性别.ENABLED=.T.THISFORM.cmb学历.ENABLED=.T.THISFORM.cmb婚否.ENABLED=.T.THISFORM.cmb民族.ENABLED=.T.THISFORM.cmb所在部门.ENABLED=.T.THISFORM.txt籍贯.READONLY=.F.THIS

24、FORM.txt电话.READONLY=.F.THISFORM.txt身份证.READONLY=.F.THISFORM.txt住址.READONLY=.F.THISFORM.txt邮编.READONLY=.F.THISFORM.ygadmmr.ENABLED=.F.THISFORM.ygadmabg.cmdadd.ENABLED=.F.THISFORM.ygadmabg.cmdmod.ENABLED=.F.THISFORM.ygadmabg.cmddel.ENABLED=.F.THISFORM.ygadmabg.cmdser.ENABLED=.F.THISFORM.ygadmabg.cmdpr

25、i.ENABLED=.F.THISFORM.ygadmabg.cmdsave.ENABLED=.T.THISFORM.ygadmabg.cmdcancel.ENABLED=.T.THISFORM.ygadmabg.cmdexit.ENABLED=.F.表单在初始化时先将数据环境中的员工信息表取消过滤条件,然后使表单进入浏览状态,需要在表单的Init 事件中进行设置。表单的Init 事件的代码如下:SELECT YUANGONGSET FILTER TOTHISFORM.MODPRE()THISFORM.REFRESH()表单中选择部门时,要在表单的部门名称和上班制度栏显示相应信息,需要添加Cm

26、b所在部门的Valid事件代码,其代码如下:THISFORM.REFRESH()表单中生日栏是只读的,在Modmod方法属性中没有将属性去掉,意味着生日栏是不可用的。因为将从填入的身份证号中取得生日信息,18位身份证从第7位起是生日的年月日。TXT生日栏Valid事件代码如下:LOCAL SID &声明一个全局变量SID=THIS.VALUEDYEAR=SUBSTR(SID,7,4) &从第7位起取4位作为年DMONTH=SUBSTR(SID,11,2) &从第11位起取2位作为年DDAY=SUBSTR(SID,13,2) &从第13位起取2位作为年BIRTH=DMONTH+/+DDAY+/+

27、DYEAR &连接月日年BIRTH=CTOD(BIRTH) &将月日年装换成日期型THISFORM.TXT生日.VALUE=BIRTHTHISFORM.TXT生日.REFRESH()添加按钮的作用是在表单中的数据缓冲区新建一个记录,使原编号自动加1,并使标定进入非浏览状态。添加按钮的Click事件代码如下:LOCAL BH &声明本地变量来保存编号 SELECT YUANGONG &选择工作区THISFORM.OLDRECORD=RECNO()GO BOTTOM &到末记录BH=YUANGONG.员工号 APPEND BLANK &添加新的记录 BH=RIGHT(BH,4) &取得末记录的记录

28、编号的后四位 BH=VAL(BH)+1 &把后四位转化为数值型 DO CASE CASE BH999 &连结新的字符串,记录编号自动加1 BH=STR(BH,4) BH=TR+BH CASE BH99 BH=STR(BH,3) BH=TR0+BH CASE BH9 BH=STR(BH,2) BH=TR00+BH OTHERWISE BH=STR(BH,1) BH=TR000+BH ENDCASE THISFORM.TXT员工号.VALUE=BH &显示员工号 THISFORM.txt姓名.SETFOCUS() THISFORM.MODMOD() &表单进入非浏览状态 THISFORM.REFRESH()修改按钮的作用是保存表单中当前记录,使表单进入修改状态,并刷新表单。修改按钮的Click事件的代码如下:THISFORM.OLDRECORD=RECNO()THISFORM.MODMOD()THISFORM.REFRESH() 删除按钮的作用是删除表单中的当前记录,同时移动记录指针到数据表的首记录,并刷新表单。删除按钮的Click事件代码如下:YN=MESSAGEBOX(确定删除,4+32,考勤系统提示)IF YN=6 DELETE PACK MESSAGEBOX(删除成功,64,考勤系统提示) GO TOP THISFORM.REFRESH()ENDIF查询按钮的作用是调用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号