📄 payprotectinfodlg.cpp
字号:
// PayProtectInfoDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MinistryPerson.h"
#include "PayProtectInfoDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
PayProtectInfoDlg::PayProtectInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(PayProtectInfoDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(PayProtectInfoDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void PayProtectInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(PayProtectInfoDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(PayProtectInfoDlg, CDialog)
//{{AFX_MSG_MAP(PayProtectInfoDlg)
ON_BN_CLICKED(IDC_BUTTON_PP_SAVE, OnButtonPpSave)
ON_BN_CLICKED(IDC_BUTTON_PP_MODIFY, OnButtonPpModify)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// PayProtectInfoDlg message handlers
BOOL PayProtectInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
if (!g_bQueryToShow)
{
GetDlgItem(IDC_BUTTON_PP_SAVE)->EnableWindow(TRUE);
GetDlgItem(IDC_BUTTON_PP_MODIFY)->EnableWindow(FALSE);
IniAllTimePicker();
m_bSaveNotModify_ProPI = TRUE;
}
else
{
GetDlgItem(IDC_BUTTON_PP_SAVE)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_PP_MODIFY)->EnableWindow(TRUE);
CtrlStatus_ProPI(FALSE);
GetProPInfoFromDB();
m_bSaveNotModify_ProPI = FALSE;
}
return TRUE;
}
/*********************************************************************
函数说明: 保存按钮
函数参数:
*********************************************************************/
void PayProtectInfoDlg::OnButtonPpSave()
{
if (!CheckAllInfo_PayP())
{
return;
}
if (!m_bSaveNotModify_ProPI)
{
if (g_bQueryToShow)
{
PpModify(g_nEmployee_ID, g_strEmployee_IDCard);
}
else
{
PpModify(g_In_nID, g_In_strIDCard);
}
}
else
{
PpSave(g_In_nID, g_In_strIDCard); // 保存
}
}
/*********************************************************************
函数说明: 修改按钮
函数参数:
*********************************************************************/
void PayProtectInfoDlg::OnButtonPpModify()
{
CtrlStatus_ProPI(TRUE);
m_bSaveNotModify_ProPI = FALSE;
GetDlgItem(IDC_BUTTON_PP_SAVE)->EnableWindow(TRUE);
GetDlgItem(IDC_BUTTON_PP_MODIFY)->EnableWindow(FALSE);
}
/*********************************************************************
函数说明: 保存按钮
函数参数:
*********************************************************************/
BOOL PayProtectInfoDlg::PpSave(int nKeyID, CString strKeyIDCard)
{
CADOOperation ADOdbo;
CString SQL;
SQL.Format("insert into Employee_PayProtect_Table values (%d, '%s', '%s', '%s', '%s','%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", nKeyID, strKeyIDCard,
PayP_OldProID, PayP_OldProBegT, PayP_OldProStopT,
PayP_InjuryProID, PayP_InjuryBegT, PayP_InjuryStopT,
PayP_BirthProID, PayP_BirthBegT, PayP_BirthStopT,
PayP_TreatProID, PayP_TreatProBegT, PayP_TreatProStop,
PayP_UnempProID, PayP_UnempProBegT, PayP_UnempProStop,
PayP_AccumID, PayP_AccumBegT, PayP_AccumStopT,
PayP_BasicPayment);
ADOdbo.OpenRecordset(SQL);
ADOdbo.CloseRecorset();
CtrlStatus_ProPI(FALSE);
GetDlgItem(IDC_BUTTON_PP_SAVE)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_PP_MODIFY)->EnableWindow(TRUE);
MessageBox("员工 【社保信息】 录入成功!", "成功", MB_OK | MB_ICONEXCLAMATION);
return TRUE;
}
/*********************************************************************
函数说明: 修改按钮
函数参数:
*********************************************************************/
BOOL PayProtectInfoDlg::PpModify(int nKeyID, CString strKeyIDCard)
{
CADOOperation ADOdbo;
CString SQL;
CString strFields[] = {"employee_ID", "employee_IDCard"};
CString strRetValue[2];
strRetValue[0] = "NOID";
strRetValue[1] = "NOIDCARD";
SQL.Format("select employee_ID, employee_IDCard from Employee_PayProtect_Table \
where employee_ID = %d and employee_IDCard = '%s'", nKeyID, strKeyIDCard);
ADOdbo.OpenRecordset(SQL);
ADOdbo.GetFieldsValue(strFields, 2, strRetValue, FALSE);
ADOdbo.CloseRecorset();
if (strRetValue[0] == "NOID" && strRetValue[1] == "NOIDCARD")
{
PpSave(nKeyID, strKeyIDCard);
return TRUE;
}
SQL.Format("update Employee_PayProtect_Table \
set PayProtect_OldProID = '%s', PayProtect_OldProBegT = '%s', PayProtect_OldProStopT = '%s', \
PayProtect_InjuryProID = '%s', PayProtect_InjuryBegT = '%s', PayProtect_InjuryStopT = '%s', \
PayProtect_BirthProID = '%s', PayProtect_BirthBegT = '%s', PayProtect_BirthStopT = '%s', \
PayProtect_TreatProID = '%s', PayProtect_TreatProBegT = '%s', PayProtect_TreatProStopT = '%s', \
PayProtect_UnempProID = '%s', PayProtect_UnempProBegT = '%s', PayProtect_UnempProStopT = '%s', \
PayProtect_AccumID = '%s', PayProtect_AccumBegT = '%s', PayProtect_AccumStopT = '%s', \
PayProtect_BasicPayment = '%s' \
where employee_ID = %d AND employee_IDCard = '%s'",
PayP_OldProID, PayP_OldProBegT, PayP_OldProStopT,
PayP_InjuryProID, PayP_InjuryBegT, PayP_InjuryStopT,
PayP_BirthProID, PayP_BirthBegT, PayP_BirthStopT,
PayP_TreatProID, PayP_TreatProBegT, PayP_TreatProStop,
PayP_UnempProID, PayP_UnempProBegT, PayP_UnempProStop,
PayP_AccumID, PayP_AccumBegT, PayP_AccumStopT,
PayP_BasicPayment, nKeyID, strKeyIDCard);
ADOdbo.OpenRecordset(SQL);
ADOdbo.CloseRecorset();
CtrlStatus_ProPI(FALSE);
GetDlgItem(IDC_BUTTON_PP_SAVE)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_PP_MODIFY)->EnableWindow(TRUE);
MessageBox("员工 【社保信息】 修改成功!", "成功", MB_OK | MB_ICONEXCLAMATION);
return TRUE;
}
/*********************************************************************
函数说明: 初始化时间显示
函数参数:
*********************************************************************/
void PayProtectInfoDlg::IniAllTimePicker()
{
SYSTEMTIME sysTime = {0};
sysTime.wYear = 1900;
sysTime.wMonth = 1;
sysTime.wDay = 1;
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_OPBT))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_OPST))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_IBT))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_IST))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_BBT))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_BST))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_TPBT))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_TPST))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_UPBT))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_UPST))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_ABT))->SetTime(&sysTime);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_AST))->SetTime(&sysTime);
}
/*********************************************************************
函数说明: 使内容可以编辑
函数参数:
*********************************************************************/
void PayProtectInfoDlg::CtrlStatus_ProPI(BOOL bStatus)
{
((CEdit*)GetDlgItem(IDC_EDIT_PP_BASICPAYMENT))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_OPBT))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_OPST))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_IBT))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_IST))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_BBT))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_BST))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_TPBT))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_TPST))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_UPBT))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_UPST))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_ABT))->EnableWindow(bStatus);
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_PP_AST))->EnableWindow(bStatus);
((CEdit*)GetDlgItem(IDC_EDIT_PP_OPID))->EnableWindow(bStatus);
((CEdit*)GetDlgItem(IDC_EDIT_PP_BPID))->EnableWindow(bStatus);
((CEdit*)GetDlgItem(IDC_EDIT_PP_IPID))->EnableWindow(bStatus);
((CEdit*)GetDlgItem(IDC_EDIT_PP_TPID))->EnableWindow(bStatus);
((CEdit*)GetDlgItem(IDC_EDIT_PP_UPID))->EnableWindow(bStatus);
((CEdit*)GetDlgItem(IDC_EDIT_PP_AID))->EnableWindow(bStatus);
}
/*********************************************************************
函数说明: 显示社保信息
函数参数: nID 员工编号
*********************************************************************/
void PayProtectInfoDlg::GetProPInfoFromDB()
{
CADOOperation ADOdbo;
CString SQL;
CString strFields[] = {""};
CString strFieldsValue[21] = {""}; // 社保信息所有字段有21个
int nFieldsCount = 21;
SQL.Format("select * from Employee_PayProtect_Table \
where employee_ID = %d AND employee_IDCard = '%s'",
g_nEmployee_ID, g_strEmployee_IDCard);
ADOdbo.OpenRecordset(SQL);
ADOdbo.GetFieldsValue(strFields, nFieldsCount, strFieldsValue, TRUE);
ADOdbo.CloseRecorset();
CString strName[] = {"employee_Name"};
CString strGetName[1];
SQL.Format("select employee_Name from Employee_BasicInfor_Table \
where employee_ID = %d AND employee_IDCard = '%s'",
g_nEmployee_ID, g_strEmployee_IDCard);
ADOdbo.OpenRecordset(SQL);
ADOdbo.GetFieldsValue(strName, 1, strGetName, FALSE);
ADOdbo.CloseRecorset();
CFuncOper FunOper;
FunOper.SetFieldValueToCEdit(this, IDC_EDIT_PP_NAME, strGetName[0]);
FunOper.SetFieldValueToCEdit(this, IDC_EDIT_PP_ID, strFieldsValue[0]);
FunOper.SetFieldValueToCEdit(this, IDC_EDIT_PP_IDCARD, strFieldsValue[1]);
FunOper.SetFieldValueToCEdit(this, IDC_EDIT_PP_OPID, strFieldsValue[2]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_OPBT, strFieldsValue[3]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_OPST, strFieldsValue[4]);
FunOper.SetFieldValueToCEdit(this, IDC_EDIT_PP_IPID, strFieldsValue[5]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_IBT, strFieldsValue[6]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_IST, strFieldsValue[7]);
FunOper.SetFieldValueToCEdit(this, IDC_EDIT_PP_BPID, strFieldsValue[8]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_BBT, strFieldsValue[9]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_BST, strFieldsValue[10]);
FunOper.SetFieldValueToCEdit(this, IDC_EDIT_PP_TPID, strFieldsValue[11]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_TPBT, strFieldsValue[12]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_TPST, strFieldsValue[13]);
FunOper.SetFieldValueToCEdit(this, IDC_EDIT_PP_UPID, strFieldsValue[14]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_UPBT, strFieldsValue[15]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_UPST, strFieldsValue[16]);
FunOper.SetFieldValueToCEdit(this, IDC_EDIT_PP_AID, strFieldsValue[17]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_ABT, strFieldsValue[18]);
FunOper.SetFieldValueToCTime(this, IDC_DTP_PP_AST, strFieldsValue[19]);
FunOper.SetFieldValueToCEdit(this, IDC_EDIT_PP_BASICPAYMENT, strFieldsValue[20]);
}
/*********************************************************************
函数说明: 所有填写内容的 合法性 检查
函数参数:
*********************************************************************/
BOOL PayProtectInfoDlg::CheckAllInfo_PayP()
{
if (!g_bQueryToShow)
{
if (g_In_nID == 0 && g_In_strIDCard == "")
{
MessageBox("按照正确的录入顺序,请您先填写【基本信息】页面内容 ", "提示", MB_OK | MB_ICONEXCLAMATION);
return FALSE;
}
}
CFuncOper FunOper;
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_PP_BASICPAYMENT, "【基本工资】", PayP_BasicPayment, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_PP_OPID, "【养老社保账号】", PayP_OldProID, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_OPBT, PayP_OldProBegT))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_OPST, PayP_OldProStopT))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_PP_IPID, "【工伤社保账号】", PayP_InjuryProID, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_IBT, PayP_InjuryBegT))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_IST, PayP_InjuryStopT))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_PP_BPID, "【生育社保账号】", PayP_BirthProID, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_BBT, PayP_BirthBegT))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_BST, PayP_BirthStopT))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_PP_TPID, "【医疗社保账号】", PayP_TreatProID, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_TPBT, PayP_TreatProBegT))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_TPST, PayP_TreatProStop))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_PP_UPID, "【失业社保账号】", PayP_UnempProID, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_UPBT, PayP_UnempProBegT))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_UPST, PayP_UnempProStop))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_PP_AID, "【公积金账号】", PayP_AccumID, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_ABT, PayP_AccumBegT))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_PP_AST, PayP_AccumStopT))
{
return FALSE;
}
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -