最新VFP企业工资管理系统论文.doc

上传人:1595****071 文档编号:47996967 上传时间:2022-10-04 格式:DOC 页数:38 大小:1.36MB
返回 下载 相关 举报
最新VFP企业工资管理系统论文.doc_第1页
第1页 / 共38页
最新VFP企业工资管理系统论文.doc_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《最新VFP企业工资管理系统论文.doc》由会员分享,可在线阅读,更多相关《最新VFP企业工资管理系统论文.doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateVFP企业工资管理系统论文VFP企业工资管理系统论文广元职业技术学院毕业设计(论文)论文题目: 企业工资管理系统 系 别: 信息系 专业班级: 学生姓名: 指导教师: 彭 小 玲 二 九 年 五 月 十 日 目 录摘 要 1引 言21 系统设计使用的工具、环境简介21.1 VFP的简介21.2 VFP的基本功能21.3 VFP的特点32 系统分析32.1 设计目标和任

2、务32.2 可行性分析32.3 需求分析43 企业工资管理系统功能模块图54 主要功能模块设计54.1 项目的建立54.2 用户登陆64.3 系统主菜单设计74.4 系统主控表单设计84.5 工资录入表单设计84.6 工资浏览表单设计94.7 工资修改表单设计104.8 工资统计表单设计144.9 工资查找表单设计154.10 工资初始化表单设计164.11 工资备份表单设计174.12 记录打印表单设计174.13 系统帮助表单设计184.14 相关报表195 主程序的设计196 程序的连编207 系统运行的效果20附录A 数据库相关数据表21参考文献22致谢23-企业工资管理系统【摘 要】

3、企业的工资管理是公司管理的一个重要内容。随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、补贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理都采取纸质材料和具有较强的时

4、间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。【关键词】工资管理 财务管理 系统化 规范化 自动化引 言当今社会,资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分,因为企业每个月都要涉及发放企业员工工资的问题。而随着企业人员数量的增加,企业的工资管理也变得越来越复杂。企业员工的人数越多,工资的统计工作就越多,工资的发放困难就越大。如果能够实现

5、工资管理的自动化,无疑将给企业管理部门带来很大的方便。传统的纸质材料的数据信息管理方式已经不适合现代企业公司的发展了,实现工资管理的系统化、规范化、自动化,将成为现代公司管理工资的首选。随着计算机的诞生和普及以及计算机网络的发展,我们就可以开发一个工资管理系统,用电脑代替大量的人工统计和计算,完成许多工资信息的处理,同时,使用电脑还可以安全地、完整地保存大量的工作记录。1 系统设计使用的工具、环境简介系统设计使用的工具主要有Visual FoxPro 6.0 , 现简介如下。1.1 VFP的简介Visual FoxPro 6.0 是由美国Microsoft 公司于1998年推出的新一代数据库软

6、件系统。Visual FoxPro 数据库是一个关系型数据库,主要用于Windows环境。由于Visual FoxPro 需要很少编程就可以建立一个面向对象的数据库应用程序,所以在众多的数据库软件中,Visual FoxPro 拖颖而出,成为一种通用的数据库软件。利用Visual FoxPro 可以设计出丰富多彩的用户界面,在用户界面中可以放置各种控制部件,如命令按钮,图形,图片,图表等,从而设计出完全图形化的界面,方便用户操作和使用。1.2 VFP的基本功能1) 可以为每一种类型的信息创建一个表,利用表存储相应的信息。2) 可以定义各个表之间的关系,从而很容易地将各个表中相关的数据有机地联系

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

8、文档9) 对动态图形文件的支持10) 程序语言的增强11) 支持OLE拖放12) 新增和改进的生成器和编译器2 系统分析2.1 设计目标和任务2.1.1 目标 企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志通过此系统,实现工资管理的完全信息化和数字化。2.1.2 任务为了加快企业自动化的步伐,建立工资管理系统,尽可能地减少工资管理的复杂性和低效性。运用数据库、VFP等相关知识来编写系统,系统的开发包括系统分析、需求设计、各

9、功能模块的开发及代码设计。系统应具备基本的信息输入、修改、查询、统计及结果的输出。2.2 可行性分析 以下从四个方面对企业工资管理系统进行可行性分析:技术可行性、经济可行性、操作可行性和法律可行性。 技术可行性 为了确定现有技术能否实现目标系统。VFP 6.0 自带的工具和控件,完全可以实现本系统要求达到的各种功能。 经济可行性为了确定待开发的系统的经济效益能否超过开发成本。企业工资管理系统是一个不会直接产生经济效益的投资,但是能够节省人员资源的消耗和浪费,从而节约成本,提高效率。从成本效益角度来观察,这个系统的开发成本不是很高,在使用后,能够起到的作用也是十分可观的。 操作可行性 企业工资管

10、理系统是基于VFP 6.0平台开发的,VFP系列是被广泛应用于数据库开发和操作的一套成熟的软件平台,而且它对于一个小型的数据库处理具有不可比拟的优点和简单方便。所以丛操作可行性方面是可行的。开发出来的界面也是十分容易使用,具有简单,容易上手的特点。 法律可行性本系统完全是本人在指导老师的指导下独立完成的,故不存在侵权行为或者由于本系统带来的法律纠纷等问题,所以在法律上是可行的。所以从上面四点出发,可以确定系统分析是可行的。2.3 需求分析2.3.1 总体需求1.建立对企业员工工资全面管理的信息系统;2.对所有的职工提供全面管理;3.对系统的安全提供全面管理;4.对职工信息的添加、删除提供全面管

11、理;2.3.2 功能需求(1) 对工资记录进行录入。(2) 对工资信息进行查找。(3) 对多个工资记录进行浏览。(4) 对记录进行满足各种实际需要的修改。(5) 对各项工资的总和和总的人数进行统计。(6) 对记录进行打印。2.3.3 性能需求(1) 硬件配置中央处理器:硬盘 10G内存 16M显卡 SVGA光驱 CD-ROM(2) 软件环境操作系统 WINDOWS2000/WINDOWSXP/WINDOWS ME3 企业工资管理系统功能模块图登录窗口系统主窗口工资记录浏览工资记录统计工资记录查询工资记录修改工资记录录入退出系统工资记录管理数据初始化数据备份记录打印系统帮助退出系统图3-1企业工

12、资管理系统功能模块图4 主要功能模块设计4.1 项目的建立A在硬盘上建一个目录B启动VFP系统,在“项目管理器”窗口中建立一个项目,项目的名称为“工资管理系统”,保存到新建的目录中,如图4-1所示。图4-1项目的建立4.2 用户登陆为了保证应用程序的安全,通常要设计系统登录表单验证用户是否合法。只有合法的用户才可进入系统。本模块是系统的封面表单,运行时将通过此表单调用主控模块,进而管理整个工资管理系统。系统登录模块运行结果。如图4-2所示。图4-2用户登陆表单的设计表单form的属性Autocenter 改为:.T.-真(运行时居中) BorderStyle 改为:2-固定对话框(禁止更改表单

13、大小)Showtips 改为:.T. 真(指定表单上的控件等是否显示提示信息)ShowWindow 改为 :2-作为顶层表单在表单的 Form_Load 事件下添加如下代码:PUBLIC USERNAME(2)USERNAME(1)=超级用户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=A

14、LLTRIM(STR(YEAR(DATE()IF MYUSER=USERNAME(1) IF P1=P3 THISFORM.RELEASE do form gzgl ELSE =MESSAGEBOX(超级用户密码错误,请再试一遍!,65,提示信息) ENDIFELSE IF P1=P2 THISFORM.RELEASE do form gzgl ELSE =MESSAGEBOX(普通用户密码错误,请再试一遍!,65,提示信息) ENDIFENDIF4.3 系统主菜单设计A 在“项目管理器”窗口中,选择“其他”选项卡B 在“其他”选项卡中,选择“菜单”,“新建”,“菜单”,系统进入“菜单设计器”

15、窗口,如图4-3所示。图4-3系统菜单设计器退出过程相应代码:byebye=messagebox(真的要退出系统吗?,64+1,提示信息)if byebye=1 close all clear events quit endif要注意的是,要在设计菜单结束后,选择主菜单上的“显示”菜单下的“常规选项”命令,再选择顶层表单复选框。然后保存文件,再选择生成菜单选项。4.4 系统主控表单设计主控表单用来调用系统菜单,以形成对整个工资管理系统的控制与管理。运行结果。如图4-4所示。图4-4系统主控表单本表单form的属性需做相应设置:Show window=2Windowstate=2Showtips

16、=.t.Form 表单中的load事件代码为Do xtcd.mpr with this ,.t.4.5 工资录入表单设计工资录入模块是用来录入工资记录的,在具体操作时有些数据需要自动生成。运行结果,如图4-5所示。图4-5工资录入表Form1表单的属性如下:Autocenter=.t.Showwindow=1相应事件代码设置:Txt应发工资的 Click 和gotfocus的代码如下:with this.parentthis.value=.TXT职务工资.value+.TXT综合补贴.value+.TXT出勤补.value+.TXT交通补.value+.TXT外租房补.value+.TXT补发

17、工资.valueendwithTxt合计扣款的 Click 和gotfocus的代码如下:with this.parentthis.value=.TXT养老保险.value+.TXT公积金.valueendwithTxt实发工资的 Click 和gotfocus的代码如下:with this.parent this.value=.TXT应发工资.value-.TXT合计扣款.value endwithtxt 所得税、txt实发现金的代码与其类似略去。各个按钮的功能比较简单,在此略去。4.6 工资浏览表单设计本表单用来对多个记录进行浏览,运行结果,如图4-6所示。图4-6工资浏览此表单功能较简单

18、,其中所用控件代码,在此省略。4.7 工资修改表单设计此表单由页框控件组成,该页框由四个页面组成。第一个页面:对查找满足条件的记录进行修改图4-7-1对满足条件的记录修改第二个页面:将已查找的记录显示在屏幕上,进行修改,即单个记录的修改图4-7-2对已找到的记录进行修改第三个页面:批量修改已满足条件的记录,也可以修改某一字段的内容。图4-7-3批量修改第四个页面:浏览式修改记录,在列表框中选择一个记录,在屏幕上显示选定记录的内容,可以修改记录。图4-7-4浏览式修改text1_Interactivechange事件代码:set exact offGETzgh1=ALLTRIM(thisform

19、.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=s+.and.+DTOC(日期)=DTOC(GETRQ1)endifif left(s,5)=.and.OR.LEFT(S,5)=.AND. s=subst(s,

20、6)endifIF LEN(ALLTRIM(S)=0 SET FILTER TO ELSE set filter to &s ENDIFGO TOPTHISFORM.PAGEFRAME1.PAGE2.CAPTION=姓名+的详细内容THISFORM.PAGEFRAME1.PAGE1.REFRESHTHISFORM.PAGEFRAME1.PAGE2.REFRESHText2, Text3,Text4,的Interactivechange事件代码也类似,在此省略。查找记录command1_Click事件代码:if not empty(thisform.pageframe1.page1.text4.

21、value) n=val(alltrim(thisform.pageframe1.page1.text4.value) go n thisform.pageframe1.page2.setfocus thisform.pageframe1.page2.caption=姓名+ 的记录内容 thisform.refreshelse set exact offGETzgh1=ALLTRIM(thisform.pageframe1.page1.TEXT1.VALUE)GETxm1=ALLTRIM(thisform.pageframe1.page1.TEXT2.VALUE)GETrq1=thisform

22、.pageframe1.page1.TEXT3.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 TOPendifTHISFORM.PAGEFRAME1

23、.PAGE2.CAPTION=姓名+的详细内容THISFORM.PAGEFRAME1.PAGE1.REFRESHTHISFORM.PAGEFRAME1.PAGE2.REFRESH删除记录command2_Click事件代码:INOTICE=MESSAGEBOX(确定删除指定的记录吗?,65,重要提示)IF INOTICE=1 DELETE RECORD RECNO() ANOTICE=MESSAGEBOX(确定物理删除指定的记录吗?+CHR(13)+一经删除,不能恢复!,65,重要提示) IF ANOTICE=1 use use gzb PACK use thisform.release EN

24、DIF THISFORM.REFRESHENDIF恢复记录command3_Click事件代码:INOTICE=MESSAGEBOX(恢复所有逻辑删除的记录吗?,65,提示信息)IF INOTICE=1 RECALL ALLENDIF自动计算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实发工资

25、.VALUE=.TXT应发工资.value-.TXT合计扣款.value.TXT实发现金.VALUE=.TXT实发工资.value-.TXT所得税.value if this.parent.TXT实发工资.value800*如果工资高于800,则有所得税,费为5%.TXT所得税.VALUE=(this.parent.TXT实发工资.value-800)*0.05endifendwith确认修改Click事件代码A=MESSAGEBOX(确定更改指定的项目吗?,65,提示信息)IF A=1 &选择确定按钮时执行 replace all 职务工资 WITH 职务工资+THIS.PARENT.TEX

26、T4.VALUE replace all 应发工资 WITH 应发工资+THIS.PARENT.TEXT4.VALUE replace all 实发工资 WITH 实发工资+THIS.PARENT.TEXT4.VALUE replace all 公积金 WITH 公积金+THIS.PARENT.TEXT5.VALUE replace all 应发工资 WITH 应发工资+THIS.PARENT.TEXT5.VALUE replace all 实发工资 WITH 实发工资+THIS.PARENT.TEXT5.VALUE replace all 养老保险 WITH 养老保险+THIS.PARENT

27、.TEXT6.VALUE replace all 应发工资 WITH 应发工资+THIS.PARENT.TEXT6.VALUE replace all 实发工资 WITH 实发工资+THIS.PARENT.TEXT6.VALUE replace 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.REFRESHENDI

28、F4.8 工资统计表单设计本表单用来统计各项工资的总和以及总的人数,运行结果,如图4-8所示。图4-8数据统计模块开始计算command1_Click事件代码:set talk offset filter toCOUNT TO XYZSUM 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.TX

29、T补发工资.VALUE=A6THISFORM.TXT应发工资.VALUE=A7THISFORM.TXT养老保险.VALUE=A8THISFORM.TXT公积金.VALUE=A9THISFORM.TXT合计扣款.VALUE=A10THISFORM.TXT实发工资.VALUE=A11THISFORM.TXT所得税.VALUE=A12THISFORM.TXT实发现金.VALUE=A13THISFORM.TEXT1.VALUE=XYZ*THISFORM.REFRESH4.9 工资查找表单设计该模块主要功能是实现对工资信息的查找工作。图4-9-1查找满足条件的记录第二页面图4-9-2详细内容查看详细内容

30、command1_Click事件代码:thisform.pageframe1.page2.setfocusthisform.refresh返回上一页command1_Click事件代码:thisform.pageframe1.page1.setfocusthisform.pageframe1.page1.refreshText1, Text2,Text3,的Interactivechange事件代码与修改中也类似,在此省略。4.10 工资初始化表单设计本模块是对下个月的工资记录进行初始化,该表单包括的内容如下:图4-10数据初始化初始化command1_Click事件代码:set path t

31、o A=下面要进行初始化,将对原来的内容进行改变,所以一定要先进行备份,否则原来的数据将丢失,+chr(13)+进行备份吗?inotice=messagebox(A,65,提示信息)if inotice=1if file(temptemp.vfp)delete file temptemp.vfpendifcopy to temptemp.vfpreplace all 日期 with date ()thisform.refreshendif4.11 工资备份表单设计本模块是对本月的工资记录进行备份,该表单包括的内容如下:图4-11数据库备份备份command1_Click事件代码:ff=allt

32、rim(thisform.text1.value)copy to &ff4.12 记录打印表单设计本表单用来实现对记录的打印,共有两种打印模式:打印工资表和打印工资条。运行结果如图4-12所示。图4-12记录打印表单form1的init事件代码为: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 pre

33、v else report form gzb.frx envi prev endif case thisform.optiongroup1.value=2 if thisform.optiongroup2.value=1 report form 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

34、.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 eventson shutdown do OnShutDown()function setpath() local lcsys16,lcprogram lcsys16=sys(16

35、) lcprogram=substr(lcsys16,at(:,lcsys16)-1) cd left(lcprogram,rat(,lcprogram) set path to gzglendfuncFUNCTION OnShutDown() nAns = MESSAGEBOX(您是否要退出这个程序?,65 ,信息提示 ) IF nAns = 1do quitsys EndIf ENDFUNCB单击右上角的“关闭”,在“另存为”对话框中,以“main”为文件名保存。C 单击鼠标右键,在弹出的快捷菜单中,选择“设置主文件”,此时可以看到程序main变为黑体。6 程序的连编A单击“项目管理器”窗

36、口中的“连编”命令,在“操作”框中,选择“连编可执行文件”,按“确定”按钮。B输入编译后的。EXE文件名,然后保存在已建的应用程序所在的目录中。C编译完成后,用户就可以将自己的系统拷贝到其他的机器上运行了(脱离VFP环境)7 系统运行的效果提供式界面操作,操作简单明了经调试系统在Windows XP、Windows 2000下面成功运行。附录A 数据库相关数据表gzb字段名称字段类型字段大小职工号字符型8日期日期姓名字符型8部门字符型10职务工资数值型7综合补贴数值型7出勤补数值型7交通补数值型7外租房补数值型7补发工资数值型8应发工资数值型8养老保险数值型7公积金数值型7合计扣款数值型7实发

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁