📄 depdlg.cpp
字号:
// DepDlg.cpp : implementation file
//
#include "stdafx.h"
#include "CheckManage.h"
#include "DepDlg.h"
#include "DepSelDlg.h"
#include "CheckInfo.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
/////////////////////////////////////////////////////////////////////////////
// CDepDlg dialog
CDepDlg::CDepDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDepDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDepDlg)
m_DepName = _T("");
//}}AFX_DATA_INIT
}
void CDepDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDepDlg)
DDX_Control(pDX, IDC_MONTH_COMBO, m_month);
DDX_Control(pDX, IDC_YEAR_COMBO, m_year);
DDX_Control(pDX, IDC_ADODC1, m_Adodc);
DDX_Control(pDX, IDC_DATAGRID1, m_Datagrid);
DDX_Text(pDX, IDC_DEPNAME_STATIC, m_DepName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDepDlg, CDialog)
//{{AFX_MSG_MAP(CDepDlg)
ON_BN_CLICKED(IDC_SEL_DEP_BUTTON, OnSelDepButton)
ON_CBN_SELCHANGE(IDC_YEAR_COMBO, OnSelchangeYearCombo)
ON_CBN_SELCHANGE(IDC_MONTH_COMBO, OnSelchangeMonthCombo)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDepDlg message handlers
BOOL CDepDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
int i;
for(i=1980; i<=2050; i++)
{
cYear.Format("%d", i);
m_year.AddString(cYear);
}
m_year.SetCurSel(0);
for(i=1; i<=9; i++)
{
cMonth.Format("%d", i);
m_month.AddString("0" + cMonth);
}
for(i=10; i<=12; i++)
{
cMonth.Format("%d", i);
m_month.AddString(cMonth);
}
// 设置为当前日期
CTime t = CTime::GetCurrentTime();
m_year.SetCurSel(t.GetYear() - 1980);
m_month.SetCurSel(t.GetMonth()-1);
iDepId = -1;
UpdateData(FALSE);
RefreshData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
// 刷新数据
void CDepDlg::RefreshData()
{
UpdateData(TRUE);
//根据部门编号设置SELECT语句
CString cStrCnd,cDepId;
cDepId.Format("%d", iDepId);
if ( iDepId >0 )
cStrCnd = " And d.DepId=" + cDepId;
else
cStrCnd = "";
CString cTime; // 查询日期
// 得到年份和月份
m_year.GetLBText(m_year.GetCurSel(), cYear);
m_month.GetLBText(m_month.GetCurSel(), cMonth);
// 得到日期
cTime = cYear + "-" + cMonth;
// 设置SELECT语句
CString cSource = "SELECT e.Name AS 姓名,"
" ISNULL(v1.CountQuanQin,0) AS 全勤天数, ISNULL(v2.CountChuChai,0) AS 出差天数,"
" ISNULL(v3.CountShiJia,0) AS 事假天数, ISNULL(v4.CountBingJia,0) AS 事假天数,"
" ISNULL(v5.CountKuangGong,0) AS 旷工天数, ISNULL(v6.CountXiuXi,0) AS 休息天数,"
" ISNULL(v7.CountChiDao,0) AS 迟到次数, ISNULL(v8.CountZaoTui,0) AS 早退次数"
" FROM v_QuanQin v1, v_ChuChai v2, v_ShiJia v3, v_BingJia v4,DepInfo d, "
" v_KuangGong v5, v_XiuXi v6, v_ChiDao v7, v_ZaoTui v8, EmpInfo e"
" WHERE e.EmpId *= v1.EmpId AND e.EmpId *= v2.EmpId And e.DepId=d.DepId"
" AND e.EmpId *= v3.EmpId AND e.EmpId *= v4.EmpId AND e.EmpId *= v5.EmpId"
" AND e.EmpId *= v6.EmpId AND e.EmpId *= v7.EmpId AND e.EmpId *= v8.EmpId"
" AND v1.CheckMonth = '" + cTime + "' AND v2.CheckMonth = '" + cTime +
"' AND v3.CheckMonth = '" + cTime + "' AND v4.CheckMonth = '" + cTime +
"' AND v5.CheckMonth = '" + cTime + "' AND v6.CheckMonth = '" + cTime +
"' AND v7.CheckMonth = '" + cTime + "' AND v8.CheckMonth = '" + cTime + "'" + cStrCnd;
//刷新ADO Data控件的记录源
m_Adodc.SetRecordSource(cSource);
m_Adodc.Refresh();
//设置列宽度
_variant_t vIndex;
vIndex = long(0);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(1);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(2);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(80);
vIndex = long(3);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(4);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(5);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(6);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(7);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(8);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
}
// 选择部门
void CDepDlg::OnSelDepButton()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
//打开选择部门对话框
CDepSelDlg dlg;
dlg.DoModal();
//从对话框中读取选择部门的信息
iDepId = dlg.DepId;
m_DepName = dlg.DepName;
UpdateData(FALSE);
RefreshData();
}
void CDepDlg::OnSelchangeYearCombo()
{
RefreshData();
}
void CDepDlg::OnSelchangeMonthCombo()
{
RefreshData();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -