📄 salarymandlg.cpp
字号:
// SalaryManDlg.cpp : implementation file
//
#include "stdafx.h"
#include "HrSys.h"
#include "SalaryManDlg.h"
#include "SalaryEditDlg.h"
#include "_recordset.h"
#include "COMDEF.H"
#include "Columns.h"
#include "Column.h"
#include "Salary.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSalaryManDlg dialog
CSalaryManDlg::CSalaryManDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSalaryManDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSalaryManDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CSalaryManDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSalaryManDlg)
DDX_Control(pDX, IDC_YEAR_COMBO, m_year);
DDX_Control(pDX, IDC_MONTH_COMBO, m_month);
DDX_Control(pDX, IDC_ADODC1, m_adodc);
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSalaryManDlg, CDialog)
//{{AFX_MSG_MAP(CSalaryManDlg)
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()
/////////////////////////////////////////////////////////////////////////////
// CSalaryManDlg message handlers
void CSalaryManDlg::Refresh_Data()
{
UpdateData(TRUE);
CString cSource;
//读取月份信息
CString cYear, cMonth;
int index;
index = m_year.GetCurSel();
m_year.GetLBText(index, cYear);
index = m_month.GetCurSel();
m_month.GetLBText(index, cMonth);
// 设计SELECT语句
cSource = "SELECT s.Id, s.CreateDate AS 调薪日期, s.EmpId,"
" e.EmpName AS 员工姓名, d.DepName AS 部门名称,"
" s.OldSalary AS 原薪资, s.NewSalary AS 调后薪资, s.Reason AS 调薪原因"
" FROM Salary s, Employees e, Departments d WHERE s.EmpId=e.EmpId "
" AND e.DepId=d.DepId AND s.CreateDate LIKE '" + cYear + "-" + cMonth+ "%'";
// 设置数据源
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(120);
vIndex = long(2);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(3);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(120);
vIndex = long(4);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
vIndex = long(5);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
vIndex = long(6);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
vIndex = long(7);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(180);
}
BOOL CSalaryManDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//读取当前系统日期
CTime t = CTime::GetCurrentTime();
// 从系统时间中获取年和月的信息
int iYear, iMonth;
iYear = t.GetYear();
iMonth = t.GetMonth();
// 设置年和月控件值
m_year.SetCurSel(iYear - 2000);
m_month.SetCurSel(iMonth - 1);
UpdateData(FALSE);
// 根据条件查询调薪记录
Refresh_Data();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSalaryManDlg::OnAddButton()
{
CSalaryEditDlg dlg;
dlg.cId = "";
// 获取当前日期
CTime t = CTime::GetCurrentTime();
dlg.m_Date.Format("%d-%d-%d", t.GetYear(), t.GetMonth(), t.GetDay());
if(dlg.DoModal() == IDOK)
Refresh_Data();
}
void CSalaryManDlg::OnModiButton()
{
if (m_adodc.GetRecordset().GetEof())
{
MessageBox("请选择要修改的记录");
return;
}
CSalaryEditDlg dlg;
dlg.cId = m_datagrid.GetItem(0); //记录编号
dlg.m_EmpId = atoi(m_datagrid.GetItem(2)); // 员工编号
dlg.m_Date = m_datagrid.GetItem(1); // 调薪日期
dlg.m_EmpName = m_datagrid.GetItem(3); // 员工姓名
dlg.m_DepName = m_datagrid.GetItem(4); // 部门名称
dlg.m_NewSalary = atoi(m_datagrid.GetItem(6)); // 新工资
dlg.m_OldSalary = m_datagrid.GetItem(5); // 旧工资
dlg.m_Reason = m_datagrid.GetItem(7); // 调薪原因
if (dlg.DoModal() == IDOK)
Refresh_Data();
}
void CSalaryManDlg::OnDelButton()
{
if (m_adodc.GetRecordset().GetEof())
{
MessageBox("请选择要删除的记录");
return;
}
if (MessageBox("是否删除当前记录","请确定", MB_YESNO) == IDYES)
{
CSalary sal;
sal.sql_delete(m_datagrid.GetItem(0));
Refresh_Data();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -