毕业设计(论文)-DDLPHI 企业人事工资管理系统设计.doc

上传人:来看看 文档编号:3946658 上传时间:2019-10-10 格式:DOC 页数:34 大小:292KB
返回 下载 相关 举报
毕业设计(论文)-DDLPHI 企业人事工资管理系统设计.doc_第1页
第1页 / 共34页
毕业设计(论文)-DDLPHI 企业人事工资管理系统设计.doc_第2页
第2页 / 共34页
毕业设计(论文)-DDLPHI 企业人事工资管理系统设计.doc_第3页
第3页 / 共34页
毕业设计(论文)-DDLPHI 企业人事工资管理系统设计.doc_第4页
第4页 / 共34页
毕业设计(论文)-DDLPHI 企业人事工资管理系统设计.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

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

1、企业人事工资管理随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事工资的管理势在必行。本系统结合企业公司实际的人事、财务制度,经过实际的需求分析,采用功能强大的DDLPHI 7做为开发工具、Paradox7做为数据库开发出来的单机版人事管工资理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成人事、工资管理的全过程,包括新进员工加入时人事档案的建立、老员工的转出、职位等的变动引起职工信息的修改、员工信息查询、统计等人事管理工作以及新进员工工资的新增、老员工工资修改、出盘等工资管理工作。经过实际使用证明,本文所设计的人事工资管理系统可以满足企业人

2、事、工资管理方面的需要。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。关键词:数据库,Paradox7,Delph 5,出盘,人事工资管理AbstractWith the computers technology developing rapidly,that computer can apply commonly in the management of the enterprise. Make use of the computer to realize the management of personnel and

3、salary in enterprise is certainly in necessary. This system joins together the academic and actual circumstance, adopting the mighty the capital of Greece in function be used as the tool of development. The Paradox7 acts as a database type,which edits a student of the score management system. Record

4、 the score of each category of student into the system and provide to search and modify and so on.The whole systems operation is simple. The interface sets out from amity, vivid, practical and safe request, completing students score record into, searching, modifying and making statistics. It shows o

5、ut the clear and quick interface and makes operation simply to attain the theories combine together with fulfillment.The thesis introduced to us the lesson of the background of development and the finished function and a process. It gives us the system of design and measure primarily.Keyword:databas

6、e,the management of personnel and salary,前 言随着科技的发展以及计算机的广泛应用,各种管理软件已成为我们生活中不可缺少的一部分了。人们不再拘泥于简单的人工操作、记录,而改为用计算机管理日常工作了,尤其是数据库已成为我们身边随处可见的管理系统,用数据库开发管理软件必不可少,学校图书馆的借书还书离不开数据库,企业工人的人事工资管理也离不开数据库,其重要性不言而喻。本系统结合企业公司的实际情况,采用Delphi 7作为开发工具,Paradox 7 作为数据库的类型编辑一个企业人事工资管理系统,把公司员工的各种信息录入,以供查询修改等。整个系统完成人事管理、工

7、资管理、系统维护及查询等的全过程,用简洁明快的界面展现出来,使操作简单可行,达到理论与实践相结合。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点说明了系统设计的重点、设计思想、难点技术和解决方案。对于论文中的不足之处,恳请各位领导、专家加以指正,谢谢!目 录第一章绪论51.1课题来源51.2 开发工具的选择51.3 本文所做工作6第二章 需求分析72.1 总体需求调查72.1.1 组织结构图72.1.2 系统目标72.1.3 应用现状调查72.1.4业务总体流程调查82.2系统功能调查92.2.1系统维护功能92.3系统功能模块图9第三章 概要设计103.1概念设计103.2

8、数据库设计113.2.1 Yhklb用户口令表11第四章 详细设计134.1启动界面设计134.1.1 功能说明134.1.2屏幕格式设计134.2 登录窗口设计144.2.1功能说明144.2.2屏幕格式设计144.2.3源程序分析144.3 主窗口设计164.3.1功能说明164.3.2屏幕格式设计164.3.3源程序分析174.4系统维护模块设计224.4.1基本参数维护224.4.2 用户管理264.5系统其它功能的实现324.5.1 打开计算器324.5.2打开写字板324.5.3窗口的层叠、平铺、极小化操作324.5.4关于窗口的实现33第五章 毕业设计小结33第一章绪论1.1课题

9、来源随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事工资的管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力。计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点.1.2 开发工具的选择现在,市场上可以选购的应用开发产品很多,流行的也

10、有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的Visual BasicMicrosoft公司的Visual CBorland公司的Delphi Powersoft公司的PowerBuliderJava等等作为数据库系统的开发,Delphi是一个非常理想选择。Delphi因简单易学、功能强大、编译速度快而从众多的软件开发工具中脱颖而出。它提供了灵活的可视化设计工具,将可视化界面与面向对象技术完善、紧密地结合起来,并封装了Windows编程的复杂性。程序的规模小到简单的个人数据库应用,大到复杂的企业的多层次分布式系统,都可以使用Del

11、phi进行开发,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。尤其是Delphi对数据库应用的强大支持,大大提高了数据库应用软件开发的效率,缩短了开发周期,深受广大数据库应用程序设计人员的喜爱。Delphi为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。1.3 本文所做工作第一章结合软件工程方法,对系统进行需求分析、功能划分、数据流图设计,并结合数据库原理和功能划分进行ER图的绘制、数据库结构设计,第二章根据需求分析的结果,用户概念数据模型表示数据及其相互间

12、的联系。第三章根据需求分析的结果,对系统进行详细设计,主要介绍用Delphi和Pradox实现每一个模块的具体功能。第四章毕业设计小结,总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。第二章 需求分析2.1 总体需求调查2.1.1 组织结构图企业公司组织结构图如下2.1.2 系统目标采用公司现有的软硬件软件及科学的管理系统开发方案,建立企业人事工资管理系统,实现企业人事工资管理的计算机自动化。系统应符合公司人事、工资管理制度,并达到操作直观、方便、实用、安全等要求。2.1.3 应用现状调查 目前,很多公司使用的人事工资管理系统采用的是DOS环境下的Foxbase数据库,

13、界面不友好,不能适应公司发展的需要。2.1.4业务总体流程调查 维护员工基本信息维护员工工资信息数据统计表格制作出盘结束开始维护员工基本信息:人事管理主要负责人员基本信息的维护,包括新进员工档案的建立,员工信息的修改。公司工资管理基本流程如下:数据来源:将各部门送达的员工工资信息包括基本工资、奖金、水电费等作为数据来源,分为新增员工工资数据和老员工每月修改数据。数据的输入:由工作人员通过新员工本月工资增加和老员工上月工资表修改完成。数据的统计:由工作人员通过对修改后的上月工资表进行计算得到每个人的实发工资以及总金额。表格的制作:由工作人员以修改、计算后的在上月工资表为蓝本生成与银行进行数据交换

14、的软件即出盘。同时可打印工资报表。2.2系统功能调查整个系统从总体上分为人事管理、工资管理、系统维护三大部分,其中系统维护部分应实现的功能如下:2.2.1系统维护功能 部门信息维护:实现灵活的增减部门信息 职务信息维护:实现灵活的增减职务信息 职称信息维护:实现灵活的增减职称信息 工资账目维护:能够灵活的改变员工的薪水账目。 用户管理:包括新增用户、删除用户、修改用户密码等。人事工资管理系统新增用户修改密码删除用户工资管理模块新员工工资新增老员工工资维护出 盘工资报表系统维护模块工资账目维护职务信息维护部门信息维护职称信息维护用户管理人事管理模块新员工档案的新增员工基本信息维护员工基本信息查看

15、员工基本信息查询人事状况曲线分析企业员工花名册2.3系统功能模块图第三章 概要设计3.1概念设计通过对企业员工管理内容、工资管理内容和过程的分析,本系统应设计的实体和属性如下:员工(包括员工工号、员工姓名、学历、性别、政治面貌、出生日期、所属部门、职称、职务、入职时间、身份证号、联系电话、家庭住址、手机号码、Email、有效标志)部门(部门代号、部门名称)职务(职务代号、职务名称)职称(职称代号、职称名称)薪金结构(月份、员工工号、薪水帐目、数目)薪水帐目(薪水帐目代号、薪水帐目名称)员工工号员工姓名学历性别政治面貌出生日期所属部门职称职务所属部门身份证号家庭住址联系电话手机号码Email有效

16、标志员工部门部门代号部门名称职务职务代号职务名称职称职称代号职称名称薪水帐目名称薪水帐目薪水帐目代号薪金结构薪水帐目月份数目员工工号3.2数据库设计作为Borland公司的桌面数据库,Paradox在Delphi中的应用非常广泛,为此我选用Paradox数据库来进行数据库的逻辑设计。根据前面定义的实体及实休之间的关系,形成数据库的表格以及各个表之间的关系。为了减少数据冗余度,将职称实体、部门实体、职务实体、薪水帐目实体放在同一个表里,以一个类型字段加以区分。对个关系选择主健,按照关系模式的规范化进行规范,消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的分离。3.2.1 Yhklb

17、用户口令表序号域名域中文名域类型备注1Dlgh登录工号Alpha(20)主键2Pswd口令Alpha (10)说明:为了便于多个用户管理该系统,建立此表,记录用户的登录工号和口令.第四章 详细设计根据需求分析、概要设计的结果,采用Delphi做为开发工具,实现公司人事工资管理各模块的功能。4.1启动界面设计4.1.1 功能说明系统运行时,首先弹出此启动窗口,4秒钟后自动关闭出现主窗口和登录窗口,实现此界面主要是修改了工程文件,并调用了一个延时函数,实现起来很简单,源程序不加以介绍。4.1.2屏幕格式设计启动界面4.2 登录窗口设计4.2.1功能说明控制员工登录,防止非法用户闯入本系统,保证系统

18、的安全,输入口令时屏幕显示为“*”以利保密。4.2.2屏幕格式设计登录界面4.2.3源程序分析procedure TFrm_dl.Button1Click(Sender: TObject);begin if edit2.text= then /判断密码是否输入为空 begin Application.MessageBox(密码不能为空,请重新输入!,系统提示,mb_IconInformation+mb_OK); Edit2.SetFocus; end; Exit; query1.sql.clear; query1.sql.add(select pswd from yhklb where dly

19、h=+trim(edit1.text)+); if query1.Active then query1.close; query1.open; /根据用户名从用户口令表中取出用户口令 if edit2.textquery1.fieldbyname(pswd).asstring then begin if err_cou=2 then /判断是否三次输入错误 begin application.messagebox(三次登录的用户名或密码错误, 系统退出,mb_IconInformation+mb_OK); frm_main.close; /关闭主窗口,退出系统 end; Application

20、.MessageBox(密码或工号不正确,请重新输入!,mb_IconInformation+mb_OK); /若密码输入错误,提示 重新输入 Edit2.SetFocus; err_cou:=err_cou+1; /输入次数加1 exit; end; dluser:=edit1.text; /给变量赋值,记录登录用户,供其它程序使用 Close; end;4.3 主窗口设计4.3.1功能说明界面采用MDI方式,可同时打开几处子窗口体,在界面上放置了菜单栏和工具栏、状态栏;菜单栏集中了系统操作的入口,各功能模块的执行从此进入;工具框显示了系统菜单中常用项目的快键图标,使用户只需点击相应图标即可

21、进入相应功能模块,当鼠标移动到相应图标时,系统会出现提示信息。状态栏主要是用于显示日期时钟信息,以及系统操作过程中的信息。4.3.2屏幕格式设计系统主界面4.3.3源程序分析procedure TFrm_main.N20Click(Sender: TObject); /菜单关闭事件beginclose; end;procedure TFrm_main.N_shutdownClick(Sender: TObject);begin /菜单退出系统并关机事件if messagedlg(是否退出并关闭计算机?,mtinformation,mbyes,mbno,1)=mryes thenbegin cl

22、ose; ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 ); /调用API函数end;end;procedure TFrm_main.N_closeClick(Sender: TObject);beginclose;end;procedure TFrm_main.N_bmcxwhClick(Sender: TObject);/打开部门参数维护窗口begin Application.CreateForm(TFrm_bmxg, Frm_bmxg);if frm_bmxg.query1.active then frm_bmxg.query1.close; /

23、判断Query是否打开frm_bmxg.query1.open; /打开Queryend;procedure TFrm_main.N_zwwhClick(Sender: TObject); /打开职务参数维护窗口begin Application.CreateForm(TFrm_zwxg, Frm_zwxg); if frm_zwxg.query1.active then frm_zwxg.query1.close; frm_zwxg.query1.open;end;procedure TFrm_main.N_ygjbxxsrClick(Sender: TObject);/打开新增员工信息窗口

24、beginApplication.CreateForm(Tfrm_ygzbxxsr, frm_ygzbxxsr);end;procedure TFrm_main.N_yhwhClick(Sender: TObject);/打开用户维护窗口beginApplication.CreateForm(TFrm_yhgl, Frm_yhgl); if frm_yhgl.query1.active then frm_yhgl.query1.close; frm_yhgl.query1.open;end;procedure TFrm_main.Timer1Timer(Sender: TObject); va

25、r y,m,d:word; /在状态栏上显示日期时间星期 begin decodedate(now,y,m,d); statusbar1.Panels1.text:=concat(【,inttostr(y),年,inttostr(m),月,inttostr(d),日 ,formatdatetime(hh:nn:ssAM/PM,now) ,f_get_week,】);/调用函数f_get_week end;procedure TFrm_main.N_zcwhClick(Sender: TObject);/打开职称维护窗口beginApplication.CreateForm(TFrm_zcxg,

26、 Frm_zcxg); if frm_zcxg.query1.active then frm_zcxg.query1.close; frm_zcxg.query1.open;end;procedure TFrm_main.N_ygzbxxwhClick(Sender: TObject);/打开员工信息维护窗口beginApplication.CreateForm(Tfrm_ygzbxxwh, frm_ygzbxxwh);end;procedure TFrm_main.N_zbxxckClick(Sender: TObject); /打开员工信息查看窗口beginApplication.Crea

27、teForm(Tfrm_llygzbxx, frm_llygzbxx);end;procedure TFrm_main.N_tjcxClick(Sender: TObject); /打开员工信息条件查询窗口beginApplication.CreateForm(Tfrm_ygzlcx, frm_ygzlcx);end;procedure TFrm_main.N_gzzmwhClick(Sender: TObject);/打开薪水帐目维护窗口beginApplication.CreateForm(TFrm_gzzmwh, Frm_gzzmwh);if Frm_gzzmwh.query1.acti

28、ve then Frm_gzzmwh.query1.close;Frm_gzzmwh.query1.open;end;procedure TFrm_main.N_cpClick(Sender: TObject); /打开出盘窗口beginApplication.CreateForm(Tfrm_cp, frm_cp);end;procedure TFrm_main.N_gzdxClick(Sender: TObject); /打开工资短信窗口beginfrm_gzdx:=Tfrm_gzdx.create(application);frm_gzdx.showmodal;frm_gzdx.free;

29、end;procedure TFrm_main.N_jsbClick(Sender: TObject); /打开写字板beginShellExecute(handle,open,notepad.exe,nil,nil,SW_ShowNormal);/调用API函数end;procedure TFrm_main.N_jsqClick(Sender: TObject); /打开计算器beginShellExecute(handle,open,calc.exe,nil,nil,SW_ShowNormal); end;procedure TFrm_main.N_ppClick(Sender: TObj

30、ect); /实现窗口平铺begin TileMode := tbVertical; Tile;end;procedure TFrm_main.N_cdClick(Sender: TObject); /实现窗口层叠beginCascade;end;procedure TFrm_main.N_jxhClick(Sender: TObject); /实现窗口极小化var i:integer;beginwith frm_main do begin for i := MDIchildcount-1 downto 0 do MDIChildreni.Windowstate := wsMinimized;

31、 end;end;procedure TFrm_main.N_aboutClick(Sender: TObject); /打开关于本系统窗口beginApplication.CreateForm(Tfrm_about, frm_about);end;function Tfrm_main.f_get_week :string; /获取星期函数var days: array1.7 of string;begin days1 := 星期日; days2 := 星期一; days3 := 星期二; days4 := 星期三; days5 := 星期四; days6 := 星期五; days7 := 星

32、期六; result :=daysDayOfWeek(now);end;procedure TFrm_main.N_ygzlbbClick(Sender: TObject); /生成企业员工花名册beginfrm_ygbb:=Tfrm_ygbb.create(application);if frm_ygbb.Query1.active then frm_ygbb.Query1.close;frm_ygbb.Query1.open;frm_ygbb.QuickRep1.Prepare;frm_ygbb.QuickRep1.Preview;frm_ygbb.Free;end;procedure T

33、Frm_main.N_rsqxfxClick(Sender: TObject); begin /打开人事状况曲线分析窗口 Application.CreateForm(Tfrm_rsqkqxfs, frm_rsqkqxfs); if frm_rsqkqxfs.Query1.Active then frm_rsqkqxfs.Query1.Close; frm_rsqkqxfs.Query1.open;end;end.procedure TFrm_main.FormCreate(Sender: TObject);begin n2.Enabled:=false; n1.Enabled:=false;

34、 n19.Enabled:=false;end;4.4系统维护模块设计系统维护模块主要包括部门信息维护、职务信息维护、职称信息维护、工资账目维护、用户管理等几个方面。主要是对员工部门信息、职务信息、职称信息、工资帐目信息进行增加、删除等功能,不能修改,若要修改,先删除再增加,当然删除操作会使数据不一致,系统会给以提示。用户管理主要实现新增、删除用户、修改密码等功能。4.4.1基本参数维护4.4.1.1实现流程 初始状态下,输入框置为无效 点击新增按钮后,在输入框中输入要新增的内容,点击提交按钮将信息提交到数据库中。 选择某行后,点击删除按钮,系统提示,删除将导致数据的不一致是否删除,若点确定,

35、将此记录从数据库中删除。4.4.1.2屏幕格式设计部门维护屏幕格式如下:职务维护和职称维护予部门维护基本相同,只须改变相应部门的两个字即可。部门参数维护界面4.4.1.3源程序分析procedure TFrm_bmxg.Button4Click(Sender: TObject);beginclose;end;procedure TFrm_bmxg.FormClose(Sender: TObject; var Action: TCloseAction);beginaction:=cafree;end;procedure TFrm_bmxg.Button1Click(Sender: TObject

36、);begin Edit1.Enabled := True; Edit1.Text := ; Edit1.SetFocus; Button1.Enabled := False; Button3.Enabled := True;end; procedure TFrm_bmxg.Button2Click(Sender: TObject);var sql:string;beginif Application.MessageBox(删除参数将导致数据的不一致,确认要删除吗?,系统提示,mb_IconInformation+mb_OK+mb_OKCancel)=IDCancel then Exit; S

37、ql := Delete From jbcsb Where Id=+Query1.FieldByName(Id).AsString + And lx=2; Query2.Close; Query2.Sql.Clear; Query2.Sql.Add(sql); Query2.ExecSQL; Query1.Close; Query1.Open;end;procedure TFrm_bmxg.Button3Click(Sender: TObject);var localdate,sql,maxid:string;begin if Application.MessageBox(您确认要提交吗?,系

38、统提示,mb_IconInformation+mb_OK+mb_OKCancel)=IDCancel then Exit; if Trim(Edit1.Text) = then begin Application.MessageBox(您不能插入一条空的记录,系统提示,mb_IconInformation+mb_OK); Exit; end; sql:=select max(id)+1 maxid from jbcsb where 1=1; Query2.Close; Query2.Sql.Clear; Query2.sql.Add(sql); Query2.open; maxid:=trim

39、(query2.fieldbyname(maxid).asstring); if maxid= then maxid:=0; LocalDate := FormatDateTime(yyyy-mm-dd,Date); LocalDate := LocalDate + + FormatDateTime(hh:mm:ss,Time); sql:=insert into jbcsb(id,mc,lx,czy,czsj) +values(+maxid+, +Trim(Edit1.Text)+,2,+dluser+,+LocalDate+); Query2.close; Query2.sql.clear

40、; Query2.SQL.add(sql); Query2.ExecSQL; Query1.Close; Query1.Open;if Application.MessageBox(您继续要新增吗?,系统提示,mb_IconInformation+mb_OK+mb_OKCancel)=IDCancel then begin Button1.Enabled := True; Button3.Enabled := False; Edit1.Enabled := False; Exit; end; Edit1.Text := ; Edit1.SetFocus;end;procedure TFrm_b

41、mxg.Edit1KeyPress(Sender: TObject; var Key: Char);beginif (edit1.text) AND (key=#13) thenbutton3click(sender);end;procedure TFrm_bmxg.Edit1Exit(Sender: TObject);begin if Trim(Edit1.Text) = then Edit1.Text := ;end;4.4.2 用户管理4.4.2.1 功能说明为了保证系统安全,系统初始化时建立一个系统用户其用户名和密码均为小写的system ,只有此用户才具有用户管理的功能,其它用户不能

42、访问这个界面,如果要新增用户、删除用户、修改密码只能以此用户登录,当然系统用户可以修改自己的密码,但不能删除自己。修改口令时要输入两次,只有两次一致才能修改成功。数据来源用户口令表。4.4.2.2屏幕格式设计 用户管理界面 新增用户界面密码修改界面4.4.2.3程序源分析实现用户管理的源程序如下:procedure Tfrm_yhgl.Button1Click(Sender: TObject);begin Frm_adduser:=Tfrm_adduser.create(application); Frm_adduser.show;end;procedure Tfrm_yhgl.Button2

43、Click(Sender: TObject);begin Frm_changepawd:=Tfrm_changepawd.create(application); Frm_changepawd.show; with DBGrid1.DataSource.DataSet do begin GotoBookmark(pointer(DBGrid1.SelectedRows.CurrentRowSelected); s:=Fields0.AsString; oldpswd:=fields1.asstring; end; Frm_changepawd.edit1.text:=s; Frm_changepawd.edit1.enabled:=false;end;procedure Tfrm_yhgl.Button5Clic

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

当前位置:首页 > 其他


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