毕业设计(论文)-学校工资管理系统.doc

上传人:椰子壳 文档编号:3284410 上传时间:2019-08-08 格式:DOC 页数:28 大小:1.72MB
返回 下载 相关 举报
毕业设计(论文)-学校工资管理系统.doc_第1页
第1页 / 共28页
毕业设计(论文)-学校工资管理系统.doc_第2页
第2页 / 共28页
毕业设计(论文)-学校工资管理系统.doc_第3页
第3页 / 共28页
毕业设计(论文)-学校工资管理系统.doc_第4页
第4页 / 共28页
毕业设计(论文)-学校工资管理系统.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《毕业设计(论文)-学校工资管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-学校工资管理系统.doc(28页珍藏版)》请在三一文库上搜索。

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在“项目管理器”窗口中,单击“代码”选项卡,选择“程序

35、”,并单击“新建”按钮,即可创建程序文件。 工资主程序的代码内容如下:close allclear allclear screen=setpath()do form fmread eventson shutdown do OnShutDown()function setpath() local lcsys16,lcprogram lcsys16=sys(16) lcprogram=substr(lcsys16,at(:,lcsys16)-1) cd left(lcprogram,rat(,lcprogram) set path to gzglendfuncFUNCTION OnShutDown

36、() nAns = MESSAGEBOX(您是否要退出这个程序?,65 ,信息提示 ) IF nAns = 1do quitsys EndIf ENDFUNCB单击右上角的“关闭”,在“另存为”对话框中,以“main”为文件名保存。C 单击鼠标右键,在弹出的快捷菜单中,选择“设置主文件”,此时可以看到程序main变为黑体。6 程序的连编A单击“项目管理器”窗口中的“连编”命令,在“操作”框中,选择“连编可执行文件”,按“确定”按钮。B输入编译后的。EXE文件名,然后保存在已建的应用程序所在的目录中。C编译完成后,用户就可以将自己的系统拷贝到其他的机器上运行了(脱离VFP环境)7 系统运行的效果

37、提供式界面操作,操作简单明了经调试系统在Windows XP、Windows 2000下面成功运行。附录A 数据库相关数据表gzb字段名称字段类型字段大小职工号字符型8日期日期姓名字符型8职务工资数值型7综合补贴数值型7出勤补数值型7交通补数值型7外租房补数值型7补发工资数值型8应发工资数值型8养老保险数值型7公积金数值型7合计扣款数值型7实发工资数值型8所得税数值型7实发现金数值型8参考文献1 丁爱萍.Visual FoxPro 6.0程序设计教程M.西安:电子科技大学出版社,2002.62 李淑华.Visual FoxPro 6.0程序设计M.高等教育出版社,2004.8 3 Craig

38、Eddy.中文Access 2000 24学时教程M.机械工业出版社4 李绍原.OFFICE 2000M.科学出版社5 汪孝宜,胡海璐,米海生.信息系统开发-实例精粹M.电子工业出版社致 谢通过这次毕业设计,掌握了Visual FoxPro 数据库是一个关系型数据库,Visual FoxPro 需要很少编程就可以建立一个面向对象的数据库应用程序。对目前流行的软件开发方法和手段,有了一定的认识,丰富了软件开发的经验,提高了编制程序的水平,加深理解了许多课程中、书本上学到的知识和理论。同时通过编写毕业设计论文,我还掌握了软件文档的书写方法和书写格式。在这次毕业设计中,我要特别感谢我的老师,在他们的大力帮助下不仅仅是完成了此系统的开发而且学会了一门编程语言,使我的能力得到了提升。

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1