某大学退休人员工资管理系统_第1页
某大学退休人员工资管理系统_第2页
某大学退休人员工资管理系统_第3页
某大学退休人员工资管理系统_第4页
某大学退休人员工资管理系统_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

江南大学

2003届本科毕业生毕业设计报告书

细M畿%

SchooloilnfbmationTechnology

——退休人员工资管理系统

毕业生所在院系:信息工程学院

毕业生导师:须文波教授

毕业生班级:软件991

毕业生学号:3号

毕业生姓名:虞黎霞

摘要

本文主要以无锡市建设局退休人员工资管理为背景,详

述了建立退休人员工资管理系统的主要过程,并针对整个系

统设计中的主体思想及涉及到的问题进行了详细的分析。

文中介绍了该工资管理系统的需求分析、系统分析、整

体设计、详细设计、具体编码、系统特点以及系统实现的全

过程,描述了工资管理、发放的全面操作过程。对基于Visual

FoxPro6.0这一关系数据库面向对象编程工具进行了使用,对

该工资管理系统软件进行了开发。退休人员工资发放系统的

总体设计思想为面向对象的思想,程序设计采用模块法和结

构化法二者相结合的方法。

退休人员工资管理系统是一个利用先进的计算机及实用

的开发软件为基础,以全面实现工资管理的系统化、规范化、

自动化与科学化为主要目标,实现对人员工资的自动化管

理。

退休人员工资管理系统的实现,减轻了人力、物力的负

担,并为企业进入网络与通讯现代化,做出了一定贡献。

Abstract

ThisthesisismanagedforthebackgroundwiththeretiredpersonneFssalaryof

ConstructionBureauofWuximainly.Itdetailsandsetupretiredpersonnelsalarythe

maincoursesesofadministrativesystemsdirectedagainstandquestioninvolvedgo

ondetailedanalysisthesubjectthoughtsofwholesystematicdesignses.

Itrecommendinthearticleanalyseatthissalarythedemandsofadministrative

systems,Networkanalysis,globaldesign,designingindetail,concretecode,the

systematiccharacteristicandthewholecourserealizedsystematically.Theonesthat

havedescribedthesalaryandmanaged,grantedhaveoperatedthecourseall-sidedly.

ToatVisualFoxPro6.0thisdatabasefacetargetusebyprogrammingtool,develop

thissalaryManagesystemssoftware.Retiredpersonnel'ssalarymanagementsystem

granttheoveralldesignphilosophiesesofsystemforfacingthethoughtsoftarget.

Designprogramcombineswithtwomethodsthatcalledmodularizationandstructure.

Retiredsalaryadministrativesystemsofpersonnelarebasedononeutilizes

advancedcomputerandpracticaldevelopmentsoftware.Inordertorealizeall-sidedly

thatthesystematized,standardization,automationandscienceofmanagementofthe

salaryturnamaingoal.Realizethatmanagestheautomationofpersonnel'ssalary.

Therealizationofretiredsalaryadministrativesystemsofpersonnel,has

lightennedtheburdensofmanpower,materialresources.Andtomakecertain

contributionforenterringthenetworkandcommunicationmodernizationforthe

enterprise.

目录

第一章导言........................................................4

L1问题的提出......................................................4

1.2数据库的发展...................................................4

1.3关系数据库简介.................................................5

1.4VisualFoxPro简介..............................................6

1.5本文的研究路线..................................................9

第二章退休人员工资管理系统研究概述...............................10

2.1设计题目.......................................................10

2.2设计目的.......................................................10

2.3设计要求及需求分析.............................................10

2.4可行性分析.....................................................10

第三章退休人员工资管理系统分析与设计..............................11

3.1设计思想.......................................................11

3.2系统总体结构...................................................11

3.3程序设计流程图................................................12

3.4数据库设计.....................................................14

3.5系统的进入.....................................................16

3.6密码修改.......................................................16

第四章退休人员工资管理系统功能实现...............................18

4.1数据的录入.....................................................18

4.2数据的查询....................................................20

4.3数据的浏览....................................................21

4.4报表的设计....................................................21

4.5工资备份及恢复................................................23

4.6菜单的设计....................................................25

4.7调试应用程序..................................................25

第五章设计结论及体会.............................................29

英汉翻译..........................................................31

参考文献...........................................................38

第一章导言

1.1问题的提出

计划经济时代,中国还不存在人力资源管理这个观念,企业对人的

管理还处在围绕档案、工资的"白纸黑字"的管理模式。信息技术进入国内

人力资源管理可以用以下六个字来概况,"应用早、发展慢"。

80年代后计算机大批引入中国,较早的应用就是采用计算机处理人

事档案、工资,基于DBASE、数据库的简单管理,多为企业自行开发。

90年代开始出现产品化的人事、劳资软件,但未得到企业客户的认同,

相比财务、物流管理的信息化发展,90年代人力资源管理信息化程度已

经明显落后。进入21世纪,伴随信息化的普及及互联网的快速发展,IT

技术更广泛的应用于企业人力资源管理,同时企业管理中"人"的因素愈发

重要,企业原有的计算机软件难以满足人力资源管理的要求,需要思想、

技术更为先进的人力资源管理信息系统。当前企业人力资源信息化情况

可以概括为:大部门企业的人力资源部门拥有计算机硬件设备用于日常

管理,但软件情况参差不齐,一部分使用EXCEL或本单位人员编写的小

软件、一部分购买了通用人事、人力资源软件产品,一部分委托计算机

软件公司专门为其定制开发软件,还有一部分企业尚未采用计算机软件

进行管理,可以说人力资源信息化的条件已具备,但仍处于发展阶段,

已大部分建立了员工档案、用软件进行工资发放等。随着我国加入WTO,

财务人员面临新的挑战,要求财务人员尤其是财务管理人员必须更新观

念,更新知识,逐步由报帐型会计向适应市场经济需要的管理型会计方

向发展。

1.2数据库的发展

人类在20世纪发明了计算机,计算机科技在20世纪的后期更是突飞

猛进。比起从前,现代企业更依赖于正确和及时的信息,以引导它们走向

成功之路。正因为如此,如何管理和维护数量庞大的信息,并能够快速抽

取所需的数据,是现代企业必须面对的重要课题。

20世纪后期是信息爆炸的时代,数据是公司的重要资产。而对与日俱

增的庞大数据,企业若不能有效地加以管理,那么这种资产将成为企业的

负担。现代商场是分秒必争的,我们必须利用软件工具来处理如此庞大的

数据,数据库(Database)技术也就应运而生。

数据库是一组有组织的数据集合,由数据库管理系统(Database

ManagementSystem,DBMS)来管理。因为当今社会对数据的需求越来越

迫切,所以数据库技术的发展一日千里。现代数据库不仅能够存储传统的

文字数据(AlphanumericData),还可以存储图像、多媒体、交互视频和

数字图书馆等数据。就功能而言,现代数据库不再局限于数据的管理和存

取,他们还提供图像对比、语音识别以及图形识别等功能。

数据库技术的发展已有儿十年的历史了,在整个发展过程中,大致有

以下几种数据库类型:关系数据库(RelationalDatabase)>结构数据库

(HierarchicalDatabase)、网络数据库(NetworkDatabase)、面向对象数

据库(Object-orientedDatabase)以及关系式面向对象数据库(Relational

Object-orientedDatabase)o各种类型的数据库都有其优缺点和时代背景。

1.3关系数据库简介

关系数据库应用数学方法来处理数据库中的数据。最早将这类方法用

于数据处理的是1962年CODASYL发表的“信息时代”,之后有1968年

DavidChild在7090机上实现的集合论数据结构,但系统地、严格地提出关

系模型的是美国IBM公司的E.F.Coddo1970年他在美国计算机学会会刊

《CommunicationoftheACM》发表的题为"ARelationalModelofDatafbr

SharedBanks"的论文,开创了数据库系统的新纪元。以后,他连续发表了

多篇论文,奠定了关系数据库的理论基础。

关系数据库初期的研究大部分都是在加州圣荷西的IBM研究室内进行

的,但当时盛行的却是结构数据库和网络数据库。关系数据库的基本结构

十分简单,它石油的概念和模型极易于理解,用户不需要去了解复杂的数

据结构,就可以设计并石油关系数据库,图1.1展示了关系数据库的基本

结构:

关系数据库

关系1关系2

关系3关系4

列1(属性)列2(属性)列3(属性)列n(属性)

图1」关系数据库结构

一个关系数据库包含一个或一个以上的表格(Table),表格是由记录

(Record)所组成,每一个记录是由列(Column)所组成。同,•个表格内

的记录格式相同,而且每一列都拥有自己的属性(Attribute)。表格与表格

之间可能有某些关系(Relat沁n),关系数据库正是利用这些关系而将表格

串联成有组织的数据集合。

关系数据库的主要特征之一,就是其设计概念与真实环境很近似,采

用了表格式的结构。刚开始之所以未能普及,主要是因为关系数据库回占

用较大的内存和磁盘空间。计算机科技经过几十年的发展,硬件设备的价

格已经相当低廉,这使得关系数据库在目前是一枝独秀。

1.4VisualFoxPro简介

Fox系列数据库产品作为一种开发信息管理系统的微机常用工具,而深受

开发人员以及广大用户的喜爱,但由于微电子技术的飞速发展,CPU处理速

度的快速提升,硬盘的容量、速度及其它性能的显著提高,使得原来运行于

小、中型机等高档次计算机上的SQLServer>Oracle>Sybase等大型数据库

得以在微机上推广应用,使得较为流行的Fox系列微机数据库暗然失色,但

随着VisualFoxPro3.0以及5.0、6.0版本的推出,引入了许多新的特性,因

其融入可视化编程,面向对象程序设计以及ODBC技术,它们的发布给其带来

新的生机。

VisualFoxPro程序设计语言是目前流行的关系数据库语言之一,在

Windows环境的支持下,采用了面向对象程序设计技术、可视化技术和事件

驱动机制,十分有利于工资发放系统的开发与应用。Vfp使组织数据、定义

数据库规则和建立应用程序等工作变得简单易行。利用可视化的设计工具和

向导,可以快速创建表单、查询和报表。VisualFoxPro还提供了一个集成化

的开发环境,不仅拥有功能强大的面向对象程序设计工具以及客户/服务器能

力,而且支持ActiveX,这些特点为快速开发功能全面的应用程序创造了良

好的条件。

VisualFoxPro是一个非常强大的应用程序开发工具。它的以数据为中

心、面向对象的语言为开发人员提供了非常强大的工具组。面向对象程序设

计(OOP)提供了重用性和相容性很高的应用程序。然而,许多开发人员发

现从面向过程的程序设计转变到面向对象程序设计要费相当大的周折。

VisualFoxPro6.0减少了这种学习周折,通过提供使面向对象应用程序开发

更容易的工具简化了程序设计。

VisualFoxPro基础库是一套预置类库,开发人员可以使用它为应用程序

提供一般的功能。新的应用程序向导使用这些向导为数据库解决方案创建完

全面向对象的框架。新的应用程序生成器用于向使用这个框架的应用程序添

加表单和报表。组件图库(ComponentGallery)简化了库组织,因此开发人

员在程序开发时能够方便地定位和使用类。

VisualFoxPro对象可以是可视的(例如表单、表格等等)也可以是非可

视的(custom)o非可视对象不能包含可视对象,但可视对象可以包含非可

视对象。这意味着,封装在一个非可视对象中的数据,可以通过定义非可视

对象为可视对象类的一部分、或者在可视对象中实例化非可视对象的方法,

使用在可视对象中。或者,数据可以直接封装在可视对象中。另一方面,你

不能在一个非可视对象中实例化一个可视对象。

在VisualFoxPro的数据库世界里,我们收集的数据被保存在数据库表

中。就是说,我们仍然要用字段、记录、表等等的方式思考。然而,我们可

以以从真实世界系统中提取我们的对象那样完全相同方法从我们的对象中提

取数据。只要我们更进一步的使用自顶而下的设计并建立数据库表来建立我

们的对象的模型,或者,既然属性代表我们的对象需要储存的数据,就用数

据表来储存对象的属性。

理解这个概念的一个较好的方法是,把我们的表当作对象的基本数据结

构。我们仍然使用关系数据库设计技术,同时我们仍然利用所有VisualFoxPro

提供的数据库优化能力。我们通过这个给对象发送信息的范例,想要实现的

是建立一个对象的层次,如果你愿意,建立在我们的程序和基本的数据之间。

这个对象的层次,和管理我们的数据的数据库,组成我们编程环境的基础。

一旦这个基础已存在了,要编写对我们的数据进行工作的特定的应用程序就

变得相当的简单。

图1.2在VisualFoxPro模型中,对象在数据库表中储存它们的数据

在VisualFoxPro中,消息的传递是通过组成我们建立的对象的接口的

公开的属性和方法被处理的。程序,或者其它与我们的对象通讯的对象,通

过我们为它们设计的接口而交流。系统也对我们的对象发送消息、调用事件,

如果我们选择的话,那些对象可以对之做出反应。

作为一个数据库软件,VisualFoxPro6.0不仅具有管理它本身数据的

功能,还可以与其他应用程序集成,获取其他应用程序提供的数据。另外,

通过VisualFoxPro6.0,还可以将表或视图中的数据与MicrosoftWord文

档合并,产生邮件合并文档或者通过通用型字段嵌入或链接其他OLE对象。

1.导入数据

所谓导入数据,就是指从另一个应用程序复制数据,然后在Visual

FoxPro6.0中创建一个新表,并用源文件的数据填充该表。在VisualFoxPro

6.0中,可以导入多种文件类型的数据。

如果想使用FoxPro或dBASE文件中的表,可以直接打开并使用它们而不

必导入。VisualFoxPro6.0将询问你是否把表转换为VisualFoxPro6.0

格式。一旦将表从以前的版本转换成最新版本,就不能再用以前的版本打开。

在导入数据时,既可以使用“导入向导”,也可以使用“导入”对话框。

2.把数据追加到已有的表

在执行导入操作时,除了将数据导入到一个新表以外,你还可以将它导

入到一个已有的文件中。在选择将数据导入到一个已有的文件时,Visual

FoxPro6.0将把数据追加到已有文件的后面。

除了使用“导入向导”将要导入的数据追加到已有的文件以外,还可以

使用“追加来嫄”对话框追加数据。在使用“追加来源”对话框追加数据时,

首先应从“浏览”窗口中打开要追加记录的表。默认情况下,VisualFoxPro

6.0将源文件中所有记录和字段都追加到当前打开的表中,但是使用“追加

来源”选项,可以指定要追加哪些字段或记录。

3.导出数据

在VisualFoxPro6.0中,不仅可以从其他应用程序中导入或追加数据,

而且还可以把VisualFoxPro6.0表中存储的数据导出到另一种格式的文件

中,供其他应用程序使用。所谓导出,就是指把数据从VisualFoxPro6.0

表复制到其他应用程序所用的文件中。在VisualFoxPro6.0数据库中,可

以将数据存储为多种文件类型。

在VisualFoxPro6.0中,可以使用“导出”对话框导出数据。在导出

数据时,既可以导出指定表中的全部字段和记录,也可以只导出其中的一部

分。用户可以定义要导出哪些字段和记录。

4.创建邮件合并文件

我们知道,在Word中使用“工具”菜单中的“邮件合并”功能,可以将

标准文本与单一信息的列表链接成新的文档,包括套用信函、带地址的信封、

电子邮件和传真文档。在VisualFoxPro6.0中,利用“邮件合并向导”同

样也可以完成上述功能。

“邮件合并向导“实际上是将VisualFoxPro6.0和MicrosoftWord

两种应用程序集成在一起,使得MicrosoftWord能够共享VisualFoxPro6.0

表或视图中包含的数据,利用这些数据打印一批相同格式的文档。在日常生

活中,这种方法是很有用的。

5.嵌入或链接OLE对象

上述几种方法都只能使VisualFoxPro6.0静态地共享其他应用程序生

成的数据。为了能够动态地共享其他应用程序生成的数据,VisualFoxPro6.0

还提供了嵌入或链接数据的方法。嵌入和链接数据的方法是通过通用型字段

实现的,用户可以通过通用型字段在表或表单中嵌入或链接其他应用程序的

数据,同时仍用那些应用程序维护这些数据。在VisualFoxPro6.0中,外

部数据一般都是嵌入或链接在表或表单中的。

VisualFoxPro是应用广泛的前台数据库开发平台之一,因此在我们日常

工作中时常会遇到DBF数据文件。然而随着办公自动化的普及,越来越多的

时候需要将DBF文件转化为Excel电子文档。常用转化方法是在FoxPro中

用Copy命令进行格式转化或直接用Excel打开DBF文件。这两种方式虽然

都能达到目的,却不能得到格式规范、可以直接打印输出的报表,且输出的

Excel文件中,无法对数据类型进行有效转换,极易出现数据统计错误。一个

更加通用的方法,在VFP中调用Excel,可以由DBF文件直接生成复杂的

Excel报表。

VisualFoxPro6.0提供了支持客户机/服务器所需要的各种特征,包括

SQL传递技术、事务处理、远程视图、数据字典、NULL类型、数据库升迁、

及对ODBC资源的仪程;通过ODBC,可以访问几乎任何类型的数据库,如

Oracle、SQLServer、Sybase等主流数据库,不失为客户机/服务器结构应用

系统的客户端优秀开发工具,具有如下的特点:

1.开发应用系统快捷、方便,可以减轻开发人员的劳动强度,节省大

量的开发时间:面向对象特性,如对象、类及其继承性、封闭性、多态性属

性等,作为XBASE语言的扩展集而实现,提供了对面向对象程序设计的全

面支持,使开发者更多把精力放在系统前期分析和程序设计上,而不是编码

上。遵循所见即所得的原则,提供了向导、代码范围分析器、项目管理器、

设计器和生成器等图形化风格的交互开发工具,使设计工作在富有情趣的环

境中进行。多姿多彩的工具栏,给用户带来诸多的便利。

2.方便实现数据共享、转换:VisualFoxpro与其他Windows应用程序

紧密结合,支持所有Windows的数据共享机制,包括动态连接库(DLL,

DynamicLinkLibrary)、动态数据交换(DDE,DynamicDataExchange)及

对象连接和嵌入(OLE,ObjectLinkingandEmbedding)等,可以与Microsoft

其他应用软件,如Word、Excel等,共享数据资源,快转换成各种格式文档

资料;可以利用OLE自动化命令调用其他软件中的数据。

3.丰富多媒体数据处理功能:VisualFoxpro6.0不但能进行文本格式文

件、数据库文件的处理,还提供对GIF(GraphicsInterchangeFormat)和JPEG

(JointPhotographicElectronicGroup)图形文件的支持,它提供了一个多媒

体控制接口。通过多媒体控制接口(MCI,MultimediaControlInterface),

无须介入实际设备的复杂编程就可以操纵所有的多媒体设备,例如,对

MMControl控件的简单编程就可以实现视频文件、音频文件的播放等操作。

4.方便的应用编程接口(API,ApplicationProgrammingInterface)调

用:VisualFoxpro6.0提供了应用编程接口(API),把其与VisualStud沁套

件中的其他开发工具融为一体,紧密结合,可以满足较复杂的应用系统编程

需求。

5.开发应用系统体积小、运行速度快:VisualFoxpro大量应用动态连

接库(DLL,DynamicLinkLibrary)机制,DLL具有一次调入内存可被多各

程序、线程调用,大大减小了内存空间占用,缩小所编译程序的长度。

1.5本文的研究路线

当前无锡市建设局退休人员工资的计算、发放系统是用Foxbase开发的,

在使用和维护方面与在职人员的工资发放风格不统一,报表格式、表单风格

较老,给操作人员带来了诸多不便,也给数据维护工作带来困难,特别是对

操作系统的选择较苛刻一一必须使用Ucdos,而且数据存储和恢复不是特别

稳定。鉴于存在的问题,局里迫切需要一套用新软件开发的退休人员工资管

理系统。根据我国事业单位工资管理条例以及用户需求,因为是单机版使用,

而且数据量不大,基于工资管理系统的设计思想和功能要求以及对软件资源

的保护,经与建设信息中心领导商量决定,使用VisualFoxPro6.0(简称vfp6.0)

作为系统开发工具,模仿在职人员工资发放系统的风格和功能重新开发退休

人员工资管理系统,并添加了部分新功能,使该软件具有计算安全可靠、界

面友善美观、操作简便易学的特点。系统使用Windows2000操作系统,用具

有极强数据处理能力的VFP语言编制。退休人员工资发放系统的总体设计思

想为面向对象的思想,程序设计采用模块法和结构化法二者相结合的方法。

退休人员工资管理系统以标准化和一致性的Windows界面风格来设计用户

界面系统,具有直观、形象和操作简单的特点。

第二章退休人员工资管理系统研究概述

2.1设计题目

建设局退休人员工资管理系统

2.2设计目的

通过使用VisualFoxPro6.0软件编程,实现对退休人员工资发放的计算机管

理。

2.3设计要求及需求分析

①能够对单位退休人员的个人工资情况进行统一管理,具有人员工资录入功

能,实现人员工资的动态添加、删除,工资录入的内容是:人员编号、人

员姓名、身份证号、银行账号、各工资项目及合计等内容;具有信息存储

功能,能够存储人员信息、工资信息等重要信息;具有浏览功能,能够浏

览各部门人员的工资详细信息以及原有人员工资情况的修改、浏览等功

能,且具有同步分栏浏览。

②在工资管理中,人员的工资会有变动,本系统充分利用了计算机实现了对

个别特殊情况提供了手工修改和删除等功能,从而极大减轻了劳资人员的

工作量,并且有效地避免了错漏现象,确保工资的准确性。

③能够对退休人员的工资情况进行浏览和历史查询。可以按照人员编号、人

员姓名、身份证号、银行账号进行查询,便于劳资人员迅速找到特定人员,

并对其工资变动的历史记录一目了然。

④可以打印各种常规的工资统计报表,能够将各种统计结果通过打印机输

出,能够利用报表制作工资条并通过打印机输出分发给领取工资的人员,

以便核对;具有统计功能,能够做各部门的每月工资合计以及分类统计。

⑤为了保障系统的安全性能,系统在进入前提供了密码检查功能,并且用户

还可以任意修改密码;具有数据维护功能,对已录入的各项数据可以由专

人进行删除和修改。

2.4可行性分析

根据需求分析,此系统用vfp6.0开发可以很好地实现设计要求中所提出

的各项功能指标。有了该系统可以使目前的退休人员工资发放工作大为改观。

本设计将改变目前诸多数据手工操作的不便,利用计算机中最为友好、最为

方便的Windows界面进入本系统,并可以让管理人员轻松自如地通过鼠标与

键盘的简单敲击,来完成录入、预览、查询、修改、数据统计等工作,真正

实现了工资发放的自动化,大大提高工作效率。

第三章退休人员工资管理系统分析与设计

3.1设计思想

•安全化

因为工资系统涉及单位政策和机密,每次操作该系统的工作人员都要对

工资金额做出修改,如果进行错误操作,将会造成很大的经济损失,甚至更

为严重,为了确保数据的安全性,对进入本系统的人员都要进行密码验证,

以确定其身份是否合法,且具有密码修改的权限,以方便经常改换密码,加

强安全。

•模块化

现在是模块化程序设计的天下,应用程序要实现的目标就是金字塔尖,

进行程序设计规划的意义就在于,对构成金字塔的基础模块进行划分,规划

得越详细,模块分工越明确,越容易明白下一步该做什么,这好比搭积木的

游戏,把积木块组合成各种各样的形状,但首先要熟悉每个积木块的功能。

因此依据系统结构化设计方法,把整个系统划分为若干个功能模块,某模块

可划分为多个子模块,经层层分解后,最小的子模块的功能便十分明确和简

单了。这样做,不仅展现了一个应用软件系统的整体性和层次性,而且通过

屏幕对每个应用模块有明显的提示,在这些提示下,用户可以方便地进入系

统的每一层进行操作,可以非常方便地使用这一数据库应用系统。

•智能化

①自动编号加1

为了不给数据录入人员添加记忆上的麻烦,在添加新人员时,为系统设计

了对人员编号采取自动加1的功能,这样,既避免了空号,也防止了重号,

还方便了计算人员总数。

②自动计算各科目小计及合计

在工资录入表单中,当操作人员输入各项工资金额时,系统自动将基本工

资、扣款合计、应发金额、实发金额计算出来,这样可以正确进行工资发

放,以减少人工计算的错误。

③备份和恢复功能

每月工资发放结束后,均可进行当月工资数据备份,在要做年度回顾的时

候,可随时恢复各月数据,以备察看。

3.2系统总体结构

本系统功能较为强大,设计时采用了表单、程序、报表等多种VFP6.0

所给予的方法和手段,生成了数据库、库表、表单、报表、程序及其它文件,

同时,还使用了图形文件和图标文件,使得该应用系统图文并貌,通俗易懂,

便于操作。根据事业单位工资管理系统的有关规定和用户需求,退休人员工

资管理系统由工资录入、工资查询、工资汇总、报表打印、密码设置、备份

恢复六个模块组成,这些模块又是若干个子模块及二级子模块组成,最终形

成了一个结构紧凑、简洁,功能明确、完整的管理系统。系统的六个模块是

通过一个总表单表现出来的,每个模块又是由表单中的选项卡来体现的,操

作人员通过选择不同的选项卡进入不同的模块,再通过选项卡中的不同按钮

进入到下一级子模块中,这些子模块又由不同的表单体现出来,这样经过一

尾或几层表单的调用,最终必然达到预期的目的。系统总体结构如图3.1所

/JNo

工Y

▼土

工JL

一Is

.

图3.1系统总体结构

3.3程序设计流程图

为了保证系统的安全性,避免不必要的问题发生,系统设置了防止非法

操作人员进入系统的功能。系统在运行开始界面的时候,单击“进入系统”

按钮后,系统实现提供的是输入密码界面,操作人员进入本系统前必须输入

有效的密码,进入系统后,操作人员方可根据提示按钮进入想要操作的界面。

如果密码输入有错,系统将有“出错信息”提示,等待操作人员重新输入密

码,直至输入正确为止。密码验证流程图如下:

图3.2密码验证流程图

图3.3系统结构流程图

图3.4密码修改流程图

查询模块的流程图如图3.5所示。

图3.5查询模块流程图

3.4数据库设计

本系统中需要保存大量的数据信息,在基于VFP语言本身所提供的强大

的数据库管理能力的基础上,在系统开发过程中,充分利用了VFP的数据环

境设计器来进行表单及报表的数据环境设置,从而使得与表单有交互作用的

报表能够很方便的和表单一起保存,并且在程序中无须进行数据库的打开、

关闭等操作,只要用“select表名”命令即可对该表进行操作,减少了程序

代码的编写工作,使程序更加精练。

本系统设计一个数据库,名为:退休人员工资发放系统.dbc,在这个数

据库中只要建立了以下19张表:

Igty.dbf(离岗退养):存放离岗退养人员信息及工资信息

其余另有5张表分别为Ixry.dbf(离休人员)、txl.dbf(退休一)、tx2.dbf(退

休二)、tx3.dbf(退休三)、gqry.dbf(工勤人员)与Igty.dbf结构相同,工

资项目不同。

hzbl.dbf(汇总表1):存放离岗退养人员工资汇总数和人员总数

其余另有5张表分别为其它五部门的汇总表。

hbbl.dbf(主辅币):存放离岗退养人员所需主辅币数

其余另有5张表分别为其它五部门的主辅币数目存放。

3.5系统的进入

为了提高数据的安全性,避免不必要的问题发生,系统设置了防止非法

操作人员进入系统的功能。系统在运行开始界面的时候,单击“进入系统”

按钮后,系统首先提供的是输入密码界面(如图3.6所示),由操作人员输

入密码后,系统进行判定,如合法则进入,密码输入有错,系统将有“出错

信息”提示,等待操作人员重新输入密码,直至输入正确为止。

图3.6密码验证

3.6密码修改

进入系统后,为了操作人员能够将初始密码改为自己较易记忆的密码,

本系统设计了一个密码修改功能,密码修改成功后将被系统记录到xgb.dbf

中。在修改密码表单确定按钮的(Click)事件中写入了如下代码:

ch=thisform.text3.value

usedata\xgb

docase

casethisfbrm.textl.value=xgb.nr

ifthisfbrm.text2.value=thisform.text3.value

updatexgbsetnr=ch

wait”密码修改完毕,按任意键返回…”windowat25,60

thisform.release

else

messagebox。新密码输入有误,请重新输入!;0+48+0;确定)

thisfdrm.text1.value-*

thisfdrm.text2.value-1

thisfbrm.text3.value-1

thisfbrm.textl.setfbcus

thisfbrm.textl.passwordcha^1*1

thisfdrm.text2.passwordchar='*'

thisfbrm.text3.passwordchar='*'

endif

otherwise

messagebox,原密码不正确,请重新输入!;0+48+0:确定)

thisfbrm.textl.value-1

thisfbrm.text2.value-*

thisform.text3.value-*

thisfbrm.textl.setfbcus

thisfbrm.textl.passwordchar=,*f

thisform.text2.passwordchar=,**

thisfbrm.text3.passwordchar='*'

endcase

use

第四章退休人员工资发放系统的功能实现

根据系统要求按其功能模块确定所需设计的表单,每项功能都对应一个

表单或多个表单来实现。

每个VFP应用程序都需要有一个主程序来设置系统的运行环境,以便将

各个子程序连接起来。本系统的主控程序包括环境设置、确定初始用户界面

和建立事件循环三部分。环境设置主要用于初始化系统变量以及建立默认路

径,在设置环境并进入初始化界而后,就需要建立事件循环,以等待用户操

作并进行响应。程序中可用READEVENTS和CLEAREVENTS命令实现对

事件开始和停止处理的控制,主程序代码如下:

clearall

settalkoff

setsafetyoff

setstatbaroff

_screen.autocenter=.t.

_screen.closable=.f.

_screertborderstyle=1

modifywindowscreentitle”退休人员工资管理系统”

setpathto\data,\fbrms,\reports,\menu,\pic

doformfbrms\首页.sex

readevents

4.1数据的录入

数据录入表单中有添加和删除记录的要求,这是本系统最基本的功能。

对于添加记录,程序中主要采用了两种方法:一是用APPEND和REPLACE

命令给数据库表添加空记录,然后在字段中存储数据;另一种是用

INSERT-SQL命令直接在表中插入新记录。删除记录则先采用DELETE-SQL

命令对记录作删除标记,然后用PACK或ZAP命令从磁盘上永久地删除,可

用RECALL命令撤消记录的删除标记。

当有新人员又进入退休行列,都将要有数据录入的工作,为此本系统设

有1个人员信息和工资项目录入表单,如图4.1所示。

为了防止录入人员重复编号,或不连续录入,在“录入”按钮的(Click)

事件代码中,设计了一段记录号自动加1的程序。

command5=messagebox('是要录入吗?',1+48+256,'确认录入工资')

ifcommand5=l

gobott

insertintoIgty(rybh)values(str(val(rybh)+1,1))

endif

thisfbrm.refresh

图4.1工资录入表单

在录入工资项目的同时,基本工资、应发金额、扣款合计、实发金额四

项内容都是由系统直接运算后显示在只读框内,方便了录入人员,减轻了工

作。在录入表单的(Init)事件代码中加入了如下代码:

thisfbnn.refresh

gobott

thisfbrm.yQe.value=thisfbrm.jcgz.value+thisfdrm.zwgz.value;

+thisfbrm.jbiegz.value+thisfbrm.glgz.value+thisfbrm.gwjt.value;

+thisfbrm.jcjt.value+thisfdrm.zhbt.value+thisfbrm.qtbt.value;

+thisfbrm.wcbt.value+thisfbrm.ylbt.value+thisfbrm.tzbt.value;

+thisform.tgbt.value+thisfbrm.clfbg.value+thisfbrm.dfgwbt.value;

+thisfbrm.qt.value+thisfbrm.bfgz.value

thisfbrm.jbengz.value=thisfdrm.jcgz.value+thisform.zwgz.value;

+thisfbrm.jbiegz.value+thisfbrm.glgz.value

thisform.kkhj.value=thisfbrm.gjj.value+thisfdrm.ettc.value;

+thisfbrm.ghf.value+thisfbrm.sds.value+thisfbrm.hwf.value+thisfbrm.qtkk.value

thisfbrm.sfje.value=thisfbrm.yfje.value-thisfbrm.kkhj.value

因为身份证号和银行卡号是每个人员一种比较重要的凭证,所以要求尽

可能的不发生错误。为了确保两号的正确性,在身份证号和卡号对应的文本

框中,做了正确性检测程序设计。目前在我国存在有两种身份证号类型,一

种是15位数字,另一种是18位数字;而商业银行的卡号也存在两种,一种

是16位,一种是18位,从这一点出发,考虑将此内容限制在两个字节上,

如果输入时超出了限定的范围,系统将显示“身份证号非法”或“银行卡号

非法”信息,同时,取消原录入的内容,等待重新录入。因此在文本框的(Valid)

事件中输入如下代码(以身份证号验证为例):

iflen(alltrim(this.value))<>15andlen(alltrim(this.value))<>18

this.value='身份证号非法!,

A=inkey(l)

thisfbrm.sfzh.value="

endif

4.2数据的查询

操作人员主要工作之一就是进行数据查询,查询人员是否为新退休人员,

如果是就要进行重新录入,系统就会将该人员的信息和工资信息存储入库,

这样极大地提高管理效率。本设计是通过录入表单中的“查询”按钮进入查

询表单进入人员查询,此时,输入相关人员的信息之一(人员编号、人员姓

名、身份证号、银行帐号),计算机将对该人员开始自动查询,查询结果将

显示在录入表单中,如无该记录,系统将提示“无此记录!”。

图4.2查询表单

在“查询”按钮的(Click)事件中输入如下DO…CASE语句:

selectIgty

DOCASE

CASETHISFORM.find_name.VALUE='人员编号,

locateforrybh=ALLTRIM(THISFORM.TextLVALUE)

CASETHISFORM.find_name.VALUE廿人员姓名'

locateforryxm=ALLTRIM(THISFORM.Textl.VALUE)

CASETHISFORM.find_name.VALUE廿银行帐号(卡号)

locateforkh=ALLTRIM(THISFORM.TextLVALUE)

CASETHISFORM.find_name.VALUE='身份证号,

locateforsfizh=ALLTRIM(THISFORM.TextLVALUE)

ENDCASE

RELEASETHISFORM

4.3数据的浏览

Grid是VFP功能强大的表格(或者说网格)控件,它提供了比Browse窗口

强大得多的控制方式。Grid是包含列对象的容器对象,而列对象包含了列标题

对象及列控件对象,均有各自相应的属性集,因此我们可以完全控制表格中的

任何一个元素,设计出浏览界面。设计灵活性、通用性较强的录入界面较为合

适的方法是:采用数据表(DBF文件)控制Grid控件的行列显示信息、显示方

式。因此,我们将Grid控件的数据源RecordSource设为数据表(DBF文件),

其数据格式、显示方式及行列提示信息则分别由数据表RowMsg.DBF(控制表

格的行即记录方面信息)、ColMsg.DBF(数据格式并控制Grid控件的列方面信

息)进行控制。另外,一般来说指定Grid控件第一列显示行提示信息,若有

多个提示信息字段,可连接处理为一列。

为了更加便于浏览该部门人员的工资信息,本系统专门设计了浏览窗口,

此窗口的属性设置为只读状态,用户只能对其浏览,无法对其修改。值得一

提的是,本浏览窗口的“Partition”属性改为了2,这样在用户浏览的时候不

用担心因为工资项目太多,在拖动左右滚动条往后浏览的时候无法得知人员

信息的尴尬了,因为在这个设置下,两个栏里的信息是同步的,人员信息和

工资项目是一一对应的,方便了操作人员对信息的掌握。

工,浏览

人员编号人员姓名人员编号人员姓名基础工资职务工资级别工资1

►1李骁)0>■李晓123.00256.00256.00

2王明)02王明131.002565.0045.00

3张小明)03张小明125.0012.00125.00

4IJ1J►r

图4.3浏览表单

4.4报表的设计

本系统的报表基本是自行创建的,在报表设计器中要指定数据环境和每

个数据源的表达式,对报表格式的控制也是一个比较烦琐的工作。在所有的

报表中比较复杂的是银行发放清册,因为要从六个部门中选出符合条件的人

员放入一张报表中打印出来,而且没有现成的表来做数据环境,所以在制作

时需要建立并调用临时表来解决,在选择符合条件的人员(去银行用卡提现

金)时要加入选择条件,判断依据是卡号不为空。在做这部分的设计时,我

采用了在连接该报表的按钮的(Click)事件中建立临时表并筛选:

createtabledata/temp(ryxmC(20),sfzhC(20),khC(20),s5eN(8,2))

appendfromdata/lgtyforlen(alltrim(kh))<>0fieldsryxm,sfzh,kh,sfje

appendfromdata/lxryforlen(alltrim(kh))<>0fieldsryxm,sfzh,kh,sfje

appendfromdata/tx1forIen(alItrim(kh))<>0fieldsryxm,sfzh,kh,sfje

appendfromdata/tx2forlen(alltrim(kh))<>0fieldsryxm,sfzh,kh,sfje

appendfromdata/tx3forlen(alltrim(kh))<>0fieldsryxm,sfzh,kh,sfje

appendfromdata/gqryforlen(alltrim(kh))<>0fieldsryxm,sfzh,kh,sfje

selecttemp

reportformreports\yhqcprev

j就报表设计卷-yhqc.frx-页面113回区]

银行工资发放清册

2003年6月

人员姓名身份证号金领

王小明

温馨提示

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

评论

0/150

提交评论