版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南南京京化化工工职职业业技技术术学学院院毕毕业业设设计计(论论文文)论文题目:企企业业工工资资管理系管理系统统论文题目: The administrative system of salary作者姓名: 薛香霖 所在系部: 信息技术系 班级名称: 计算机应用与商务英语 0652 指导教师: 何实银 2010 年 5 月毕业设计(论文)任务书毕业设计(论文)任务书设计(论文)题目:企业工资管理系统(VC/C+)指导教师:职称:类别:毕业设计1、设计(论文)的主要任务 此项毕业设计要求利用 VC(C+)和 Access 数据库开发企业工资管理系统。要求学生给出详细的设计过程(包括体系结构图、数据设
2、计 ER 图,从开发环境及需求,到结构的设计,具体到每一个功能模块、关键程序进行说明) ,从而完成一次完整的设计过程。2、设计(论文)的主要内容此项毕业设计要求开发一个企业工资管理系统,该系统应用具备以下基本功能。1、新用户注册与登陆用户注册后必须经过验证才可正式进入该系统。2、基本数据此项功能包括职工基本信息、工资信息。3、信息管理实现对以上信息数据的录入、添加、更新和删除。4、成绩查询实现对以上信息数据的查询。5、统计处理对职工人数、职工的职称、工龄、工资的各组成项等进行统计处理。6报表打印 实现对查询和统计的结果以报表的格式进行输出。3、设计(论文)的基本要求1、论文格式要符合规范。2、
3、提供完整的源程序。2、至少提供 6 篇参考文献(书籍、期刊、网址等)4、主要参考文献 1、高俊文主编, C/C+程序设计 ,北京:人民邮电出版社,2005-92、沈大林等主编, Visual C+ 6.0 程序设计案例教程 ,北京:电子工业出版社,2005-103、唐彬等编著, Visual C+ 案例开发集锦(含光盘) ,北京:电子工业出版社,2005-85、毕业设计(论文)时间安排 第一周:资料收集整理。第二周:程序设计,规划体系结构图、数据设计 ER 图。第三周:程序编写,调试运行。 第四周:论文编写、完善修改。备注:毕业设计提交:1系统设计过程,包括论文电子稿。2经调试过的软件代码。
4、3答辩时每人还应准备 15 张左右页面的幻灯片。注:1、此表一式三份,系部、指导教师、学生各一份。2、类别是指毕业论文或毕业设计,类型指应用型、理论研究型和其他。目目 录录第一章第一章 概述概述.61.1 系统开发步骤.61.2 员工工资管理系统的设计概况.61.3 开发员工工资管理系统的意义.7第二章第二章 系统分析系统分析.82.1 对本系统的分析.8第三章第三章 数据库分析和设计数据库分析和设计.931 数据库需求分析.932 数据库设计.933 系统结构流程图设计.10第四章第四章 系统的具体设计与实现系统的具体设计与实现.124.1 新用户注册与登入.124.2 基本数据.134.3
5、 信息管理.164.5 统计处理.244.6 报表打印.25部分程序.26致谢信致谢信.30参考文献参考文献.31 摘摘 要要员工工资管理系统是典型的信息管理系统(MIS),其程序主要包括后台数据库的建立和维护以及前端应用程序的两个方面:对于前者要求建立数据一致性和完整性强,数据安全性好的数据库;而对于后者则要求应用程序功能完备,易使用等特点。工资管理是企业的一项重要的数据资源,工资管理也是企业的一项常规性的重要工作,而长期以来,工资 管理都是依赖人工进行的,面对如此众多的工资信息,其工作量可想而知,不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可控因素,造成了工资管理的某些不规范
6、。 工资管理系统实现如下信息的管理:员工信息管理 用于员工信息的建立和修改以及查询;工资管理 用于各个员工的工资查询;系统开发采用 Microsoft 公司的 Visual FoxPro,利用其强大的可视化界面功能及对数据库的支持,先构造一个原型,逐步增加功能,最终满足需求。系统中大量采用 SQL查询语句,界面友好,功能较强。不足的地方是当数据访问量大时,将致使性能的下降,且不利于数据的有效共享,在以后的改进中应考虑采用 SQL SERVER 作为数据库,解决访问速度及数据共享的问题。该系统性能力求易于使用,具有较高的扩展性和可维护性。 关键字:关系数据库 Visual FoxPro SQL
7、员工工资管理系统 系统开发 信息系统第一章第一章 概概 述述1.1 系统开发步骤系统开发步骤一、需求分析二、数据来源 三、系统的具体功能 四、系统结构流程图 五、数据库的设计 六、应用程序的设计1.2 员工工资管理系统的设计概况员工工资管理系统的设计概况员工信息管理功能:以分类形式录入员工的基本基本信息存放在员工基本数据库文件中。并同时具有对员工基本数据库文件进行查询修改和删除记录功能。本模块又分为三个子模块: (1)员工信息录入(2)员工信息查询(3)员工信息编辑(修改/删除)其中,员工信息查询不需登录即可使用,信息录入和修改/删除模块则需要先登录后才能使用。2员工工资管理模块主要是对员工工
8、资进行管理。本模块又分为三个子模块:(1)员工工资录入(2)员工工资查询(3)员工工资编辑(修改/删除)其中,员工工资查询不需登录即可使用,其他模块则需要先登录后才能使用。3用户管理模块主要对使用本系统的用户进行如下管理:(1)添加新用户(2)对已有的用户进行更改用户名、密码和权限(管理员或普通用户)等操作(3)删除用户本模块只有管理员才能使用,普通用户不能进入。1.3 开发员工工资管理系统的意义开发员工工资管理系统的意义员工工资管理是一件复杂而细致的工作,每年都有新员工、退休的员工、请假的员工、自离的员工等事件发生;平时还有员工职务的调整,由于这些工作的杂乱而不确定性,使得员工工资管理工作变
9、得复杂且不易做到准确无误。按工作常规和设计要求,整个软件分为以下模块:信息输入、信息修改、信息删除、信息查询、用户查询、数据库管理、用户创建、用户修改等部分。 它有以下几个好处:1、可使员工工资管理工作准确高效;2、克服了手工管理中的许多困难,提高了速度,结省了大量时间;3、可快速查询有关员工工资的的各种所需信息;4、只需一到两名管理人员即可操作系统,节省了大量的人力;5、软件系统可根据不同的需要随时进行升级,从而延长了软件的使用寿命;6、数据库具有存储量大,保密性好、运行成本低等特点。 此外,为将来公司建立公司网考虑,系统采用客户机/服务器体系结构设计,以后员工工资管理信息系统接入网络时,数
10、据库可直接进行移植,勿需作大量的修改工作。第二章第二章 系统分析系统分析2.1 对本系统的分析对本系统的分析 21 世纪以来,人类经济高速发展,发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,员工工资管理系统软件为企业办公室带来了极大的方便。这次我们是用 VF 来实现的,大家只需按系统要求输入即可操作。系统各功能模块的分析系统各功能模块的分析此项毕业设计要求开发一个企业工资管理系统,该系统应用具备以下基本功能。1,新用户注
11、册与登陆用户注册后必须经过验证才可正式进入该系统。2基本数据此项功能包括职工基本信息、工资信息。3信息管理实现对以上信息数据的录入、添加、更新和删除。4工资查询实现对以上信息数据的查询。5统计处理对职工人数、职工的职称、工龄、工资的各组成项等进行统计处理。6报表打印 实现对查询和统计的结果以报表的格式进行输出。第三章第三章 数据库分析和设计数据库分析和设计31 数据库设计数据库设计 在系统设计过程中,首先要建立的就是数据库。本数据库采用 Visual FoxPro 6.0来构造,共使用了 2 个表,它们分别是用户信息表,员工信息表和工资管理表。1 用户信息表(UserInfo):字段名数据类型
12、宽度小数位数用户名字符型10用户密码字符型10姓名字符型10使用权限字符型102 员工信息表(StuInfo):字段名数据类型宽度小数位数工号字符型10姓名字符型10性别字符型2籍贯字符型10出生日期日期/时间10民族字符型10入厂时间字符型10个人简介字符型100家庭住址字符型503工资信息表(Lesson):字段名数据类型宽度小数位数工号字符型10姓名字符型20工资字符型1032 系统结构流程图设计系统结构流程图设计 登陆表单(管理员或者普通用户登陆表单(管理员或者普通用户身份登陆)身份登陆)管理系统用户(添加,管理系统用户(添加,删除)删除)员工信息管理系统主窗口员工信息管理系统主窗口退
13、出系统退出系统员工信息管理员工信息查询员工工资管理奖金模块 工号姓名员工年龄性别工作工资工号姓名工作时间 E-R 图第四章第四章 系统的具体设计与实现系统的具体设计与实现4.1 新用户注册与登新用户注册与登入入登入界面设计主要实现的用户的登入功能,要求用户在登入时使用用户名和密码,本系统的用户名为“admin”密码为”111111” 具体操作如下:打开或新建一个项目,早项目管理器中,选择“表单”页项,选择“新建”按钮,打开新建对话框。选择吧“表单”并选择新建文件按钮从“文件”菜单中选择“新建”命令。同样打开“新建”对话框,然后选择表单,并选择新建文件按钮在命令窗口内键入“creater for
14、m”命令设计好的表单文件呗保存在表单的事件当中,每一个表单由两个文件组成,一个是以.SCX 为扩展名打开该表单文件,其实,表单文件是一个标准的数据表。确定按钮的代码:i=i+1If thisform.text1.value=”admin” and thisform.text2. value=”111111Thisform.releaseIf i0 thisform.grdStudent_info.columncount=-1 thisform.grdStudent_info.recordsource=q else messagebox(对不起,没有找到符合你的要求的记录!)endifc.退出按
15、钮的查询的过程中,如果数据较多,需要用户等待时,查询系统中应有进度条加以显示,才能使系统更加具有规范性。具体实现方法如下:1.选择 VFP 的系统选单“工具”中“选项”条,弹出“选项”窗口,在窗口中点击“ActiveX 控件”栏,添加任务进度栏控件 Microsoft ProgressBar Control Version5.0(SP2)至 ActiveX 工具箱中。2.选定表单控件工具栏中“ActiveX 控件” ,添加控件 Microsoft ProgressBar Control Version6.0 至查询的表单 Form1 中,并设置其属性 Max 值为 1000。3.将下列代码添加
16、到数据查询程序代码之后: for i=1 to 1000 for j=1 to 2000 j=j+1 endfor thisform.olecontrol1.value=i i=i+1 endfor messagebox(数据查询完毕,OK!,0+64) thisform.release clear events 通过这样的设置,在查询时如果时间较长,查询进度条会为用户显示查询任务的运行情况,应用宏命令实现组合查询。在组合查询中,需要查询的组合项通常很多,如果每项都使用不同的变量,编程会非常烦琐。笔者使用宏命令轻松实现查询组合条件,具体实现的方法是在查询按钮里加入如下代码: LOCAL cFi
17、lter,nCnt,cCondition FOR nCnt = 1 to THISFORM.ControlCount IF TYPE(THISFORM.Controls(nCnt).controlSource) U THEN IF !EMPTY(THISFORM.Controls(nCnt).ControlSource) AND ; TYPE(THISFORM.Controls(nCnt).value)UTHEN cCondition=THIS.Parent.parseCondition(THISFORM.Controls(nCnt).value,THISFORM.Controls(nCnt)
18、.controlSource) IF !EMPTY(cCondition) THEN cFilter = cFilter + AND cCondition ENDIF ENDIF ENDIF ENDFOR 通过这样的设置,虽然有多个查询条件,但查询的组合条件为 cFilter,以后的应用只要对 cFilter 进行处理即可删除查询表中的空记录 使用类查询(_dataquery.vcx)时,会在待查询表中的最后自动插入一条空记录,而在实际的 GRID 表格显示中,我们是不希望将空记录显示出来的。下面是解决此问题的详细步骤: 1.在主程序或 Form 对象的 Load 事件输入以下代码:SET D
19、ELETE ON 2.在查询结束代码后输入以下代码: Thisform.Refresh&刷新表单 go bottom delete next 1&因为当前表被添加了一个空记录,在实际应用中应删除掉 Thisform.Grid1.Column1.Setfocus go top Thisform.grid1.refresh &删除一条记录后,应及时地刷新 GRID 表 ,实现中英文自动切换 。在用 VFP6.0 开发查询系统时,文本框对象和组合框对象应用得较多,在文本框中进行中英文的输入时,来回切换非常烦琐,所以笔者借助自定义子类,来实现中英文输入的自动切换。具体实现的步骤
20、如下: 1.点击 VFP6 系统选单栏“文件新建类” ,启动“新类”对话框,填入类名为gsTextBox,并设置父类为 TextBox,在“存储于”栏处输入存储的位置和名称,按“确定”键进入类设计器画面。2.新增一个属性,来作为对象是否启动中文输入法的控制码。通过系统选单栏“类新建属性.” ,启动“新建属性”对话框,设置一些属性,其中可视性设为 public。3.最后设置 GotFocus 与 LostFocus 事件过程。Gotfocus Event 事件过程如下: If thischinese =imestatus(1) &中英文选择,thischinese 为逻辑量 else=i
21、mestatus(0)EndifLostfocus Event 事件过程如下:=imestatus(0) 至此,类已经定义完成,以后只要在设计表单时,通过表单控件“工具栏查看类添加.”把自定义类加入,并且设置“中英文选择”属性,即可实现中英文输入的自动切换。 实现整条记录突出显示 在用 VFP 设计一个查询应用系统时,信息的浏览是相当重要的功能之一,通常采用的实现方法是用 Grid 对象来显示数据信息,但在使用过程中却存在一些不足,就是当使用者在记录之间移动时,只有获得焦点的那条记录的某一字段可以以不同于 Grid 背景的颜色显示,很不醒目。 笔者利用 Grid 对象,成功实现了当数据记录移动
22、时,整条记录均用同一种颜色突出显示,即当数据记录移动时,用颜色动态变化显示相对光标所在的位置,设计步骤如下: 先定义一个 Grid 对象,并设置好其属性,然后在其 AfterRowColChange 事件过程中添加如下代码: LPARAMETERS nColIndex this.setall(dynamicbackcolor,iif(this.activerowrecn(),rgb(255,255,255),rgb(0,0,255),column) 在上面的设计中,我们首先使用了 SetAll() 方法设定 Grid 中的 Column 层次的 DynamicBackColor(动态背景颜色属
23、性) ,然后在第二个参数中使用了 Grid 对象的ActiveRow 反映相对的行数,若不等于记录编号时,则通过 RGB(255,255,255) 送出白色背景,若相对行等于记录编号时,则通过 RGB(0,0,255)送出绿色背景色,而该颜色也可自行设定。 用 Grid 模拟 Browse 窗口 可以将 Grid 结合在 Form 对象中,模拟成一个 Browse 命令窗口,可以自由调整 Form大小,而 Grid 对象也会自动调整大小。实现方法如下:1.首先设定一个 Form 对象,该对象必须保留其 BorderStyle 为“3-可调边框” ,这样可自由调整大小的边线属性,同时设定 Res
24、ize 事件程序如下: Thisform.Grid1.Width=this.width Thisform.Grid1.Height=this. Height 2.设计一个 Grid 对象于 Form 对象中,并设定其属性如下: Width=Thisform.WidthHeight=Thisform.HeightRecordSource 设为目前“数据环境”中所设定的工作区别名; Top 与 Left 均设为 0,表示该对象左上端坐标为 0,0。 这样,已经设定好的 Grid 对象和 Browse 窗口一样,当对 Form 对象进行大小调整时,对象的高度与宽度就可以随之调整。4.44.4 工资查
25、询工资查询用户密码员工工资员工工号员工姓名结果图如下结果图如下: 代码如下:代码如下:对组合框时间编写如下:this.AddItem(“第一个月”)this.AddItem(“第二个月”)this.AddItem(“第三个月”)this.AddItem(“第四个月”)this.AddItem(“第五个月”)this.AddItem(“第六个月”)this.AddItem(“第七个月”)this.AddItem(“第八个月”)this.AddItem(“第九个月)this.AddItem(“第十个月)this.AddItem(“第 十一个月)this.AddItem(“第十二个月)DO case
26、Case CJK_XQ=”第一个月“ GLTJ=GLTJ_”.AND. 月份=1Case CJK_XQ=”第二个月“ GLTJ=GLTJ_”.AND. 月份=2”Case CJK_XQ=”第三个月 GLTJ=GLTJ_”.AND. 月份=3”Case CJK_XQ=”第四个月” GLTJ=GLTJ_”.AND. 月份=4”Case CJK_XQ=”第五个月” GLTJ=GLTJ_”.AND. 月份=5”Case CJK_XQ=”第六个月” GLTJ=GLTJ_”.AND. 月份=6”Case CJK_XQ=”第七个月” GLTJ=GLTJ_”.AND. 月份=7”Case CJK_XQ=”第八
27、个月” GLTJ=GLTJ_”.AND. 月份=8”Case CJK_XQ=”第九个月” GLTJ=GLTJ_”.AND. 月份=9”Case CJK_XQ=”第十个月” GLTJ=GLTJ_”.AND. 月份=10Case CJK_XQ=”第十一个月” GLTJ=GLTJ_”.AND. 月份=11Case CJK_XQ=”第十二个月” GLTJ=GLTJ_”.AND. 月份=12ENDCASETbo2.clearUse &CJK_JSET FILTER TO &GLTJGO TOPDO WHILE .NOT.EOF() Tbo2.AddITEM(ALLTRIM(FIELD_N
28、AME)SKIP ENDDOCLOSE TABLES ALL4.5 统计处理统计处理可以方便的排列员工的工资和工龄情况,为工作人员减负整理和分析工资和奖金的负担,手工统计占用人员太多的时间和精力。易人软件为他们提供了一款便捷的统计工具。 您只要将员工的信息输入,软件就会根据您的要求轻松的帮您统计出工资、职工人数、职工的职称、工龄、工资的各组成项等进行统计处理。如果您的员工工资是以 EXECL 文档格式存储的,繁琐的数据很快就能导入到软件中。在“数据统计”菜单下,我们设计了“工资统计” , 职工人数、职工的职称、工龄、的各组成项等进行统计处理四个菜单项,每个菜单项对应一个过程。软件运行时,当用户
29、选择“成绩统计”菜单项后,系统要能够自动求出每个员工工资的情况并做成表格的形式。 。代码中首先用语句 DIME KC(100),ZYK(100),LHM(100),ZHM(8)声明四个数组,分别用来保存工资字段名,量化字段名和综合字段名。然后分几个部分对数据进行处理。 (1)将工资字段名送给数组 GZ,员工奖金变量 JG 和工作时间 TIME。代码如下:Store 0 to GZsSelect bUse &JG_JDo while.not.Eof()JG=JG=1EndifSkipEnddo 4.6 报表打印报表打印数据库报表程序是经常使用的,现在很多用户都使用,报表设计器设计报表,且
30、简单方便;但笔者在工作中遇到要对成百个数据库打印的情况,这些数据库除了字段名不相同外,其他结构信息基本相同图如下:部分程序部分程序如下:如下:set talk off hh1=printstatus() set print on do while .not.hh1 ?打印机未准备好,请准备好打印机 hh1=printstatus() enddo set talk off set device to print clear a1=getfile(dbf) &打开打开文件对话框 use &a1 &打开指定的文件 n1=fcount() &获取打开的库中的字段数 di
31、mension a(n1) &定义一个存放字段名的数组 dimension b(n1) &定义一个存放字段宽度的数组 k=1 do while k=n1 a(k)=field(k) k=k+1 enddo &将字段名赋给数组 w=1 do while w=n1 b(w)=fsize(a(w) &获取字段的长度 if b(w)6 b(w)=8 else b(w)=b(w)+2 endif w=w+1 enddo do while not eof() r1=1 &显示表头的第一行 col1=1 do while m=n1if m=1 r1,col1 say
32、+replicate(-,b(m) if m=n1 r1,col1 say +replicate(-,b(m)+ r1,col1 say +replicate(-,b(m) endif endif 退出登入系统本章通过设计一个用户管理及用户登录系统,讲述了如何通过输入验证码和 MD5 加密来实现网站的安全、如何检测用户输入的合法性以及根据用户的登录名来赋予用户不同的管理权限。上述 3 方面对于一个网站来说是非常重要的,它是决定一个网站能否长期正常运行的关键。修改用户模块可以看出,当用户输入密码信息,并单击【提交】按钮后,首先在ChkField()过程中检查用户密码输入的合法性,然后在 Save
33、Pwd.asp 文件中处理从表单传递过来的数据 ChkField()过程的代码如下:Function ChkFields() 定义过程 用户输入的新密码长度小于 6If Document.PwdChgForm.Pwd.value.length6 Then alert(新密码长度必须大于等于 6!) 弹出警告框myform.Pwd.focus() 界面上的新密码文本框设为焦点return falseEnd If用户没有输入确认密码If Document.PwdChgForm.Pwd1.value= Then alert(请确认新密码!) 弹出警告框myform.Pwd.focus() 界面上的新
34、密码文本框设为焦点return falseEnd If用户输入的新密码和确认密码不一致If Document.PwdChgForm.Pwd.valueDocument.myform.Pwd1.value Then alert(两次输入的新密码必须相等!) 弹出警告框return falseEnd Ifreturn trueEnd Function在 ChkField()过程中首先检查用户输入的新密码长度,如果密码长度小于 6,则弹出警告框,并返回到密码修改界面重新输入。如果密码长度满足条件,则检查用户是否输入确认密码,最后检用户两次输入的密码是否一致。判断数据库中是否存在用户 id 为 UserId 的记录。如果存在满足条件的记录,则判断用户输入的原 始密码是否正确。如果正确,则更新数据库,修改用户密码。提示用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《硫酸工艺学》课件
- 二尿素装置安全课课件
- 《烧伤基础知识》课件
- 《湖南乡土地理》课件
- 《孕妇学校讲课》课件
- 单位管理制度集合大合集职工管理
- 单位管理制度集粹汇编人员管理篇十篇
- 单位管理制度分享汇编【人力资源管理篇】十篇
- 单位管理制度分享大全职员管理篇十篇
- 2024教师安全责任协议书(28篇)
- 2025年国家图书馆招聘笔试参考题库含答案解析
- 机器人课程课程设计
- 南充市市级事业单位2024年公招人员拟聘人员历年管理单位遴选500模拟题附带答案详解
- 9.2溶解度(第2课时)-2024-2025学年九年级化学人教版(2024)下册
- 安全知识考试题库500题(含答案)
- 2018级成考专升本汉语言文学专业12月份考试资料文献学复习资料
- 最新中考英语单词表2200个
- 我的专业成长故事
- 公司管理制度-公司管理制度
- 井用潜水泵的安装
- 疫情索赔公式及相应表格模板Excel
评论
0/150
提交评论