📄 funcoutposinfodlg.cpp
字号:
// FuncOutPosInfoDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ministryperson.h"
#include "FuncOutPosInfoDlg.h"
#include "excel9.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// FuncOutPosInfoDlg dialog
FuncOutPosInfoDlg::FuncOutPosInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(FuncOutPosInfoDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(FuncOutPosInfoDlg)
//}}AFX_DATA_INIT
}
void FuncOutPosInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(FuncOutPosInfoDlg)
DDX_Control(pDX, IDC_COMBO_OUTPI_DEPART, m_Cmb_OutPI_Depart);
DDX_Control(pDX, IDC_COMBO_OUTPI_COMPANY, m_Cmb_OutPI_Com);
DDX_Control(pDX, IDC_CHECK_OUTPI_CONDITION, m_CBtn_OutCheck);
DDX_Control(pDX, IDC_LIST_OUTPI_LIST, m_ListCtrl_OutPI);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(FuncOutPosInfoDlg, CDialog)
//{{AFX_MSG_MAP(FuncOutPosInfoDlg)
ON_MESSAGE(UM_LISTEDIT_DBCLICK, OnListEditDBClick)
ON_BN_CLICKED(IDC_BUTTON_OUTPI_QUERY, OnButtonOutpiQuery)
ON_NOTIFY(NM_CLICK, IDC_LIST_OUTPI_LIST, OnClickListOutpiList)
ON_BN_CLICKED(IDC_CHECK_OUTPI_CONDITION, OnCheckOutpiCondition)
ON_CBN_SELCHANGE(IDC_COMBO_OUTPI_COMPANY, OnSelchangeComboOutpiCompany)
ON_BN_CLICKED(IDC_BTN_OUTPI_PATH, OnBtnOutpiPath)
ON_BN_CLICKED(IDC_BTN_OUTPI_EXCEL, OnBtnOutpiExcel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// FuncOutPosInfoDlg message handlers
BOOL FuncOutPosInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
InitCompanyCmB(&m_Cmb_OutPI_Com);
MakeShowInfoStyle();
IDStateControl(FALSE);
InitFarmExcelPath();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
/*********************************************************************
函数说明: 清空数据表的显示
函数参数: void
*********************************************************************/
BOOL FuncOutPosInfoDlg::DeleteAllRows()
{
m_ListCtrl_OutPI.DeleteAllItems(); // 清空列表控件
return TRUE;
}
/*********************************************************************
函数说明: 设置列表控件一行的内容
函数参数:
*********************************************************************/
BOOL FuncOutPosInfoDlg::SetRow(int row, CString *strArray, int nCount)
{
m_ListCtrl_OutPI.InsertItem(row, strArray[0]); // 在列表控件中插入一行
for (int i = 1; i < nCount; i++)
{
m_ListCtrl_OutPI.SetItemText(row, i, strArray[i]); // 设置除第一行外的其他行
}
return TRUE;
}
/*********************************************************************
函数说明: 设置显示模式
函数参数:
*********************************************************************/
void FuncOutPosInfoDlg::MakeShowInfoStyle()
{
m_ListCtrl_OutPI.SetExtendedStyle(LVS_EX_FLATSB |
LVS_EX_GRIDLINES |
LVS_EX_FULLROWSELECT |
LVS_EX_ONECLICKACTIVATE);
m_ListCtrl_OutPI.InsertColumn(0, "员工编号", LVCFMT_LEFT, 70);
m_ListCtrl_OutPI.InsertColumn(1, "姓名", LVCFMT_LEFT, 70);
m_ListCtrl_OutPI.InsertColumn(2, "身份证", LVCFMT_LEFT, 160);
m_ListCtrl_OutPI.InsertColumn(3, "性别", LVCFMT_LEFT, 50);
m_ListCtrl_OutPI.InsertColumn(4, "年龄", LVCFMT_LEFT, 50);
m_ListCtrl_OutPI.InsertColumn(5, "学历", LVCFMT_LEFT, 50);
m_ListCtrl_OutPI.InsertColumn(6, "单位", LVCFMT_LEFT, 120);
m_ListCtrl_OutPI.InsertColumn(7, "部门", LVCFMT_LEFT, 120);
m_ListCtrl_OutPI.InsertColumn(8, "职务", LVCFMT_LEFT, 100);
m_ListCtrl_OutPI.InsertColumn(9, "入司时间", LVCFMT_LEFT, 100);
m_ListCtrl_OutPI.InsertColumn(10, "员工性质", LVCFMT_LEFT, 110);
m_ListCtrl_OutPI.InsertColumn(11, "合同起始时间", LVCFMT_LEFT, 100);
m_ListCtrl_OutPI.InsertColumn(12, "合同终止时间", LVCFMT_LEFT, 100);
m_ListCtrl_OutPI.InsertColumn(13, "有无固定合同", LVCFMT_LEFT, 100);
m_ListCtrl_OutPI.InsertColumn(14, "家庭住址", LVCFMT_LEFT, 110);
m_ListCtrl_OutPI.InsertColumn(15, "联系电话", LVCFMT_LEFT, 110);
m_ListCtrl_OutPI.InsertColumn(16, "备注", LVCFMT_LEFT, 150);
}
/*********************************************************************
函数说明: “查看”按钮
函数参数:
*********************************************************************/
void FuncOutPosInfoDlg::OnButtonOutpiQuery()
{
CString strFarmerType;
CFuncOper FunOper;
if (!FunOper.CheckType_CComBox(this, IDC_COMBO_OUTPI_QUERYTYPE, "一个【查询类别】\t", strFarmerType))
{
return;
}
if (PrePareFarmerType(m_CBtn_OutCheck.GetCheck()))
{
QueryFarmerInfo();
}
}
/*********************************************************************
函数说明:
函数参数:
*********************************************************************/
BOOL FuncOutPosInfoDlg::PrePareFarmerType(BOOL bCheckOn)
{
CString strFarmerType;
GetDlgItemText(IDC_COMBO_OUTPI_QUERYTYPE, strFarmerType);
m_strFarmType = strFarmerType;
m_strFarmCom = "";
m_strFarmDepart = "";
if (bCheckOn)
{
CString strCompany;
CString strDepart;
GetDlgItemText(IDC_COMBO_OUTPI_COMPANY, strCompany);
GetDlgItemText(IDC_COMBO_OUTPI_DEPART, strDepart);
m_strFarmCom = strCompany;
m_strFarmDepart = strDepart;
if (strCompany == "请选择已有的单位")
{
MessageBox("请选择一个单位做为查询条件\t", "提示", MB_OK | MB_ICONEXCLAMATION);
return FALSE;
}
else
{
if (strFarmerType == "所有")
{
if (strDepart == "请选择部门") // 公司做为条件
{
m_Farmer_strSQL.Format("(Employee_InActiveSer_Table.employee_IDCard = Employee_BasicInfor_Table.employee_IDCard and \
Employee_InActiveSer_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
Employee_InActiveSer_Table.InActiveSer_NewProperty = '农民工' and \
Employee_InActiveSer_Table.InActiveSer_Company = '%s') or \
(Employee_InActiveSer_Table.employee_IDCard = Employee_BasicInfor_Table.employee_IDCard and \
Employee_InActiveSer_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
Employee_InActiveSer_Table.InActiveSer_NewProperty = '协议工' and \
Employee_InActiveSer_Table.InActiveSer_Company = '%s')", strCompany, strCompany);
}
else // 公司和部门一起做条件
{
m_Farmer_strSQL.Format("(Employee_InActiveSer_Table.employee_IDCard = Employee_BasicInfor_Table.employee_IDCard and \
Employee_InActiveSer_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
Employee_InActiveSer_Table.InActiveSer_NewProperty = '农民工' and \
Employee_InActiveSer_Table.InActiveSer_Company = '%s' and \
Employee_InActiveSer_Table.InActiveSer_Department = '%s') or \
(Employee_InActiveSer_Table.employee_IDCard = Employee_BasicInfor_Table.employee_IDCard and \
Employee_InActiveSer_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
Employee_InActiveSer_Table.InActiveSer_NewProperty = '协议工' and \
Employee_InActiveSer_Table.InActiveSer_Company = '%s' and \
Employee_InActiveSer_Table.InActiveSer_Department = '%s')",
strCompany, strDepart, strCompany, strDepart);
}
}
else
{
if (strDepart == "请选择部门") // 公司做为条件
{
m_Farmer_strSQL.Format("Employee_InActiveSer_Table.employee_IDCard = Employee_BasicInfor_Table.employee_IDCard and \
Employee_InActiveSer_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
Employee_InActiveSer_Table.InActiveSer_NewProperty = '%s' and \
Employee_InActiveSer_Table.InActiveSer_Company = '%s'", strFarmerType, strCompany);
}
else // 公司和部门一起做条件
{
m_Farmer_strSQL.Format("Employee_InActiveSer_Table.employee_IDCard = Employee_BasicInfor_Table.employee_IDCard and \
Employee_InActiveSer_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
Employee_InActiveSer_Table.InActiveSer_NewProperty = '%s' and \
Employee_InActiveSer_Table.InActiveSer_Company = '%s' and \
Employee_InActiveSer_Table.InActiveSer_Department = '%s'", strFarmerType, strCompany, strDepart);
}
}
}
}
else // 没有公司和部门做为条件
{
if (strFarmerType == "所有")
{
m_Farmer_strSQL.Format("(Employee_InActiveSer_Table.employee_IDCard = Employee_BasicInfor_Table.employee_IDCard and \
Employee_InActiveSer_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
Employee_InActiveSer_Table.InActiveSer_NewProperty = '农民工') or \
(Employee_InActiveSer_Table.employee_IDCard = Employee_BasicInfor_Table.employee_IDCard and \
Employee_InActiveSer_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
Employee_InActiveSer_Table.InActiveSer_NewProperty = '协议工')");
}
else
{
m_Farmer_strSQL.Format("Employee_InActiveSer_Table.employee_IDCard = Employee_BasicInfor_Table.employee_IDCard and \
Employee_InActiveSer_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
Employee_InActiveSer_Table.InActiveSer_NewProperty = '%s'", strFarmerType);
}
}
return TRUE;
}
/*********************************************************************
函数说明:
函数参数:
*********************************************************************/
void FuncOutPosInfoDlg::QueryFarmerInfo()
{
CString SQL;
SQL.Format("select Employee_BasicInfor_Table.employee_ID as bID, \
Employee_BasicInfor_Table.employee_Name as bName, \
Employee_BasicInfor_Table.employee_IDCard as bIDCard, \
Employee_BasicInfor_Table.employee_Sex as bSex, \
Employee_BasicInfor_Table.employee_Age as bAge, \
Employee_TrainExpe_Table.TrainExpe_Diploma1 as tDip1, \
Employee_InActiveSer_Table.InActiveSer_Company as iCom, \
Employee_InActiveSer_Table.InActiveSer_Department as iDep, \
Employee_InActiveSer_Table.InActiveSer_Duty as iDuty, \
Employee_BasicInfor_Table.employee_JoinTime as bJT, \
Employee_InActiveSer_Table.InActiveSer_EmployPro as EmlyPro, \
Employee_InActiveSer_Table.InActiveSer_ContractBegT as ConTBT, \
Employee_InActiveSer_Table.InActiveSer_ContractEndT as ConTET, \
Employee_InActiveSer_Table.InActiveSer_FixContract as ConFIX, \
Employee_BasicInfor_Table.employee_Address as bAdd, \
Employee_BasicInfor_Table.employee_MobilePhone as bCellP, \
Employee_BasicInfor_Table.employee_Remark as bRemark \
from Employee_InActiveSer_Table, Employee_BasicInfor_Table, Employee_TrainExpe_Table \
where %s order by Employee_InActiveSer_Table.InActiveSer_Company", m_Farmer_strSQL);
CADOOperation ADOdbo;
CString strFields[] = {"bID", "bName", "bIDCard", "bSex", "bAge", "tDip1", "iCom", "iDep", "iDuty", "bJT",
"EmlyPro", "ConTBT", "ConTET", "ConFIX", "bAdd", "bCellP", "bRemark"};
ADOdbo.OpenRecordset(SQL);
ADOdbo.ShowADOView(strFields, 17, this);
ADOdbo.CloseRecorset();
}
/*********************************************************************
函数说明: 通过对双击列表事件做出响应
函数参数: lpnmlv->iItem(记录集行数) lpnmlv->iSubItem(该记录集行的子项数)
*********************************************************************/
LRESULT FuncOutPosInfoDlg::OnListEditDBClick(WPARAM wParam, LPARAM lParam)
{
LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)wParam;
g_nEmployee_ID = atoi(m_ListCtrl_OutPI.GetItemText(lpnmlv->iItem, 0));
g_strEmployee_IDCard = m_ListCtrl_OutPI.GetItemText(lpnmlv->iItem, 2);
g_bQueryToShow = TRUE;
AllTogetherMainDlg AllToGetherDlg;
AllToGetherDlg.DoModal();
OnButtonOutpiQuery();
return TRUE;
}
/*********************************************************************
函数说明: 【单击】表项的响应
函数参数:
*********************************************************************/
void FuncOutPosInfoDlg::OnClickListOutpiList(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)pNMHDR;
g_nIndex = lpnmlv->iItem;
// 获取姓名和身份证
g_nEmployee_ID = atoi(m_ListCtrl_OutPI.GetItemText(lpnmlv->iItem, 0));
g_strEmployee_IDCard = m_ListCtrl_OutPI.GetItemText(lpnmlv->iItem, 2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -