版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE17目 录引言第1章需求分析1.1系统需求1.2功能需求1.3性能需求第2章总体设计2.1基本分析2.2数据库设计第3章详细设计3.1系统主体设计3.2考勤管理模块简介3.3基本数据设置模块简介3.4备忘录模块管理简介3.5数据库管理模块简介3.6基它管理模块设计简介第4章有关深层开发的创想4.1创建为一个自动化服务器及其控制程序4.2使用动态链接库4.3更广泛的实践附录结束语//附录//参考文献//系统开发://基于使用的方便性;//数据的安全性与完整性;//数据的易维护性;人事管理系统引 言背景在竞争越来越激烈的社会里,企业人事管理就越显示出其不可缺性,成为企业一个非常重要的模块。企业人事管理系统主要是用于员工个人资料的录入,职务变动的记录和管理。使用人事管理系统,便于公司领导掌握人员的动向和人员的综合素质,及时调整人才的分配,使用计算机对人事劳资信息进行管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等优点,能够极大地提高人事资源管理的效率,也是企业科学化、正规化管理的重要条件。目标 设计一个企业人事信息管理系统,此系统要以人为中心,为企业提供全面的人事管理解决方案;具体目标:为企业建立规范化、实时互动化人事管理机制;提高企业人事管理的效率、节约相关的管理成本,增强人事管理的安全性;满足企业管理层,人事业务操作层和全体员工的不同层次和不同方面的需要;对企业将来的整体信息化建设提供必要的支持。第1章需求分析 需求分析是系统开发必要环节,也是重中之重;需求过程研究业务工作,以期设计出有助于业务工作的更加完善的系统。作为该过程的结果,需求规格说明书是对系统的功能和行为完整的描述。系统设计将来自于需求和分析的抽象规格说明转变为面向真实世界的设计。一旦构建完成,该系统就会投入使用,同时会不可避免地产生更多的新需求。同时,需求过程与分析活动之间有相当程度的重叠,分析建模对于设定工作的范围和其他一些事来说是必要的,所以我们利用分析模型来描述需求过程,随着开发工作的继续,分析活动在工作中占的比例将变得越来越大,直到所有需求都已知。风险承担者的 想法和需要系统操作系统使用环境系统使用需求分析系统反馈需求分析需求规格说明书系统构建反馈构建系统分析反馈设计反馈构建系统系统分析系统设计系统分析系统设计分析规格说明书设计规格和需求说明书规格说明书 图(一)展示需求在整个开发生命周期的承担的角色1.1系统需求企业的人事管理职能主要分为人事档案信息管理、人事变动管理、考勤管理、员工培训管理、奖惩管理、合同管理、工资管理等内容。其中工资管理由企业人事部制定标准,对企业效益进行系统分析研究,定出应发金额标准,再由财务部计算员工工资,定出实发工资并发放。除此之外的其他管理职能由人事部单独执行。在人事系统开发时应考虑以下需求:满足人事管理职能的基本要求;进行多层次数据汇总,为各层次管理者的决策分析提供数据;具有完整的系统接口,满足灵活的数据导入与导出;对操作人员的技能要求比较低,操作方便;能够实现方便的扩展,满足企业发展的需要;能够保障人事管理数据的安全、准确。1.2功能需求基于系统需求分析,该系统需要实现以下基本功能:用户管理:管理系统操作人员,设置操作人员口令和权限。在满足不同系统用户的操作需求的基础上,提高系统的安全性。人事档案管理:完成企业对员工个人档案(包括员工的基本档案和在职信息)的管理及相关操作。操作员进行员工档案信息录入及更改,其中包括员工的基本信息、工作经历、家庭关系、奖惩记录和培训经历,要求对这些员工档案信息可以进行新增、修改、删除操作,同时可以进行查询和浏览操作。该模块是本系统的重点,用户可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以对档案进行查看。基础数据管理:维护人事管理相关的一些基础数据。主要包括以下功能:(a)民族档案设置:维护职工中民族档案信息;(b)职工类型设置:维护当前企业职工与企业的关系的类别信息;(c)文化程度设置:维护企业职工的文化程度类别信息;(d)政治面貌设置:维护企业职工的政治面貌类别信息;(e)部门类别设置:维护企业中设立的部门类别信息;(f)职务类别设置:维护企业中设立的职务类别信息;(g)职工资类别设置:维护企业中设立的工资类别信息;(h)称类别设置:维护企业职工的职称类别信息;人事变动管理:对于人事上的变动调整进行管理,对人员档案的信息进行更新(如:员工职务、员工职称、员工性质等的变动)。考勤管理:考勤管理可帮助公司完成时间管理记录员工上下班、加班、出缺勤时间,并可将数据连至薪资计算系统处理,以便作薪资结算。企业还可根据此考勤系统查询企业内各时段的员工出缺勤状况,作管理方面的分析。提供了全面的考勤管理。备忘录管理:记录部门或系统用户的一些备忘信息,包括日常的一些事件记录,以及通信簿的管理维护。数据库管理:对现有的数据库进行管理,包括数据备份和恢复,以方便用户对数据库的管理和维护工作,提高系统的数据安全性。1.3性能需求1)硬件环境在最低配置的情况下,系统的性能往往不尽如人意,现在的硬件性能已经相当出色,且价格也很便宜,因此通常给服务器端配置高性能硬件。·处理器:InterPentiumII266MX或更高·内存:64MB·硬盘空间:2GB·显卡:SVGA显示适配器2)软件环境·操作系统:Windows98/ME/2000/NT·数据库:MicrosoftAccess2000第2章总体设计2.1基本设计1)设计概念目前企业已经建立起的财务管理系统中包含工资管理部分,为了避免重复开发,本系统主要实现人事管理中的人事档案管理和考勤管理功能,并提供相应的接口为财务管理系统中的工资管理提供相应的数据支持。另外,基于成本以及安全性考虑,假设本系统是一个相对封闭的单机运行系统,不提供与其他系统的实时数据交互。对数据库的要求,如今后台数据库支持软件有多种,如Oracle(对于大型系统设计)Access、SQL(对于中小型系统设计)各具有其优越性。着于目前系统对运行环境的考虑,本系统采用VisualC++6.0,采用MicrosoftAccess2000作为后台数据库,在满足需求的前提下,尽量将系统对运行环境的性能要求降到最低。2)处理流程系统基本的流程是:用户登录系统主界面选择各项功能3)功能分析人事管理系统主要有以下几项功能要求:新员工资料的输入;自动分配员工号,并且设置初始的用户密码;人事变动的详细记录,包括岗位和部门的调整;员工信息的查询和修改,包括员工个人信息和密码等;4)系统模块根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,系统功能模块如图所示:人事管理信息系统权限管理用户管理基本数据管理人事档案管理考勤管理人事变更管理备忘录管理数据库管理其它管理图(二)人事管理信息系统主模块同时通过分析比较各功能模块之间的关系,可知系统的业务流程如图所示:基本数据管理基本数据录入形成基本数据库基本数据管理基本数据录入档案管理档案信息录入形成人事档案数据库档案管理档案信息录入考勤管理考勤信息录入形成考勤数据库考勤管理考勤信息录入统统计报报表图(三)系统业务处理流程图2.2数据库设计鉴于ODBC(OpenDatabaseConnectivity)是用于数据库访问的应用最广泛的应用程序编程接口,它允许应用程序使用相同的代码访问不同的数据库管理系统(DBMS),本系统采用ODBC和方式访问数据库。1)数据库概念结构设计 在需求分析的基础上,设计出能够满足用户要求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下了基础。编号编号各实体的E-R图:部门 N:部门名称企业人事管理系统名称企业人事管理系统普通用户级普通用户级员工号工作N:11:1领导员工号1N职工用户 :职工管理员级姓名管理员级姓名编号N:1变动—职工编号N人事变动 :人事变动变动变动 图(四)系统E--R图 2)数据库逻辑结构设计 由概念结构设计的实体与实体之间的关系的基础上,形成数据库中的表格以及各个表格之间关系。根据系统功能设计的要求以及功能模块的划分,对数据流程图的分析,对于本系统的数据库,可以列出本系统几个主要的数据项和数据结构:(a)用户表(password)数据来源:用户管理模块进行录入表(一)用户表名称字段名称类型主键非空用户名user文本YesYes用户密码password文本NoYes用户类型isAdmin是/否NoYes(b)员工基本信息表(person)数据来源:基本档案录入模块进行录入 表(二)员工基本信息表名称字段名称类型主键非空工号ID文本YesYes姓名name文本NoYes性别sex文本Noyes出生日期birth日期/时间NoNo年龄age数字NoNo民族folk文本NoNo身份证号cardID文本NoNo联系电话phone文本NoNo(c)部门类别设置表(dept)数据来源:部门类别设置模块进行录入表(三)部门类别设置表名称字段名称类型主键非空标识ID自动编号YesYes部门类别dept文本NoYes(d)工作经历表(history)数据来源:基本档案录入模块进行录入表(四)工作经历表名称字段名称类型主键非空标识ID自动编号YesYes工号code文本NoYes开始时间date1文本NoNo结束时间date2文本NoNo公司名称company文本NoNo部门dept文本NoNo职务duty文本NoNo级别level文本NoNo(e)考勤记录表(attendance)数据来源:考勤模块进行录入 表(五)考勤记录表名称字段名称类型主键非空标识ID自动编号YesYes员工编号personID文本NoYes出入情况in-out文本NoNo出入时间io-time日期/时间NoNo(f)奖惩记录表(honor)数据来源:基本档案录入模块进行录入 表(六)奖惩记录表名称字段名称类型主键非空标识ID自动编号YesYes工号code文本NoYes奖惩种类sorts文本NoNo奖惩日期date1日期/时间NoNo奖惩原因reson文本NoNo(g)培训过程表(train)数据来源:基本档案录入模块进行录入 表(七)培训过程表名称字段名称类型主键非空标识ID自动编号YesYes工号code文本NoYes培训方式mode文本NoYes开始时间date1日期/时间NoNo结束时间date2日期/时间NoNo培训期限term文本NoNo培训内容content文本NoNo(h)日常记事表(notepad)数据来源:备忘录模块进行录入 表(八)日常记事表名称字段名称类型主键非空标识ID自动编号YesYes记录日期date日期/时间NoYes事件类型sort文本NoNo标题caption文本NoNo事件内容comments文本NoNo(※其它数据表还有:民族档案设置表(folk),文化程度设置表(education),职工类别设置表(status),职称类别设置表(technical),职务类别设置表(duty),工资类别设置表(salary),加班记录表(overtime)考勤统计表(attendance-stat)出差记录表(errand)等。)第3章详细设计基于系统需求分析与系统总体设计的结论,本系统采用Windows2000Server版下的VisualC++6.0实现各模块的功能,下面按几大模块的划分阐明系统的详细设计与实现,其中主要对人事档案管理模块进行详细介绍(其它模块简介具体见附录)。1系统主体设计充分考虑界面易于操作的系统需求,主控制平台使用简单和直观和布局设计,提供菜单和工具栏两种操作方式。主界面设计如图:图(五)系统主界面1)主体框架:使用MFCAppWizard创建一个单文档结构的应用程序工程,建立起系统主体框架,生成应用程序类(CManagerApp)、文档类(CManagerDoc)、视图类(CManagerView)和主边框类(CMainFram)。2)菜单和工具栏:根据系统总体设计中功能模块的划分,使用资源编辑器创建系统菜单和工具栏。3)文档与视图应用程序的编写本系统是基于MFC单文档结构的应用程序工程,文档是管理应用程序的数据,而视图用于显示文档并管理与用户的交互。其实,文档是一种数据源,文档对象负责来自所有数据源的数据的管理;视图是数据的用户窗口,为用户提供了文档的可视的数据显示,它把文档的部分或全部内容在窗口中显示出来,在文档视图结构里,文档是一个应用程序数据基本元素的集合,它构成应用程序所使用的数据单元;另外它还提供了管理和维护数据和手段。下面利用图对文档与视图关系的形象化:视图文档 当前可见的 文档部分图图(六) 文档与视图之间的关系 文档与视图的这种操作分离是编程的高级思想。所有对数据的修改由文档对象来完成。视图调用这个对象的方法来访问和更新数据。它大大简化了多数应用程序的设计开发过程。采用文档视图结构的意义有:先是将数据操作和数据显示,用户界面分离开;MFC在文档/视图结构上提供了许多标准操作界面;支持打印预览和电子邮件发送功能;本系统说明了文档/视图结构的原理及应用,因为系统是基于单文档的应用程序,系统本身是由文档组成,在其视图区中实现了对文体显示与图像的加载并显示。具体函数体:在视图类CManagerView类的OnPaint()成员函数中添加如下代码://对文本的输出 CFontmyFont; CFont*pOldFont; myFont.CreateFont(………); pOldFont=pDC->SelectObject(&myFont); pDC->TextOut(25,602,"str"); //str为成员变量,保存要输出的文本 pDC->SelectObject(pOldFont);//将DC中原来的字体选入,恢复DC原状态//对图形的加载核心代码intb=bmp.LoadBitmap(IDB_BITMAP_BG);//将位图取出; dcmem.CreateCompatibleDC(pDC);//创建兼容设备上下文。 dcmem.SelectObject(&bmp);//用设备上下文选择位图; dcmem.SetMapMode(pDC->GetMapMode());//设置映射方式; GetObject(bmp.m_hObject,sizeof(BITMAP),(LPSTR)&bm);//映射位图;权限验证模块设计根据需求分析和总体设计,此模块主要是根据用户输入的用户名,验证用户身份并决定其操作权限。(1)权限验证IPO图输入:用户名和密码处理:用户登录对话框;从系统用户表中读取用户和名称信息,并写入用户名下拉框中,以方便登录;用户选择用户名并输入密码;从操作人员表中检查是否有相应的用户名和密码;如果用户名或密码错误,进行提示;如果输入和用户名和相应密码正确,则根据该用户和权限类别进行权限设置;进入主界面;输出:主界面(2)权限验证模块的界面设计该模块通过登录对话框为用户提供操作界面,界面的设计如图: 图(七) 权限验证模块的界面设计(3)权限验证模块的实现根据权限验证的IPO图,通过定义CLoginDlg类来实现权限验证模块的功能。处理过程:从数据库中读取可以登录的用户名称,并全部添加到用户名列表中。登录对话框主初始化与用户权限验证核心代码://对话框创建时,读取信息//查询用户表取出所有用户名信息 strSQL="select*frompassword"; if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败!","数据库错误",MB_OK); returnFALSE; } //向用户列表中添加用户名 while(!recordset.IsEOF()) { m_ctrUser.AddString(recordset.m_user); recordset.MoveNext(); }//在登录按钮被点击后,进行权限验证 if(m_strUser.IsEmpty()) { AfxMessageBox("请输入用户名!"); m_ctrUser.SetFocus();//定位到用户名控件处 return; }//从用户表中检查用户名密码是否正确 strSQL.Format("select*frompasswordwhereuser='%s'ANDpasswd='%s'",m_strUser,m_strPass); if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败!","数据库错误",MB_OK); return; } if(recordset.GetRecordCount()==0) { //密码错误处理 recordset.Close(); MessageBox("密码错误,请重新输入!"); m_strPass=""; m_ctrPass.SetFocus(); UpdateData(FALSE); } else { //登录成功分配用户权限 ptheApp->m_bIsAdmin=recordset.m_isadmin; recordset.Close(); CDialog::OnOK(); }5)人事档案管理模块根据需求分析和总体设计,人事档案管理模块主要实现对员工信息和录入工作,包括员工基本档案、员工工作经历、员工家庭成员、员工和奖惩记录、员工的培训经历的录入,以及提供对这些数据进行编辑和删除功能,同时实现对员工信息进行浏览和查询功能。 这一部分是本系统和主要核心功能之一,主要划分成三个子模块:人事档案浏览子模块、人事档案查询子模块和人事档案统计模块。其中人事档案子模块主要提供员工档案的录入、修改、删除和浏览功能,它是人事档案管理模块和核心。下面按照子模块的划分来介绍本模块的设计和实现。(1)人事档案浏览子模块设计人事档案浏览子模块和IPO图功能:从人事档案数据信息表中读取数据并显示在员工列表中,同时实现人事档案数据和添加、修改和删除功能,并根据用户选择和类别信息,实现分类浏览。输入:员工档案数据处理:人事档案浏览对话框; 从人事档案数据信息表中读取全部数据并显示在员工列表中; 如果用户选择分类浏览,根据用户选择的类别信息分类显示在员工列表中; 如果用户在列表中选择某一员工,则显示与员工相关的全部档案信息; 根据用户和选择完成要人事档案数据的添加、修改和删除功能;输出:更新的人事基本信息数据表、家庭成员数据表、工作经历表、奖惩记录数据表、培训记录数据表(2)人事档案浏览子模块和设计该子模块通过对话框提供用户操作界面,设计效果如图:图(八)人事档案浏览模块子界面(3)人事档案浏览子模块的实现 根据人事档案浏览子模块的IPO图,通过定义CBrowseDlg类来实现该子模块和主体功能,主要是员工基本档案信息和浏览、添加、修改和删除。另外,通过CBaseInfoDlg来实现基本档案属性页功能,通过CFamilyDlg来实现家庭成员属性页功能,通过CHistoryDlg来实现工作经历属性页功能,通过CHonorDlg来实现奖惩纪录属性页功能,通过CQualificationDlg类来实现职称评定属性页功能,以及通过CTrainDlg来实现培训属性页功能。(a)相关的记录集:CPersonSet,CFamilySet,CHistorySet,CHonorSet,CQualificationSet,CTrainSet.这些类可以通过ClassWizard根据数据库结构自动创建。(b)人事档案浏览:处理过程:根据用户在员工列表中选择的员工号,调用相应的属性页类从数据库中获取相应的数据,并显示在列表中。其核心代码:voidCBrowseDlg::OnClickList1(NMHDR*pNMHDR,LRESULT*pResult){ //得到当前记录信息,将其主码赋给相应对话框,由它去更新 m_strName=m_ctrList.GetItemText(i,0); m_strCode=m_ctrList.GetItemText(i,1); m_BaseInfoDlg.m_strID=m_strCode; m_BaseInfoDlg.RefreshData(); UpdateData(FALSE);//更新各属性页信息 m_FamilyDlg.RefreshData(m_strCode); m_HistoryDlg.RefreshData(m_strCode); m_HonorDlg.RefreshData(m_strCode); m_QualificationDlg.RefreshData(m_strCode);m_TrainDlg.RefreshData(m_strCode);*pResult=0;}档案信息的分类查询:处理过程:根据用户选择的查询条件和查询内容,从员工表中获取满足条件的员工名和员工号,显示在员工列表中。其核心代码:voidCBrowseDlg::OnButtonSearch(){ UpdateData(TRUE);………if(0==m_nCondition) {//按部门查询 strSQL.Format("select*frompersonwheredept='%s'",m_strContent); RefreshData(strSQL); } elseif(1==m_nCondition) {//按职工职务查询 strSQL.Format("select*frompersonwhereduty='%s'",m_strContent); RefreshData(strSQL); } elseif(2==m_nCondition) {//按职工职称查询 strSQL.Format("select*frompersonwheretechnical='%s'",m_strContent); RefreshData(strSQL); }………//设置按钮状态 ………(5)添加新员工档案处理过程:选择基本档案属性页,并清空,等待用户输入基本档案数据后,判断输入的档案是否惟一,然后保存到数据库基本档案表中。其核心代码:voidCBrowseDlg::OnButtonNew(){ //选择基本档案信息属性页 m_ctrTabSheet.SetCurSel(0); //清空基本档案信息属性页中数据 m_BaseInfoDlg.Clear(); //设置基本档案信息属性页状态 m_BaseInfoDlg.m_ctrID.EnableWindow(); //设置按钮状态 ………}//用户选择保存后的处理voidCBrowseDlg::OnButtonSave(){//保存数据到数据库中 if(!m_BaseInfoDlg.Save()) return; m_BaseInfoDlg.RefreshData(); m_BaseInfoDlg.m_ctrID.EnableWindow(FALSE); //设置按钮状态……… //更新对话框上当前记录信息 m_strName=m_BaseInfoDlg.m_strName; m_strCode=m_BaseInfoDlg.m_strID; //更新列表信息 strSQL="select*fromperson"; RefreshData(strSQL);//通过m_strCode更新各属性页信息 m_FamilyDlg.RefreshData(m_strCode); m_HistoryDlg.RefreshData(m_strCode); m_HonorDlg.RefreshData(m_strCode); m_QualificationDlg.RefreshData(m_strCode); m_TrainDlg.RefreshData(m_strCode);}(6)修改新员工档案:处理过程:将用户输入的员工档案信息更新数据库中。其核心代码:voidCBrowseDlg::OnButtonModify(){ //保存数据到数据库中 if(!m_BaseInfoDlg.Modify()) return; m_BaseInfoDlg.RefreshData(); //更新对话框上当前记录信息 m_strName=m_BaseInfoDlg.m_strName; m_strCode=m_BaseInfoDlg.m_strID; //更新列表信息 strSQL="select*fromperson"; RefreshData(strSQL); //更新各属性页信息 ………}删除员工档案信息:处理过程:根据用户选择的员工号,从数据库中删除该员工的档案信息。其核心代码:voidCBrowseDlg::OnButtonDelete(){………strSQL.Format("select*frompersonwhereID='%s'",m_ctrList.GetItemText(i,1)); if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败!","数据库错误",MB_OK); return; } //删除该用户 m_recordset.Delete(); m_recordset.Close();//更新用户列表 strSQL="select*fromperson"; RefreshData(strSQL); //更新对话框上当前记录信息 m_strCode=""; m_strName=""; UpdateData(FALSE); m_BaseInfoDlg.Clear();//更新各属性页信息 ………}撤销操作处理过程:将输入的信息清空。其核心代码:voidCBrowseDlg::OnButtonCancel(){ //设置按钮状态 m_ctrNewBnt.EnableWindow(TRUE); m_ctrDelBnt.EnableWindow(TRUE); m_ctrSaveBnt.EnableWindow(FALSE); m_ctrCancelBnt.EnableWindow(FALSE); m_ctrModify.EnableWindow(TRUE); m_bNew=FALSE;}员工家庭成员信息属性页的设计图(九)员工家庭成员信息属性页的设计员工家庭成员信息属性页的显示处理过程:根据当前员工号,从家庭成员表中获取数据并显示在列表中,当用户点击列表中某一记录时,在文本编辑框中显示详细信息以便于查看,修改或删除。其核心代码:voidCFamilyDlg::RefreshData(CStringstrID){ m_ctrList.DeleteAllItems();UpdateData(TRUE); CStringstrSQL; m_strID.Format("%s",strID); strSQL.Format("select*fromfamilywherecode='%s'",strID); if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败!","数据库错误",MB_OK); return; } ……… while(!m_recordset.IsEOF()) { _ltoa(m_recordset.m_ID,buffer,10); m_ctrList.InsertItem(i,buffer); m_ctrList.SetItemText(i,1,m_recordset.m_name); m_ctrList.SetItemText(i,2,m_recordset.m_relation); strTime.Format("%d-%d-%d",m_recordset.m_date.GetYear(),m_recordset.m_date.GetMonth(),m_recordset.m_date.GetDay()); m_ctrList.SetItemText(i,3,strTime); m_ctrList.SetItemText(i,4,m_recordset.m_dept); m_ctrList.SetItemText(i,5,m_recordset.m_duty); m_ctrList.SetItemText(i,6,m_recordset.m_political); m_ctrList.SetItemText(i,7,m_recordset.m_phone); i++; m_recordset.MoveNext(); } m_recordset.Close(); m_ctrList.SetRedraw(TRUE); //设置按钮状态 ………}//根据用户选择显示详细信息voidCFamilyDlg::OnClickList1(NMHDR*pNMHDR,LRESULT*pResult){//从数据库中读取记录 UpdateData(TRUE); inti=m_ctrList.GetSelectionMark(); strSQL.Format("select*fromfamilywhereID=%s",m_ctrList.GetItemText(i,0)); if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) {………} //将记录显示到文本中 m_strName =m_recordset.m_name; m_strRelation =m_recordset.m_relation; m_tmDate =m_recordset.m_date; m_strDept =m_recordset.m_dept; m_strDuty =m_recordset.m_duty; m_strPolitical =m_recordset.m_political; m_strPhone =m_recordset.m_phone; m_recordset.Close(); UpdateData(FALSE); ………*pResult=0;}员工工作经历信息属性页的设计,界面如图所示:图(十)员工工经历信息属性页的设计(※ 其它三个页面与上两个页面方法相似,具体见附录)(11)人事资料查询子模块的设计,界面如图所示: 图(十一)人事资料查询子模块设计其相关记录集:CpersonSet其核心代码:voidCSearchDlg::OnButtonSearch(){ ……… //选择是否进行模糊查询strType="like"; //根据查询条件构造SQL语句 strSQL="select*frompersonwhere"; if(m_strAboutPay!="") { if(!m_bType) this->m_strAboutPay="%"+this->m_strAboutPay+"%"; strTemp.Format("aboutpay%s'%s'",strType,m_strAboutPay); if(!bNoCondition) strSQL+="and"; strSQL+=strTemp; bNoCondition=FALSE; } ………}(12)人事资料统计子模块人事资料统计子模块的IPO图: 图(十二)人事资料统计子模块的设计功能:根据用户指定的统计类别统计数据,并显示在列表中;输入:统计类别处理:人事资料统计对话框; 加载类别信息供用户选择; 根据用户指定的统计类别统计数据; 将结果显示在列表中;输出:统计数据表(13)人事资料统计子模块的实现根据人事资料查询子模块IPO图,通过定义CStatDlg类来实现该子模块和主体功能。 相关的记录集类CPersonSet3.2考勤管理模块简介根据需求分析和总体设计,考勤管理模块主要实现对员工出勤、加班、请假和出差信息和管理功能,主要是登记、修改、删除,以及浏览和查询功能,同时可对考勤信息进行月度统计,为工资发放提供参考,考勤管理模块如图:出差管理出差管理出勤管理出勤管理考勤管理加班管理考勤管理加班管理请假管理请假管理考勤管理考勤管理图(十三)考勤管理模块考勤管理模块主要划分成五子模块:出勤记录管理、加班记录管理、出勤记录管理、请假记录管理、考勤管理。其中各个考勤记录子模块主要提供考勤信息的登记、删除、浏览和查询功能,考勤统计子模块主要提供考勤的月度统计功能。3.3基本数据设置模块简介1)功能介绍根据需求分析和总体设计,基本数据设置模块负责维护人事管理相关的基本数据,这些基本数据主要有:民族档案、文化程度、职工类型、政治面貌、部门类别、工资类别、职称类别、职务类别;该模块和功能主要是完成对这些基本数据的添加、编辑和删除操作;功能:从相应和基本数据信息表中读取基本数据并显赫,同时实现对这些基本数据的添加、修改和删除功能输入:各类基本数据处理:各类基本数据对话框; 相应和基本数据信息表中读取基本数据并显示;根据用户选择,完成基本数据的添加、修改和删除;2)功能实现(1)基本数据模块的实现,以部门类别设置功能和实现为样进行处理。根据基本数据设置模块的功能,分别定义的各类与其记录集如下表:表(九)表与记录集的对应关系类记录集说明CTechnicalDlgCTechnicalSet实现职称类别CForkDlgCForkSet实现民族档案设置CDeptDlgCDeptSet实现部门类别设置CAboutpayDlyCAboutpaySet实现工资类别设置CPoliticalDlgCPonliticalSet实现政治面貌设置CEducationDlgCEducationSet实现文化程度设置CWorkerStatusDlgCWorkerStatusSet实现职工类型设置CDutyDlgCDutySet实现职务类别设置3)部门类别设置功能:处理过程:首先从部门类别数据表中数据并显示在数据列表中,然后根据用户输入的数据更新部门类别数据表,或者将用户选择的记录从数据表中删除。其核心代码:BOOLCDeptDlg::OnInitDialog(){RefreshData(); }voidCDeptDlg::RefreshData(){m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);CStringstrSQL;UpdateData(TRUE);strSQL="select*fromdept";if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { ………} while(!m_recordset.IsEOF()) { m_ctrList.InsertItem(i++,m_recordset.m_dept); m_recordset.MoveNext(); } m_recordset.Close(); m_ctrList.SetRedraw(TRUE);}4备忘录管理模块简介 备忘录管理模块主要提供日常记事和通信簿功能,是作为辅助功能提供给系统用户的。其主要分为两个子模块:日常记事管理和通信簿管理。其中日常记事管理主要提供对日常事件信息和记录、查询、修改和删除功能。通信薄管理主要用、于对联系人信息和维护功能。1)日常记事管理子模块日常记事管理子模块的IPO图: 图(十四)日常记事管理子模块设计2)通信薄管理子模块通信薄管理子模块的IPO图:图(十五)通信薄管理子模块设计3.5数据库管理模块数据库管理模块负责对数据库进行简单的一些管理,包括数据库备份和数据库还原工作,通过这些工作来维护数据库的安全
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华师大版初中科学课件
- 华师大版初中科学3.3 阳光的组成(14课件)
- 2023-2024学年浙江省宁波市余姚市子陵中学教育集团子陵校区七年级(下)竞赛数学试卷
- 上班迟到与旷工处理制度
- 逻辑代数基本公式及定律
- 2022年三年级语文下册第八单元主题阅读+答题技巧(含答案、解析)部编版
- 佛山市重点中学2024届高三模拟考试(一)数学试题理试卷
- 算法设计与分析 课件 10.3.4-综合应用-最短路径问题-弗洛伊德算法
- 2024年河北客运资格专业能力考试题库
- 2024年红河客运从业资格证考试答案
- 中国工艺美术史智慧树知到答案2024年浙江旅游职业学院
- SRM容灾解决专项方案
- 输血相关移植物抗宿主疾病课件
- 2024-2030年熊胆粉产业市场深度调研及发展趋势与投资前景预测研究分析报告
- 可靠性教材工程师模拟考试(4)附有答案
- GB/T 18029.8-2024轮椅车第8部分:静态强度、冲击强度及疲劳强度的要求和测试方法
- 小学道德与法治四年级上册第二单元作业设计
- 2020新青岛版(六三制)四年级上册科学课件(全册).p
- 2024年巴西机器人工具快换装置市场机会及渠道调研报告
- 脑血管供血不足患者的护理查房
- GB/T 18488-2024电动汽车用驱动电机系统
评论
0/150
提交评论