📄 inactiveserinfodlg.cpp
字号:
return FALSE;
}
// 特殊工作岗位
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_SPEP_ADRESS1, "", m_Sp_Address1, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_SPEP_ADRESS2, "", m_Sp_Address2, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_SPEP_ADRESS3, "", m_Sp_Address3, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_SPEP_POSITION1, "", m_Sp_Position1, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_SPEP_POSITION2, "", m_Sp_Position2, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CEdit(this, IDC_EDIT_SPEP_POSITION3, "", m_Sp_Position3, TRUE))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_SPEP_JOINTIME1, m_Sp_JoinTime1))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_SPEP_JOINTIME2, m_Sp_JoinTime2))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_SPEP_JOINTIME3, m_Sp_JoinTime3))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_SPEP_LEAVETIME1, m_Sp_LeaveTime1))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_SPEP_LEAVETIME2, m_Sp_LeaveTime2))
{
return FALSE;
}
if (!FunOper.CheckType_CTimePicker(this, IDC_DTP_SPEP_LEAVETIME3, m_Sp_LeaveTime3))
{
return FALSE;
}
return TRUE;
}
/*********************************************************************
函数说明: 计算工龄
函数参数:
*********************************************************************/
void InActiveSerInfoDlg::GetWorkYears(int nKeyID, CString strKeyIDCard)
{
CADOOperation ADOdbo;
CString SQL;
CString strFields[] = {"employee_FirstJobTime"};
CString strRetValue[1];
strRetValue[0] = "1900-1-1";
SQL.Format("select employee_FirstJobTime from Employee_BasicInfor_Table \
where employee_ID = %d and employee_IDCard = '%s'", nKeyID, strKeyIDCard);
ADOdbo.OpenRecordset(SQL);
ADOdbo.GetFieldsValue(strFields, 1, strRetValue, FALSE);
ADOdbo.CloseRecorset();
if (strRetValue[0] == "1900-1-1")
{
SetDlgItemText(IDC_EDIT_IAS_WORKAGE, "【参加工作时间】有误");
}
else
{
int nPointYM = strRetValue[0].Find("-", 0);
CString strYear = strRetValue[0].Left(nPointYM);
int nPointMD = strRetValue[0].Find("-", nPointYM + 1);
CString strDay = strRetValue[0].Right(strRetValue[0].GetLength() - nPointMD - 1);
CString strMonth = strRetValue[0].Mid(nPointYM + 1, nPointMD - nPointYM - 1);
int nYear = atoi(strYear);
int nMonth = atoi(strMonth);
int nDay = atoi(strDay);
SYSTEMTIME SysTime = {0};
GetSystemTime(&SysTime);
int nNYear = SysTime.wYear;
int nNMonth = SysTime.wMonth;
int nNDay = SysTime.wDay;
if ( (nYear > nNYear) ||
((nYear == nNYear) && (nMonth > nNMonth )) ||
((nYear == nNYear) && (nMonth == nNMonth) && (nDay > nNDay)))
{
SetDlgItemText(IDC_EDIT_IAS_WORKAGE, "【参加工作时间】有误");
}
else
{
int Year = (((nNYear - nYear) * 12 - nMonth + nNMonth) / 12);
int Month = (((nNYear - nYear) * 12 - nMonth + nNMonth) % 12);
CString strWorAge;
strWorAge.Format("%d年%d月(共:%d个月)", Year, Month, ((nNYear - nYear) * 12 - nMonth + nNMonth));
SetDlgItemText(IDC_EDIT_IAS_WORKAGE, strWorAge);
}
}
}
/*********************************************************************
函数说明: 计算合同剩余时间
函数参数:
*********************************************************************/
void InActiveSerInfoDlg::GetLeftContractT(int nKeyID, CString strKeyIDCard)
{
CADOOperation ADOdbo;
CString SQL;
CString strFields[] = {"InActiveSer_ContractBegT", "InActiveSer_ContractEndT"};
CString strRetValue[2];
strRetValue[0] = "1900-1-1";
strRetValue[1] = "1900-1-1";
SQL.Format("select InActiveSer_ContractBegT, InActiveSer_ContractEndT \
from Employee_InActiveSer_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] == strRetValue[1])
{
SetDlgItemText(IDC_EDIT_IAS_CONTRACTREMT, "【合同时间】信息有误");
}
else
{
CString strBegTime = strRetValue[0];
int nPointYM = strBegTime.Find("-", 0);
CString strBYear = strBegTime.Left(nPointYM);
int nPointMD = strBegTime.Find("-", nPointYM + 1);
CString strBDay = strBegTime.Right(strBegTime.GetLength() - nPointMD - 1);
CString strBMonth = strBegTime.Mid(nPointYM + 1, nPointMD - nPointYM - 1);
int nBDay = atoi(strBDay);
int nBYear = atoi(strBYear);
int nBMonth = atoi(strBMonth);
CString strEndTime = strRetValue[1];
nPointYM = strEndTime.Find("-", 0);
CString strEYear = strEndTime.Left(nPointYM);
nPointMD = strEndTime.Find("-", nPointYM + 1);
CString strEDay = strEndTime.Right(strEndTime.GetLength() - nPointMD - 1);
CString strEMonth = strEndTime.Mid(nPointYM + 1, nPointMD - nPointYM - 1);
int nEDay = atoi(strEDay);
int nEYear = atoi(strEYear);
int nEMonth = atoi(strEMonth);
if ((nBYear > nEYear) ||
((nBYear == nEYear) && (nBMonth > nEMonth )) ||
((nBYear == nEYear) && (nBMonth == nEMonth) && (nBDay > nEDay)))
{
SetDlgItemText(IDC_EDIT_IAS_CONTRACTREMT, "【合同时间】信息有误");
}
else
{
SYSTEMTIME SysTime = {0};
GetSystemTime(&SysTime);
int nNYear = SysTime.wYear;
int nNMonth = SysTime.wMonth;
int nNDay = SysTime.wDay;
CString strRem;
if (nNYear > nEYear) // 过期
{
int nYear = (((nNYear - nEYear) * 12 - nEMonth + nNMonth) / 12);
int nMonth = (((nNYear - nEYear) * 12 - nEMonth + nNMonth) % 12);
strRem.Format("已过期%d年%d月(共:%d个月)", nYear, nMonth, ((nNYear - nEYear) * 12 - nEMonth + nNMonth));
}
else if (nNYear == nEYear) // 年份相同
{
if (nNMonth > nEMonth)
{
strRem.Format("已过期%d月", (nNMonth - nEMonth));
}
else if (nNMonth == nEMonth)
{
if (nNDay > nEDay)
{
strRem.Format("已过期%d天", (nNDay - nEDay));
}
else if (nNDay == nEDay)
{
strRem.Format("合同在今天到期!");
}
else
{
strRem.Format("剩余%d天", (nEDay - nNDay));
}
}
else
{
strRem.Format("剩余%d月", (nEMonth - nNMonth));
}
}
else // 没到期
{
int nYear = (((nEYear - nNYear) * 12 - nNMonth + nEMonth) / 12);
int nMonth = (((nEYear - nNYear) * 12 - nNMonth + nEMonth) % 12);
strRem.Format("剩余%d年%d月(共:%d个月)", nYear, nMonth, ((nEYear - nNYear) * 12 - nNMonth + nEMonth));
}
SetDlgItemText(IDC_EDIT_IAS_CONTRACTREMT, strRem);
}
}
}
/*********************************************************************
函数说明: 有固定的合同日期
函数参数:
*********************************************************************/
void InActiveSerInfoDlg::OnRadioIasHave()
{
GetDlgItem(IDC_DTP_IAS_CONTRACTBEGT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_DTP_IAS_CONTRACTENDT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_DTP_IAS_CONTRACTREMT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_IAS_CONET)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_IAS_CONRT)->ShowWindow(SW_SHOW);
SYSTEMTIME sysTime = {0};
sysTime.wYear = 1900;
sysTime.wMonth = 1;
sysTime.wDay = 1;
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_IAS_CONTRACTENDT))->SetTime(&sysTime);
SetDlgItemText(IDC_EDIT_IAS_CONTRACTREMT, "暂无合同剩余时间");
}
/*********************************************************************
函数说明: 无固定的合同日期
函数参数:
*********************************************************************/
void InActiveSerInfoDlg::OnRadioIasNothave()
{
GetDlgItem(IDC_DTP_IAS_CONTRACTBEGT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_DTP_IAS_CONTRACTENDT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_DTP_IAS_CONTRACTREMT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_IAS_CONET)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_IAS_CONRT)->ShowWindow(SW_HIDE);
SYSTEMTIME sysTime = {0};
sysTime.wYear = 1911;
sysTime.wMonth = 11;
sysTime.wDay = 11;
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_IAS_CONTRACTENDT))->SetTime(&sysTime);
SetDlgItemText(IDC_EDIT_IAS_CONTRACTREMT, "无合同剩余时间");
}
/*********************************************************************
函数说明: 职工属性选择变化响应
函数参数:
*********************************************************************/
void InActiveSerInfoDlg::OnSelchangeComboIasNewproperty()
{
CString strProperty;
GetDlgItemText(IDC_COMBO_IAS_NEWPROPERTY, strProperty);
if (strProperty == "退休" || strProperty == "病退")
{
MessageBox("该职工属性的员工,无合同信息!", "提示", MB_OK | MB_ICONEXCLAMATION);
GetDlgItem(IDC_DTP_IAS_CONTRACTBEGT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_DTP_IAS_CONTRACTENDT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_DTP_IAS_CONTRACTREMT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_IAS_CONBT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_IAS_CONET)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_IAS_CONRT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO_IAS_HAVE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO_IAS_NOTHAVE)->ShowWindow(SW_HIDE);
SYSTEMTIME sysTime = {0};
sysTime.wYear = 1900;
sysTime.wMonth = 1;
sysTime.wDay = 1;
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_IAS_CONTRACTENDT))->SetTime(&sysTime);
sysTime.wYear = 1911;
sysTime.wMonth = 11;
sysTime.wDay = 11;
((CDateTimeCtrl*)GetDlgItem(IDC_DTP_IAS_CONTRACTENDT))->SetTime(&sysTime);
}
else
{
GetDlgItem(IDC_DTP_IAS_CONTRACTBEGT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_DTP_IAS_CONTRACTENDT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_DTP_IAS_CONTRACTREMT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_IAS_CONBT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_IAS_CONET)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_IAS_CONRT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RADIO_IAS_HAVE)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RADIO_IAS_NOTHAVE)->ShowWindow(SW_SHOW);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -