Windows系统编程课程设计报告人事管理系统.docx

上传人:b****6 文档编号:16153969 上传时间:2023-07-10 格式:DOCX 页数:64 大小:587KB
下载 相关 举报
Windows系统编程课程设计报告人事管理系统.docx_第1页
第1页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第2页
第2页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第3页
第3页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第4页
第4页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第5页
第5页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第6页
第6页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第7页
第7页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第8页
第8页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第9页
第9页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第10页
第10页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第11页
第11页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第12页
第12页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第13页
第13页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第14页
第14页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第15页
第15页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第16页
第16页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第17页
第17页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第18页
第18页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第19页
第19页 / 共64页
Windows系统编程课程设计报告人事管理系统.docx_第20页
第20页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Windows系统编程课程设计报告人事管理系统.docx

《Windows系统编程课程设计报告人事管理系统.docx》由会员分享,可在线阅读,更多相关《Windows系统编程课程设计报告人事管理系统.docx(64页珍藏版)》请在冰点文库上搜索。

Windows系统编程课程设计报告人事管理系统.docx

Windows系统编程课程设计报告人事管理系统

中南民族大学计算机科学学院

Windows系统编程

课程设计报告

 

题目:

人事管理系统

(人事档案管理设计)

专业自动化

学生姓名

班级学号1班08064009

完成日期2010年12月29日

指导教师

一、课题名称

人事管理系统

(人事档案管理设计)

二、课题内容和要求

1.内容:

现代企业对人事档案管理的重视程度正在快速提高,而信息技术在人力资源管理中的应用,将有助于企业优化人事档案管理的业务流程,提高工作效率,改善服务质量,并提供基于信息的决策支持。

本文主要介绍了人力资源管理系统的分析、结构特性设计及行为特性设计的实现过程,详细论述了总体设计思想、数据库设计和功能模块设计。

实现了人员信息管理,考勤管理,员工考核,奖罚管理,教育培训等功能。

整个系统的设计过程中,充分考虑了数据库的安全性、一致性、稳定性和可靠性的问题,并具有很强的向导作用,为操作人员提供了丰富的决策功能,而且操作简单方便。

2.要求:

建立一个合理的人事档案管理系统,从而能够对单位人事档案做完善的管理,使企业管理更加科学规范,并能根据系统提供的准确信息进行适当的调整,使企业更好发展。

并做到以下几点:

简单性:

系统设计尽量简单,从而实现使用方便、提高效率、节省开支、提高系统的运行质量。

灵活性:

系统对外界条件的变化有较强的适应能力。

完整性:

系统是各个子系统的集合,作为一个有机的整体存在。

因此,要求各个子系统的功能尽量规范,数据采集统一,语言描述一致。

可靠性:

实现安全的、可靠的数据保护措施。

三、开发工具介绍

 ACCESS2000的介绍:

1.基本含义

  ACCESS2000是office自带的数据库

  Access是Office2000里面的一个组件。

是用来制作简单的数据库。

  还有的意思就是访问、还有接入的意思。

  如Accesslist访问列表

  Accesspoint接入点

2.Access数据库功能简介

  在办公软件Office套件中,最为广大用户熟悉的是Word和Excel,因为它们功能强大且方便易用,更因为它们不仅可用于办公,还可用于个人写作和家庭记帐理财等。

同为Office套件中一部分的Access,虽然有着同样强大的功能,但使用的人却相对少些,不像Word和Excel那样广泛。

事实上,真正用过Access的用户,对其强大功能和灵活应用均称赞有加。

Access数据库管理系统是MicrosoftOffice套件的重要组成部分,适用于小型商务活动,用以存贮和管理商务活动所需要的数据。

Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。

  数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。

数据库中的数据可以是文字、图像、声音等。

3.相关信息

  MicrosoftAccess是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。

图1是一个“产品”表的例子。

“产品”表由10个记录组成,一个记录占一行,每一个记录由产品ID、产品名称、库存量、订货量、单价和折扣率6个字段组成。

“产品ID”是字段名,其下面的1,2等是字段的值。

表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。

Access数据库以文件形式保存,文件的扩展名是MDB。

4.Access数据库的对象

  Access数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。

  表(Table)表是数据库的基本对象,是创建其他5种对象的基础。

表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。

  查询(Query)查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。

  窗体(Form)窗体提供了一种方便的浏览、输入及更改数据的窗口。

还可以创建子窗体显示相关联的表的内容。

窗体也称表单。

  报表(Report)报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。

  宏(Macro)宏相当于DOS中的批处理,用来自动执行一系列操作。

Access列出了一些常用的操作供用户选择,使用起来十分方便。

模块(Module)模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。

模块使用VisualBasic编译。

VisualC++6.0简介:

VisualC++6.0是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序

  简称VC或者VC6.0

  由于C++是由C语言发展起来的也支持C语言的编译

  6.0版本是使用最多的版本,很经典。

  最大的缺点是对于模版的支持比较差

现在的最新版C++编译器集合在MicrosoftVisualStudio2010软件包含C++,Visualbasic,C#,J#,.net。

其中,VC开发环境的版本已经升级至MicrosoftVisualC++2010,对C++的支持更加全面稳定

四、设计思路

我主要负责人事档案管理这一模块

整个系统包括系统管理、基础数据管理、人事档案管理、考勤管理、数据库管理以及备忘录6大模块。

并分为管理员系统和用户系统。

总体设计思想

首先根据用户的情况制定完善的权限管理,用户根据权限进入,拥有不同的操作功能。

系统包括系统管理、基础数据管理、人事档案管理、考勤管理、数据库管理以及备忘录功能,并提供查询。

重点突出灵活的人员信息管理。

系统设计为C/S(客户机/服务器)模式,服务器程序主要采用ACCESS,可以平稳的向SQLSERVER等大型数据库做平稳的升级,本应用软件主要针对客户机来设计和编程,实现对数据库的备份操作,并提供数据完整性检验及数据保护等措施。

我主要负责的人事档案管理这一模块功能的设计如下:

人事档案管理包括人事档案浏览、人事资料查询和人事资料统计三大部分。

●人事档案浏览

基本档案:

录入人员人事资料(包括个人基本信息,职工编号,社会背景,联系方式,入职时间,职工类型,工资类别和其它)。

家庭成员:

录入员工家庭成员资料(包括与本人关系,工作单位,担任职务,联系方式)

工作经历:

主要记录员工工作中升降的历程

奖罚记录:

主要记录员工在工作期间获得的各种奖励以及惩罚

职称评定:

录入员工在工作期间所获得的工作能力的认证

培训记录:

主要记录员工在职期间的教育培训情况

●人事资料查询

查询条件分为个人信息和部门信息两部分,只需输入部分知道的信息,点击查询即可查到符合条件的员工信息

●人事资料统计

通过各种类别(包括性别,民族,年龄,籍贯,职务,文化程度,政治面貌,婚姻状况,工资类别等)来对员工进行系统的统计

相应代码:

人事档案浏览:

//BrowseDlg.cpp:

implementationfile

//

#include"stdafx.h"

#include"manager.h"

#include"BrowseDlg.h"

#include"AboutPaySet.h"

#include"DeptSet.h"

#include"DutySet.h"

#include"EducationSet.h"

#include"FolkSet.h"

#include"PoliticalSet.h"

#include"TechnicalSet.h"

#include"WorkerStatusSet.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

//CBrowseDlgdialog

CBrowseDlg:

:

CBrowseDlg(CWnd*pParent/*=NULL*/)

:

CDialog(CBrowseDlg:

:

IDD,pParent)

{

//{{AFX_DATA_INIT(CBrowseDlg)

m_strContent=_T("");

m_strCode=_T("");

m_strName=_T("");

m_nCondition=-1;

//}}AFX_DATA_INIT

m_bNew=FALSE;

}

voidCBrowseDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CBrowseDlg)

DDX_Control(pDX,IDC_BUTTON_CANCEL,m_ctrCancelBnt);

DDX_Control(pDX,IDC_BUTTON_MODIFY,m_ctrModify);

DDX_Control(pDX,IDC_BUTTON_SAVE,m_ctrSaveBnt);

DDX_Control(pDX,IDC_BUTTON_NEW,m_ctrNewBnt);

DDX_Control(pDX,IDC_BUTTON_DELETE,m_ctrDelBnt);

DDX_Control(pDX,IDC_COMBO_CONDITION,m_ctrCondition);

DDX_Control(pDX,IDC_COMBO_CONTENT,m_ctrContent);

DDX_Control(pDX,IDC_LIST1,m_ctrList);

DDX_Control(pDX,IDC_TAB1,m_ctrTabSheet);

DDX_CBString(pDX,IDC_COMBO_CONTENT,m_strContent);

DDX_Text(pDX,IDC_EDIT_CODE,m_strCode);

DDX_Text(pDX,IDC_EDIT_NAME,m_strName);

DDX_CBIndex(pDX,IDC_COMBO_CONDITION,m_nCondition);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CBrowseDlg,CDialog)

//{{AFX_MSG_MAP(CBrowseDlg)

ON_NOTIFY(NM_CLICK,IDC_LIST1,OnClickList1)

ON_CBN_SELCHANGE(IDC_COMBO_CONDITION,OnSelchangeComboCondition)

ON_CBN_SELCHANGE(IDC_COMBO_CONTENT,OnSelchangeComboContent)

ON_CBN_EDITUPDATE(IDC_COMBO_CONTENT,OnEditupdateComboContent)

ON_BN_CLICKED(IDC_BUTTON_SEARCH,OnButtonSearch)

ON_BN_CLICKED(IDC_BUTTON_NEW,OnButtonNew)

ON_BN_CLICKED(IDC_BUTTON_SAVE,OnButtonSave)

ON_BN_CLICKED(IDC_BUTTON_DELETE,OnButtonDelete)

ON_BN_CLICKED(IDC_BUTTON_MODIFY,OnButtonModify)

ON_NOTIFY(TCN_SELCHANGE,IDC_TAB1,OnSelchangeTab1)

ON_NOTIFY(TCN_SELCHANGING,IDC_TAB1,OnSelchangingTab1)

ON_BN_CLICKED(IDC_BUTTON_CANCEL,OnButtonCancel)

ON_WM_CLOSE()

ON_WM_DESTROY()

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CBrowseDlgmessagehandlers

BOOLCBrowseDlg:

:

OnInitDialog()

{

CDialog:

:

OnInitDialog();

//设置员工基本档案属性页的记录集

//实现主体对话框与属性页对话框的数据一致

m_BaseInfoDlg.m_pPersonSet=&m_recordset;

//建立员工列表

m_ctrList.InsertColumn(0,"姓名");

m_ctrList.InsertColumn(1,"员工号");

m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

m_ctrList.SetColumnWidth(0,80);

m_ctrList.SetColumnWidth(1,80);

//在员工列表中显示员工姓名和员工号

CStringstrSQL;

strSQL="select*fromperson";

RefreshData(strSQL);

//添加各个属性页

m_ctrTabSheet.AddPage("基本档案",&m_BaseInfoDlg,IDD_PAGE_BASEINFO);

m_ctrTabSheet.AddPage("家庭成员",&m_FamilyDlg,IDD_PAGE_FAMILY);

m_ctrTabSheet.AddPage("工作经历",&m_HistoryDlg,IDD_PAGE_HISTORY);

m_ctrTabSheet.AddPage("奖惩纪录",&m_HonorDlg,IDD_PAGE_HONOR);

m_ctrTabSheet.AddPage("职称评定",&m_QualificationDlg,IDD_PAGE_QUALIFICATION);

m_ctrTabSheet.AddPage("培训纪录",&m_TrainDlg,IDD_PAGE_TRAIN);

m_ctrTabSheet.Show();

returnTRUE;

}

voidCBrowseDlg:

:

RefreshData(CStringstrSQL)

{

m_ctrList.DeleteAllItems();

m_ctrList.SetRedraw(FALSE);

UpdateData(TRUE);

//strSQL="select*fromdept";

if(!

m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))

{

MessageBox("打开数据库失败!

","数据库错误",MB_OK);

return;

}

//m_recordset.MoveFirst();

inti=0;

while(!

m_recordset.IsEOF())

{

m_ctrList.InsertItem(i,m_recordset.m_name);

m_ctrList.SetItemText(i++,1,m_recordset.m_ID);

m_recordset.MoveNext();

}

m_recordset.Close();

m_ctrList.SetRedraw(TRUE);

}

voidCBrowseDlg:

:

OnClickList1(NMHDR*pNMHDR,LRESULT*pResult)

{

//TODO:

Addyourcontrolnotificationhandlercodehere

//更新当前记录信息

inti=m_ctrList.GetSelectionMark();

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_ctrNewBnt.EnableWindow(TRUE);

m_ctrDelBnt.EnableWindow(TRUE);

m_ctrSaveBnt.EnableWindow(FALSE);

m_ctrCancelBnt.EnableWindow(FALSE);

m_ctrModify.EnableWindow(TRUE);

m_bNew=FALSE;

m_BaseInfoDlg.m_ctrID.EnableWindow(FALSE);

//更新各属性页信息

m_FamilyDlg.RefreshData(m_strCode);

m_HistoryDlg.RefreshData(m_strCode);

m_HonorDlg.RefreshData(m_strCode);

m_QualificationDlg.RefreshData(m_strCode);

//m_RecordDlg.RefreshData(m_strCode);

m_TrainDlg.RefreshData(m_strCode);

*pResult=0;

}

voidCBrowseDlg:

:

OnSelchangeComboCondition()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

UpdateData();

CStringstrSQL;

//清空ComboBox查询内容//////////////////////

intnCount=m_ctrContent.GetCount();

for(inti=0;i

{

m_ctrContent.DeleteString(0);

}

///////////////////////////////按照选择的查询条件,添加查询内容///////////////////////////////////

if(0==m_nCondition)

{//按部门查询

CDeptSetrecordset;

strSQL="select*fromdept";

if(!

recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))

{

MessageBox("打开数据库失败!

","数据库错误",MB_OK);

return;

}

while(!

recordset.IsEOF())

{

m_ctrContent.AddString(recordset.m_dept);

recordset.MoveNext();

}

recordset.Close();

}

elseif(1==m_nCondition)

{//按职工职务查询

CDutySetrecordset;

strSQL="select*fromduty";

if(!

recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))

{

MessageBox("打开数据库失败!

","数据库错误",MB_OK);

return;

}

while(!

recordset.IsEOF())

{

m_ctrContent.AddString(recordset.m_duty);

recordset.MoveNext();

}

recordset.Close();

}

elseif(2==m_nCondition)

{//按职工职称查询

CTechnicalSetrecordset;

strSQL="select*fromtechnical";

if(!

recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))

{

MessageBox("打开数据库失败!

","数据库错误",MB_OK);

return;

}

while(!

recordset.IsEOF())

{

m_ctrContent.AddString(recordset.m_technical);

recordset.MoveNext();

}

recordset.Close();

}

elseif(3==m_nCondition)

{//按职工类型查询

CWorkerStatusSetrecordset;

strSQL="select*fromstatus";

if(!

recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))

{

MessageBox("打开数据库失败!

","数据库错误",MB_OK);

return;

}

while(!

recordset.IsEOF())

{

m_ctrContent.AddString(recordset.m_workstatus);

recordset.MoveNext();

}

recordset.Close();

}

elseif(4==m_nCondition)

{//按工资类别查询

CAboutPaySetrecordset;

strSQL="select*fromaboutpay";

if(!

recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))

{

MessageBox("打开数据库失败!

","数据库错误",MB_OK);

return;

}

while(!

recordset.IsEOF())

{

m_ctrContent.AddString(recordset.m_aboutpa

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2