📄 menu_contractflowerdlg.cpp
字号:
// Menu_ContractFlowerDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ministryperson.h"
#include "Menu_ContractFlowerDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include "excel9.h"
/////////////////////////////////////////////////////////////////////////////
// Menu_ContractFlowerDlg dialog
Menu_ContractFlowerDlg::Menu_ContractFlowerDlg(CWnd* pParent /*=NULL*/)
: CDialog(Menu_ContractFlowerDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(Menu_ContractFlowerDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void Menu_ContractFlowerDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Menu_ContractFlowerDlg)
DDX_Control(pDX, IDC_MENU3_CF_LIST, m_Menu3_CF_List);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Menu_ContractFlowerDlg, CDialog)
//{{AFX_MSG_MAP(Menu_ContractFlowerDlg)
ON_BN_CLICKED(IDC_MENU3_CF_BTN_QUERY, OnMenu3CfBtnQuery)
ON_BN_CLICKED(IDC_MENU3_CF_BTN_MODIFYENDT, OnMenu3CfBtnModifyendt)
ON_NOTIFY(NM_CLICK, IDC_MENU3_CF_LIST, OnClickMenu3CfList)
ON_BN_CLICKED(IDC_MENU3_CF_BTN_PATH, OnMenu3CfBtnPath)
ON_BN_CLICKED(IDC_MENU3_CF_BTN_EXCEL, OnMenu3CfBtnExcel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Menu_ContractFlowerDlg message handlers
BOOL Menu_ContractFlowerDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
MakeShowStyle();
InitShowContractPath();
GetDlgItem(IDC_MENU3_CF_BTN_EXCEL)->EnableWindow(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
/*********************************************************************
函数说明: 清空数据表的显示
函数参数: void
*********************************************************************/
BOOL Menu_ContractFlowerDlg::DeleteAllRows()
{
m_Menu3_CF_List.DeleteAllItems(); // 清空列表控件
return TRUE;
}
/*********************************************************************
函数说明: 设置列表控件一行的内容
函数参数:
*********************************************************************/
BOOL Menu_ContractFlowerDlg::SetRow(int row, CString *strArray, int nCount)
{
m_Menu3_CF_List.InsertItem(row, strArray[0]); // 在列表控件中插入一行
for (int i = 1; i < nCount; i++)
{
m_Menu3_CF_List.SetItemText(row, i, strArray[i]); // 设置除第一行外的其他行
}
return TRUE;
}
/*********************************************************************
函数说明: 显示内容
函数参数:
*********************************************************************/
void Menu_ContractFlowerDlg::MakeShowStyle()
{
m_Menu3_CF_List.SetExtendedStyle(LVS_EX_FLATSB |
LVS_EX_GRIDLINES |
LVS_EX_FULLROWSELECT |
LVS_EX_ONECLICKACTIVATE |
LVS_EX_CHECKBOXES);
m_Menu3_CF_List.InsertColumn(0, "序号", LVCFMT_LEFT, 60);
m_Menu3_CF_List.InsertColumn(1, "姓名", LVCFMT_LEFT, 60);
m_Menu3_CF_List.InsertColumn(2, "身份证", LVCFMT_LEFT, 145);
m_Menu3_CF_List.InsertColumn(3, "性别", LVCFMT_LEFT, 50);
m_Menu3_CF_List.InsertColumn(4, "年龄", LVCFMT_LEFT, 50);
m_Menu3_CF_List.InsertColumn(5, "工龄", LVCFMT_LEFT, 150);
m_Menu3_CF_List.InsertColumn(6, "部门", LVCFMT_LEFT, 120);
m_Menu3_CF_List.InsertColumn(7, "职务", LVCFMT_LEFT, 100);
m_Menu3_CF_List.InsertColumn(8, "职工属性", LVCFMT_LEFT, 80);
m_Menu3_CF_List.InsertColumn(9, "【原】合同起始时间", LVCFMT_LEFT, 130);
m_Menu3_CF_List.InsertColumn(10, "【原】合同终止时间", LVCFMT_LEFT, 130);
m_Menu3_CF_List.InsertColumn(11, "【新】合同起始时间", LVCFMT_LEFT, 130);
m_Menu3_CF_List.InsertColumn(12, "【新】合同终止时间", LVCFMT_LEFT, 130);
}
/*********************************************************************
函数说明: [按钮] 查询时间差在30天之内的
函数参数:
*********************************************************************/
void Menu_ContractFlowerDlg::OnMenu3CfBtnQuery()
{
CString strQueryTime;
GetDlgItemText(IDC_MENU3_CF_DTP_CEND, strQueryTime);
QueryInfoByData(strQueryTime);
}
/*********************************************************************
函数说明: 查询时间差在30天之内的
函数参数:
*********************************************************************/
void Menu_ContractFlowerDlg::QueryInfoByData(CString strTime)
{
CFuncOper FunOper;
WORD wTime[3];
FunOper.strTimeTowTime(strTime, wTime);
CString strFields[] = {"ID", "Name", "IDCard", "Sex", "Age", "WorkAge", "Depart", "Duty",
"NewPro", "OldConBT", "OldConET"};
CADOOperation ADOdbo;
CString SQL;
SQL.Format("select Employee_BasicInfor_Table.employee_ID as ID, \
Employee_BasicInfor_Table.employee_Name as Name, \
Employee_BasicInfor_Table.employee_IDCard as IDCard, \
Employee_BasicInfor_Table.employee_Sex as Sex, \
Employee_BasicInfor_Table.employee_Age as Age, \
Employee_InActiveSer_Table.InActiveSer_WorkAge as WorkAge, \
Employee_InActiveSer_Table.InActiveSer_Department as Depart, \
Employee_InActiveSer_Table.InActiveSer_Duty as Duty, \
Employee_InActiveSer_Table.InActiveSer_NewProperty as NewPro, \
Employee_InActiveSer_Table.InActiveSer_ContractBegT as OldConBT, \
Employee_InActiveSer_Table.InActiveSer_ContractEndT as OldConET \
from Employee_BasicInfor_Table, Employee_InActiveSer_Table \
where (Employee_BasicInfor_Table.employee_ID = Employee_InActiveSer_Table.employee_ID and \
Employee_BasicInfor_Table.employee_IDCard = Employee_InActiveSer_Table.employee_IDCard and \
Employee_InActiveSer_Table.InActiveSer_FixContract = '有固定合同' and \
Employee_InActiveSer_Table.InActiveSer_ContractEndT > #%d-%d-%d# and \
Employee_InActiveSer_Table.InActiveSer_ContractEndT < dateadd('d', 30, #%d-%d-%d#)) \
order by Employee_InActiveSer_Table.InActiveSer_NewProperty",
wTime[0], wTime[1], wTime[2], wTime[0], wTime[1], wTime[2]);
ADOdbo.OpenRecordset(SQL);
ADOdbo.ShowADOView(strFields, 11, this);
ADOdbo.CloseRecorset();
for (int i = 0; i < m_Menu3_CF_List.GetItemCount(); i++) // 改变员工ID为顺序的序号
{
CString strText;
strText.Format("%d", i + 1);
m_Menu3_CF_List.SetItemText(i, 0, strText);
}
}
/*********************************************************************
函数说明: [按钮] 修改合同日期
函数参数:
*********************************************************************/
void Menu_ContractFlowerDlg::OnMenu3CfBtnModifyendt()
{
BOOL bShowModifyTime = FALSE;
for (int i = 0; i < m_Menu3_CF_List.GetItemCount(); i++)
{
if (m_Menu3_CF_List.GetCheck(i)) // 确定有选中的项
{
bShowModifyTime = TRUE; // 选中的所在行
}
}
if (!bShowModifyTime)
{
MessageBox("请勾选至少一个项\t", "提示", MB_OK | MB_ICONEXCLAMATION);
return;
}
// 获取修改的日期
if (IDOK == Cm_ContractNewTDlg.DoModal())
{
m_CF_ContractBT = Cm_ContractNewTDlg.m_NewContractBT;
m_CF_ContractET = Cm_ContractNewTDlg.m_NewContractET;
if (IDYES == MessageBox("确认要修改这些员工的合同时间吗?\t", "提示", MB_YESNO | MB_ICONEXCLAMATION))
{
m_nItemCount = 0;
for (int n = 0; n < m_Menu3_CF_List.GetItemCount(); n++)
{
if (m_Menu3_CF_List.GetCheck(n))
{
// 选中的所在行
m_Menu3_CF_List.SetItemText(n, 11, m_CF_ContractBT);
m_Menu3_CF_List.SetItemText(n, 12, m_CF_ContractET);
m_nItemCount++;
}
}
GetDlgItem(IDC_MENU3_CF_BTN_EXCEL)->EnableWindow(TRUE);
ModifyIASContract(m_CF_ContractBT, m_CF_ContractET);
}
}
}
/*********************************************************************
函数说明: [按钮] 修改合同日期
函数参数:
*********************************************************************/
void Menu_ContractFlowerDlg::ModifyIASContract(CString strBT, CString strET)
{
CADOOperation ADOdbo;
CString SQL;
int nRec = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -