人事信息管理系统+本科毕业论文.doc

上传人:asd****56 文档编号:70467262 上传时间:2023-01-19 格式:DOC 页数:52 大小:1.60MB
返回 下载 相关 举报
人事信息管理系统+本科毕业论文.doc_第1页
第1页 / 共52页
人事信息管理系统+本科毕业论文.doc_第2页
第2页 / 共52页
点击查看更多>>
资源描述

《人事信息管理系统+本科毕业论文.doc》由会员分享,可在线阅读,更多相关《人事信息管理系统+本科毕业论文.doc(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、人事信息管理系统XXXXXX本科毕业设计人事信息管理系统学生姓名XXXXXX院系名称专业名称计算机科学与技术班 级学 号指导教师XXXXXXXX教务处二八年五月48人事信息管理系统学生:XXXX 指导教师:XXXX内容提要本系统所研究的内容是人事信息管理系统,在整个研究工程中,经过需求分析、概要设计、详细设计、系统测试等几个阶段的工作,使系统具有了插入、删除、修改、查询、导出以及备份恢复维护的基本功能。本系统使用软件的开发工具是Microsoft Visual C+ 6.0,后台数据库是本地Microsoft SQL Server2000数据库,设计数据库软件是PowerDesignerTri

2、al11。Microsoft Visual C+ 6.0是一种开发性能非常优秀的面向对象的数据库应用开发工具,它能够设计高性能、基于客户/服务器(Client/Server)体系结构的应用系统。Visual C+ 6.0在不牺牲灵活性、性能和控制力度的同时,给C+带来了更高水平的生产效率。Microsoft Visual C+ 6.0提供了可视化编程,减少了编程过程中的难度,提高了编程效率。Microsoft SQL Server2000是一种使用方便、简单的数据库,它提供了安全的管理措施,适合于中、小型系统。PowerDesignerTrial11工具是一个方便的画数据库模型的软件,并可以通

3、过ER模型直接生成多种类型的数据库,诸如Oracle、Sybase 、Microsoft SQL Server2000等。人事信息管理系统主要有以下六个模块组成:a) 在人事管理模块中实现了,人事管理的功能;b) 在出勤管理模块中实现了,员工的考勤管理的功能;c) 在工资管理模块中实现了,员工工资的管理功能;d) 在系统管理模块中实现了,有关基本表的更新以及数据的备份和恢复;e) 在用户管理模块中实现了,有关系统用户管理及权限的分配、密码修改等的管理;f) 最后用帮助模块,让使用者了解本系统,并帮助使用者如何更好的使用本系统。关键字:单文档 ADO Project(工程)对象Managemen

4、t Information SystemAbstractThe system focuses on Human affairs Information Management System. In the whole researching process, we need to go through the following steps, including requirement analysis, general design, particular design, system test and so on. Through these steps that make the syst

5、em can possesses the basic functions of database insertion, deletion, modification, search, export to excel, backup and resume.This system use the Microsoft Visual C plus plus 6.0 as the empolder tool, using the Microsoft SQL Server2000 as the background database, and i use PowerDesignerTrial11 to d

6、esign the database. Microsoft Visual C+ 6.0 is a kind of Object Oriented database application developping tool with excellent exploitation performance.It can design high performance application system which base on client/server system structural. Visual C+ improve the rate of C+ exploitation on not

7、 immolate agility, performance and control power at the same time.Microsoft Visual C+ provide visualization programming, consequently reduce the difficulty during programming, improving the efficiency of programming.Microsoft SQL Server2000 is a kind of using convenien, simple database,it provide se

8、cure manage measure.It is fit for middl, small system.PowerDesignerTrial11 tool is a software convenient to painting database model, it can convet to kinds of database through ER model, such as Oracle, Sybase, Microsoft SQL Server2000 etc.This system is composed of six module as follow:a) In human a

9、ffairs manage model finished human affair manage funciton.b) In turn out for work manage model finished check on work attendance function.c) In salary manage model finished the management of employee salary function.d) In system manage model finished the update of base table and backup and resume of

10、 database.e) In user manage model finished the user manage, distribute purview and modify users password manage.f) In finally help model let user know this system and help user how to better use this system.KeyWord :Single Document ADO(Activex data object) Project object.目录前 言11绪 论11.1问题的提出11.2课题的背景

11、及意义12系统需求分析22.1系统开发策略22.2系统功能需求分析23系统分析与设计33.1系统功能模块设计33.2数据库设计ER图43.3数据库物理结构表的描述44代码设计与实现54.1人事信息管理系统代码设计与实现54.2代码开发65软件测试365.1系统模块测试365.2研究成果366技术难点及解决376.1一般用户和管理员操作权限问题376.2设置对话框中Static控件字体的大小及颜色,代码如下:436.3设置ListControl控件的行高,及屏蔽空白行代码实现:436.4设置照片,代码如下:436.5工资的计算问题487总结及展望48致谢语48参考文献48人事信息管理系统前 言当

12、今这样一个信息的世界中,信息的掌握和分析已成为现代企业生产、经营过程中的重要因素。人事管理系统是现代企业管理体制作不可缺少的部分,为适应现代企业制度要求、逐步走向人事管理科学化、规范化,利用计算机实现企业人事档案管理势在必行。人事信息管理系统是一个典型的计算机信息处理的管理模式,它支持企业对本单位工作人员的管理。本论文从基本需求出发,本着用户界面友好,数据处理快捷的原则,创建了一个具有良好实用性的人事管理系统。人事信息管理系统采用面向对象的、可视化的数据库应用系统技术完成了对人事信息的管理,采用了Microsoft Visual C+ 6.0开发环境,并使用本地Microsoft SQL Se

13、rver2000数据库。该系统可以满足人事管理日常工作的需要,实现无纸化办公,以模糊组合查询的方式,提供了对数据表的多种组合查询,为人员档案的管理提供了方便、快捷的操作方式。本系统除了完成常见人事管理系统中人员对象的管理外,还针对现代企业管理的具体要求,增加了对企业部门设置和岗位编制的管理,并使其与传统的单一人员管理有机的结合,实现了数据的合理设置和有效应用,使其更为适用于目前的企业人事管理过程。通过系统开发,使我对面向对象、可视化的数据库应用系统和软件的开发过程有了一些感性的认识和了解,同时也是对自己数年来计算机专业学习成果的一次检验和考核。1 绪 论1.1 问题的提出随着计算机和网络技术的

14、广泛应用,人事档案管理系统成为现代企业管理中不可缺少的一部分。为适应现代企业制度要求,实现企业劳动人事档案管理的科学化和规范化,从而提出了企事业单位人事档案管理系统开发的课题。1.2 课题的背景及意义企事业单位人事档案管理工作是一种繁琐的,务求准确讯速的信息检索工作。特别是对在岗人员、离退人员、工资发放、职称评定等信息的管理,具有典型的信息处理管理模式。本设计以人事档案管理为入口点,提出了基于面向对象的数据库应用系统开发技术Visual C+6.0为设计工具,以软件工程设计规则为指导的人事档案管理系统。该课题基于Visual C+6.0数据库应用系统开发技术进行开发,达到了提高企事业单位人事档

15、案管理信息处理效率的效果。2 系统需求分析2.1 系统开发策略本系统开发主要采用自顶向下的开发方式,自顶向下的方法模型如下图所示:图1. 开发模型图2.2 系统功能需求分析2.2.1 人事档案管理系统的系统分析概述现在的世界是信息的世界,随着信息量越来越大以及计算机技术的发展,计算机已成为各企事业单位管理的重要工具。人事档案管理是对员工信息、部门信息、岗位信息、出勤信息、工资信息的管理和快速方便的查询。系统开发主要有以下六个模块组成:a) 在人事管理模块中实现了,人员档案管理与人事管理等功能;b) 在出勤管理模块中实现了,员工的考勤管理等功能;c) 在工资管理模块中实现了,员工工资的管理等功能

16、;d) 在系统管理模块中实现了,有关基本表的更新以及数据的备份和恢复的管理功能e) 在用户管理模块中实现了,有关系统用户管理及权限的分配管理;f) 最后用帮助模块,让使用者了解本系统,并帮助使用者如何更好的使用本系统。2.2.2 系统流程图本系统的系统流程图如下:图2. 系统流程图3 系统分析与设计3.1 系统功能模块设计模块结构图图3. 模块结构图3.2 数据库设计ER图(详细信息见数据库设计概念模型)3.3 数据库物理结构表的描述主要表格如下:(详细见数据库编码)员工:EM_Employee存放员工基本信息奖惩记录:EM_RewPun_Rec模块划分:EM_ModuleClass工资:EM

17、_Salary模块划分的值对应表名称模块编号模块名称模块对应值功能描述编码MS_IDMSModuleNameMSValue00001人事管理1控制人事管理下所有的模块00002出勤管理2控制出勤管理下所有的模块00003工资管理4控制工资管理下所有的模块00004系统管理8控制系统管理下:基本信息,部门管理00005用户管理16控制用户管理下:系统操作员管理,权限管理00006数据库管理32控制系统管理下:数据恢复备份,系统初始化4 代码设计与实现4.1 人事信息管理系统代码设计与实现4.1.1 系统主界面图4. 系统主界面图4.1.2 数据库表关联定义详细信息见数据库物理模型4.1.3 模块

18、间的关系人事管理模块对员工的各种基本信息进行管理,考勤管理对员工的上下班情况及请假加班等情况进行管理,工资管理对员工的基本工资、工资构成、税率管理、补贴管理及员工的月度工资管理,月度工资通过考勤管理里的加班情况、出勤情况、请假情况、出差情况核算加班费、请假扣费、出差补贴等。系统管理主要管理单个的基本表项、部门管理、数据备份与恢复等。用户管理对系统的用户操作权限及密码修改管理。4.2 代码开发4.2.1 CDlgLogin窗口图5. 登录界面图登录对话框通过读取数据库中用户名和密码对用户输入的用户名和密码进行校验,如果用户名或密码为空或错误当用户点击登录时弹出如下提示:图6. 用户名输入提示图图

19、7. 密码输入提示图图8. 密码错误提示图图9. 用户名错误提示图如果非法输入次数超过6次,将弹出如下提示:图10. 登录出错提示图系统将自动退出登录,用户输入的密码通过调用CCrypt加密类 cy的生成密钥函数cy.Key_creator(sUserPassWord),调用加密函数对密码进行加密cy.Encrypt(sUserPassWord),将加密后的密码与数据库中保存的用户名对应密码进行比较,如果相等的话根据用户表中该用户的权限显示该用户能够管理的模块,其它模块设置为灰色不可点击。管理员用户可以操作系统的所有模块。4.2.2 加密类函数的主要代码生成密钥函数:void CCrypt:K

20、ey_creator(CString S) /生成常量C1,C2以及加密解密Keyint i,j;unsigned short k=0;C1=1;C2=1;for(i=0,j=S.GetLength()-1;(i!=j)&(i!=j+1);i+,j-)C1=int(Si)(C18);C2=int(Sj)(C28);De_key=(C1*C2/S.GetLength()&(k);En_Key=De_key;加密函数:CString CCrypt:Encrypt(CString S) / 加密函数CString Result,str,back;int i,j;/ch=S;Result=S; / 初

21、始化结果字符串for(i=0; i8); / 将密钥移位后与字符异或Result.SetAt(i, S.GetAt(i)(En_Key8);if(iS.GetLength()-1)En_Key = (short)(Resulti+En_Key)*C1+C2); / 产生下一个密钥S=Result; / 保存结果for(i=0; iS.GetLength(); i+) / 对加密结果进行转换j=Si; / 提取字符/ 将字符转换为两个字母保存str=12; / 设置str长度为2/str0=65+j/26;/str1=65+j%26;/back += str;str.SetAt(0, 65+j/

22、26);str.SetAt(1, 65+j%26);back += str;return back;加密函数的实现:CString CCrypt:Decrypt(CString S) / 解密函数CString Result,str,back;int i,j;/Result.Empty(); / 清除结果for(i=0; i S.GetLength()/2; i+) / 将字符串两个字母一组进行处理j = (S2*i-65)*26;j += S2*i+1-65;str=1; / 设置str长度为1str=j;Result+=str; / 追加字符,还原字符串S=Result; / 保存中间结果

23、for(i=0; i8); / 将密钥移位后与字符异或Result.SetAt(i, (BYTE)S.GetAt(i)(De_key8);if(iadoEOF)vBefID=atoi(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(EmpID);m_pRecordset-MoveNext();if(m_pRecordset-adoEOF)break;vAftID=atoi(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(EmpID);if(vAftID-vBefID)1)vID=vBefID;break;if(m_pRecor

24、dset-adoEOF)vID=vBefID;vID+=1;vEmpID.Format(%05d,vID);插入员工基本信息时,基本信息比如象民族、专业、籍贯等信息可以通过从下拉菜单中选择,而不用手工输入,信息中有关时间的信息可以通过点击下拉框选择时间来设置。当员工插入完成后点击保存退出。ConeEmpRec对话框中“上一个”按钮代码如下:strSql.Format(select * from EM_Employee);m_pRecordset=ado.GetRecordSet(_bstr_t(strSql);while(!m_pRecordset-adoEOF)vEmpID=(LPCTSTR

25、)(_bstr_t)m_pRecordset-GetCollect(EmpID);if(vEmpID=m_EmpID)break;elsem_pRecordset-MoveNext();m_pRecordset-MovePrevious();if(m_pRecordset-adoBOF)m_pRecordset-MoveLast();vEmpID=(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(EmpID);当目前已经是最后一个员工时,自动显示第一个员工的相关信息。“下一个”同理自动显示最后一个员工信息。员工社会关系、员工辅助信息、员工个人经历的界面差不多类

26、似,如下图17. 员工社会关系、员工辅助信息、员工个人经历图获取选中行代码如下:pos = m_EmpInfo.GetFirstSelectedItemPosition();if(!pos)return; Index= m_EmpInfo.GetNextSelectedItem(pos); / 得到项目索引dlg.EmpID = m_EmpInfo.GetItemText(Index,1); /获取员工编号人事管理模块中职称评定管理、奖惩管理、培训记录管理、人事变动管理、考评管理、福利品领取管理等界面类似,界面如下:图18. 职称评定管理、奖惩管理、培训记录管理、人事变动管理、考评管理、福利品

27、领取管理等界面图4.2.5 出勤管理出勤管理主要包括考勤记录、请假记录、加班记录、出差记录、月度考勤记录五个部分。考勤记录是负责对员工的上下班时间进行记录,包括添加、删除、修改;计算工作时间假记录记录员工请假次数,在核算员工工资时将根据请假次数进行工资核算;加班记录记录员工加班的时间、日期及加班类型,核算工资时将根据加班类型及加班时间核算加班工资;出差记录记录员工的出差类型、出差地点、出差开始时间、出差结束时间、出差任务等,其中出差类型及时间将在工资核算时计算出差补贴;月度考勤记录记录了员工一个月中累积加班时间、累计请假时间、累计旷工次数、累计出差时间、迟到早退次数,其中累计矿工次数及累计迟到

28、早退次数也将在工资核算中扣除相应金额。图19. 员工出勤管理图4.2.6 工资管理工资管理主要包括对工资等级、工资构成项目、税率管理、节日补贴、月度工资等管理。工资等级,对工资等级的添加、修改、删除,主要是方便用人事管理对员工工资的添加、修改,通过对工资等级的修改可以对员工同一等级进行批量修改。工资构成项目,是对于工资由哪些项目构成的管理及这些项目是税前还是税后及加、减等的管理。界面如下:图20. 工资构成图税率管理,是对员工应纳税的税率及纳税金额的上下限、速算扣除数等的管理,方便月度工资中核算税后工资。节日补贴管理,是公司对于员工各种法定节日及员工生日发放给员工的补贴。月度工资管理,实现了对

29、员工的月度工资的添加、修改、删除、查询、导出到Excel等的管理,基本工资是根据是人事管理哪里读取的,加班费通过加班类型及加班时间计算,出差补贴按照每种出差类型的补贴 * 次数 的和,额外税前是通过工资管理员设置的,设置界面如下图1),应发工资计算公式:应发工资金额=基本工资+加班费+出差补助-请假扣款+额外税前项,额外税后、节日补贴是通过工资管理员设置的,设置界面如下图2),税后工资计算公式:税后工资=应发工资金额-纳税金额;税金额计算公式:纳税金额=应纳税金额*适合税率-速算扣除数而应纳税金额=应发工资金额-纳税基数(1000);实发工资=税后工资+税后应加项-税后应扣项+纳税基数。月度工

30、资管理的主界面:图21. 月度工资管理图图22. 额外税前计算图 图23. 额外税后计算图月度工资表导出至Excel效果如下图:图24. 工资表导出样式图查询时的通过选择下拉框中的员工姓名或月份查看工资信息,当选择变化时通过调用SelecteConditionSet()函数改变查询条件,然后调用Displaytxt()显示查询后的结果,SelecteConditionSet()主要代码:void CSalary:SelecteConditionSet()UpdateData(TRUE);condition_SQL=;m_Condition_month.GetWindowText(vCondit

31、ion_month);m_Condition_name.GetWindowText(vCondition_name);if(vCondition_name!=所有)vCondition_EmpID=ds.NameToID(vCondition_name);condition_SQL=condition_SQL+ and EM_Salary.EmpID=+vCondition_EmpID+;/EM_Salary.EmpIDif(vCondition_month!=所有)condition_SQL=condition_SQL+ and SALMonth=+vCondition_month+;Ref

32、reshData();UpdateData(FALSE);查询语句:vSQL=select SALID,EM_Salary.EmpID EmpID,EmpName,SALMonth,EM_Employee.SGSalaryGrade;vSQL=vSQL+ SGSalaryGrade,SGSalarySum,SALOvertimePay,SALGoOnErrandsSubsidy;vSQL=vSQL+,SALLeavePenalty,SALAtherBefTr,SALOughtSalary,SALAtherAftTr,SALFeastSubsidy;vSQL=vSQL+,SALTaxAfterS

33、alary,SALFactSalary,TRTaxRate,SALTaxSum,SALDate,SALIdiograph,SALRemark ;vSQL=vSQL+from EM_Employee,EM_Salary,EM_SalaryGrade where EM_Employee.EmpID=EM_Salary.EmpID;vSQL=vSQL+ and EM_SalaryGrade.SGSalaryGrade=EM_Employee.SGSalaryGrade ;vSQL=vSQL+(_bstr_t)condition_SQL;vSQL=vSQL+ order by SALMonth asc

34、;导出Excel主要代码如下:void CSalary:OnSalaryOUT() / TODO: Add your control notification handler code here/连接数据库ADOConn ado;ado.OnInitADOConn();/ 提取数据库中员工信息/定义操作Excel必要的对象COleVariant VOptional(long)DISP_E_PARAMNOTFOUND, VT_ERROR); _Application objApp;Workbooks objBooks;_Workbook objBook;Worksheets objSheets;

35、_Worksheet objSheet;Range objRange;/创建Excel对象objApp.CreateDispatch(Excel.Application);objBooks=objApp.GetWorkbooks();/返回工作簿对象/ 打开指定Excel文件CString path;/ 获取当前应用程序的完整文件名,包含完整路径GetModuleFileName(NULL, path.GetBufferSetLength(MAX_PATH+1),MAX_PATH);/ 取得最后一个,去掉文件名,从而获取当前应用程序的工作路径int pos = path.ReverseFind

36、();path = path.Left(pos+1);/ 在当前应用程序的工作路径下打开EmpInfo.xls文件objBook.AttachDispatch(objBooks.Add(_variant_t(path + Salary.xls);objSheets=objBook.GetSheets();/ 定义第一个Sheet为对象objSheet=objSheets.GetItem(_variant_t)short(1);objRange.AttachDispatch(objSheet.GetCells(),true); / 读取临时表中的记录_RecordsetPtr m_rs;_bst

37、r_t vSQL;vSQL=select SALID,EM_Salary.EmpID EmpID,EmpName,SALMonth,EM_Employee.SGSalaryGrade;vSQL=vSQL+ SGSalaryGrade,SGSalarySum,SALOvertimePay,SALGoOnErrandsSubsidy;vSQL=vSQL+,SALLeavePenalty,SALAtherBefTr,SALOughtSalary,SALAtherAftTr,SALFeastSubsidy;vSQL=vSQL+,SALTaxAfterSalary,SALFactSalary,TRTax

38、Rate,SALTaxSum,SALDate,SALIdiograph,SALRemark ;vSQL=vSQL+from EM_Employee,EM_Salary,EM_SalaryGrade where EM_Employee.EmpID=EM_Salary.EmpID;vSQL=vSQL+ and EM_SalaryGrade.SGSalaryGrade=EM_Employee.SGSalaryGrade ;vSQL=vSQL+(_bstr_t)condition_SQL;vSQL=vSQL+ order by SALMonth asc;m_rs = ado.GetRecordSet(

39、vSQL);/ 生成标题栏objRange.SetItem(_variant_t(long)(1),_variant_t(long)(1),_variant_t(序号); objRange.SetItem(_variant_t(long)(1),_variant_t(long)(2),_variant_t(工资编号); objRange.SetItem(_variant_t(long)(1),_variant_t(long)(3),_variant_t(员工编号); objRange.SetItem(_variant_t(long)(1),_variant_t(long)(4),_varian

40、t_t(姓名); objRange.SetItem(_variant_t(long)(1),_variant_t(long)(5),_variant_t(月份); objRange.SetItem(_variant_t(long)(1),_variant_t(long)(6),_variant_t(基本工资等级);objRange.SetItem(_variant_t(long)(1),_variant_t(long)(7),_variant_t(基本工资); .objRange.SetItem(_variant_t(long)(1),_variant_t(long)(21),_variant

41、_t(备注);/ 记录总数int iRowCount = 0;while(!m_rs-adoEOF)/ 把列值放入Excel指定单元格CString str;str.Format(%03d,iRowCount+1);objRange.SetItem(_variant_t(long)(iRowCount+2),_variant_t(long)(1),_variant_t(str); str = (LPCTSTR)(_bstr_t)m_rs-GetCollect(SALID);/工资编号objRange.SetItem(_variant_t(long)(iRowCount+2),_variant_t(long)(2),_variant_t(str); str = (LPCTSTR)(_bstr_t)m_rs-GetCollect(EmpID);/员工编号objRange.SetItem(_variant_t(long)(iRowCount+2),_variant_t(long)(3),_variant_t(str);str = (LPCTSTR)(_bstr_t)m_rs-GetCollect(EmpName);/员工姓名obj

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

当前位置:首页 > 技术资料 > 其他杂项

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

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