人事管理系统.doc_第1页
人事管理系统.doc_第2页
人事管理系统.doc_第3页
人事管理系统.doc_第4页
人事管理系统.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

前 言人事管理是随着人事制度改革应运而生的一项新的工作。近年来,随着人事制度的改革及企事业单位实行劳动合同制,用人单位拥有了用人自主权。但由于一些企业的改制,人事的更迭,以及人事档案的多头管理,造成了部分档案的流失,也造成了效率低,办事难的情况。最初的人事管理,都是靠人力来完成的。当企业规模比较小的时候,人力可以完成,随着企业的规模越来越大,企业员工的数目越来越多,依然维持着人力进行人事管理,必然会造成工作效率低,工作错误增高的问题。人事管理就是把分散在企事业单位的职工档案实行统一、集中、规范的收集管理,建立分类编号管理、电脑存储查询等现代化、专业化的管理系统。人事管理为企业单位和个人提供信息咨询、档案检索、档案存取、依据档案出具各类证明材料等服务;为企业单位和个人提供档案的收集、整理、保管服务。人事管理系统是典型的管理信息系统。这就要求它应该能够为用户提供有好美观的窗口界面、充足可靠的信息数据、简单方便的维护手段和灵活多变的查询方式以及快捷而准确的查询结果。所以,对于人事管理系统的设计主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面。对于前者而言要求建立起数据一致性及完整性强、数据安全性好的数据库。对于后者而言则要求具备应用程序功能全,易使用等,运行稳定等特点。因此,我选用的开发软件是Microsoft 公司出品的Visual Fox Pro6.0。第1章 开发背景 当今社会,随着科技的不断发展,计算机已在人们的日常生活和工作领域中日益普及,并且人们对于计算机的应用不在是简单的文字处理和最初的科学计算。计算机早已涉及到人们生活的各个方面,更多地利用计算机来管理日常事务。管理信息系统(Management Information System,简称MIS)是一个由人、计算机等组成的能进行信息收集、传递、存储、加工、维护和使用的系统。而将信息管理系统与企业自动化设备相结合,则是当今社会现代企业的发展趋势。通过这样的管理方式,企业的管理人员、技术人员、统计人员等各部门员工就能从大量烦琐的资料和数据中解脱出来,只需对自己需要的数据和内容进行必要的处理,而不用对每个环节都了如指掌。这在一定程度上能够节省人力物力,同时也大大加强了对数据处理的及时性和准确性。目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,人事管理系统也有了很大的发展,商业化的人才信息管理软件也不少。目标是力求使系统功能简洁明了,功能齐全且易于操作。人事信息管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以人事管理系统应该能够提供充足的信息和快捷的查询手段。在各企事业单位,用计算机管理人事的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了企事业单位资料的安全性,提高了企事业单位的管理能力。为此,用计算机来管理人事的信息,是非常必要的。第2章 系统分析 第21节 业务描述目前大多数的人事管理系统由于使用传统的手工方式,存在有效率低、不易检索、资料保存困难等问题。用户迫切希望开发一套切实可行的、符合日常工作习惯的人事信息管理系统。用户最为关心的热点是目标系统能够实现方便、快捷的信息查询。系统开发的总体目标是实现企业人事信息管理的系统化、规范化和自动化。本人事信息管理系统需要完成功能主要有: (1)按不同权限登录系统。u (2)对其提供的部门资料情况进行添加、查询、修改和删除操作。u (3)对其提供的人员资料情况进行添加、查询、修改和删除操作。u (4)对其提供的人员考勤资料情况进行添加、查询、修改和删除操作。u (5)可添加新的用户,修改用户原有的用户名、密码,删除原有用户。第22节 构造系统的逻辑模型首先需要给出系统的逻辑模型,如图2-1图2-1 人事管理系统的基本系统模型第23节 构造系统的数据流程图根据上述基本系统模型,对其逐步细化,得到描绘逻辑系统细化后的数据流程图,如图2-2所示。人事管理系统员工信息管理员工照片管理家庭成员管理工作考勤管理部门管理图2-2 人事管理系统数据流程图在有了系统的数据流程图后,还有相当多的数据信息如部门信息、员工基本信息、员工考勤信息等,还需要进一步的描述。此时需要通过定义数据字典,才能把现有的系统描述清楚。数据字典是关于数据信息的集合,也就是对数据流程图中包含的所有元素的定义。一般来说数据字典应该由四类元素的定义组成:数据流、数据流分量(即数据元素)、数据存储和数据处理。图2-3、图2-4、图2-5分别列出了本系统的主要数据字典卡片。部门:部门信息表别名:描述:记录所有部门的基本信息定义:部门信息表=编号+名称+描述+上级编号员工:员工基本信息表别名:描述:记录所有员工的基本信息,“员工状态”表示员工的类型(在职、兼职、试用、离职、返聘、退休等)定义:员工基本信息表=编号+姓名+照片+性别+民族+生日+政治面貌+文化程度+婚姻状况+籍贯+身份证号+工作证号+办公电话+手机号+档案存放地+户口所在地+到岗日期+部门编号+工作岗位+职务+员工状态+合同有效期+备注+填表人+填表日期图2-3 部门信息数据卡片图2-4 员工基本信息数据卡片员工:员工考勤信息表别名:描述:记录所有员工的出勤信息定义:员工考勤表=员工编号+考勤日期+全勤+出差+病假+事假+旷工+法定休假日天数+年休假天数+迟到时间+法定节假日加班+周末加班+日常加班+备注位置:人事数据库.dbc考勤.dbf图2-5 员工考勤信息数据卡片第3章 系统设计第31节 功能模块人事管理系统的基本功能是对企事业单位的组织机构和员工进行管理。通过走访及相关资料查阅,将系统的主要功能分为:部门信息管理、员工基本信息管理、员工照片管理、员工主要家庭成员信息管理、员工考勤管理和系统用户管理共5个功能模块和子模块。(1)部门信息管理该功能模块主要包括:添加部门信息(包括部门编号、部门名称、部门职能描述和上级部门等信息);具有修改、删除、查看部门信息的功能。(2)员工基本信息管理该功能模块主要包括:添加员工基本信息(包括员工编号、姓名、性别、出生日期、所在部门等),并具有修改、删除、查看员工基本信息的功能。(3)员工主要家庭成员信息管理该功能模块具有添加员工主要家庭成员信息(包括员工主要家庭成员的姓名、与本人的关系、工作单位等信息);具有修改、删除、查看员工主要家庭成员信息的功能。(4)员工考勤管理该功能模块具有添加员工考勤信息(包括考勤月份、病事假天数、旷工天数等信息)的功能;具有修改、删除、查询员工考勤信息的功能;能够生成月考勤统计表。(5)系统用户管理本系统提供的各种功能通常是由多人共同进行操作的,并且管理人员往往有不同的分工和职责,所以设计了该功能模块用于区分用户等级,并赋予不同的操作权限。考虑到毕业设计课题的特殊性,本系统仅将用户分为“普通用户”和“系统管理员”两类。该功能模块包括添加用户信息(包括用户名、密码、员工编号、用户类型等信息);并具有修改、删除、查看系统用户信息的功能。第32节 开发和运行环境开发工具:Visual FoxPro6.0Visual FoxPro是Microsoft公司推出的全新的pc平台关系数据库管理系统。它具有强大的性能、无与匹敌的速度、完整而丰富的工具、及其友好的图形用户界面、简单的数据存取方式、良好的兼容性、独一无二的跨平台特性及真正的可编译性,使系统成为目前最快、最完美的数据库系统。不但兼容早期的dbase以及Foxbase各种版本,同时还提供了许多基于Windows的崭新功能。Visual FoxPro作为具有Windows95兼容标志的应用软件,具有快速开发应用程序、面向对象和客户机/服务器的强大功能,它是多年来出现在关系数据库方面最重要的产品。运行环境:Windows 9x、Windows NT或Windows 2000、WindowsXP第33节 概念数据模型根据关系数据库的原理,为了把系统数据清晰明确地表达出来,系统分析员通常需要建立概念模型。概念模型是一种面向问题的数学模型,是按用户的观点来对数据和信息进行建模。最常用的表示概念性数据模型的方法,是实体联系方法(EntityRelationship Approach)。这种方法用E-R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,该方法又称为E-R模型。E-R图中共用三种符号:实体、属性和联系。通常实体用矩形来表示,属性用椭圆或圆角矩形来表示,联系用菱形来表示。联系又分为一对一、一对多和多对多三种类型。如图3-1所示为本系统的“主线”员工的实体。性别员工员工编号身份证号职称员工姓名工作岗位图3-1员工实体图第34节 软件系统设计根据软件工程的基本原理,系统设计一般分为总体设计和详细设计。依据需求分析阶段的调查分析,已经十分清楚系统必须具备的功能,下面的工作就是这些功能如何实现的问题。总体设计的基本目的就是“系统应该如何实现”。该阶段的主要工作有两个,一是划分出组成系统的物理元素程序、文件、数据库、文档等;二是设计软件的结构,即确定系统都由哪些模块组成及模块之间的相互关系。通过前面的目标系统功能分析,可将本系统分为主要4个功能模块:系统用户管理模块、员工基本信息管理模块、考勤管理模块和部门管理模块,如图3-2所示。人事管理系统系统用户考勤管理部门管理基本信息管理图3-2 人事管理系统功能模块结构在系统的工作流程中,还存在各功能模块之间的依存关系。如,在部门管理模块中至少需要添加一个部门信息,然后方可添加员工的基本信息;系统用户管理模块包括用户信息管理、权限控制等功能。权限控制虽然不是一个独立存在的功能模块,但它却贯穿在整个系统的运行过程中。本系统将用户分为两大类型,即系统管理员和普通用户。系统管理员拥有所有的管理权限。普通用户在基本信息管理模块和考勤管理模块中只有查询的权限。在系统初始化时会创建一个默认的系统管理员用户“Admin”,该用户的初始信息由程序员手工添加到数据库中,它拥有创建其他普通管理员和普通用户的权限。普通管理员用户创建其他普通管理员和普通用户的权限。所有用户都具有管理自己用户信息的权限。在多用户类型的信息管理系统中,不同级别用户的工作流程一般是不同的。这种管理系统都是从用户登录开始,对用户的身份进行验证,该过程一般分为两个阶段:(1)确认用户是否为合法系统用户(用户名及密码是否有效)。(2)根据用户信息确定用户的类型(级别)。第一个阶段决定用户是否可以进入系统;第二个阶段根据用户的类型决定用户的操作权限,进而决定用户的工作界面。第35节 数据库设计该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。一般把数据库的设计分为数据库的逻辑设计和数据库的物理设计两个步骤。351 数据库的逻辑设计需要将上面的数据库概念结构转化为Visual FoxPro6.0数据系统所支持的实际数据模型,也就是数据库的逻辑结构。根据E-R图即可进行数据库的逻辑设计。数据库的逻辑设计即把得到的满足第三范式的关系转化为特定的数据库管理系统下的数据表。根据前面得到的各个关系,现把它们转化为数据表。(1)部门表:编号,名称,描述,上级编号。(2)员工表:编号,姓名,照片,性别,民族,生日,政治面貌,文化程度,婚姻状况,籍贯,身份证号,工作证号,办公电话,手机号码,档案存放地,户口所在地,到岗日期,所在部门编号,工作岗位,职务,员工状态,合同有效期,备注,填表用户,填表日期。(3)员工家庭表:编号,员工编号,姓名,性别,年龄,与本人关系,工作单位。(4)用户表:用户名,密码,用户类型。(5)考勤表:考勤日期,员工编号,全勤天数,出差天数,病假天数,事假天数,旷工天数,法定休假天数,年休假天数,迟到时间,早退时间,法定节假日加班,周六日加班,日常加班,备注。352 数据库的物理设计在完成数据库的逻辑设计后,即可进行数据库的物理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性,同时考虑作为毕业设计的题目及时间。本系统决定采用一个数据库容器(人事数据库),并在其下创建5个数据表(部门表、员工表、员工家庭表、考勤表、用户表),其结构描述如下。(1)部门表部门表用来保存企业部门信息。本系统采用树状结构来管理部门信息,即在部门之间建立从属关系。表结构表3-1。表3-1 部门表结构字 段 名 称字 段 类 型字 段 宽 度索 引 类 型编号整型20主索引,升序排列名称字符型40普通索引,升序排列描述备注型1上级编号整型4在设计数据表结构时,通常需要设计一个数值型字段作为标识列,例如部门表中的“编号”字段。如果希望在其他表中需要使用部门表中的数据,则可在表中添加一个“部门编号”字段即可。用户在使用系统时,感觉不到“编号”字段的存在,也无法改变其字段值。如果直接使用“名称”字段作为标识列,则在修改了“名称”字段值后,所有相关的其他数据表都要进行修改,十分不方便。(2)员工表员工表用来保存企业员工的基本信息,是本系统的核心,其结构表3-2。表3-2 员工表结构字 段 名 称字 段 类 型字 段 宽 度索 引 类 型编号整型20主索引,升序排姓名字符型30普通索引,升序排照片通用型性别字符型2民族字符型10生日日期型8政治面貌字符型40文化程度字符型40婚姻状况字符型20籍贯字符型60身份证号字符型20工作证号字符型40办公电话字符型12手机号码字符型11档案存放地字符型20户口所在地字符型100到岗日期日期型8部门编号数值型10普通索引,升序排工作岗位字符型40职务字符型20员工状态字符型10合同有效期字符型20备注字符型200在员工表中使用“通用型”字段类型定义了“照片”字段。在程序设计过程中,可使用ActiveX绑定控件显示图像。此外,在定义“员工编号”和“部门编号”字段时使用了整型数据类型,默认宽度为4,最大允许数值为9999。若编号大于该值,可考虑使用字符型或数值型并指定宽度。(3)员工家庭表员工家庭表用来保存员工家庭成员的基本信息,其结构表3-3。表3-3 员工家庭表结构字 段 名 称字 段 类 型字 段 宽 度索 引 类 型编号整型20普通索引,升序排员工编号整型20姓名字符型30性别字符型2年龄数值型2与本人关系字符型20工作单位字符型40(4)用户表用户表用来存放系统用户信息,其结构表3-4。用户表的结构设计完毕后,需要手工添加一条记录,用户名为“Admin”,并指定密码如“123456”等。该用户是系统默认的管理员。表3-4 用户表结构字 段 名 称字 段 类 型字 段 宽 度索 引 类 型用户名字符型40主索引,升序排密码字符型40用户类型数值型1(5)考勤表考勤表用来存放员工考勤的基本信息,其结构表3-5。表中将全勤天数、病假天数、事假天数等字段定义为数值型,宽度为1。由于考勤表需要每天填写,考勤天数就有3种可能,即“无”、“半天”和“一天”,分别对应“1无”、“2半天”和“31天”。表3-5 考勤表结构字 段 名 称字 段 类 型字 段 宽 度索 引 类 型考勤日期日期型8员工编号整型20全勤天数数值型8出差天数数值型8病假天数数值型8事假天数数值型8旷工天数数值型8法定假天数数值型8年休假天数数值型8倒休假天数数值型8迟到时间整型8早退时间整型8法定节假日加班数值型8周末加班数值型8日常加班数值型20备注备注型40第四章 系统实施第41节 程序流程本系统采用支持面向对象的Visual FoxPro 6.0(以下简称VFP)作为开发工具,由于Visual FoxPro 6.0采用事件驱动的编程机制,所以在此仅给出软件系统的模块结构图和主程序的流程。程序数据流程图4-1。图4-1 系统用户管理模块的流程分析图接下来介绍系统的具体实现过程包括各种表单设计及代码编写等环节。该部分工作质量好坏直接关系到程序的运行效率和用户操作的方便性,是一个较为重要的环节。第42节 创建项目及数据库在VFP中用户的数据被保存在数据库中。根据前面的设计创建系统项目和数据库是系统实施过程首先要完成的工作。421 创建项目单击VFP工具栏中的【新建】按钮,“新建”对话框中选择“项目”后单击【新建文件】按钮。422 创建数据库及表在图4-2的“项目管理器”对话框中选择“数据”项下的“数据库”后单击【新建】按钮。在“新建数据库”对话框中单击【新建数据库】按钮。 图4-2 VFP项目管理器在图4-3的数据库设计器窗口中,单击数据库设计器工具栏中的新建表按钮,在弹出的对话框中单击【新建表】按钮,在打开的对话框中指定表名称及保存位置。在图4-4的表设计器对话框中按前面完成的表结构设计依次输入字段名,字段宽度等信息。 图4-3 VFP数据库设计器 图4- 4 表设计器窗口第43节 项目框架设计本节介绍项目框架的实现过程,包括创建系统菜单、创建主文件、创建主表单等。完成本节工作后,系统的整体框架即告建成,为进一步开发和设计奠定了基础。431 创建菜单VFP为用户提供了可视化的菜单设计工具,使程序员无需编写代码就可以设计出标准Windows风格的系统菜单。在VFP中设计和创建菜单的一般操作步骤如下。(1)规划和设计菜单的结构。分析系统需要哪些菜单,它们出现在系统的什么位置,并明确菜单之间的关系。(2)在菜单设计器中创建菜单和子菜单,设置菜单标题、子菜单和菜单项。(3) 根据实际需要为菜单项分配相关的操作。例如执行程序、弹出信息框、显示表单等。若菜单命令需要实现的功能较为复杂,可为其设计一个过程。本系统菜单设计如表4-1所示 表4-1 系统主菜单的属性菜 单 名 称结 果菜 单 级上 级 菜 单基本信息管理子菜单菜单栏部门管理命令新菜单项基本信息管理员工管理命令新菜单项基本信息管理退出系统命令新菜单项基本信息管理考勤管理子菜单菜单栏考勤管理命令自动生成考勤管理系统用户管理子菜单菜单栏用户管理过程自动生成系统用户管理.修改密码命令自动生成系统用户管理帮助子菜单菜单栏帮助命令帮助关于命令帮助帮助在VFP项目管理器中选择“其他”选项卡,选择“菜单”后单击【新建】按钮,在弹出的“新建菜单”对话框中单击【菜单】按钮,打开图4-5所示的菜单设计器窗口。安装前对系统菜单进行设计,输入各菜单项的属性值。 图4-5 在菜单设计器中设计菜单项例如,在输入了菜单名称“基本信息管理”后选择“结果”为“子菜单”,“菜单级”为“菜单栏”后单击【创建】按钮。在图4-6所示的窗口中依次输入“基本信息管理”菜单下3个菜单命令的数据,图中菜单项“-”表示一个分割符。所有设计完成后,单击菜单设计器窗口右上角的【关闭】按钮,并保存。 图4-6 设计菜单项 432 创建主程序文件主程序文件是一个已编译应用程序的执行起点,可以是程序(.prg)、表单(.scx)或Active Document类。主程序通常用来设置运行环境,启动菜单程序调用系统中其他组件,并显示程序主界面。 第44节 设计登录模块为了保证系统数据的安全性,使用时首先应通过身份认证。本系统通过设计一个登录对话框的方法实现对用户信息(用户名和密码)的确认。向表单窗体上添加两个标签,两个文本框和两个按钮控件,当输入了自己的用户名和相应的密码后,单击【确定】按钮,程序首先判断输入的数据是否有效。如果用户名或密码为空,则要求重新输入,然后在用户表中查找用户名,如果找不到匹配的记录,提示“用户名不存在”;否则显示“欢迎使用本程序”信息,并将用户名及用户类型值分别保存在全局变量,然后关闭登录对话框。如果密码比较不成功,则提示“密码不正确”信息。当单击了【取消】按钮时,程序调用主程序中设计的OnQuit过程退出。第45节 部门管理模块设计451 表单设计部门信息管理模块主要由一个包含ImageList控件和TreeView控件及一些文本框、编辑框、命令按钮组成的表单构成,如图4-7所示。通过编写各控件的事件代码实现部门管理模块的各项功能。 图4-7 部门管理表单部门管理模块表单属性设置如表4-2所示。表4-2 部门管理表单属性设置属 性取 值说 明AutoCenter.T.真设置表单显示时自动位于主窗口中央BackColor150,206,252设置表单背景颜色Caption部门管理设置表单标题栏中显示的文字内容ControlBox.F.假隐藏表单中所有控制按钮WindowType1模式对话框指定在关闭该表单前,不能进行其他操作为了使TreeView控件与数据库中部门表关联,应该用鼠标右键单击表单,在弹出的快捷菜单中执行“数据环境”命令,打开“数据环境设计器”窗口。将部门表添加到数据环境中。选择“数据环境设计器”窗口,图4-8所示的属性窗口中通过下拉列表框选择“Cursor1”,设置临时表的属性。将“BufferModeOverride”属性值设置为2(采用保守式行缓冲);将“Exclusive”属性设置为.T.(以独占方式打开Coursor对象)。图4-8 表单属性窗口在TreeView控件中显示的是部门的层次结构,用户在其中每选择一个节点,在表单右侧的文本框、编辑框中将显示相应的部门信息,但“编号”和“上级编号”两个字段的内容始终为灰色显示,表示用户不能更改其字段值。各命令按钮的功能说明如表4-3所示。表4-3 表单中按钮功能命令按钮名称说 明添加单击后“名称”文本框和“描述”编辑框激活,程序自动生成编号,上级编号为当前选择部门编号修改单击后“名称”文本框和“描述”编辑框激活,并显示部门信息,用户可进行修改保存单击该按钮将保存用户添加或修改的部门信息到数据库中取消单击该按钮撤销对当前记录的修改操作删除、关闭单击【删除】按钮将删除所选部门,但不能删除根节点;单击【关闭】按钮退出本模块用户单击【保存】按钮时,程序将根据添加数据或修改数据的状态选择,进行不同的操作。为了判断添加还是修改,需要为表单添加一个属性fmode。执行VFP“表单”菜单中的“新建属性”命令,在打开的对话框中输入属性名称“fmode”后单击【添加】按钮。此时在属性窗口中应该能看到属性。程序根据用户选择的节点文本,在部门表中查询相应的记录。由于表单右侧的文本框和编辑框是通过“数据环境设计器”创建的,所以其中将自动显示当前记录的对应数据。当用户单击控件时,表单状态为“查看”。此时应将“名称”、“描述”栏和【保存】、【取消】按钮设置为无效,不允许用户修改或保存其数据。激活【删除】按钮,允许用户删除当前记录。452 代码设计说明(1)程序根据用户选择的节点文本,在部门表中查询相应的记录。由于表单右侧的文本框和编辑框是通过“数据环境设计器”创建的,所以其中将自动显示当前记录的对应数据。当用户单击控件时,表单状态为“查看”。此时应将“名称”、“描述”栏和【保存】、【取消】按钮设置为无效,不允许用户修改或保存其数据。激活【删除】按钮,允许用户删除当前记录。(2)装入表单窗体时,首先判断用户类型是否为1(管理员)。如果不是则将所有数据操作按钮设置为无效(只留下一个【关闭】按钮),此时用户只能查看数据。(3)添加记录时需要将前面添加的表单属性“fmode”的值设置为“add”,以便在单击【保存】按钮时识别操作性质;程序通过将记录指针移动到最后一条记录,并将当前记录的编号字段值加1的方法自动生成新记录的编号字段值,上级编号等于当前选择部门的编号。(4)在删除记录时,程序首先要判断用户选择的部门是否还存在有下级部门,或存在部门员工记录,如果存在则不允许删除部门记录。若要删除一个部门的操作,则在程序中应首先删除数据表中的记录,然后删除TreeView控件中相应节点的方法实现。(5)在保存部门数据之前,程序首先判断用户是否输入部门名称及是否存在同名部门,以保证只有在数据有效时才执行保存操作; 第46节 员工基本信息管理模块设计员工信息管理模块主要具有以下功能:1)系统管理员可添加、修改、删除、查看员工信息记录。2)系统管理员可管理员工照片。3)系统管理员可管理员工家庭成员信息。4)普通用户只能查看员工信息。461 基本信息管理表单设计在表单窗体上添加TreeView和ImageList控件,在ImageList控件中添加用于表示部门节点的图标imgemp.ico,编号为1;和用于表示员工的图标imgdep.ico,编号为2,如图4-9所示。打开“数据环境设计器”窗口,将部门表和员工表添加到数据环境中,如图4-10所示。 图4-9 添加图标到ImageList控件 图4-10 添加表到数据环境选择“数据环境设计器”窗口,在属性窗口中通过下拉列表框分别选择“Cursor1”和“Cursor2”,设置BufferModeOverride属性值为2(采用保守式行缓冲);将Exclusive属性设置为.T.(以独占方式打开Cursor对象)。将“数据环境设计器”窗口中员工表的各字段拖动到表单窗体上,并适当排列其位置。在表单左窗格中是使用TreeView控件显示的部门层次结构和所属员工的名称。单击选择列表中任一员工节点,将在表单右侧各控件中显示其基本信息和照片。注意,此时各信息显示控件(文本框、编辑框等)均处于无效状态(灰色显示)表示用户不能更改信息。表单属性设置如表4-4表4-4 表单的属性设置属 性设 置 值说 明AutoCenter.T.真设置表单显示时自动位于主窗口中央BackColor150,206,252设置表单背景颜色Caption员工信息管理设置表单标题栏中显示的文字内容ControlBox.F.假隐藏表单中所有控制按钮WindwType1模式对话框指定在关闭该表单前,不能进行其他操作表单中命令按钮功能说明如表4-5表4-5 表单中按钮功能命令按钮名称说 明添加单击后“名称”文本框和“描述”编辑框激活,程序自动生成编号,上级编号为当前选择部门编号修改单击后“名称”文本框和“描述”编辑框激活,并显示部门信息,用户可进行修改保存单击该按钮将保存用户添加或修改的部门信息到数据库中取消单击该按钮撤销对当前记录的修改操作,表单恢复为只读状态家庭成员单击该按钮调用家庭成员管理模块照片设置、删除单击设置按钮可打开对话框选择照片文件,单击删除按钮则清除当前照片显示,并设为默认图片文件删除、关闭单击“删除”按钮将删除所选部门,但不能删除根节点;单击关闭按钮退出本模块462 编写员工基本信息管理模块代码由于用户单击【保存】按钮时,可能会有两种情况(修改后的保存和添加后的保存),所以需要为表单添加一个属性“fmode”,以便利用该属性值记录操作状态。由于表单可分为“编辑”(可修改)和“查看”(只读)两种情况,需要为其添加两个方法ModeEdit(编辑)和ModeRead(查看)。添加时可执行VFP“表单”菜单下“新建方法程序”命令,在打开的对话框中指定方法名称,必要时可同时添加一个说明。添加完毕后可在“属性”窗口中看到新建的方法,双击该方法条目,在打开的编辑窗口中编写该方法的代码。(1)ModeEdit程序主要实现下列功能。将表单中所有文本框和编辑框的ReadOnly属性设置为.F.,将组合框的Enabled属性设置为.T.,使用户可以对控件中的内容进行编辑。当表单为编辑状态时,【添加】、【修改】、【删除】和【关闭】按钮的Enabled属性设置为.F.。将【保存】按钮和【取消】按钮的Enabled属性设置为.T.,表示用户只有在结束了编辑操作(保存或取消)后,方可再次执行“添加”、“修改”、“删除”等操作。将选择生日和选择到岗日期的按钮设置为可见。将用于照片管理的【设置】和【删除】按钮设置为可用。(2)编写ModeRead方法的代码ModeRead方法在处理表单上的控件可用性时,正好与ModeEdit方法相反。(3)编写TreeView控件的Init事件代码TreeView控件初始化时执行。程序首先设置控件的属性,然后使用Scan语句遍历部门表中的所有记录,并将其添加到控件中。在添加员工节点前程序首先使用了RecCount()函数计算部门的数量,新增员工节点编号可设置为:部门数量当前员工编号1,这样可有效地避免编号重复。员工节点的键值以“ND”开始,后面为员工编号,以区别部门节点。(4)编写TreeView控件的Click事件代码程序根据用户选择的节点类型进行处理,如果节点的图像编号为1则表示当前节点为部门节点,返回一个空记录;如果节点图像编号为2则表示用户选择了某个员工节点,程序在计算出员工编号后,返回该员工记录。用户单击TreeView控件时,表单状态为“查看”,调用ModeRead方法,不允许修改员工数据。(5)编写frmrygl控件的Init事件代码程序执行时首先判断用户类型是否为管理员,若不是则将【添加】、【修改】、【删除】、【保存】和【取消】按钮设置为无效。此时,用户只有查阅信息的权限。(6)编写【添加】按钮的Click事件代码程序执行时首先判断用户是否选择了某个部门(员工所属部门)节点,若是则计算部门编号,然后在员工表中添加一条空记录。为在用户单击【保存】按钮时能正确判断操作类型(修改或添加),需要将fmode属性设置为“add”。程序将指针移动到最后一条记录,并将当前记录的编号加1得到新记录编号。所属部门编号即为当前节点的编号,填表用户字段值为登录时保存的全局变量UserName中的值。(7)编写【修改】按钮的Click事件代码用户单击该按钮时,程序调用前面定义的ModeEdit方法,并将fmode属性值设置为“modify”(8)编写【删除】按钮的Click事件代码当用户单击了【删除】按钮时,程序首先计算出员工编号,并根据此编号删除员工记录。注意,在删除员工记录时应将其他表中关于该员工的相关信息删除,否则会形成数据表中的垃圾数据。(9)编写【保存】按钮的Click事件代码用户单击该按钮时,首先会判断用户输入的记录是否有效(如用户名是否为空),只有有效数据方可写入数据表。添加员工记录后,程序会将其添加为TreeView控件的节点。(10)编写【取消】按钮的Click事件代码当用户单击【取消】按钮时,程序显示信息框要求确认操作。用户确认后,调用TableRevert()函数取消缓冲区中的变化,最后调用ModeRead方法将文本框、编辑框等信息显示控件设置到只读状态。第4.7节 员工照片管理模块设计471 使用通用型字段保存图片在VFP中可使用“通用型”字段保存图片数据。使用APPEND GENERAL命令将图片文件的数据保存到通用型字段中,其语法结构如下:APPEND GENERAL 通用型字段名FORM 图片文件名DATA 字符表达式LINKCLASS OLE类名称格式中参数说明如下:(1)通用型字段名:指定存放OLE对象的通用型字段。(2)图片文件名:指定包含OLE对象的文件。需要指定完整的文件名,包括路径和文件的扩展名。如果文件存放在当前目录下,则可省略路径描述。(3)DATA 字符串表达式:指定一个字符串表达式,以字符串形式传递到通用型字段的OLE对象中,但此OLE对象必须能够处理字符串。(4)LINK:在OLE对象和包含对象的文件之间建立链接。建立链接后,OLE对象显示在通用型字段中,但对象的定义仍保存在文件中。如果省略该参数,则对象被嵌入到通用型字段中。(5)CLASS:指定OLE类,以替代默认的类。需要说明的是,如果用APPEND GENERAL命令向一个非空通用型字段传递数据,则新数据将覆盖原有数据。如果希望删除通用型字段中的数据,可执行下列命令:APPEND GENERAL通用型字段名在frmrygl表单中,使用ActiveX绑定控件显示员工照片,本例将控件命名为Photo1,并将其“ControlSource”属性设置为“员工表.照片”即可自动显示员工记录的照片。472 编写照片管理代码(1)编写【设置】按钮的Click事件代码GetFile()函数的功能是打开一个对话框,并通过用户的选择返回一个文件名。当用户单击【设置】按钮时,打开图4-11所示的对话框,通过此对话框可指定希望保存到员工记录中的照片文件。需要说明的是,返回的照片文件名中不能包含空格,否则APPEND命令将出错。程序中使用了“&”操作符返回变量(FileName)的值。图4-11 选择员工的照片文件(2)编写【删除】按钮的Click事件代码用户执行了删除照片操作后,如果指定的照片文件存在,则将其导入到“照片”字段中,并显示在表单中;如果不存在,则删除“照片”字段中的数据。第4.8节 家庭成员管理模块设计家庭成员管理模块主要用于实现的功能有:添加、修改、删除和查看员工家庭成员信息。将“数据环境设计器”窗口中员工家庭表的各字段拖动到表单窗体上,并适当排列其位置。表单界面设计如图4-12所示。 图4-12 设计表单界面由于“编号”字段和“部门编号”两个字段不需要显示出来,故可将其安放在表单的任意位置,但应注意将其Visible属性设置为.F.。表单的上方用列表框(List1)显示家庭成员信息,包括“姓名”、“性别”、“年龄”、“与本人关系”和“工作单位”等。在列表框中选择某行记录后,下面的文本框、组合框中将显示相应的数据,但这些控件此时均为灰色显示,表示用户不能对其进行修改。表单中各命令按钮的功能如表4-6所示。表4-6 表单中按钮功能命令按钮名称说 明添加单击后“员工家庭成员”信息控件激活,程序自动生成一条空记录修改单击后“员工家庭成员”信息控件激活,并显示有关信息,用户可进行修改保存单击该按钮将保存用户添加或修改的家庭成员信息到数据库中取消单击该按钮撤销对当前记录的修改操作,并返回到查看状态删除、关闭单击【删除】按钮将删除所选记录;单击【关闭】按钮退出本模块第4.9节 员工考勤管理模块设计考勤信息管理表单用于对员工考勤记录进行管理,包括“添加”、“修改”、“删除”考勤记录等功能。在表单设计上使用了MothView控件、TreeView控件和数据环境设计器。当用户单击某员工节点时,程序将判断指定日期的员工考勤记录是否存在,若不存在则创建新记录,否则显示记录。表单中各命令按钮的功能如表4-7所示。表4-7 表单中命令按钮的功能命令按钮名称说 明修改单击后“员工考勤”信息控件激活,并显示有关信息,用户可进行修改保存单击该按钮将保存用户添加或修改的考勤信息到数据库中取消单击该按钮撤销对当前记录的修改操作,并返回到查看状态关闭单击关闭按钮退出本模块第5章 结论我使用Microsoft 公司出品的Visual Fox Pro6.0作为开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进。人事管理是人力资源管理的基础工作。因此,人事管理的信息化、知识管理和办公自动化是将人力资源管理提升到战略层次的基础。本系统规范了企业员工的人事档案,提高了人事管理效率,能方便快捷地查询各类信息并进行统计分析。企业的领导者会做出合理的配置和管理,以达到人才的合理利用。设计中有了指导老师和同学帮助,才使设计有了生命。十分感谢杨老师的精心指导,这次程序设计使我学到了很多编程方面的知识,也发现自己在编程方面存在很多不足,我将不断的学习来完善自己。由于自己水平有限,程序中难免会出现些小错误,希望老师批评指正。参 考 文 献1靳娟著.人力资源管理概论M.北京:机械工业出版社.2007.P69-P73.2 张永成主编.人力资源管理革命M.武汉:武汉大学出版社.2006.P92-P95.3窦胜功,卢记华,戴春凤著.人力资源管理与开发M.北京:清华大学出版社.2005.P78-P107.4宋长龙,曹成志,张晓龙,李艳丽,李锐编著.Visual FoxPro 数据库及面向对象程序设计基础M.北京:清华大学出版社.2007.P25-P29.5张庆,崔竞,康祥顺著. Visual FoxPro 案例开发集锦M.北京:电子工业出版社.2006.P219-P222.6陈孟建,田文雅,张红,董国荣著. Visual FoxPro 6.0实用教程(第二版)M.北京:电子工业出版社.2006.P10-P30.7傅翠娇编. Visual FoxPro 典型系统实战与解析M.北京:电子工业出版社.2007.P383-P390.8美Poss A.Malaga著. 信息系统技术M.北京: 清华大学出版社出版社.2006.P104-P109.9贾凤波,杨树青,杨玉顺. Visual FoxPro数据库应用实例完全解析M.北京:人民邮电出版社.2006.P35-P40.10王欣著. 管理信息系统M.北京:中国水利水电出版社.2004.P196-P200.11陈晓红. 管理信息系统M. 北京:高等教育出版社,200612 张基温. 信息系统开发案例(第三辑)M. 北京:清华大学出版社,200113 左美云,邝孔武. 信息系统的开发与管理教程M. 北京:清华大学出版社,200114崔巍. 数据库系统及应用M. 北京:高等教育出版社,199915 段军芳 吴保根 当代人力资源管理的发展与挑战J. 集团经济研2007,2:30-21附录 部分代码编写员工基本信息管理模块代码SELECT 员工表Local YgbhIf this.SelectedItem.Image = 1 Locate For 编号 = 0Else Bh = this.SelectedItem.Key Ygbh = Val(Right(Bh, Len(Bh)-2) Locate For 编号 = YgbhEndifthisform.ModeReadthisform.Refresh 表单(Form1)初始化时执行下列代码If UserType 1 this.cmdAdd.Visible = .F. this.cmdModi.Visible = .F. this.cmdDel.Visible = .F. this.cmdSave.Visible = .F. this.cmdCancel.Visible = .F.Endif【添加】按钮代码If thisform.tree.SelectedItem.Image = 2 MessageBox(请选择部门) returnEndifLocal BmbhBmmc = thisform.tree.SelectedIt

温馨提示

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

评论

0/150

提交评论