📄 kaoqingdlg.cpp
字号:
}
inputrec.MoveLast();
idstr.Format ("%d",V_I4(&inputrec.GetFieldValue( 0 )));
day1str.Format ("%.2f",workdays);
day2str.Format ("%.2f",workdays2);
sharelist .InsertItem (0,idstr);
sharelist.SetItemText (0,1,personcode);
sharelist.SetItemText (0,2,personname);
sharelist.SetItemText(0,3,day1str);
sharelist.SetItemText(0,4,day2str);
sharelist.SetItemText (0,5,month);
sharelist.SetItemText (0,6,unit);
sharelist.SetItemText (0,7,job);
sharelist.SetItemText (0,8,year);
inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
personname=personcode=(_T(""));
//UpdateData (false);
double sumalldays1=0,sumalldays2=0;
for(int i=0;i<sharelist.GetItemCount ();i++)
{
sumalldays1=sumalldays1+atof(CString(sharelist.GetItemText (i,3)));
sumalldays2=sumalldays2+atof(CString(sharelist.GetItemText (i,4)));
}
hejistr.Format ("列表中正班合计:%.2f 副班合计:%.2f",sumalldays1,sumalldays2);
UpdateData (false);
workdayset.SetWindowText (_T("0"));
workdayset2.SetWindowText (_T("0"));
personcodeet.SetFocus ();
}
void CkaoqingDlg::OnBnClickedButton3()
{CString tempnumberstr,idstr,day1str,day2str;
workdayset.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset.SetWindowText ("0");
workdayset2.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset2.SetWindowText (_T("0"));
UpdateData (true);
if(year==_T("")) {yearcombo.SetFocus ();AfxMessageBox("请确定年份");return;}
if(personcode==_T("")) {personcodeet.SetFocus ();return;}
if(personname==_T("")) {personnameet.SetFocus ();return;}
if(workdays<=0) {workdayset.SetFocus ();return;}
if(workdays2<0) {workdayset2.SetFocus ();return;}
if(month==_T("")) {monthcombo.SetFocus ();return;}
if(unit==_T("")) {workunitcombo.SetFocus ();return;}
if(job==_T("")) {jobcombo.SetFocus ();return;}
CDaoDatabase kaoqingbu;
kaoqingbu.Open (".\\kqbook.mdb",0,0,";PWD=caolinjie1226loveyou");//打开数据库
CDaoQueryDef inquery(&kaoqingbu);
inquery.Open (_T("考勤明细查询"));
inputrecordset inputrec;
inputrec.Open (&inquery,dbOpenDynaset);
idstr.Format (_T("[序号]=%d"),id);
if(!inputrec.FindFirst (idstr))
{inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
AfxMessageBox("数据库错误,请关闭");
return;
}
try
{
inputrec.Edit ();
inputrec.personcode =personcode;
inputrec.workdays =workdays;
inputrec.workdays2 =workdays2;
inputrec.month =month;
inputrec.unit =unit;
inputrec.job =job ;
inputrec.year =year ;
inputrec.Update ();
}
catch( CDaoException* e )
{e->ReportError ();
//AfxMessageBox("错误");
e->Delete( );
inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
personcodeet.SetFocus ();
return;
}
sharelist.DeleteItem (sharelistindex);
idstr.Format ("%d",id);
day1str.Format ("%.2f",workdays);
day2str.Format ("%.2f",workdays2);
sharelist .InsertItem (sharelistindex,idstr);
sharelist.SetItemText (sharelistindex,1,personcode);
sharelist.SetItemText (sharelistindex,2,personname);
sharelist.SetItemText(sharelistindex,3,day1str);
sharelist.SetItemText(sharelistindex,4,day2str);
sharelist.SetItemText (sharelistindex,5,month);
sharelist.SetItemText (sharelistindex,6,unit);
sharelist.SetItemText (sharelistindex,7,job);
sharelist.SetItemText (sharelistindex,8,year);
inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
personname=personcode=(_T(""));
double sumalldays1=0,sumalldays2=0;
for(int i=0;i<sharelist.GetItemCount ();i++)
{
sumalldays1=sumalldays1+atof(CString(sharelist.GetItemText (i,3)));
sumalldays2=sumalldays2+atof(CString(sharelist.GetItemText (i,4)));
}
UpdateData (false);
hejistr.Format ("列表中正班合计:%.2f 副班合计:%.2f",sumalldays1,sumalldays2);
workdayset.SetWindowText (_T("0"));
workdayset2.SetWindowText (_T("0"));
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
deletebt.EnableWindow (false);
personcodeet.SetFocus ();
addormodi=0;
}
void CkaoqingDlg::OnBnClickedButton4()
{ id=-1;
sharelistindex=-1;
personcode=personname=_T("");
UpdateData (false);
workdayset.SetWindowText ("0");
workdayset2.SetWindowText ("0");
monthcombo.SetCurSel (0);
workunitcombo.SetCurSel (0);
jobcombo.SetCurSel (0);
yearcombo.SetCurSel (0);
personcodeet.SetFocus ();
addormodi=0;
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
deletebt.EnableWindow (false);
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnClickedButton12()
{if(AfxMessageBox("【你确定要删除吗】?", MB_OKCANCEL|MB_DEFBUTTON2,0)==IDCANCEL)
{
personname=personcode=(_T(""));
UpdateData (false);
workdayset.SetWindowText (_T("0"));
workdayset2.SetWindowText (_T("0"));
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
deletebt.EnableWindow (false);
personcodeet.SetFocus ();
addormodi=0;return;
}
CString tempnumberstr,idstr,day1str,day2str;
CDaoDatabase kaoqingbu;
kaoqingbu.Open (".\\kqbook.mdb",0,0,";PWD=caolinjie1226loveyou");//打开数据库
CDaoQueryDef inquery(&kaoqingbu);
inquery.Open (_T("考勤明细查询"));
inputrecordset inputrec;
inputrec.Open (&inquery,dbOpenDynaset);
idstr.Format (_T("[序号]=%d"),id);
if(!inputrec.FindFirst (idstr))
{inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
AfxMessageBox("数据库错误,请关闭");
return;
}
try
{
inputrec.Delete ();
}
catch( CDaoException* e )
{e->ReportError ();
//AfxMessageBox("错误");
e->Delete( );
inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
personcodeet.SetFocus ();
return;
}
sharelist.DeleteItem (sharelistindex);
inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
personname=personcode=(_T(""));
UpdateData (false);
workdayset.SetWindowText (_T("0"));
workdayset2.SetWindowText (_T("0"));
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
deletebt.EnableWindow (false);
personcodeet.SetFocus ();
addormodi=0;
}
void CkaoqingDlg::OnBnClickedButton7()
{refreshlist (true);
personcodeet.SetFocus ();
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
deletebt.EnableWindow (false);
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnCbnSelchangeCombo2()
{//refreshlist (true);
// TODO: 在此添加控件通知处理程序代码
}
long CkaoqingDlg::refreshlist(bool condition)
{long count=0;
CString conditionstr,oldquerystr;
CString tempnumberstr,idstr,workdaysstr,workdaysstr2;
workdayset.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset.SetWindowText ("0");
workdayset2.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset2.SetWindowText (_T("0"));
UpdateData (true);
//if(year==""){MessageBox("请确定年份");return 0;}
CDaoDatabase kaoqingbu;
kaoqingbu.Open (".\\kqbook.mdb",0,0,";PWD=caolinjie1226loveyou");//打开数据库
CDaoQueryDef inquery(&kaoqingbu),conquery(&kaoqingbu);
inquery.Open (_T("考勤明细查询"));
oldquerystr=inquery.GetSQL ();
if(condition)
{if(year=="")
{if(filllistrec.IsOpen ()) filllistrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
MessageBox("请确定年份");
return 0;
}
if (useall)
conditionstr.Format (" WHERE 考勤记录表.人员编号 like '*%s*' and 人员编码表.姓名 like '*%s*' and 考勤记录表.月份 like '*%s*' and 考勤记录表.出勤单位 like '*%s*' and 考勤记录表.岗位 like '*%s*' and 考勤记录表.年份 like '*%s*';",personcode,personname,month,unit,job,year);
else
conditionstr.Format (" WHERE 考勤记录表.人员编号 like '*%s*' and 人员编码表.姓名 like '*%s*'and 考勤记录表.年份 like '*%s*';",personcode,personname,year);
oldquerystr.Replace (";",conditionstr);
conquery.Create (0,oldquerystr);//创建临时查询
filllistrec.Open (&conquery,dbOpenDynaset);
}
else
filllistrec.Open (&inquery,dbOpenDynaset);
sharelist.DeleteAllItems ();
if(filllistrec.IsBOF ())
{filllistrec.Close ();inquery.Close ();kaoqingbu.Close ();return 0;}//记录集为空,则直接返回
while(!filllistrec.IsEOF ())
{idstr.Format ("%d",V_I4(&filllistrec.GetFieldValue( 0 )));
sharelist.InsertItem (count,idstr);
sharelist.SetItemText (count,1,CString(V_BSTRT(&filllistrec.GetFieldValue( 1 ))));
sharelist.SetItemText (count,2,CString(V_BSTRT(&filllistrec.GetFieldValue( 2 ))));
workdaysstr.Format ("%.2f",V_R8(&filllistrec.GetFieldValue( 3 )));
sharelist.SetItemText (count,3,workdaysstr);
workdaysstr2.Format ("%.2f",V_R8(&filllistrec.GetFieldValue( 4 )));
sharelist.SetItemText (count,4,workdaysstr2);
sharelist.SetItemText (count,5,CString(V_BSTRT(&filllistrec.GetFieldValue( 5 ))));
sharelist.SetItemText (count,6,CString(V_BSTRT(&filllistrec.GetFieldValue( 6 ))));
sharelist.SetItemText (count,7,CString(V_BSTRT(&filllistrec.GetFieldValue( 7 ))));
sharelist.SetItemText (count,8,CString(V_BSTRT(&filllistrec.GetFieldValue( 8 ))));
filllistrec.MoveNext ();
count++;
}
filllistrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
double sumalldays1=0,sumalldays2=0;
for(int i=0;i<sharelist.GetItemCount ();i++)
{
sumalldays1=sumalldays1+atof(CString(sharelist.GetItemText (i,3)));
sumalldays2=sumalldays2+atof(CString(sharelist.GetItemText (i,4)));
}
hejistr.Format ("列表中正班合计:%.2f 副班合计:%.2f",sumalldays1,sumalldays2);
UpdateData (false);
return count;
}
void CkaoqingDlg::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
{
sharelistindex=sharelist.GetSelectionMark ();
if(sharelistindex>=0)
{id=atol(CString(sharelist.GetItemText (sharelistindex,0)));
personcode=CString(sharelist.GetItemText (sharelistindex,1));
personname=CString(sharelist.GetItemText (sharelistindex,2));
month=CString(sharelist.GetItemText (sharelistindex,5));
unit=CString(sharelist.GetItemText (sharelistindex,6));
job=CString(sharelist.GetItemText (sharelistindex,7));
year=CString(sharelist.GetItemText (sharelistindex,8));
UpdateData (false);
workdayset.SetWindowText (CString(sharelist.GetItemText (sharelistindex,3)));
workdayset2.SetWindowText (CString(sharelist.GetItemText (sharelistindex,4)));
personcodeet.SetFocus ();
addbt.EnableWindow (false);
modibt.EnableWindow (true);
nomodibt.EnableWindow (true);
deletebt.EnableWindow (true);
addormodi=1;
}
*pResult = 0;
}
void CkaoqingDlg::OnBnClickedButton14()
{refreshlist (false);
yearcombo.SetCurSel (0);
personcodeet.SetFocus ();
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnClickedButton6()
{if(addunit.DoModal ()==IDOK)
workunitcombo.AddString (addunit.unitname);
// TODO: 在此添加控件通知处理程序代码
}
BOOL CkaoqingDlg::PreTranslateMessage(MSG* pMsg)
{//CString key;
//if( ::GetAsyncKeyState(VK_LCONTROL)!=0)
// if(GetAsyncKeyState(VK_RETURN)!=0) {OnBnClickedButton3(); return true;}
if(pMsg->message ==WM_KEYDOWN)
switch(pMsg->wParam)
{case VK_RETURN:if(GetAsyncKeyState(VK_LCONTROL)!=0) {if(addormodi==0)
OnBnClickedButton2();
else OnBnClickedButton3();
return true;
}
switch(focus2)
{case 1: OnBnClickedButton5(); break;
case 2: OnBnClickedButton6();break;
case 10:OnBnClickedButton2();break;
case 11:OnBnClickedButton3(); break;
case 12:OnBnClickedButton4(); break;
case 14:OnBnClickedButton7(); break;
case 15:OnBnClickedButton14(); break;
case 17:OnBnClickedButton10(); break;
default:{NextDlgCtrl();return TRUE;}
}
return TRUE;//对应case VK_RETURN:
case VK_LEFT:{PrevDlgCtrl();return TRUE;}
case VK_RIGHT:{NextDlgCtrl();return TRUE;}
case VK_ESCAPE: return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
void CkaoqingDlg::OnBnSetfocusButton5()
{focus2=1;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnKillfocusButton5()
{focus2=0;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnSetfocusButton6()
{focus2=2;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnKillfocusButton6()
{focus2=0;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnSetfocusButton2()
{focus2=10;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnKillfocusButton2()
{focus2=0;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnSetfocusButton3()
{focus2=11;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnKillfocusButton3()
{focus2=0;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnSetfocusButton4()
{focus2=12;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnKillfocusButton4()
{focus2=0;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnSetfocusButton7()
{focus2=14;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnKillfocusButton7()
{focus2=0;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnSetfocusButton14()
{focus2=15;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnKillfocusButton14()
{focus2=0;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnClickedButton10()
{CString tempnumberstr,idstr;
workdayset.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset.SetWindowText ("0");
workdayset2.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset2.SetWindowText (_T("0"));
UpdateData (true);
if(year==""){yearcombo.SetFocus ();AfxMessageBox("请确定年份");return;}
this->ShowWindow (SW_HIDE);
reportdlg rp;
rp.yearstr=year;
rp.DoModal ();
this->ShowWindow (SW_SHOW);
personcodeet.SetFocus ();
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnSetfocusButton10()
{focus2=17;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::OnBnKillfocusButton10()
{focus2=0;
// TODO: 在此添加控件通知处理程序代码
}
void CkaoqingDlg::closerefdlg(void)
{cdlg =NULL;
}
void CkaoqingDlg::OnNMRclickList1(NMHDR *pNMHDR, LRESULT *pResult)
{CMenu delmenu;
CRect r;
delmenu.CreatePopupMenu ();
delmenu.TrackPopupMenu (TPM_LEFTALIGN,20,20,this,0);
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -