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

📄 taxmandlg.cpp

📁 This a integrated human resource manage system ,developed with vc++ and sql2000 Server
💻 CPP
字号:
// TaxManDlg.cpp : implementation file
//

#include "stdafx.h"
#include "HrSys.h"
#include "TaxManDlg.h"
#include "TaxEditDlg.h"
#include "TaxRate.h"
#include "COMDEF.H"
#include "Columns.h"
#include "Column.h"
#include "_recordset.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTaxManDlg dialog


CTaxManDlg::CTaxManDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTaxManDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTaxManDlg)
	m_BasicNumber = 0;
	//}}AFX_DATA_INIT
}


void CTaxManDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTaxManDlg)
	DDX_Control(pDX, IDC_ADODC1, m_adodc);
	DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
	DDX_Text(pDX, IDC_BASICNUMBER_EDIT, m_BasicNumber);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTaxManDlg, CDialog)
	//{{AFX_MSG_MAP(CTaxManDlg)
	ON_BN_CLICKED(IDC_SET_BUTTON, OnSetButton)
	ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
	ON_BN_CLICKED(IDC_MODI_BUTTON, OnModiButton)
	ON_BN_CLICKED(IDC_DEL_BUTTON, OnDelButton)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTaxManDlg message handlers
void CTaxManDlg::Refresh_Data()
{
	//设置记录源
	CString cSource;
	// 因为Id等于1的记录用于保存工资纳税基数,所以只显示Id<>1的记录
	cSource = "SELECT Id, LowerLimit AS 应纳税金额下限, UpperLimit AS 应纳税金额上限,"
		  "(CONVERT(varchar,Rate)+'%') AS 税率, Deduct AS 速算扣除数, Rate"
		  " FROM TaxRate WHERE Id<>1";
	m_adodc.SetRecordSource(cSource);
	m_adodc.Refresh();
	//设置表格列宽度
	_variant_t vIndex;
	vIndex = long(0);
	m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
	vIndex = long(1);
	m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
	vIndex = long(2);
	m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
	vIndex = long(3);
	m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);
	vIndex = long(4);
	m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
	vIndex = long(5);
	m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
}

void CTaxManDlg::OnSetButton() 
{
	UpdateData(TRUE);
	// 判断数据有效性
	if(m_BasicNumber <= 0)
	{
		MessageBox("请输入工资纳税基数");
		return;
	}
	CTaxRate tax;
	tax.LowerLimit = m_BasicNumber;
	tax.UpdateBasicNumber();
	MessageBox("成功保存工资纳税基数");
}

void CTaxManDlg::OnAddButton() 
{
	CTaxEditDlg dlg;
	dlg.cId = "";
	if (dlg.DoModal() == IDOK)
		Refresh_Data();		
}

void CTaxManDlg::OnModiButton() 
{
	if (m_adodc.GetRecordset().GetEof()) 
	{
		MessageBox("请选择要修改的记录");
		return;
	}
	CTaxEditDlg dlg;
	dlg.cId = m_datagrid.GetItem(0);			//记录编号
	dlg.m_lower = atoi(m_datagrid.GetItem(1));	//应纳税金额下限
	dlg.m_upper = atoi(m_datagrid.GetItem(2));	//应纳税金额上限
	dlg.m_rate = atoi(m_datagrid.GetItem(5));	//税率
	dlg.m_deduct = atoi(m_datagrid.GetItem(4)); //速算扣除数
	// 打开对话框,编辑纳税记录
	if (dlg.DoModal() == IDOK)
		Refresh_Data();		
}

void CTaxManDlg::OnDelButton() 
{
	if (m_adodc.GetRecordset().GetEof()) 
	{
		MessageBox("请选择要删除的记录");
		return;
	}
	if (MessageBox("是否删除当前记录","请确定", MB_YESNO) == IDYES)
	{
		CTaxRate tax;
		tax.sql_delete(m_datagrid.GetItem(0));
		Refresh_Data();
	}		
}

BOOL CTaxManDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// 读取工资纳税基数
	CTaxRate tax;
	tax.GetData("1");
	m_BasicNumber = tax.LowerLimit;
	UpdateData(FALSE);
	// 查询工资税率记录
	Refresh_Data();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -