📄 devect.cpp
字号:
MessageBox("员工姓名不能为空,请输入员工姓名。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_EdtName.SetFocus();
return;
}
if(sDep.IsEmpty())
{
MessageBox("员工部门不能为空,请输入员工部门。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_ComDept.SetFocus();
return;
}
if(sMan.IsEmpty())
{
MessageBox("批准人不能为空,请输入批准人姓名。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_EdtMan.SetFocus();
return;
}
if(sPlace.IsEmpty())
{
MessageBox("出差地点不能为空,请输入出差地点。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_EdtPlace.SetFocus();
return;
}
else if(sPlace.GetLength()>40)
{
MessageBox("输入的出差地点字数不能过长,请重新输入出差地点。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_EdtPlace.SetFocus();
return;
}
if(sCharge.IsEmpty())
{
MessageBox("出差费用不能为空,请输入出差费用。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_EdtCharge.SetFocus();
return;
}else if(sCharge.GetLength()>8)
{
MessageBox("出差费用不能过多,请重新输入出差费用。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_EdtCharge.SetFocus();
return;
}
if(sCla.IsEmpty())
{
MessageBox("报销不能为空,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_ComCla.SetFocus();
return;
}else if(sCla!="未报销"&&sCla!="已报销")
{
MessageBox("输入报销无效,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_ComCla.SetFocus();
return;
}
if(sCouse.IsEmpty())
{
MessageBox("出差事由不能为空,请输入出差事由。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_EdtCouse.SetFocus();
return;
}else if(sCouse.GetLength()>50)
{
MessageBox("出差事由的字数不能过长,请重新输入出差事由。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_EdtCouse.SetFocus();
return;
}
if(sRemark.GetLength()>50)
{
MessageBox("输入备注的字数不能过长,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_EdtRemark.SetFocus();
return;
}
RxRecordset namest,IDst,manst;
CString namesql,IDsql,text1,text2,man1,mansql;
namesql.Format("SELECT * FROM StaffInfo WHERE Staff_name='%s'",sName);
mansql.Format("SELECT * FROM StaffInfo WHERE Staff_name='%s' and Duty!='职员'",sMan);
IDsql.Format("SELECT * FROM StaffInfo WHERE Staff_ID='%s'",sSID);
namest.Open(namesql,adCmdText);
IDst.Open(IDsql,adCmdText);
manst.Open(mansql,adCmdText);
if(IDst.GetRecordCount()<1)
{
MessageBox("您输入的用户编号不存在!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
m_EdtID.SetWindowText("");
m_EdtID.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!=sSID)
{
MessageBox("您输入的用户名与用户编号不匹配!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
m_EdtID.SetWindowText("");
m_EdtID.SetFocus();
return;
}
text2=namest.GetFieldValue("Dep");
if(text2!=sDep)
{
MessageBox("您输入的用户不属于这个部门!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
m_ComDept.SetFocus();
return;
}
if(manst.GetRecordCount()<1)
{
MessageBox("您输入的批准人不存在或者不是部门主管以上职务!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
m_EdtMan.SetWindowText("");
m_EdtMan.SetFocus();
return;
}
man1=manst.GetFieldValue("Staff_name");
if(man1!=sMan)
{
MessageBox("您输入批准人的职务必须是部门主管!请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
m_EdtMan.SetWindowText("");
m_EdtMan.SetFocus();
return;
}
if(AddOrChange==1)//添加操作
sSQL.Format("Insert Into EvectInfo Values('%s','%s','%s','%s','%s','%s','%s','%s',%s,'%s','%s','%s')",sID,sName,sSID,sDep,sCouse,sPlace,sSta,sEnd,sCharge,sCla,sMan,sRemark);
else
sSQL.Format("Update EvectInfo set Staff_name='%s',Staff_ID='%s',Dep='%s',\
Evect_cause='%s',Evect_place='%s',Start_time='%s',End_time='%s',\
Evect_charge=%s,Evect_claims='%s',Approval_man='%s',\
Remarks='%s' WHERE Evect_ID='%s'",sName,sSID,sDep,sCouse,sPlace,sSta,sEnd,\
sCharge,sCla,sMan,sRemark,sID);
RxRecordset arst;
arst.Open(sSQL,adCmdText);
this->Enabled(false);
this->m_ButAdd.SetFocus();
}
void CDEvect::OnButundo()
{
// TODO: Add your control notification handler code here
if(MessageBox("确定要撤消操作吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
return;
this->Enabled(false);
this->Clear();
this->Display(m_sID);
this->m_ButAdd.SetFocus();
}
void CDEvect::OnButexit()
{
// TODO: Add your control notification handler code here
this->OnCancel();
}
void CDEvect::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CRect rect;
CBitmap bit;
CDC memDC;
this->GetClientRect(&rect);
bit.LoadBitmap(IDB_BIT_BJ);
memDC.CreateCompatibleDC(&dc);
memDC.SelectObject(&bit);
dc.BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,SRCCOPY);
memDC.DeleteDC();
::DeleteObject(&bit);
CDialog::OnPaint();
// Do not call CDialog::OnPaint() for painting messages
}
HBRUSH CDEvect::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetBkColor(RGB(255,255,255));
pDC->SetTextColor(RGB(0,0,0));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
void CDEvect::OnBtnsel()
{
// TODO: Add your control notification handler code here
CString sSQL,sName,sSID,sSdep;
this->m_Edtstaffname.GetWindowText(sName);
this->m_EdtstaffID.GetWindowText(sSID);
this->m_Comstaffdep.GetWindowText(sSdep);
if(sSdep=="所有部门")
{
if(sName.IsEmpty() && sSID.IsEmpty())
sSQL.Format("SELECT * FROM 员工查询视图");
if(!sName.IsEmpty())
{
if(sSID.IsEmpty())
sSQL.Format("SELECT * FROM 员工查询视图 where 姓名 LIKE '%%%s%%'",sName);
else
sSQL.Format("SELECT * FROM 员工查询视图 where 编号 LIKE '%%%s%%' OR 姓名 LIKE '%%%s%%'",sSID,sName);
}
else
{
if(!sSID.IsEmpty())
sSQL.Format("SELECT * FROM 员工查询视图 where 编号 LIKE '%%%s%%'",sSID);
}
}
if(sSdep!="所有部门")
{
if(sName.IsEmpty() && sSID.IsEmpty())
sSQL.Format("SELECT * FROM 员工查询视图 where 部门='%s'",sSdep);
if(!sName.IsEmpty())
{
if(sSID.IsEmpty())
sSQL.Format("SELECT * FROM 员工查询视图 where 姓名 LIKE '%%%s%%' AND 部门='%s'",sName,sSdep);
else
sSQL.Format("SELECT * FROM 员工查询视图 where 编号 LIKE '%%%s%%' OR 姓名 LIKE '%%%s%%' AND 部门='%s'",sSID,sName,sSdep);
}
else
{
if(!sSID.IsEmpty())
sSQL.Format("SELECT * FROM 员工查询视图 where 编号 LIKE '%%%s%%' AND 部门='%s'",sSID,sSdep);
}
}
RxRecordset rRst;
rRst.Open(sSQL,adCmdText);
}
void CDEvect::OnDblclkListGrid(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
RxRecordset rRst;
CString sSql,sname,sID,sdep;
if(m_Sql_Grid.GetHotItem()<0)
return;
m_tID=this->m_Sql_Grid.GetItemText(m_Sql_Grid.GetHotItem(),0);
sSql.Format("SELECT * FROM 员工查询视图 WHERE 编号='%s'",m_tID);
rRst.Open(sSql,adCmdText);
sID=rRst.GetFieldValue("编号");
sname=rRst.GetFieldValue("姓名");
sdep=rRst.GetFieldValue("部门");
m_EdtID.SetWindowText(sID);
m_EdtName.SetWindowText(sname);
m_ComDept.SetWindowText(sdep);
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -