📄 wage.cpp
字号:
}
else
{
char ch;
int len;
len=holwage.GetLength();
for(int i=0;i<len;i++)
{
ch=holwage.GetAt(i);
if(ch!=46||(ch>='0' && ch<='9'))//(ch>47 && ch<58)
{
MessageBox("请假扣除输入无效,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_Edtholwage.SetFocus();
return;
}
}
}
if(allowage.IsEmpty())
{
allowage="0";
}
else
{
char ch;
int len;
len=allowage.GetLength();
for(int i=0;i<len;i++)
{
ch=allowage.GetAt(i);
if(ch!=46||(ch>='0' && ch<='9'))//(ch>47 && ch<58)
{
MessageBox("津贴费输入无效,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_Edtallowage.SetFocus();
return;
}
}
}
if(trwage.IsEmpty())
{
trwage="0";
}
else
{
char ch;
int len;
len=trwage.GetLength();
for(int i=0;i<len;i++)
{
ch=trwage.GetAt(i);
if(ch!=46||(ch>='0' && ch<='9'))//(ch>47 && ch<58)
{
MessageBox("交通费输入无效,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_Edttrwage.SetFocus();
return;
}
}
}
if(highwage.IsEmpty())
{
highwage="0";
}
else
{
char ch;
int len;
len=highwage.GetLength();
for(int i=0;i<len;i++)
{
ch=highwage.GetAt(i);
if(ch!=46||(ch>='0' && ch<='9'))//(ch>47 && ch<58)
{
MessageBox("高温费输入无效,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_Edthighwage.SetFocus();
return;
}
}
}
if(oldwage.IsEmpty())
{
oldwage="0";
}
else
{
char ch;
int len;
len=oldwage.GetLength();
for(int i=0;i<len;i++)
{
ch=oldwage.GetAt(i);
if(ch!=46||(ch>='0' && ch<='9'))//(ch>47 && ch<58)
{
MessageBox("养老保险费输入无效,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_Edtoldwage.SetFocus();
return;
}
}
}
if(medwage.IsEmpty())
{
medwage="0";
}
else
{
char ch;
int len;
len=medwage.GetLength();
for(int i=0;i<len;i++)
{
ch=medwage.GetAt(i);
if(ch!=46||(ch>='0' && ch<='9'))//(ch>47 && ch<58)
{
MessageBox("医疗保险费输入无效,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_Edtmedwage.SetFocus();
return;
}
}
}
if(otherinwage.IsEmpty())
{
otherinwage="0";
}
else
{
char ch;
int len;
len=otherinwage.GetLength();
for(int i=0;i<len;i++)
{
ch=otherinwage.GetAt(i);
if(ch!=46||(ch>='0' && ch<='9'))//(ch>47 && ch<58)
{
MessageBox("其他保险费输入无效,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_Edtaddwage.SetFocus();
return;
}
}
}
if(tax.IsEmpty())
{
tax="0";
}
else
{
char ch;
int len;
len=tax.GetLength();
for(int i=0;i<len;i++)
{
ch=tax.GetAt(i);
if(ch!=46||(ch>='0' && ch<='9'))//(ch>47 && ch<58)
{
MessageBox("税率输入无效,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_Edttax.SetFocus();
return;
}
}
}
if(otherdewage.IsEmpty())
{
otherdewage="0";
}
else
{
char ch;
int len;
len=otherdewage.GetLength();
for(int i=0;i<len;i++)
{
ch=otherdewage.GetAt(i);
if(ch!=46||(ch>='0' && ch<='9'))//(ch>47 && ch<58)
{
MessageBox("其他扣除输入无效,请重新输入。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
m_Edtotherdewage.SetFocus();
return;
}
}
}
float num1,num2,num3,num4,num5,num6,num7,num8,num9,num10,num11,num12,num13,num14,num15,num16,znum;
float shwage,fwage;
int t1,t2,t3,t4;
num1=atof(addwage);
num2=atof(absentwage);
num3=atof(workagewage);
num4=atof(latewage);
num5=atof(allowage);
num6=atof(trwage);
num7=atof(highwage);
num8=atof(oldwage);
num9=atof(medwage);
num10=atof(otherinwage);
num11=atof(tax);
num12=atof(basewage);
num13=atof(holwage);
num14=atof(jlje);
num15=atof(cfje);
num16=atof(otherdewage);
t1=atoi(jbts);
t2=atoi(kgts);
t3=atoi(cdts);
t4=atoi(qjts);
znum=num12+(num1 * t1)+(num2 * t2)+num3+(num4 * t3)+(num13 * t4)+num5+num6+num7-num8-num9-num10+num14+num15;//+num11;
shouldwage.Format("%f",znum);
m_Edtshouldwage.SetWindowText(shouldwage);
shwage=znum-(znum * (num11/100));
taxwage.Format("%f",shwage);
m_Edttaxwage.SetWindowText(taxwage);
fwage=shwage-num16;
factwage.Format("%f",fwage);
m_Edtfactwage.SetWindowText(factwage);
}
void CWage::Clear()
{
m_EdtStaffID.SetWindowText("");
m_EdtStaffName.SetWindowText("");
m_EdtStaffDep.SetWindowText("");
m_EdtStaffDuty.SetWindowText("");
m_EdtStaffTitle.SetWindowText("");
m_Edtaddwage.SetWindowText("");
m_Edtabsentwage.SetWindowText("");
m_Edtworkagewage.SetWindowText("");
m_Edtlatewage.SetWindowText("");
m_Edtholwage.SetWindowText("");
m_Edtallowage.SetWindowText("");
m_Edttrwage.SetWindowText("");
m_Edthighwage.SetWindowText("");
m_Edtoldwage.SetWindowText("");
m_Edtmedwage.SetWindowText("");
m_Edtotherinwage.SetWindowText("");
m_Edttax.SetWindowText("");
m_Edtotherdewage.SetWindowText("");
m_Edtjbst.SetWindowText("");
m_Edtkgts.SetWindowText("");
m_Edtcdts.SetWindowText("");
m_Edtqjts.SetWindowText("");
m_Edtygxs.SetWindowText("");
m_EdtBasewage.SetWindowText("");
m_Edtjlje.SetWindowText("");
m_Edtcfje.SetWindowText("");
m_Edtshouldwage.SetWindowText("");
m_Edttaxwage.SetWindowText("");
m_Edtfactwage.SetWindowText("");
}
void CWage::OnBtnchange()
{
// TODO: Add your control notification handler code here
AddOrChange=2;
this->ButtonEnabled(true);
m_EdtStaffID.SetFocus();
}
void CWage::OnBtndel()
{
// TODO: Add your control notification handler code here
if(MessageBox("确定要删除此条记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
return;
CString sSQL;
sSQL.Format("DELETE FROM WageInfo WHERE Wage_ID='%s'",m_sID);
RxRecordset Drst;
Drst.Open(sSQL,adCmdText);
this->OnCancel();
}
void CWage::OnBtnsave()
{
// TODO: Add your control notification handler code here
if(MessageBox("确定要保存记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
return;
CString addwage,absentwage,latewage,medwage,trwage,workagewage,tax,otherinwage,factwage,highwage;
CString holwage,allowage,oldwage,shouldwage,basewage,jlje,cfje,jbts,kgts,cdts,qjts,otherdewage,taxwage;
CString staffID,staffname,wageID,year,month,date;
m_EdtWageID.GetWindowText(wageID);
m_EdtStaffID.GetWindowText(staffID);
m_EdtStaffName.GetWindowText(staffname);
CTime wtime;
m_Wagetime.GetTime(wtime);
date=CTimeToCString(wtime);
year=date.Mid(0,4);//获取年份
month=date.Mid(5,2);//获取月份
if(month.Find("-")>=0)
month=date.Mid(5,1);
m_Edtaddwage.GetWindowText(addwage);//加班
m_Edtabsentwage.GetWindowText(absentwage);//旷工
m_Edtworkagewage.GetWindowText(workagewage);//工龄补贴
m_Edtlatewage.GetWindowText(latewage);//迟到
m_Edtholwage.GetWindowText(holwage);//请假
m_Edtallowage.GetWindowText(allowage);//津贴
m_Edttrwage.GetWindowText(trwage);//交通
m_Edthighwage.GetWindowText(highwage);//高温
m_Edtoldwage.GetWindowText(oldwage);//养老
m_Edtmedwage.GetWindowText(medwage);//医疗
m_Edtotherinwage.GetWindowText(otherinwage);//其他保险
m_Edttax.GetWindowText(tax);//税率
m_EdtBasewage.GetWindowText(basewage);//基本工资
m_Edttaxwage.GetWindowText(taxwage);//
m_Edtshouldwage.GetWindowText(shouldwage);//
m_Edtotherdewage.GetWindowText(otherdewage);//
m_Edtfactwage.GetWindowText(factwage);//
CString sSql;
if(AddOrChange==1)
sSql.Format("Insert Into WageInfo Values('%s','%s','%s','%s','%s',%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,\
%s,%s,'%s',%s,%s,%s)",wageID,year,month,staffID,staffname,basewage,allowage,addwage,\
absentwage,latewage,holwage,workagewage,trwage,highwage,oldwage,medwage,otherinwage,\
shouldwage,tax,taxwage,otherdewage,factwage);
else
sSql.Format("Update WageInfo set Wage_year='%s',Wage_month='%s',Wage_staffID='%s',\
Wage_staffname='%s',Wage_basewage=%s,Wage_allowage=%s,Wage_addwage=%s,Wage_absentwage=%s,\
Wage_latewage=%s,Wage_holwage=%s,Wage_workagewage=%s,Wage_trwage=%s,Wage_highwage=%s,\
Wage_oldwage=%s,Wage_medwage=%s,Wage_otherinwage=%s,Wage_shouldwage=%s,Wage_tax='%s',\
Wage_taxwage=%s,Wage_otherdewage=%s,Wage_factwage=%s where Wage_ID='%s'",year,month,staffID,\
staffname,basewage,allowage,addwage,absentwage,latewage,holwage,workagewage,trwage,\
highwage,oldwage,medwage,otherinwage,shouldwage,tax,taxwage,otherdewage,factwage,wageID);
RxRecordset arst;
arst.Open(sSql,adCmdText);
}
void CWage::OnBtnundo()
{
// TODO: Add your control notification handler code here
if(MessageBox("确定要撤消操作吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
return;
this->ButtonEnabled(false);
this->Clear();
this->DisPlayInfo(m_sID);
this->m_Btnadd.SetFocus();
}
void CWage::OnBtnexit()
{
// TODO: Add your control notification handler code here
this->OnCancel();
}
void CWage::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
}
void CWage::DisPlayInfo(CString sID)
{
RxRecordset drxt;
CString sSQL;
if(sID.IsEmpty())
return;
sSQL.Format("SELECT * FROM 工资视图 WHERE 工资编号 ='%s'",sID);
drxt.Open(sSQL,adCmdText);
CString addwage,absentwage,latewage,medwage,trwage,workagewage,tax,otherinwage,factwage,highwage;
CString holwage,allowage,oldwage,shouldwage,basewage,jlje,cfje,jbts,kgts,cdts,qjts,otherdewage,taxwage;
CString staffID,staffname,wageID,year,month,date,dep,duty,title,ygxs;
wageID=drxt.GetFieldValue("工资编号");
year=drxt.GetFieldValue("工资所属年份");
month=drxt.GetFieldValue("工资所属月份");
date=year+"-" + month + "-27";
CTime time;
time=CStringTOCTime(date);
staffID=drxt.GetFieldValue("员工编号");
staffname=drxt.GetFieldValue("员工姓名");
dep=drxt.GetFieldValue("所属部门");
duty=drxt.GetFieldValue("职务");
title=drxt.GetFieldValue("职称");
ygxs=drxt.GetFieldValue("用工形式");
basewage=drxt.GetFieldValue("基本工资");
allowage=drxt.GetFieldValue("津贴费");
addwage=drxt.GetFieldValue("加班费");
absentwage=drxt.GetFieldValue("旷工费");
latewage=drxt.GetFieldValue("迟到早退扣除");
holwage=drxt.GetFieldValue("假期扣除");
workagewage=drxt.GetFieldValue("工龄补贴");
jlje=drxt.GetFieldValue("奖励金额");
cfje=drxt.GetFieldValue("处罚金额");
highwage=drxt.GetFieldValue("高温费");
trwage=drxt.GetFieldValue("交通费");
oldwage=drxt.GetFieldValue("养老保险费");
medwage=drxt.GetFieldValue("医疗保险费");
otherinwage=drxt.GetFieldValue("其他保险费");
shouldwage=drxt.GetFieldValue("应发工资");
tax=drxt.GetFieldValue("个人所得税税率");
taxwage=drxt.GetFieldValue("税后工资");
otherdewage=drxt.GetFieldValue("其他扣除");
factwage=drxt.GetFieldValue("实发工资");
m_EdtWageID.SetWindowText(wageID);
m_EdtStaffID.SetWindowText(staffID);
m_EdtStaffName.SetWindowText(staffname);
m_EdtStaffDep.SetWindowText(dep);
m_EdtStaffDuty.SetWindowText(duty);
m_EdtStaffTitle.SetWindowText(title);
m_Edtaddwage.SetWindowText(addwage);
m_Edtabsentwage.SetWindowText(absentwage);
m_Edtworkagewage.SetWindowText(workagewage);
m_Edtlatewage.SetWindowText(latewage);
m_Edtholwage.SetWindowText(holwage);
m_Edtallowage.SetWindowText(allowage);
m_Edttrwage.SetWindowText(trwage);
m_Edthighwage.SetWindowText(highwage);
m_Edtoldwage.SetWindowText(oldwage);
m_Edtmedwage.SetWindowText(medwage);
m_Edtotherinwage.SetWindowText(otherinwage);
m_Edttax.SetWindowText(tax);
m_Edtotherdewage.SetWindowText(otherdewage);
m_Edtygxs.SetWindowText(ygxs);
m_EdtBasewage.SetWindowText(basewage);
m_Edtjlje.SetWindowText(jlje);
m_Edtcfje.SetWindowText(cfje);
m_Edtshouldwage.SetWindowText(shouldwage);
m_Edttaxwage.SetWindowText(taxwage);
m_Edtfactwage.SetWindowText(factwage);
this->m_Wagetime.SetTime(&time);
}
void CWage::ButtonEnabled(bool bEnabled)
{
m_Btnadd.EnableWindow(!bEnabled);
m_Btnchange.EnableWindow(!bEnabled);
m_Btndel.EnableWindow(!bEnabled);
m_Btnexit.EnableWindow(!bEnabled);
m_Btnsave.EnableWindow(bEnabled);
m_Btnundo.EnableWindow(bEnabled);
m_Btnaccount.EnableWindow(bEnabled);
m_Btndatashow.EnableWindow(bEnabled);
}
HBRUSH CWage::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;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -