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

📄 searchdlg.cpp

📁 人事管理系统源码。很好用的一个程序源码
💻 CPP
字号:
// SearchDlg.cpp : implementation file
//

#include "stdafx.h"
#include "manager.h"
#include "SearchDlg.h"


#include "AboutPaySet.h"
#include "DeptSet.h"
#include "DutySet.h"
#include "EducationSet.h"
#include "FolkSet.h"
#include "PoliticalSet.h"
#include "TechnicalSet.h"
#include "WorkerStatusSet.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSearchDlg dialog


CSearchDlg::CSearchDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSearchDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSearchDlg)
	m_strAboutPay = _T("");
	m_strDept = _T("");
	m_strDuty = _T("");
	m_strEducation = _T("");
	m_strFolk = _T("");
	m_strIsWorker = _T("");
	m_strMarry = _T("");
	m_strPolitical = _T("");
	m_strSex = _T("");
	m_strTechnical = _T("");
	m_nAge = 0;
	m_strDept2 = _T("");
	m_strDept3 = _T("");
	m_strName = _T("");
	m_strNative = _T("");
	m_bType = FALSE;
	//}}AFX_DATA_INIT
}


void CSearchDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSearchDlg)
	DDX_Control(pDX, IDC_LIST1, m_ctrList);
	DDX_Control(pDX, IDC_COMBO_TECHNICAL, m_ctrTechnical);
	DDX_Control(pDX, IDC_COMBO_POLITICAL, m_ctrPolitical);
	DDX_Control(pDX, IDC_COMBO_MARRY, m_ctrMarry);
	DDX_Control(pDX, IDC_COMBO_ISWORKER, m_ctrIsWorker);
	DDX_Control(pDX, IDC_COMBO_FOLK, m_ctrFolk);
	DDX_Control(pDX, IDC_COMBO_EDUCATION, m_ctrEducation);
	DDX_Control(pDX, IDC_COMBO_DUTY, m_ctrDuty);
	DDX_Control(pDX, IDC_COMBO_DEPT, m_ctrDept);
	DDX_Control(pDX, IDC_COMBO_ABOUTPAY, m_ctrAboutPay);
	DDX_CBString(pDX, IDC_COMBO_ABOUTPAY, m_strAboutPay);
	DDX_CBString(pDX, IDC_COMBO_DEPT, m_strDept);
	DDX_CBString(pDX, IDC_COMBO_DUTY, m_strDuty);
	DDX_CBString(pDX, IDC_COMBO_EDUCATION, m_strEducation);
	DDX_CBString(pDX, IDC_COMBO_FOLK, m_strFolk);
	DDX_CBString(pDX, IDC_COMBO_ISWORKER, m_strIsWorker);
	DDX_CBString(pDX, IDC_COMBO_MARRY, m_strMarry);
	DDX_CBString(pDX, IDC_COMBO_POLITICAL, m_strPolitical);
	DDX_CBString(pDX, IDC_COMBO_SEX, m_strSex);
	DDX_CBString(pDX, IDC_COMBO_TECHNICAL, m_strTechnical);
	DDX_Text(pDX, IDC_EDIT_AGE, m_nAge);
	DDX_Text(pDX, IDC_EDIT_DEPT2, m_strDept2);
	DDX_Text(pDX, IDC_EDIT_DEPT3, m_strDept3);
	DDX_Text(pDX, IDC_EDIT_NAME, m_strName);
	DDX_Text(pDX, IDC_EDIT_NATIVE, m_strNative);
	DDX_Check(pDX, IDC_CHECK1, m_bType);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSearchDlg, CDialog)
	//{{AFX_MSG_MAP(CSearchDlg)
	ON_BN_CLICKED(IDC_BUTTON_SEARCH, OnButtonSearch)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSearchDlg message handlers

BOOL CSearchDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	//初始化员工列表///////////////////////////////////////////////////
	m_ctrList.InsertColumn(0,"员工号");
	m_ctrList.InsertColumn(1,"姓名");
	m_ctrList.InsertColumn(2,"性别");
	m_ctrList.InsertColumn(3,"生日");
	m_ctrList.InsertColumn(4,"年龄");
	m_ctrList.InsertColumn(5,"婚否");
	m_ctrList.InsertColumn(6,"职务");
	m_ctrList.InsertColumn(7,"职称");
	m_ctrList.InsertColumn(8,"职工类型");
	m_ctrList.InsertColumn(9,"工资类别");
	m_ctrList.InsertColumn(10,"文化程度");
	m_ctrList.InsertColumn(11,"政治面貌");
	m_ctrList.InsertColumn(12,"入职时间");

	RECT rect;
	m_ctrList.GetWindowRect(&rect);
	int wid = rect.right - rect.left;
	m_ctrList.SetColumnWidth(0,wid/13);
	m_ctrList.SetColumnWidth(1,wid/13);
	m_ctrList.SetColumnWidth(2,wid/13-15);
	m_ctrList.SetColumnWidth(3,wid/13+15);
	m_ctrList.SetColumnWidth(4,wid/13-15);
	m_ctrList.SetColumnWidth(5,wid/13-15);
	m_ctrList.SetColumnWidth(6,wid/13);
	m_ctrList.SetColumnWidth(7,wid/13);
	m_ctrList.SetColumnWidth(8,wid/13);
	m_ctrList.SetColumnWidth(9,wid/13);
	m_ctrList.SetColumnWidth(10,wid/13);
	m_ctrList.SetColumnWidth(11,wid/13);
	m_ctrList.SetColumnWidth(12,wid/13+15);

	m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	/////////////////////////////////////////////////////////////////////////////////////

	//初始化查询条件中的ComboBox///////////////////////////////////////////////////////
	CString strSQL;
	//部门
	CDeptSet DeptSet ;
	strSQL="select * from dept";
	if(!DeptSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);

	}	
	while(!DeptSet.IsEOF())
	{
		m_ctrDept.AddString(DeptSet.m_dept);
		DeptSet.MoveNext();
	}
	DeptSet.Close();
	//职工职务
	CDutySet DutySet ;
	strSQL="select * from duty";
	if(!DutySet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);

	}	
	while(!DutySet.IsEOF())
	{
		m_ctrDuty.AddString(DutySet.m_duty);
		DutySet.MoveNext();
	}
	DutySet.Close();

	//职工职称
	CTechnicalSet TechnicalSet ;
	strSQL="select * from technical";
	if(!TechnicalSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);

	}	
	while(!TechnicalSet.IsEOF())
	{
		m_ctrTechnical.AddString(TechnicalSet.m_technical);
		TechnicalSet.MoveNext();
	}
	TechnicalSet.Close();
	//职工类型
	CWorkerStatusSet WorkerStatusSet ;
	strSQL="select * from status";
	if(!WorkerStatusSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);

	}	
	while(!WorkerStatusSet.IsEOF())
	{
		m_ctrIsWorker.AddString(WorkerStatusSet.m_workstatus);
		WorkerStatusSet.MoveNext();
	}
	WorkerStatusSet.Close();
	//工资类别
	CAboutPaySet AboutPaySet ;
	strSQL="select * from aboutpay";
	if(!AboutPaySet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);

	}	
	while(!AboutPaySet.IsEOF())
	{
		m_ctrAboutPay.AddString(AboutPaySet.m_aboutpay);
		AboutPaySet.MoveNext();
	}
	AboutPaySet.Close();
	//职工民族
	CFolkSet FolkSet ;
	strSQL="select * from folk";
	if(!FolkSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);

	}	
	while(!FolkSet.IsEOF())
	{
		m_ctrFolk.AddString(FolkSet.m_folk);
		FolkSet.MoveNext();
	}
	FolkSet.Close();
	//政治面貌
	CPoliticalSet PoliticalSet ;
	strSQL="select * from political";
	if(!PoliticalSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);

	}	
	while(!PoliticalSet.IsEOF())
	{
		m_ctrPolitical.AddString(PoliticalSet.m_political);
		PoliticalSet.MoveNext();
	}
	PoliticalSet.Close();
	//文化程度
	CEducationSet EducationSet ;
	strSQL="select * from education";
	if(!EducationSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);

	}	
	while(!EducationSet.IsEOF())
	{
		m_ctrEducation.AddString(EducationSet.m_education);
		EducationSet.MoveNext();
	}
	EducationSet.Close();	
	///////////////////////////////////////////////////////////////////////////////////

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSearchDlg::OnButtonSearch() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	CString strSQL;
	CString strTemp;
	CString strType;
	BOOL	bNoCondition = TRUE;

	//选择是否进行模糊查询
	if(m_bType)
		strType = " = ";
	else
		strType = " like ";
	//根据查询条件构造SQL语句///////////////////////////////////////////////
	strSQL = "select * from person where ";
	if(m_strAboutPay!="")
	{
		strTemp.Format(" aboutpay %s '%s' ",strType,m_strAboutPay);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strDept!="")
	{
		strTemp.Format(" dept %s '%s' ",strType,m_strDept);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strDuty!="")
	{
		strTemp.Format(" duty %s '%s' ",strType,m_strDuty);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strEducation!="")
	{
		strTemp.Format(" education %s '%s' ",strType,m_strEducation);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;	
	}
	if(m_strFolk!="")
	{
		strTemp.Format(" folk %s '%s' ",strType,m_strFolk);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strIsWorker!="")
	{
		strTemp.Format(" isworker %s '%s' ",strType,m_strIsWorker);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strMarry!="")
	{
		strTemp.Format(" ismarry %s '%s' ",strType,m_strMarry);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strPolitical!="")
	{
		strTemp.Format(" political %s '%s' ",strType,m_strPolitical);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strSex!="")
	{
		strTemp.Format(" sex %s '%s' ",strType,m_strSex);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strTechnical!="")
	{
		strTemp.Format(" technical %s '%s' ",strType,m_strTechnical);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_nAge>0)
	{
		
		strTemp.Format(" age = %d ",strType,m_nAge);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strDept2!="")
	{
		strTemp.Format(" dept2 %s '%s' ",strType,m_strDept2);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;	
	}
	if(m_strDept3!="")
	{
		strTemp.Format(" dept3 %s '%s' ",strType,m_strDept3);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strName!="")
	{
		strTemp.Format(" name %s '%s' ",strType,m_strName);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}
	if(m_strNative!="")
	{
		strTemp.Format(" native %s '%s' ",strType,m_strNative);
		if(!bNoCondition)
			strSQL += " and ";
		strSQL += strTemp;
		bNoCondition = FALSE;
	}

	if(bNoCondition)
	{
		strSQL = "select * from person";
	}
	///////////////////////////////////////////////////////////
//MessageBox(strSQL);

	m_ctrList.DeleteAllItems();
	m_ctrList.SetRedraw(FALSE);


	if(!m_PersonSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return ;
	}	
	char buffer[20];
	CString   strTime;
	int i=0;
	while(!m_PersonSet.IsEOF())
	{
		
		m_ctrList.InsertItem(i,m_PersonSet.m_ID);
		m_ctrList.SetItemText(i,1,m_PersonSet.m_name);
		m_ctrList.SetItemText(i,2,m_PersonSet.m_sex);
		strTime.Format("%d-%d-%d",m_PersonSet.m_birth.GetYear(),m_PersonSet.m_birth.GetMonth(),m_PersonSet.m_birth.GetDay());
		m_ctrList.SetItemText(i,3,strTime);
		_itoa(m_PersonSet.m_age,buffer,10);
		m_ctrList.SetItemText(i,4,buffer);
		m_ctrList.SetItemText(i,5,m_PersonSet.m_ismarry);
		m_ctrList.SetItemText(i,6,m_PersonSet.m_duty);
		m_ctrList.SetItemText(i,7,m_PersonSet.m_technical);
		m_ctrList.SetItemText(i,8,m_PersonSet.m_isworker);
		m_ctrList.SetItemText(i,9,m_PersonSet.m_aboutpay);
		m_ctrList.SetItemText(i,10,m_PersonSet.m_education);
		m_ctrList.SetItemText(i,11,m_PersonSet.m_political);
		strTime.Format("%d-%d-%d",m_PersonSet.m_date2.GetYear(),m_PersonSet.m_date2.GetMonth(),m_PersonSet.m_date2.GetDay());
		m_ctrList.SetItemText(i,12,strTime);

		i++;
		m_PersonSet.MoveNext();
	}
	m_PersonSet.Close();
	m_ctrList.SetRedraw(TRUE);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -