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

📄 menu_contractflowerdlg.cpp

📁 VC++和ACCESS使用ADO连接
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// 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 + -