⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cattendinfo.cpp

📁 一个有关人事系统的所有代码和有关文件包括里面小量数据库。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// CAttendInfo.cpp : implementation file
//

#include "stdafx.h"
#include "Rsglxt.h"
#include "CAttendInfo.h"

#include "DBaseQuery.h"
#include "ExternDllHeader.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCAttendInfo dialog


CCAttendInfo::CCAttendInfo(CWnd* pParent /*=NULL*/)
	: CDialog(CCAttendInfo::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCAttendInfo)
	//}}AFX_DATA_INIT
}


void CCAttendInfo::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCAttendInfo)
	DDX_Control(pDX, IDC_LIST_GRID, m_Sql_Grid);
	DDX_Control(pDX, IDC_EDTSTAFFNAME, m_Edtstaffname);
	DDX_Control(pDX, IDC_EDTSTAFFID, m_EdtstaffID);
	DDX_Control(pDX, IDC_COMSTAFFDEP, m_Comstaffdep);
	DDX_Control(pDX, IDC_DATE_KQTIME, m_Kqtime);
	DDX_Control(pDX, IDC_COMBO2, m_ComDept);
	DDX_Control(pDX, IDC_BUTUNDO, m_undo);
	DDX_Control(pDX, IDC_BUTEXIT, m_exit);
	DDX_Control(pDX, IDC_BUTSAVE, m_save);
	DDX_Control(pDX, IDC_BUTDELETE, m_delete);
	DDX_Control(pDX, IDC_BUTCHANGE, m_change);
	DDX_Control(pDX, IDC_BUTADD, m_add);
	DDX_Control(pDX, IDC_EDIT11, m_Edtremark);
	DDX_Control(pDX, IDC_EDIT12, m_EdtWday);
	DDX_Control(pDX, IDC_EDIT10, m_EdtMday);
	DDX_Control(pDX, IDC_EDIT9, m_EdtOday);
	DDX_Control(pDX, IDC_EDIT8, m_EdtLday1);
	DDX_Control(pDX, IDC_EDIT7, m_EdtLday);
	DDX_Control(pDX, IDC_EDIT6, m_EdtEday);
	DDX_Control(pDX, IDC_EDIT4, m_Edtname);
	DDX_Control(pDX, IDC_EDIT3, m_EdtsID);
	DDX_Control(pDX, IDC_EDIT1, m_EdtcheckID);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCAttendInfo, CDialog)
	//{{AFX_MSG_MAP(CCAttendInfo)
	ON_BN_CLICKED(IDC_BUTUNDO, OnButundo)
	ON_BN_CLICKED(IDC_BUTSAVE, OnButsave)
	ON_BN_CLICKED(IDC_BUTEXIT, OnButexit)
	ON_BN_CLICKED(IDC_BUTDELETE, OnButdelete)
	ON_BN_CLICKED(IDC_BUTCHANGE, OnButchange)
	ON_BN_CLICKED(IDC_BUTADD, OnButadd)
	ON_WM_PAINT()
	ON_WM_CTLCOLOR()
	ON_BN_CLICKED(IDC_BTNSEL, OnBtnsel)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST_GRID, OnDblclkListGrid)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCAttendInfo message handlers

void CCAttendInfo::OnButundo() //撤消该编辑操作081005XLW
{
	// TODO: Add your control notification handler code here
	if(MessageBox("确定要撤消操作吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	this->ButtonEnabled(false);
	this->ClearEdit();
	this->DisPlayInfo(m_sID);
	this->m_add.SetFocus();
}
/*/////////////////////////////////////
*编辑者:XLW
日期:081005
*//////////////////////////////////////
void CCAttendInfo::OnButsave() //保存该条信息
{
	// TODO: Add your control notification handler code here
    if(MessageBox("确定要保存记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
   CString checkID,kqyear,kqmonth,sID,sName,sDept,swDay,soDay,slDay,slDay1,seDay,smDay,sRemark,ktime;
   	m_EdtcheckID.GetWindowText(checkID);

	CTime time;
	m_Kqtime.GetTime(time);
	ktime=CTimeToCString(time);
	kqyear=ktime.Mid(0,4);
	kqmonth=ktime.Mid(5,2);
	if(kqmonth.Find("-")>=0)
		kqmonth=ktime.Mid(5,1);

	
	m_EdtsID.GetWindowText(sID);
	m_Edtname.GetWindowText(sName);
	m_ComDept.GetWindowText(sDept);
	m_EdtWday.GetWindowText(swDay);
	m_EdtOday.GetWindowText(soDay);
	m_EdtLday.GetWindowText(slDay);
	m_EdtLday1.GetWindowText(slDay1);
	m_EdtEday.GetWindowText(seDay);
	m_EdtMday.GetWindowText(smDay);
	m_Edtremark.GetWindowText(sRemark);

	if(sID.IsEmpty())
	{
		MessageBox("员工编号不能为空,请输入员工编号。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtsID.SetFocus();
		return;
	}
	if(sName.IsEmpty())
	{
		MessageBox("员工姓名不能为空,请输入员工姓名。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_Edtname.SetFocus();
		return;
	}
	if(seDay.IsEmpty())
	{
		MessageBox("出勤天数不能为空,请输入出勤天数。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtEday.SetFocus();
		return;
	}
	else
	{
		int len;
		len=atoi(seDay);
		if(len>31)
		{
			MessageBox("出勤天数不能超过31天,请重新输入出勤天数。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
			m_EdtEday.SetFocus();
			return;
		}
	}
	if(sDept.IsEmpty())
	{
		MessageBox("员工部门不能为空,请输入员工部门。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_ComDept.SetFocus();
		return;
	}
	if(swDay.IsEmpty())
	{
		swDay="0";
	}
	if(soDay.IsEmpty())
	{
		soDay="0";
	}
	if(slDay.IsEmpty())
	{
		slDay="0";
	}
	if(slDay1.IsEmpty())
	{
		slDay1="0";
	}
	if(smDay.IsEmpty())
	{
		smDay="0";
	}
	if(sRemark.GetLength()>50)
	{
		MessageBox("备注输入过长,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_Edtremark.SetFocus();
		return;
	}
	RxRecordset namest,IDst,tst;
	CString namesql,IDsql,text1,text2,text3;
	namesql.Format("SELECT * FROM StaffInfo WHERE Staff_name='%s'",sName);
	IDsql.Format("SELECT * FROM StaffInfo WHERE Staff_ID='%s'",sID);
	namest.Open(namesql,adCmdText);
	IDst.Open(IDsql,adCmdText);

	if(IDst.GetRecordCount()<1)
	{
		MessageBox("您输入的用户编号不存在!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtsID.SetWindowText("");
		m_EdtsID.SetFocus();
		return;
	}
	if(namest.GetRecordCount()<1)
	{
		MessageBox("您输入的用户名不存在!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
		m_Edtname.SetWindowText("");
		m_Edtname.SetFocus();
		return;
	}

	text1=namest.GetFieldValue("Staff_ID");
	if(text1!=sID)
	{
		MessageBox("您输入的用户名与用户编号不匹配!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtsID.SetWindowText("");
		m_EdtsID.SetFocus();
		return;
	}

	text2=namest.GetFieldValue("Dep");
	if(text2!=sDept)
	{
	    MessageBox("您输入的用户不属于这个部门!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
		m_ComDept.SetFocus();
		return;
	}

	int num1,num2,num3,num4,num5,num6;//swDay,soDay,slDay,slDay1,seDay,smDay
	num1=atoi(seDay);
	num2=atoi(soDay);
	num3=atoi(slDay);
	num4=atoi(slDay1);
	num5=atoi(smDay);
	num6=atoi(swDay);
	if(num1 > 31 || num1 < 0)
	{
		MessageBox("出勤天数不符合规定,请重新输入出勤天数。","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtEday.SetFocus();
		return;
	}
	if(num2 > 31 || num2 < 0)
	{
		MessageBox("加班天数不符合规定,请重新输入加班天数。","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtOday.SetFocus();
		return;
	}
	if(num3 > 31 || num3 < 0)
	{
		MessageBox("请假天数不符合规定,请重新输入请假天数。","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtLday.SetFocus();
		return;
	}
	if(num4 > 31 || num4 < 0)
	{
		MessageBox("迟到天数不符合规定,请重新输入迟到天数。","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtLday1.SetFocus();
		return;
	}
	if(num5 > 31 || num5 < 0)
	{
		MessageBox("矿工天数不符合规定,请重新输入矿工天数。","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtMday.SetFocus();
		return;
	}
	if(num6 > 31 || num6 < 0)
	{
		MessageBox("待工天数不符合规定,请重新输入待工天数。","系统提示",MB_OK|MB_ICONSTOP);
		m_EdtWday.SetFocus();
		return;
	}


	CString sSQL;
	if(AddOrChange==1)//添加操作
		sSQL.Format("Insert Into AttendInfo Values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')",checkID,kqyear,kqmonth,sName,sID,seDay,slDay1,slDay,smDay,soDay,swDay,sRemark);
	else
		sSQL.Format("Update AttendInfo set  Attendance_year='%s',Attendance_month='%s',Staff_name='%s',\
		Staff_ID='%s',Attendance_days='%s',Leave_days='%s',Late_days='%s',Miners_days='%s',\
		Overtime_days='%s',Stay_days='%s',Remarks='%s' WHERE Attendance_ID='%s'",\
		kqyear,kqmonth,sName,sID,seDay,slDay1,slDay,smDay,soDay,swDay,sRemark,checkID);
	RxRecordset arst;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -