考勤管理系统方案Word格式.docx

上传人:b****6 文档编号:15910794 上传时间:2022-11-17 格式:DOCX 页数:11 大小:89.08KB
下载 相关 举报
考勤管理系统方案Word格式.docx_第1页
第1页 / 共11页
考勤管理系统方案Word格式.docx_第2页
第2页 / 共11页
考勤管理系统方案Word格式.docx_第3页
第3页 / 共11页
考勤管理系统方案Word格式.docx_第4页
第4页 / 共11页
考勤管理系统方案Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

考勤管理系统方案Word格式.docx

《考勤管理系统方案Word格式.docx》由会员分享,可在线阅读,更多相关《考勤管理系统方案Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

考勤管理系统方案Word格式.docx

2、所有员工的考勤信息可一次读回,考勤系统对信息统一处理,迅速、全面;

3、能为人事工资管理系统提供可靠的数据资料,确保人事统计的准确、可靠;

4、各管理用计算机及管理软件用Windows环境下的全中文界面平台,能灵活处理各种特殊情况,方便的修改各种基本信息,提供丰富的统计报表,查询方便,管理安全,操作简便易学;

二、设计任务

1.能够方便地对上班时间进行设定;

2.能够提供员工出入单位的情况记录。

出入情况主要由考勤机来记录,但是需要设置人工添加的功能,如出勤记录、月度考勤统计、人员信息、部门设置等,已备特殊情况的处理;

3.能够提供请假、加班和出差情况的记录,并实现查询、添加、修改、删除、浏览等处理功能;

4.能够在每个月底进行整个月的出勤情况统计;

5.能够具有一定的安全性、协调性和完整性。

三、设计容与步骤

在软、硬件方面对系统的需求,软件要求易学,容易掌握,可以很简单方便的管理各种信息。

硬件的配置要求不能太高,这样可以很好的适应当前的企业情况。

1.系统功能模块设计:

系统功能模块如图1-1所示。

图1-1系统功能模块图

2.数据流程图:

系统的数据流程图1-2所示,出勤的原始记录主要来源于考勤机,并且以固定格式保存在数据库中。

考勤管理系统的任务是如何处理这些数据。

图1-2考勤管理系统数据流程图

3.数据库概念结构设计(E-R图)如下所示:

图1-3E-R图

3.数据库需求分析:

根据数据流程,可以列出以下管理系统所需的数据项和数据结构。

出勤记录:

记录号、员工、出入情况和出入时间,如图1-4所示。

图1-4ATTENDANCE出勤记录表

月度考勤统计:

记录号、员工、年月、累计正常工作时间、累计请假时间、累计加班时间、累计出差时间、迟到次数、早退次数和旷工次数,如图1-5所示。

图1-5ATTENDANCE_STAT月度考勤统计表

请假记录:

记录号、员工、假期起始时间/结束时间和请假缘由,如图1-6所示。

图1-6LEAVE请假记录表

加班记录:

记录号、员工、加班时间长度和日期,如图1-7所示。

图1-7OVERTIME加班记录表

出差记录:

记录号、员工、出差起始时间/结束时间和具体描述,如图1-8所示。

图1-5ERRAND出差记录表

人员信息:

员工号、密码、权限、、部门和当前状态等,如图1-9所示。

图1-9PERSON人员信息表

部门设置:

部门编号、名称等,如图1-10所示。

图1-10DEPARTMENT部门设置表

5.数据库操作的准备:

为了使用ODBC类,需要在stdafx.h中加入#include”afxdb.h”一行。

因本程序只需要连接一个数据库,所以定义了一个Cdatabase型的全局变量db,一次性打开和关闭数据库。

数据库的打开在登录认证对话框中。

在主程序结束前需关闭数据库,因此在App类的ExitInstance()函数中加入代码:

if(db.IsOpen())db.Close();

为了编程便捷,可以为数据库中的每一个表映射一个记录集类(从CrecordSet类继承),其映射关系如表1-1所示。

这些类通过RFX(RecordFieldExchange)机制将成员变量与表格中的字段值联系起来,通过方问成员变量可以访问当前记录中字段的值。

Crecordset派生类

表格

CAttendanceRS

ATTENDANCE出勤记录表

CCounterRS

COUNTER计数器表

CdepartRS

DEPARTMENT部门信息表

CerrandRS

ERRAND出差记录表

CLeaveRS

LEAVE请假记录表

COvertimeRS

OVERTIME加班记录表

CPersonRS

PERSON员工个人信息表

CStatRS

ATTENDANCE_STAT月度考勤统计表

表1-1CRecordset派生类对应的表格

6.主对话框的设计:

主对话框界面如图1-11所示。

用户可以通过菜单进行方便的操作,如添加记录,统计记录等。

每个菜单项关联了一个对话框,在相应的菜单项的初始化中使用:

类名dlg;

dlg.DoModal();

两条语句来进行实现。

图1-11主对话框

6.考勤统计对话框的创建

考勤统计对话框界面设计如图1-12所示。

用户可进行月度统计,也可以通过查找满足条件的记录如年月、员工、等来进行相关的统计。

图1-12考勤统计对话框

四、测试与评价

经过测试,该应用程序能够较好的实现上班时间的设定;

能够提供员工出入单位的情况记录;

能够提供请假、加班和出差情况的记录,并实现查询、添加、修改、删除、浏览等处理功能;

能够在每个月底进行整个月的出勤情况统计;

能够拥有一定的安全性、协调性和完整性。

但在安全性上存在一定的漏洞;

功能不够完善,不能进行统一查询;

界面相对简单,所以总体评价为中等。

希望能得到老师的指导得以更加完善此系统,添补漏洞。

五、附录

1.主界面源代码清单:

BOOLCAttendanceDlg:

:

OnInitDialog()

{

CDialog:

OnInitDialog();

//Add"

About..."

menuitemtosystemmenu.

//IDM_ABOUTBOXmustbeinthesystemcommandrange.

ASSERT((IDM_ABOUTBOX&

0xFFF0)==IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX<

0xF000);

CMenu*pSysMenu=GetSystemMenu(FALSE);

if(pSysMenu!

=NULL

{CStringstrAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if(!

strAboutMenu.IsEmpty())

{pSysMenu->

AppendMenu(MF_SEPARATOR);

pSysMenu->

AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);

}

}

voidCAttendanceDlg:

OnBtnConfig()

//显示工作时间设置对话框

CWorkplanDlgdlg;

}

2.考勤修改对话框源代码清单:

BOOLCAttDlg:

OnInitDialog()//初始化对话框

{

m_Sheet.Create(this,WS_CHILD|WS_VISIBLE,0);

//创建窗口

m_Sheet.ModifyStyleEx(0,WS_EX_CONTROLPARENT);

//修改风格

m_Sheet.ModifyStyle(0,WS_TABSTOP);

//设置窗口位置

m_Sheet.SetWindowPos(NULL,0,100,0,0,

SWP_NOZORDER|SWP_NOSIZE|SWP_NOACTIVATE);

returnTRUE;

为了方便地更新列表框容,编写了UpdateList()函数,调用些函数可使列表框显示给定的数据表格。

voidCPage1:

UpdateList(CAttendanceRS&

rs)//更新列表框容

inti=0;

CStringstrID,strTime;

rs.Open();

//打开出勤记录表

m_cList.DeleteAllItems();

//清除列表框容

while(!

rs.IsEOF())//对数据表中所有记录进行处理

{

m_cList.InsertItem(i,"

"

);

//添加新Item

strID.Format("

%d"

rs.m_ID);

//转换为字符串

m_cList.SetItemText(i,0,strID);

m_cList.SetItemText(i,1,rs.m_PERSON);

m_cList.SetItemText(i,2,rs.m_IN_OUT);

m_cList.SetItemText(i,3,rs.m_IO_TIME.Format("

%Y-%m-%d%H:

%M"

));

rs.MoveNext();

//跳到下一条记录

i++;

rs.Close();

//关闭出勤记录表

添加部门和全体员工出勤记录的过程最终可分解为添加单个员工记录的过程。

为了避免程序的重复,设置了下面的子程序:

//添加出勤记录函数

IO_Add(CStringstrPersonID)

intcounter;

//用于计数

CStringstrIO;

//保存出入情况

CCounterRSrs_counter(&

db);

//构造计数器记录表

//记录编号

rs_counter.m_strFilter="

ID='

A'

;

//设置过滤器,提取计数值

rs_counter.Open();

//打开计数器记录表

counter=rs_counter.m_COUNTER_VALUE;

//提取计数值

counter++;

//计数值加1

rs_counter.Edit();

//编辑计数器

rs_counter.m_COUNTER_VALUE=counter;

//保存当前计数

rs_counter.Update();

//提交修改

rs_counter.Close();

//关闭计数器记录表

//添加记录

//判断确定出入情况

if(((CButton*)GetDlgItem(IDC_RADIO_OUT))->

GetCheck())

strIO="

O"

elsestrIO="

I"

//转换出入时

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

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1