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

📄 wage.cpp

📁 一个有关人事系统的所有代码和有关文件包括里面小量数据库。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	}
	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 + -