毕业设计(论文)学校工资管理系统_第1页
毕业设计(论文)学校工资管理系统_第2页
毕业设计(论文)学校工资管理系统_第3页
毕业设计(论文)学校工资管理系统_第4页
毕业设计(论文)学校工资管理系统_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业论文论文题目: 工资管理系统 专 业: 小学信息技术教育 班 级: 09大专计信班 学生姓名: 指导教师: 二一一 年 十 月 十三 日目 录摘 要 3引 言41 、 系统设计使用的工具、环境简介 51.1 vfp的简介51.2 vfp的基本功能51.3 vfp的特点52 、 系统分析62.1 设计目标和任务62.2 可行性分析62.3 需求分析73 、学校工资管理系统功能模块图74 、 主要功能模块设计84.1 项目的建立84.2 用户登陆84.3 系统主菜单设计94.4 系统主控表单设计104.5 工资录入表单设计114.6 工资浏览表单设计124.7 工资修改表单设计124.8 工资

2、统计表单设计184.9 工资查找表单设计194.10 工资初始化表单设计204.11 工资备份表单设计214.12 记录打印表单设计224.13 系统帮助表单设计234.14 相关报表235 、主程序的设计246 、 程序的连编257 、系统运行的效果25附录a 数据库相关数据表26参考文献27致谢28学校工资管理系统【摘 要】学校的工资管理是学校管理的一个重要内容。随着教职员工数量增加,学校的工资管理工作也变得越来越复杂。工资管理既涉及到学校劳动人事的管理,同时也是学校财务管理的重要组成部分。工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成学校每个职工的基本工资、补贴、医

3、疗保险、保险费、实际发放工资等。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理都采取纸质材料和具有较强的时间限制。基于以上原因,学校工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。本学校工资管理系统极大提高了工作效率,节省了人力和物力,最终满足学校财务管理、员工工资发放的需要,同时也成为现代化学校管理的标志。【关键词】工资管理 财务管理 系统化 规范化 自动引 言 随着社会的进步和计算机技术的发展,特别是微型计算机的大范围普及,计算机的应用

4、逐渐由科学计算、实时控制等方面向非数值处理的各个领域中渗透。尤其是以微型计算机为处理核心,以数据库管理系统为开发环境的管理系统在办公室自动化以及商业信息管理等方面的应用,日益受到人们的关注。当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。随着社会信息量的迅速增长,计算机处理的数据量不断增加。文件管理系统采用的一次最多存取一个记录的访问方式,以及在不同文件之间缺乏相互联系的结构,越来越不能适应管理大量数据的需要,于是数据库管理系统

5、便应运而生。数据库管理系统是用来控制建立数据库中的数据、数据的存取,并维护数据库的数据。从文件管理到数据库管理,代表了两代不同的数据管理技术。今天,数据库管理已成为计算机信息管理的主要方式。数据库的应用非常广泛,可应用于各行各业。尤其目前电脑发展神速,运用广泛,甚至每个公司、每户都有电脑,只要是稍复杂的数据,都可制作成数据库,交由电脑来管理。用电脑管理数据,可免除人为的疏忽,并且运算速度快,可靠性提高。学校工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错。最初的工资统计和发放都是使用人工方式处理,工作量大的时候,出现错误的机率也随之升高,不仅花费财务人员大量的时间,而且往往由于抄

6、写不慎,或者由于计算的疏忽,出现工资发放错误的现象。同时工资的发放具有较强的时间限制,必须严格按照单位规定的时间完成计算和发放工作。久而久之,这种人工处理方式无论是在效率,还是正确性方面都达不到需求。经常性的出错已经给学校带来了诸多的不便。正是学校工资管理的这种重复性、规律性、时间性,使得学校工资管理计算机化成为可能。学校工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多学校工资信息的处理,同时使用电脑还可以安全地、完整地保存大量的学校工资记录。1 、系统设计使用的工具、环境简介系统设计使用的工具主要有visual foxpro 6.0 , 现简介如下。1.1 vfp的简介visual

7、 foxpro 6.0 是由美国microsoft 公司于1998年推出的新一代数据库软件系统。visual foxpro 数据库是一个关系型数据库,主要用于windows环境。由于visual foxpro 需要很少编程就可以建立一个面向对象的数据库应用程序,所以在众多的数据库软件中,visual foxpro 拖颖而出,成为一种通用的数据库软件。利用visual foxpro 可以设计出丰富多彩的用户界面,在用户界面中可以放置各种控制部件,如命令按钮,图形,图片,图表等,从而设计出完全图形化的界面,方便用户操作和使用。1.2 vfp的基本功能1) 可以为每一种类型的信息创建一个表,利用表存

8、储相应的信息。2) 可以定义各个表之间的关系,从而很容易地将各个表中相关的数据有机地联系在一起。3) 可以创建查询搜索那些满足指定条件的记录,也可以根据需要对这些记录排序和分组,并根据查询结果创建报表、表及图表。4) 使用视图,可以从一个或多个相关联的表中,按一定条件抽取一系列数据,并可以通过视图更新这些表中的数据。5) 可以创建表单来直接查看和管理表中的数据。6) 可以创建一个报表来分析数据或将数据以特定的方式打印出来。1.3 vfp的特点与其他数据库不同,vfp在实现上述功能时提供了各种向导,用户在操作时,只需按照向导所提供的步骤执行,使用起来非常方便。1) 易于使用2) 可视化开发3)

9、事件驱动4) 面向对象编程5) 应用向导和生成器6) 组件库7) vfp基础类8) 活动文档9) 对动态图形文件的支持10) 程序语言的增强11) 支持ole拖放12) 新增和改进的生成器和编译器2 、系统分析2.1 设计目标和任务2.1.1 目标 学校工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。本学校工资管理系统极大提高了工作效率,节省了人力和物力,最终满足学校财务管理、员工工资发放的需要,同时也成为现代化学校管理的标志通过此系统,实现工资管理的完全信息化和数字化。2.1.2 任务为了加快学校自动化的步伐,建立工资管理系统,尽可能地减少工资管理的复

10、杂性和低效性。运用数据库、vfp等相关知识来编写系统,系统的开发包括系统分析、需求设计、各功能模块的开发及代码设计。系统应具备基本的信息输入、修改、查询、统计及结果的输出。2.2 可行性分析 以下从三个方面对学校工资管理系统进行可行性分析:技术可行性、经济可行性、操作可行性。 技术可行性 为了确定现有技术能否实现目标系统。vfp 6.0 自带的工具和控件,完全可以实现本系统要求达到的各种功能。 经济可行性为了确定待开发的系统的经济效益能否超过开发成本。学校工资管理系统是一个不会直接产生经济效益的投资,但是能够节省人员资源的消耗和浪费,从而节约成本,提高效率。从成本效益角度来观察,这个系统的开发

11、成本不是很高,在使用后,能够起到的作用也是十分可观的。 操作可行性学校工资管理系统是基于vfp 6.0平台开发的,vfp系列是被广泛应用于数据库开发和操作的一套成熟的软件平台,而且它对于一个小型的数据库处理具有不可比拟的优点和简单方便。所以丛操作可行性方面是可行的。开发出来的界面也是十分容易使用,具有简单,容易上手的特点。所以从上面三点出发,可以确定系统分析是可行的。2.3 需求分析2.3.1 总体需求1.建立对学校教职员工工资全面管理的信息系统;2.对所有的教职工提供全面管理;3.对系统的安全提供全面管理;4.对职工信息的添加、删除提供全面管理;2.3.2 功能需求(1) 对工资记录进行录入

12、。(2) 对工资信息进行查找。(3) 对多个工资记录进行浏览。(4) 对记录进行满足各种实际需要的修改。(5) 对各项工资的总和和总的人数进行统计。(6) 对记录进行打印。3 、 学校工资管理系统功能模块图登录窗口系统主窗口工资记录浏览工资记录统计工资记录查询工资记录修改工资记录录入退出系统工资记录管理理gj 理理编辑菜单记录打印退出系统图3-1学校工资管理系统功能模块图4 主要功能模块设计4.1 项目的建立a在硬盘上建一个目录b启动vfp系统,在“项目管理器”窗口中建立一个项目,项目的名称为“工资管理系统”,保存到新建的目录中,如图4-1所示。图4-1项目的建立4.2 用户登陆为了保证应用程

13、序的安全,通常要设计系统登录表单验证用户是否合法。只有合法的用户才可进入系统。本模块是系统的封面表单,运行时将通过此表单调用主控模块,进而管理整个工资管理系统。系统登录模块运行结果。如图4-2所示。图4-2用户登陆28 表单的设计表单form的属性autocenter 改为:.t.-真(运行时居中) borderstyle 改为:2-固定对话框(禁止更改表单大小)showtips 改为:.t. 真(指定表单上的控件等是否显示提示信息)showwindow 改为 :2-作为顶层表单在表单的 form_load 事件下添加如下代码:public username(2)username(1)=超级用

14、户username(2)=普通用户登陆系统command1_click事件代码:store to myuser,p1,p2,p3myuser=thisform.combo1.valuep1=alltrim(thisform.text1.value)p2=left(alltrim(time(),2)+substr(alltrim(time(),4,2)p3=alltrim(str(year(date()if myuser=username(1) if p1=p3 thisform.release do form gzgl else =messagebox(超级用户密码错误,请再试一遍!,65,提

15、示信息) endifelse if p1=p2 thisform.release do form gzgl else =messagebox(普通用户密码错误,请再试一遍!,65,提示信息) endifendif4.3 系统主菜单设计a 在“项目管理器”窗口中,选择“其他”选项卡b 在“其他”选项卡中,选择“菜单”,“新建”,“菜单”,系统进入“菜单设计器”窗口,如图4-3所示。图4-3系统菜单设计器退出过程相应代码:byebye=messagebox(真的要退出系统吗?,64+1,提示信息)if byebye=1 close all clear events quit endif要注意的是,

16、要在设计菜单结束后,选择主菜单上的“显示”菜单下的“常规选项”命令,再选择顶层表单复选框。然后保存文件,再选择生成菜单选项。4.4 系统主控表单设计主控表单用来调用系统菜单,以形成对整个工资管理系统的控制与管理。运行结果。如图4-4所示。图4-4系统主控表单本表单form的属性需做相应设置:show window=2windowstate=2showtips=.t.form 表单中的load事件代码为do xtcd.mpr with this ,.t.4.5 工资录入表单设计工资录入模块是用来录入工资记录的,在具体操作时有些数据需要自动生成。运行结果,如图4-5所示。图4-5工资录入表form

17、1表单的属性如下:autocenter=.t.showwindow=1相应事件代码设置:txt应发工资的 click 和gotfocus的代码如下:with this.parentthis.value=.txt职务工资.value+.txt综合补贴.value+.txt出勤补.value+.txt交通补.value+.txt外租房补.value+.txt补发工资.valueendwithtxt合计扣款的 click 和gotfocus的代码如下:with this.parentthis.value=.txt养老保险.value+.txt公积金.valueendwithtxt实发工资的 clic

18、k 和gotfocus的代码如下:with this.parent this.value=.txt应发工资.value-.txt合计扣款.value endwithtxt 所得税、txt实发现金的代码与其类似略去。各个按钮的功能比较简单,在此略去。4.6 工资浏览表单设计本表单用来对多个记录进行浏览,运行结果,如图4-6所示。图4-6工资浏览此表单功能较简单,其中所用控件代码,在此省略。4.7 工资修改表单设计此表单由页框控件组成,该页框由四个页面组成。第一个页面:对查找满足条件的记录进行修改图4-7-1对满足条件的记录修改第二个页面:将已查找的记录显示在屏幕上,进行修改,即单个记录的修改图4

19、-7-2对已找到的记录进行修改第三个页面:批量修改已满足条件的记录,也可以修改某一字段的内容。图4-7-3批量修改第四个页面:浏览式修改记录,在列表框中选择一个记录,在屏幕上显示选定记录的内容,可以修改记录。图4-7-4浏览式修改text1_interactivechange事件代码:set exact offgetzgh1=alltrim(thisform.pageframe1.page1.text1.value)getxm1=alltrim(thisform.pageframe1.page1.text2.value)getrq1=thisform.pageframe1.page1.text

20、3.values=if len(getzgh1)0 s=s+职工号=getzgh1endifif len(getxm1)0 s=s+.and.+姓名=getxm1endifif getrq1/ s=s+.and.+dtoc(日期)=dtoc(getrq1)endifif left(s,5)=.and.or.left(s,5)=.and. s=subst(s,6)endifif len(alltrim(s)=0 set filter to else set filter to &s endifgo topthisform.pageframe1.page2.caption=姓名+的详细内容this

21、form.pageframe1.page1.refreshthisform.pageframe1.page2.refreshtext2, text3,text4,的interactivechange事件代码也类似,在此省略。查找记录command1_click事件代码:if not empty(thisform.pageframe1.page1.text4.value) n=val(alltrim(thisform.pageframe1.page1.text4.value) go n thisform.pageframe1.page2.setfocus thisform.pageframe1.

22、page2.caption=姓名+ 的记录内容 thisform.refreshelse set exact offgetzgh1=alltrim(thisform.pageframe1.page1.text1.value)getxm1=alltrim(thisform.pageframe1.page1.text2.value)getrq1=thisform.pageframe1.page1.text3.values=if len(getzgh1)0 s=s+职工号=getzgh1endifif len(getxm1)0 s=s+.and.+姓名=getxm1endifif getrq1/ s

23、=s+.and.+dtoc(日期)=dtoc(getrq1)endifif left(s,5)=.and.or.left(s,5)=.and. s=subst(s,6)endifif len(alltrim(s)=0 set filter to else set filter to &s endifgo topendifthisform.pageframe1.page2.caption=姓名+的详细内容thisform.pageframe1.page1.refreshthisform.pageframe1.page2.refresh删除记录command2_click事件代码:inotice=

24、messagebox(确定删除指定的记录吗?,65,重要提示)if inotice=1 delete record recno() anotice=messagebox(确定物理删除指定的记录吗?+chr(13)+一经删除,不能恢复!,65,重要提示) if anotice=1 use use gzb pack use thisform.release endif thisform.refreshendif恢复记录command3_click事件代码:inotice=messagebox(恢复所有逻辑删除的记录吗?,65,提示信息)if inotice=1 recall allendif自动计

25、算click事件代码:with this.parent.txt应发工资.value=.txt职务工资.value+.txt综合补贴.value+.txt出勤补.value+.txt交通补.value+.txt外租房补.value+.txt补发工资.value.txt合计扣款.value=.txt养老保险.value+.txt公积金.value.txt实发工资.value=.txt应发工资.value-.txt合计扣款.value.txt实发现金.value=.txt实发工资.value-.txt所得税.value if this.parent.txt实发工资.value800*如果工资高于80

26、0,则有所得税,费为5%.txt所得税.value=(this.parent.txt实发工资.value-800)*0.05endifendwith确认修改click事件代码a=messagebox(确定更改指定的项目吗?,65,提示信息)if a=1 &选择确定按钮时执行 replace all 职务工资 with 职务工资+this.parent.text4.value replace all 应发工资 with 应发工资+this.parent.text4.value replace all 实发工资 with 实发工资+this.parent.text4.value replace a

27、ll 公积金 with 公积金+this.parent.text5.value replace all 应发工资 with 应发工资+this.parent.text5.value replace all 实发工资 with 实发工资+this.parent.text5.value replace all 养老保险 with 养老保险+this.parent.text6.value replace all 应发工资 with 应发工资+this.parent.text6.value replace all 实发工资 with 实发工资+this.parent.text6.value repla

28、ce all 所得税 with iif(实发工资-8000,(实发工资-800)*0.05 ,0) replace all 实发现金 with 实发工资- 所得税 this.parent.text4.value=0 this.parent.text5.value=0 this.parent.text6.value=0 thisform.refreshendif4.8 工资统计表单设计本表单用来统计各项工资的总和以及总的人数,运行结果,如图4-8所示。图4-8数据统计模块开始计算command1_click事件代码:set talk offset filter tocount to xyzsum

29、 to a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13thisform.txt职务工资.value=a1thisform.txt综合补贴.value=a2thisform.txt出勤补.value=a3thisform.txt交通补.value=a4thisform.txt外租房补.value=a5thisform.txt补发工资.value=a6thisform.txt应发工资.value=a7thisform.txt养老保险.value=a8thisform.txt公积金.value=a9thisform.txt合计扣款.value=a10thisfo

30、rm.txt实发工资.value=a11thisform.txt所得税.value=a12thisform.txt实发现金.value=a13thisform.text1.value=xyz*thisform.refresh4.9 工资查找表单设计该模块主要功能是实现对工资信息的查找工作。图4-9-1查找满足条件的记录第二页面图4-9-2详细内容查看详细内容command1_click事件代码:thisform.pageframe1.page2.setfocusthisform.refresh返回上一页command1_click事件代码:thisform.pageframe1.page1.s

31、etfocusthisform.pageframe1.page1.refreshtext1, text2,text3,的interactivechange事件代码与修改中也类似,在此省略。4.10 工资初始化表单设计本模块是对下个月的工资记录进行初始化,该表单包括的内容如下:图4-10数据初始化初始化command1_click事件代码:set path to a=下面要进行初始化,将对原来的内容进行改变,所以一定要先进行备份,否则原来的数据将丢失,+chr(13)+进行备份吗?inotice=messagebox(a,65,提示信息)if inotice=1if file(temptemp.

32、vfp)delete file temptemp.vfpendifcopy to temptemp.vfpreplace all 日期 with date ()thisform.refreshendif4.11 工资备份表单设计本模块是对本月的工资记录进行备份,该表单包括的内容如下:图4-11数据库备份备份command1_click事件代码:ff=alltrim(thisform.text1.value)copy to &ff4.12 记录打印表单设计本表单用来实现对记录的打印,共有两种打印模式:打印工资表和打印工资条。运行结果如图4-12所示。图4-12记录打印表单form1的init事件

33、代码为:parameters tjpublic tiaojiantiaojian =tj打印command1_click事件代码:xyz=recno()do case case thisform.optiongroup1.value=1 if thisform.optiongroup2.value=1 report form gzt.frx envi prev else report form gzb.frx envi prev endif case thisform.optiongroup1.value=2 if thisform.optiongroup2.value=1 report fo

34、rm gzt.frx envi prev else report form gzb.frx envi prev endif case thisform.optiongroup1.value=3 if thisform.optiongroup2.value=1 report form gzt.frx envi prev else report form gzb.frx envi prev endif4.13 系统帮助表单设计该表单包括的内容如下图4-13系统帮助4.14 相关报表工资表图4-14-1工资条图4-14-2工资条5 主程序的设计a在“项目管理器”窗口中,单击“代码”选项卡,选择“程序”,并单击“新建”按钮,即可创建程序文件。 工资主程序的代码内容如下:close allclear allclear screen=setpath()do form fmread eventso

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论