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

📄 applyemployeedlg.cpp

📁 人力资源管理系统
💻 CPP
字号:
// ApplyEmployeeDlg.cpp : implementation file
//

#include "stdafx.h"
#include "hrms.h"
#include "ApplyEmployeeDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CApplyEmployeeDlg dialog


CApplyEmployeeDlg::CApplyEmployeeDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CApplyEmployeeDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CApplyEmployeeDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CApplyEmployeeDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CApplyEmployeeDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CApplyEmployeeDlg, CDialog)
	//{{AFX_MSG_MAP(CApplyEmployeeDlg)
	ON_CBN_SELCHANGE(IDC_COMBO5, OnSelchangeCombo5)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CApplyEmployeeDlg message handlers

BOOL CApplyEmployeeDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	// TODO: Add extra initialization here
	CComboBox* pDept = (CComboBox*)GetDlgItem(IDC_COMBO5);
	CFileRecord::InitDeptComboBox(pDept);
	if(!m_ApplicationSerial.IsEmpty())
	{
		SetDlgContent(m_ApplicationSerial);
		SetModifyMode();
		return TRUE;
	}
	OnSelchangeCombo5();
	((CComboBox*)GetDlgItem(IDC_COMBO2))->SetCurSel(0);
	((CComboBox*)GetDlgItem(IDC_COMBO6))->SetCurSel(0);
	((CComboBox*)GetDlgItem(IDC_COMBO3))->SetCurSel(0);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CApplyEmployeeDlg::OnSelchangeCombo5() 
{
	// TODO: Add your control notification handler code here
	CComboBox* pDept = (CComboBox*)GetDlgItem(IDC_COMBO5), 
		*pDuty = (CComboBox*)GetDlgItem(IDC_COMBO1);
	CString str;
	pDept->GetLBText(pDept->GetCurSel(), str);
	CFileRecord::ShowDutyComboBox(str, pDuty);
}

BOOL CApplyEmployeeDlg::CheckPrincipal(const CString &id)
{
	int count = 0;
	CADOOperation emp;
	BOOL ret;
	CString sql;
	if(id.IsEmpty())
		return FALSE;
	sql.Format("select count(*) from tb_employee where employee_id = '%s'", id);
	emp.OpenRecordset(sql);
	ret = emp.GetItemContent(0, CADOOperation::ADO_TYPE_INT, &count);
	if(!ret || count <= 0)
	{
		emp.CloseRecorset();
		return FALSE;
	}
	emp.CloseRecorset();

	return TRUE;
}

void CApplyEmployeeDlg::OnOK() 
{
	// TODO: Add extra validation here
	CString name;
	GetDlgItemText(IDC_EDIT3, name);
	if(!CheckPrincipal(name))
	{
		MessageBox("请输入一个有效的负责人!", "错误", MB_OK | MB_ICONWARNING);
		return ;
	}
	if(!m_ApplicationSerial.IsEmpty())
	{
		if(SaveModify())
		{
			MessageBox("修改成功!", "提示");
			CDialog::OnOK();
		}
		return ;
	}
	if(RequestEmployee())
	{
		if(IDYES != MessageBox("保存成功!是否继续操作?", "提示", MB_YESNO))
			CDialog::OnOK();

	}
}

BOOL CApplyEmployeeDlg::RequestEmployee()
{
	CADOOperation req;
	BOOL ret = TRUE;
	CString str;
	int number;
	SYSTEMTIME sysTime = {0};

	req.OpenTable("tb_torequest");
	req.AddNew();

	GetDlgItemText(IDC_EDIT4, str);
	req.SetItemContent("torequest_number", CADOOperation::ADO_TYPE_STRING, &str);
	GetDlgItemText(IDC_COMBO5, str);
	number = CFileRecord::GetDeptNumber(str);										//保存申请部门
	ret = req.SetItemContent("torequest_dept", CADOOperation::ADO_TYPE_INT, &number);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	GetDlgItemText(IDC_COMBO1, str);
	number = CFileRecord::GetDutyNumber(str);										//保存职位需求
	ret = req.SetItemContent("torequest_duty", CADOOperation::ADO_TYPE_INT, &number);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	GetDlgItemText(IDC_COMBO2, str);												//保存性别需求
	ret = req.SetItemContent("torequest_sex", CADOOperation::ADO_TYPE_STRING, &str);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	number = GetDlgItemInt(IDC_EDIT13);												//年龄要求上限
	ret = req.SetItemContent("torequest_minage", CADOOperation::ADO_TYPE_INT, &number);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	number = GetDlgItemInt(IDC_EDIT2);												//年龄要求下限
	ret = req.SetItemContent("torequest_maxage", CADOOperation::ADO_TYPE_INT, &number);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	GetDlgItemText(IDC_COMBO6, str);												//学历要求
	ret = req.SetItemContent("torequest_edulev", CADOOperation::ADO_TYPE_STRING, &str);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	GetDlgItemText(IDC_EDIT1, str);													//职位说明
	ret = req.SetItemContent("torequest_explain", CADOOperation::ADO_TYPE_TEXT, &str);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	GetDlgItemText(IDC_EDIT3, str);													//负责人
	ret = req.SetItemContent("torequest_principal" ,CADOOperation::ADO_TYPE_STRING, &str);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER1))->GetTime(&sysTime);			///保存请求日期
	ret = req.SetItemContent("torequest_date", CADOOperation::ADO_TYPE_DATE, &sysTime);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER2))->GetTime(&sysTime);			//保存有效日期
	ret = req.SetItemContent("torequest_perofval", CADOOperation::ADO_TYPE_DATE, &sysTime);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	GetDlgItemText(IDC_COMBO3, str);												//保存状态
	ret = req.SetItemContent("torequest_state", CADOOperation::ADO_TYPE_STRING, &str);
	if(!ret)
	{
		req.CloseTable();
		return FALSE;
	}
	req.UpdateData();
	req.CloseTable();
	return TRUE;
}

void CApplyEmployeeDlg::SetApplicationSerial(CString &applicationSerial)
{
	m_ApplicationSerial = applicationSerial;
}

BOOL CApplyEmployeeDlg::SetDlgContent(CString &applicationSerial)
{
	CString sql, constr;
	CADOOperation ado;
	DWORD dw = -1;
	SYSTEMTIME sysTime = {0};
	CComboBox *dept = (CComboBox*)GetDlgItem(IDC_COMBO5),
		*duty = (CComboBox*)GetDlgItem(IDC_COMBO1);
	sql.Format("\
				  select tb_torequest.torequest_number, tb_dept.dept_name, tb_dept_duty.duty_name, tb_torequest.torequest_sex,\
				  tb_torequest.torequest_minage, tb_torequest.torequest_maxage, tb_torequest.torequest_edulev,\
				  tb_torequest.torequest_principal,tb_torequest.torequest_state,\
				  tb_torequest.torequest_date,tb_torequest.torequest_perofval , tb_torequest.torequest_explain\
				  from tb_torequest, tb_dept, tb_dept_duty \
				  where tb_torequest.torequest_dept = tb_dept.dept_id \
				  and tb_torequest.torequest_duty = tb_dept_duty.duty_id \
				  and tb_torequest.torequest_number = '%s'", applicationSerial);
	ado.OpenRecordset(sql);
	if(ado.IsLastRow())
	{
		ado.CloseRecorset();
		return FALSE;
	}
	ado.GetItemContent("torequest_principal", CADOOperation::ADO_TYPE_STRING, &constr);
	SetDlgItemText(IDC_EDIT3, constr);
	ado.GetItemContent("dept_name", CADOOperation::ADO_TYPE_STRING, &constr);
	dept->SetCurSel(dept->FindString(0, constr.GetBuffer(0)));
	OnSelchangeCombo5();
	ado.GetItemContent("duty_name", CADOOperation::ADO_TYPE_STRING, &constr);
	duty->SetCurSel(duty->FindString(0, constr.GetBuffer(0)));
	ado.GetItemContent("torequest_sex", CADOOperation::ADO_TYPE_STRING, &constr);
	if(0 == constr.Compare("男"))
		((CComboBox*)GetDlgItem(IDC_COMBO2))->SetCurSel(0);
	else
		((CComboBox*)GetDlgItem(IDC_COMBO2))->SetCurSel(1);
	ado.GetItemContent("torequest_minage", CADOOperation::ADO_TYPE_INT, &dw);
	SetDlgItemInt(IDC_EDIT13, dw);
	ado.GetItemContent("torequest_maxage", CADOOperation::ADO_TYPE_INT, &dw);
	SetDlgItemInt(IDC_EDIT2, dw);
	ado.GetItemContent("torequest_edulev", CADOOperation::ADO_TYPE_STRING, &constr);
	SetDlgItemText(IDC_COMBO6, constr);
	ado.GetItemContent("torequest_state", CADOOperation::ADO_TYPE_STRING, &constr);
	constr.Replace(" ", "");
	CComboBox * state = (CComboBox*)GetDlgItem(IDC_COMBO3);
	int i = state->FindString(0, constr.GetBuffer(0));
	state->SetCurSel(i);
	ado.GetItemContent("torequest_date", CADOOperation::ADO_TYPE_DATE, &sysTime);
	((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER1))->SetTime(&sysTime);
	ado.GetItemContent("torequest_perofval", CADOOperation::ADO_TYPE_DATE, &sysTime);
	((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER2))->SetTime(&sysTime);
	ado.GetItemContent("torequest_explain", CADOOperation::ADO_TYPE_STRING, &constr);
	SetDlgItemText(IDC_EDIT1, constr);
	


	ado.CloseRecorset();
	return TRUE;
}

BOOL CApplyEmployeeDlg::SetModifyMode()
{

	SetWindowText("申请用人信息修改");
	SetDlgItemText(IDC_EDIT4, m_ApplicationSerial);
	GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE);
	SetDlgItemText(IDOK, "修改");
	return TRUE;
}

BOOL CApplyEmployeeDlg::SaveModify()
{
	CString sql, constr;
	CADOOperation ado;
	DWORD deptSerial, dutySerial;
	int age;
	SYSTEMTIME sysTime = {0};
	sql.Format("select * from tb_torequest where tb_torequest.torequest_number = '%s'", m_ApplicationSerial);
	ado.OpenRecordset(sql);
	if(ado.IsLastRow())
	{
		ado.CloseRecorset();
		return FALSE;
	}
	GetDlgItemText(IDC_EDIT3, constr);
	ado.SetItemContent("torequest_principal", CADOOperation::ADO_TYPE_STRING, &constr);
	GetDlgItemText(IDC_COMBO5, constr);
	deptSerial = CFileRecord::GetDeptNumber(constr);
	GetDlgItemText(IDC_COMBO1, constr);
	dutySerial = CFileRecord::GetDutyNumber(constr);
	ado.SetItemContent("torequest_dept", CADOOperation::ADO_TYPE_INT, &deptSerial);
	ado.SetItemContent("torequest_duty", CADOOperation::ADO_TYPE_INT, &dutySerial);
	GetDlgItemText(IDC_COMBO2, constr);
	ado.SetItemContent("torequest_sex", CADOOperation::ADO_TYPE_STRING, &constr);
	age = GetDlgItemInt(IDC_EDIT13);
	ado.SetItemContent("torequest_minage", CADOOperation::ADO_TYPE_INT, &age);
	age = GetDlgItemInt(IDC_EDIT2);
	ado.SetItemContent("torequest_maxage", CADOOperation::ADO_TYPE_INT, &age);
	GetDlgItemText(IDC_COMBO6, constr);
	ado.SetItemContent("torequest_edulev", CADOOperation::ADO_TYPE_STRING, &constr);
	GetDlgItemText(IDC_COMBO3, constr);
	ado.SetItemContent("torequest_state", CADOOperation::ADO_TYPE_STRING, &constr);
	GetDlgItemText(IDC_EDIT1, constr);
	ado.SetItemContent("torequest_explain", CADOOperation::ADO_TYPE_TEXT, &constr);
	((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER1))->GetTime(&sysTime);
	ado.SetItemContent("torequest_date", CADOOperation::ADO_TYPE_DATE, &sysTime);
	((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER2))->SetTime(&sysTime);
	ado.SetItemContent("torequest_perofval", CADOOperation::ADO_TYPE_DATE, &sysTime);
	ado.UpdateData();
	ado.CloseRecorset();
	return TRUE;
}

⌨️ 快捷键说明

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