《人事工资管理信息系统概述.doc》由会员分享,可在线阅读,更多相关《人事工资管理信息系统概述.doc(64页珍藏版)》请在三一办公上搜索。
1、DELPHI课程设计目 录第一章 系统需求分析3第一节 问题的提出3第二节 负责开发模块3第三节 系统功能分析3一、基本信息管理3二、考勤信息管理3三、奖惩信息管理4四、员工履历管理4五、职称信息管理4六、员工工资管理4七、系统功能模块4第四节 系统功能模块设计5第五节 系统的流程分析5第二章 数据库应用程序开发概述6第一节 创建数据库6第二节 逻辑数据库设计7第三节 数据表操作类的设计10第三章 人事工资管理信息系统的系统设计与实现14第一节 系统实现技术14一、选择Borland Delphi 7做为开发工具14二、选择Microsoft Server 2000作为服务器端数据库软件14第
2、二节 系统运行软件环境一五第三节 模块的设计与实现一五一、创建启动画面一五二、创建登录窗体16三、连接数据库设置19四、创建系统主界面21五、基本信息管理模块24六、考勤信息管理模块30七、奖惩信息管理模块35八、员工履历管理模块40九、职称信息管理模块45十、员工工资管理模块50十一、系统功能模块58第四章 结论63第一章 系统需求分析第一节 问题的提出随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事工资的管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件
3、;而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 不同的企业具有不同的人事、工资管理制度,这就决
4、定了不同的企业需要不同的人事工资管理系统。第二节 系统功能分析本系统主要包括员工基本信息管理、考勤信息管理、奖惩信息管理、员工履历管理、职称信息管理、员工工资管理等模块,另外还包括进行系统管理的一些辅助模块,其具体各模块功能如下:一、基本信息管理员工的基本信息包括员工的编号、员工姓名、员工所在部门、性别、毕业学校、专业、职称、政治面貌、工作时间和联系方式等。员工基本信息管理就是对这些基本信息进行维护和管理,主要实现的功能有: 1、员工基本信息录入2、员工基本信息修改和删除3、员工基本信息查询二、考勤信息管理员工的考勤信息包括员工出勤天数、迟到次数、早退次数、加班时间和出差天数等,这些信息将作为
5、计算员工工资的部分依据。员工考勤信息管理主要包括以下功能: 1、考勤信息录入与维护 2、员工考勤信息查询三、奖惩信息管理员工奖惩信息主要记录对员工的奖励和惩罚信息,奖励和惩罚信息与奖金挂钩,以激励或约束员工。员工奖惩记录管理主要包括以下两项功能:1、奖惩信息录入与维护2、员工奖惩信息查询四、员工履历管理员工履历管理主要是记录员工的工作履历请况,根据工作履历情况可以记录员工的工龄信息,并且可以作为评定员工职称的依据。员工工作履及管理主要实现的功能有:1、履历信息与维护2、员工履历信息查询五、职称信息管理员工职称信息记录员工的职称评定信息,因为员工的职称高低与工资有直接的关系,所以员工职称信息记录
6、的结果将直接影响员工的工资水平。职称评定管理的主要功能有:1、职称信息录入与维护2、员工职称信息查询六、员工工资管理工资管理是企业人事工资管理的一项重要内容,本系统中的其他管理内容都是与员工的工资管理相关联的,如考勤管理、奖惩记录管理、工作履历管理和职称评定管理,员工工资是根据这些管理记录的信息进行计算的。员工工资管理主要包括以下功能:1、 工资信息录入与维护,员工工资在录入时有些项目内容是固化在程序中的,有些是根据其他管理信息获取的,最后根据这些信息按照一定的方法算出员工工资2、 员工工资查询七、系统功能模块系统维护和账户管理是数据库应用程序必不可少的一块。只有安全性提到了一定的高度,数据库
7、应用程序的其他功能模块的实现才有意义。1、 用户权限控制无疑是安全中最重要的环节;2、 其次简单实用的数据备份也是系统功能模块的重要组成部分。第三节 系统功能模块设计根据上节的描述,我们把该系统分成以下主要几个模块,系统功能模块图如下图1.1所示:一、 基本信息管理二、 考勤信息管理三、 奖惩信息管理四、 员工履历管理五、 职称信息管理六、 员工工资管理 人事工资管理信息系统员工基本信息录入员工基本信息维护员工基本信息查询考勤信息录入与维护员工考勤信息查询奖惩信息录入与维护员工奖惩信息查询履历信息录入与维护员工履历信息查询职称评定录入与维护职称评定信息查询工资信息录入与维护员工工资信息查询工资
8、信息报表与打印用户帐号管理系统数据备份基本信息管理考勤信息管理奖惩记录管理员工履历管理职称信息管理工资信息管理系统管理 图1.1 系统功能模块图第四节 系统的流程分析 系统流程就是用户进入人事管理信息系统后的工作过程。由于本系统对不同的用户帐号设置了不同的操作权限,因此不同用户的操作流程有所不一样。本系统的操作流程主要分为用户登录操作和业务操作两部分。用户登录操作,用户登录操作主要是对用户的帐号(包括用户名和密码)进行身份验证。通过验证的进入系统操作界面,未通过的给出错误提示。业务操作根据帐号的权限允许或限制用户的行为。整个系统的流程如图1.2所示启动程序用户登录用户权限 员工基本信息查询 考
9、勤信息查询 奖惩信息查询 履历信息查询 职称信息查询 工资信息查询 修改自己用户密码 进行所有信息的查询、保存和维护操作 管理所有用户帐号 系统数据备份 重新登入 验证失败 普通用户 系统管理员第二章 数据库应用程序开发概述第一节 创建数据库数据库既可以通过SQL语句在查询分析器里创建,也可以在企业管理起的控制台中直接创建,这里主要介绍如何在企业管理器的控制台中创建数据库。本系统创建的数据库名为personnel_sys,单击开始/程序/Microsoft SQL Server /企业管理器,为所使用电脑SQL Server进行注册,在控制台根目录下,右击数据库/新建数据库/常规:数据库名称设
10、为 personnel_sys/在数据文件和事务日记 内设置相应的位置、初始大小、文件增长方式等属性。最后单击确定,即可完成数据库的创建工作。第二节 逻辑数据库设计 根据系统设计的要求对数据库进行逻辑结构设计,下面分别对这些表的结构进行具体介绍。1.员工基本信息表base_data,主要用来存放企业中每个员工的基本信息,结构如表1.1所示 表1.1 表base_data的结构编号字段名称数据类型说明1worker_idvarchar(一五)员工编号,关键字 2archivers_idvarchar(10) 档案编号3worker_namevarchar(8)员工姓名4department_na
11、mevarchar(一五)部门名称5sexvarchar(2 )性别6birthdaydatetime 出生日期7native_placevarchar(25)籍贯8school_agevarchar(4)学历9majorvarchar(一五)专业10graduate_schvarchar(10)毕业学校11politic_statusvarchar(5)政治面貌12work_timedatetime 参加工作日期一三come_timedatetime 入本单位日期14link_phonevarchar(14)x一五addressvarchar(21)住址16photoimage个人照片17r
12、emarkvarchar(255)备注 2.考勤信息记录表check_info,主要用来记录员工的考勤情况,通过对考勤情况的记录,就可以查看员工的工作表现,为后面的工资发放提供参考,具体结构如表1.2所示表1.2 表check_info的结构编号字段名称数据类型说明1worker_idvarchar(一五)员工编号,关键字2worker_namevarchar(8)员工姓名3monthsvarchar(10)月份编号,关键字4month_daysint本月天数5holidaysint公休假天数6real_work_daysint应出勤天数7work_daysint出勤天数8business_d
13、aysint出差天数9absent_daysint缺勤天数10leave_timesint请假次数11late_timesint迟到次数12leave_early_timesint早退次数一三holiday_overtimeint节假日加班时间14other_overtimeint其他加班时间一五remarkvarchar(255)备注3.工资信息表wage_info,主要是记录员工每月所发放的工资信息情况,包括工资的各项内容及相应的数据,具体结构如表1.3所示 表1.3 表wage_info的就结构编号字段名称数据类型说明1record_idbigint记录编号,关键字2worker_idv
14、archar(一五)员工编号3worker_namevarchar(8)员工姓名4base_wagefloat基本工资5allowance1float巩固补贴6allowance2float出差补贴7rewardfloat奖金8overtime_moneyfloat加班费9deduct_checkfloat扣考核10aged_moneyfloat养老保险11medical_moneyfloat医疗保险12compo_moneyfloat工伤保险一三unemploy_moneyfloat失业保险14housing_moneyfloat住房公积金一五income_taxfloat所得税16real
15、_wagefloat实发工资17give_datevarchar(6)发放月份 4.奖惩记录表reward_pun,主要是用来记录员工的一些奖惩信息,该表的数据有时也与工资信息发生关联,具体结构如表1.4所示 表1.4 表reward_pun的结构编号字段名称数据类型说明1record_idbigint记录编号,关键字2worker_idvarchar(一五)员工编号3worker_name varchar(8)员工姓名4record_date datetime 奖惩日期5record_typevarchar(2)奖惩类型6record_contentvarchar(30)奖惩内容7recor
16、d_reasonvarchar(30)奖惩原因8allow_unitvarchar(20)批准单位9remarkvarchar(255)备注 5.职称评定信息表pro_title,主要是记录员工的职称级别信息,根据不同的级别就可以订出不同级别的工资水平,具体结构如表1.5所示 表1.5 表 pro_title的结构编号字段名称数据类型说明1worker_idvarchar(一五)员工编号,关键字2worker_name varchar(8)员工姓名3assess_datedatetime评定日期4assess_unitvarchar(20)评定单位5assess_titlevarchar(8)
17、评定职称6remarkvarchar(255)备注6.工作履历表work_age,反映企业员工的工作经历和工作时间,从工作履历表总可以看出员工的工龄情况,具体结构如表1.6所示表1.6 表work_age的结构编号字段名称数据类型说明1record_idbigint记录编号,关键字2worker_id varchar(一五)员工编号3worker_name varchar(8)员工姓名4begin_datedatetime起始日期5over_datedatetime结束日期6unit_name varchar(20)单位名称7work_timefloat本单位工作时间8dutyvarchar(
18、10)担任职务9level1varchar(4)级别10remarkvarchar(255)备注 7.用户帐号表user_table,主要是分配不同的用户帐号信息,对不同用户帐号赋予不同的权限,可以从一定程度上保障系统的安全。用户帐号表的具体结构如表1.7所示。表1.7 表user_table的结构编号字段名称数据类型说明1user_namevarchar(30)用户名,关键字2user_pwdvarchar(30)用户密码3power_levelvarchar(12)权限级别 第三节 数据表操作类的设计 在实例中,对数据库的连接和操作都被封装成类,类名以“T”开头,对每张数据表的操作都可以封
19、装到对应类的方法和过程中,在使用类时要先实例化,使用完后要将实例释放,调用类中方法和过程时只需要向方法和过程传递参数就可以实现调用,下面类出类中方法和过程的名称 1.Tbasedata类 Tbasedata类主要封装了对base_data表的各种操作,类中定义的方法和过程如表1.9所示。表1.9 Tbasedata类封装的方法和过程方法或过程名 具体说明 function checkrec(id:string):boolean;根据员工编号判断记录是否存在function getarcid(workid:string):string;根据员工编号返回员工的档案编号function getwor
20、kername(workid:string):string;根据员工编号返回员工名称function getdepartname(workid:string):string;根据员工编号返回员工所在部门名称function getsex(workid:string):string;根据员工编号赶回员工性别function getbirth(workid:string):string;根据员工编号赶回员工出生日期function getnativeplace(workid:string):string;根据员工编号赶回员工籍贯function getschage(workid:string):s
21、tring;根据员工编号赶回员工学历function getmajor(workid:string):string;根据员工编号赶回员工所学专业function getgrasch(workid:string):string;根据员工编号赶回员工毕业学校function getpolista(workid:string):string;根据员工编号赶回员工政治面貌function getworktime(workid:string):string;根据员工编号赶回员工参加工作时间function getcometime(workid:string):string;根据员工编号赶回员工如本单位时
22、间function getlinkphone(workid:string):string;根据员工编号赶回员工xfunction getaddress(workid:string):string;根据员工编号赶回员工住址信息function getremark(workid:string):string;根据员工编号赶回员工备注信息function getphone(workid:string):tstream;根据员工编号赶回图片信息的数据流 function allrec(sql:string):olevariant通过传递SQL语句返回查询记录procedure photoupdate(
23、id:stirng;path1:string);修改指定员工编号的照片信息procedure workid(id:stirng;path1:string);根据员工编号和图片路径插入一条记录procedure recinsert(insertsql:stirng);通过传递SQL语句执行插入操作过程procedure recupdate(updatesql:stirng);通过传递SQL语句执行修改操作过程procedure recdel(id:stirng);通过传递SQL语句执行删除操作过程procedure findrec(id:stirng);根据员工编号执行查询操作过程2.Twork
24、age类Tworkage类封装了对work_age表的各种操作,类中定义的方法和过程如表1.10所示表1.10 Tworkage类封装的方法和过程方法或过程名 具体说明 function workagerec(id,workunit:string):boolean;根据员工编号和工作单位查询记录是否存在function workagerec1(findsql:string):boolean;通过传递SQL语句查询记录是否存在function getrecid(reid:string):string;根据记录号返回记录号function getworkername(reid:string):st
25、ring;根据记录号返回员工名称function getbegindate(reid:string):string;根据记录号返回起始日期function getoverdate(reid:string):string;根据记录号返回结束日期function getworktime(reid:string):string;根据记录号返回工作时间function getduty(reid:string):string;根据记录号返回员工担任的职务function getlevel1(reid:string):string;根据记录号返回员工级别function getremark(reid:st
26、ring):string;根据记录号返回员工备注信息function getsumwortime(id:string):integer;根据记录号返回员工工龄function workagerecs(sql:string):olevariant;通过传递sql语句返回查询记录procedure recinsert(insertsql:string); 通过传递sql 语句执行插入操作procedure recupdate(updatesql:string); 通过传递sql语句执行修改操作procedure recdel(reid:string); 通过传递记录号执行删除操作3.Twagein
27、fo类Twageinfo类封装了对wage_info表的各种操作,类中定义的方法和过程如表1.11所示。方法或过程名具体说明Function WageInfoRec(Id,GiveData:string):Boolean:根据员工编号和月份查询记录是否存在Function WageInfoRec(FindSQL:string):Boolean;通过传递SQL语句查询记录是否已经存在Function GetRecId(Id,givedata:sting):sting;根据员工编号和月份返回记录号Function Getworkname(Id,givedata:sting):sting;根据员工编
28、号和月份返回员工姓名Function Getbase wage(Id,givedata:string):string;根据员工编号和月份返回基本工资信息Function Getallowance1(Id,givedata:string):string;根据员工编号和月份返回公共补贴信息Function Getallowance2(Id,GiveData:string):string;根据员工编号和月份返回出差补贴信息Function getreward(Id,GiveData:string):string;根据员工编号和月份返回奖金信息Funcrion getovertimemoney(Id,
29、GiveData:string):string;根据员工编号和月份返回加班费Function getdeductcheck(Id,GiveData:string):string;根据员工编号和月份返回扣除的考核费用Function getagedmoney(Id,GiveData:string):string;根据员工编号和月份返回养老保险费Function getmedicalmomey(Id,GiveData:string):string;根据员工编号和月份返回医疗保险费Function getcompomoney(Id,GiveData:string):string;根据员工编号和月份返
30、回工伤保险费Function getunemploymoney(Id,GiveData:string):string;根据员工编号和月份返回失保险费业Function gethousemoney(Id,GiveData:string):string;根据员工编号和月份返回住房公积金Function getincometax(Id,GiveData:string):string;根据员工编号和月份返回所得税Function getrealwage(Id,GiveData:string):string;根据员工编号和月份返回实发工资procedure wagesrecs(SQL:string):O
31、LEVariant;通过传递SQL语句返回工资信息记录procedure Recinsert(insertSQL:string);通过传递SQL语句返回插入操作过程procedure RecUpdate(updateSQL:string);通过传递SQL语句返回修改操作过程procedure Recdel(Id,givedata:string);根据员工编号和月份执行删除操作表1.11 Twageinfo类封装的方法和过程4.Trewardpun类封装了对reward_pun表的各种操作,类中定义的方法和过程如表1.12所示。表1.12 trewardpun类封装的方法和过程方法或过程名具体说
32、明Function RewardPunRec(ReId:string):Boolean ;根据记录号查询记录是否存在Function RewardPunRec1(SQL:string):Boolean ;通过传递SQL语句查询记录是否存在Function GetrecId(ReId:string):string;通过记录号返回记录号Function Getwokename(ReId:string):string;通过记录号返回员工名称Function Getreccont(ReId:string):string;通过记录号返回奖惩内容Function Getrecreason(ReId:str
33、ing):string;通过记录号返回奖惩原因Function Getallowunit(ReId:string):string;通过记录号返回批准单位Function Getremark(ReId:string):string;通过记录号返回备注信息Function Getrewardcount(month1,month2:string):integer;根据年份和月份返回奖励记录条数Function Getpuncount(month1,month2:string):integer;根据年份和月份返回惩罚记录条数Function rewardpunrecs(SQL:string):OLEV
34、ariant;通过传递SQL语句返回记录查询procedure Recinsert(insertSQL:string);通过传递SQL语句执行插入操作procedure RecUpdate(updateSQL:string);通过传递SQL语句执行修改操作procedure Recdel(ReId:string);根据记录号执行删除操作5、Tprotitle类封装了对pro_title表的各种操作,类的定义的方法和过程如表1.一三所示。表1.一三 Tprotitle类封装的方法和过程方法或过程名具体说明Function ProtitleRec(Id:string):Boolean;根据员工编号
35、查询职称记录是否存在Function ProtitleRec1(findSQL:string):Boolean;通过查询SQL语句查询记录是否存在Function Getworkername(Id:string):string;根据员工编号返回员工姓名Function Getassessdate(Id:string):string;根据员工编号返回评定日期Function Getassessunit(Id:string):string;根据员工编号返回评定单位Function Getassesstitle(Id:string):string;根据员工编号返回评定职称Function Getre
36、mark(Id:string):string;根据员工编号返回备注信息Function ProtitleRecs(SQL:string):OLEVariant;通过传递SQL语句返回查询记录procedure Recinsert(insertSQL:string);通过传递SQL语句执行插入操作procedure RecUpdate(updateSQL:string);通过传递SQL语句执行修改操作procedure Recdel(Id:string);根据员工编号执行删除操作6、Tcheckinfo类封装了对check_info表的各种操作,类中定义的方法和过程如表1.14所示 表1.14
37、Tcheckinfo类封装的方法和过程方法或过程名具体说明Function CheckInforec(Id,momth:string):Boolean;根据员工编号和月份查询记录是否存在Function Getworkername(Id,momth:string):string;根据员工编号和月份返回员工姓名Function Getmonthdays(Id,momth:string):string;根据员工编号和月份返回当月天数Function Getholidays(Id,momth:string):string;根据员工编号和月份返回公休假天数Function Getreworkdays(
38、Id,momth:string):string;根据员工编号和月份返回应出勤天数Function Getworkdays(Id,momth:string):string;根据员工编号和月份返回出勤天数Function Getbusinessdays(Id,momth:string):string;根据员工编号和月份返回出差天数Function Getabsentdays(Id,momth:string):string;根据员工编号和月份返回缺勤天数Function GetLeavetimes(Id,momth:string):string;根据员工编号和月份返回请假次数Function Get
39、latetimes(Id,momth:string):string;根据员工编号和月份返回迟到次数Function GetleaEartimes(Id,momth:string):string;根据员工编号和月份返回早退次数Function GetHOliOvertimes(Id,momth:string):string;根据员工编号和月份返回节假日加班时间Function Getotherovertimes(Id,momth:string):string;根据员工编号和月份返回返回其他加班时间Function Getremark(Id,momth:string):string;根据员工编号和
40、月份返回备注信息Function CheckInfoRecs(SQL:string):OLEVariant;通过传递SQL语句返回查询记录procedure RecInsert(InsertSQL:string);通过传递SQL语句执行插入操作procedure RecUpdate(UpdateSQL:string);通过传递SQL语句执行修改操作procedure Recdel(Id,month:string);根据员工编号和月份编号执行删除操作7.Tusertable类Tusertable类封装了对user_table表的各种操作,类中定义的方法和过程名称如表1.一五所示 表1.一五 Tu
41、sertable类封装的方法和过程方法或过程名具体说明Function Getuserpwd(UserName:string):string;根据用户名返回用户密码信息Function GetuserLevel(UserName:string):string;根据用户名返回用户级别信息Function checkuser(UserName:string):Boolean;根据用户名返回查询账号记录是否存在procedure UserInsert(InsertSQL:string);通过传递SQL语句执行插入操作procedure UserUpdate(UpdateSQL:string);通过传
42、递SQL语句执行修改操作procedure Userdelete(DeleteSQL:string);根据传递SQL语句执行删除操作procedure CreatTable(SQL:string);通过脚本SQL语句创建用户数据表第三章 人事工资管理信息系统的系统设计与实现第一节 系统实现技术一、选择Borland Delphi 7做为开发工具Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点
43、。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。 Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor),以及各种开发数据库的应用程序,如DesktopDataBase Expert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(Resourse Workshop)。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最
链接地址:https://www.31ppt.com/p-1896577.html