📄 cattendinfo.cpp
字号:
// 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 + -