SmsManager/DLG_SP_Modify.cpp

267 lines
7.1 KiB
C++
Raw Normal View History

2025-01-14 10:46:18 +08:00
// DLG_SP_Modify.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_SP_Modify.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_SP_Modify dialog
#include "SPDlg.h"
DLG_SP_Modify::DLG_SP_Modify(CWnd* pParent /*=NULL*/)
: CDialog(DLG_SP_Modify::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_SP_Modify)
m_strBZ = _T("");
m_bWeek = FALSE;
m_strName = _T("");
m_strOperCmd = _T("");
m_lPrice = 1;
m_lSendNum = 1;
m_tSend1 = COleDateTime::GetCurrentTime();
m_tSend2 = COleDateTime::GetCurrentTime();
m_tSend3 = COleDateTime::GetCurrentTime();
m_bWeek_0 = FALSE;
m_bWeek_1 = FALSE;
m_bWeek_2 = FALSE;
m_bWeek_3 = FALSE;
m_bWeek_4 = FALSE;
m_bWeek_6 = FALSE;
m_bWeek_5 = FALSE;
//}}AFX_DATA_INIT
m_pSPDlg = (CSPDlg *)pParent;
memset( &m_SPData , 0 , sizeof(m_SPData));
m_bAdd = false;
m_Pos = 0;
}
void DLG_SP_Modify::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_SP_Modify)
DDX_Text(pDX, IDC_SP_MODIFY_BZ, m_strBZ);
DDV_MaxChars(pDX, m_strBZ, 250);
DDX_Check(pDX, IDC_SP_MODIFY_ISWEEK, m_bWeek);
DDX_Text(pDX, IDC_SP_MODIFY_NAME, m_strName);
DDV_MaxChars(pDX, m_strName, 30);
DDX_Text(pDX, IDC_SP_MODIFY_OPERCMD, m_strOperCmd);
DDV_MaxChars(pDX, m_strOperCmd, 16);
DDX_Text(pDX, IDC_SP_MODIFY_PRICE, m_lPrice);
DDV_MinMaxUInt(pDX, m_lPrice, 1, 100);
DDX_Text(pDX, IDC_SP_MODIFY_SENDNUM, m_lSendNum);
DDV_MinMaxUInt(pDX, m_lSendNum, 1, 100);
DDX_DateTimeCtrl(pDX, IDC_SP_MODIFY_SENDTIME1, m_tSend1);
DDX_DateTimeCtrl(pDX, IDC_SP_MODIFY_SENDTIME2, m_tSend2);
DDX_DateTimeCtrl(pDX, IDC_SP_MODIFY_SENDTIME3, m_tSend3);
DDX_Check(pDX, IDC_SP_MODIFY_WEEK_0, m_bWeek_0);
DDX_Check(pDX, IDC_SP_MODIFY_WEEK_1, m_bWeek_1);
DDX_Check(pDX, IDC_SP_MODIFY_WEEK_2, m_bWeek_2);
DDX_Check(pDX, IDC_SP_MODIFY_WEEK_3, m_bWeek_3);
DDX_Check(pDX, IDC_SP_MODIFY_WEEK_4, m_bWeek_4);
DDX_Check(pDX, IDC_SP_MODIFY_WEEK_6, m_bWeek_6);
DDX_Check(pDX, IDC_SP_MODIFY_WEEK_5, m_bWeek_5);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_SP_Modify, CDialog)
//{{AFX_MSG_MAP(DLG_SP_Modify)
ON_BN_CLICKED(IDC_SP_MODIFY_ISWEEK, OnSpModifyIsweek)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_SP_Modify message handlers
BOOL DLG_SP_Modify::OnInitDialog()
{
CDialog::OnInitDialog();
m_strName = m_SPData.szName;
m_strOperCmd = m_SPData.szOperCmd;
m_lPrice = m_SPData.lPrice;
if ( m_lPrice <=0 || m_lPrice>100 ) m_lPrice=1;
m_lSendNum = m_SPData.lSendNum;
if ( m_lSendNum <=0 || m_lSendNum>100 ) m_lSendNum=1;
m_tSend1 = m_SPData.tDZSendTime1;
m_tSend2 = m_SPData.tDZSendTime2;
m_tSend3 = m_SPData.tDZSendTime3;
if ( m_tSend1.GetStatus()!=0 )
m_tSend1.SetDateTime(1900,1,1,0,0,0);
if ( m_tSend2.GetStatus()!=0 )
m_tSend2.SetDateTime(1900,1,1,0,0,0);
if ( m_tSend3.GetStatus()!=0 )
m_tSend3.SetDateTime(1900,1,1,0,0,0);
m_bWeek = m_SPData.bWeek;
if ( m_SPData.szWeekDay[0] == '1' )
m_bWeek_0 = true;
if ( m_SPData.szWeekDay[1] == '1' )
m_bWeek_1 = true;
if ( m_SPData.szWeekDay[2] == '1' )
m_bWeek_2 = true;
if ( m_SPData.szWeekDay[3] == '1' )
m_bWeek_3 = true;
if ( m_SPData.szWeekDay[4] == '1' )
m_bWeek_4 = true;
if ( m_SPData.szWeekDay[5] == '1' )
m_bWeek_5 = true;
if ( m_SPData.szWeekDay[6] == '1' )
m_bWeek_6 = true;
m_strBZ = m_SPData.szBZ;
UpdateData(false);
OnSpModifyIsweek();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_SP_Modify::SetParam(ANS_SP_SeeData data, POSITION pos, BOOL bAdd)
{
m_SPData = data;
m_Pos = pos;
m_bAdd = bAdd;
}
ANS_SP_SeeData DLG_SP_Modify::GetParam()
{
return m_SPData;
}
void DLG_SP_Modify::OnSpModifyIsweek()
{
if ( !UpdateData(true) )
return ;
if ( m_bWeek )
{
GetDlgItem(IDC_SP_MODIFY_WEEK_0)->EnableWindow(true);
GetDlgItem(IDC_SP_MODIFY_WEEK_1)->EnableWindow(true);
GetDlgItem(IDC_SP_MODIFY_WEEK_2)->EnableWindow(true);
GetDlgItem(IDC_SP_MODIFY_WEEK_3)->EnableWindow(true);
GetDlgItem(IDC_SP_MODIFY_WEEK_4)->EnableWindow(true);
GetDlgItem(IDC_SP_MODIFY_WEEK_5)->EnableWindow(true);
GetDlgItem(IDC_SP_MODIFY_WEEK_6)->EnableWindow(true);
}
else
{
GetDlgItem(IDC_SP_MODIFY_WEEK_0)->EnableWindow(false);
GetDlgItem(IDC_SP_MODIFY_WEEK_1)->EnableWindow(false);
GetDlgItem(IDC_SP_MODIFY_WEEK_2)->EnableWindow(false);
GetDlgItem(IDC_SP_MODIFY_WEEK_3)->EnableWindow(false);
GetDlgItem(IDC_SP_MODIFY_WEEK_4)->EnableWindow(false);
GetDlgItem(IDC_SP_MODIFY_WEEK_5)->EnableWindow(false);
GetDlgItem(IDC_SP_MODIFY_WEEK_6)->EnableWindow(false);
}
}
void DLG_SP_Modify::OnOK()
{
if ( !UpdateData(true) )
return ;
if ( m_strName.GetLength()<= 0 )
{
MessageBox( _T("ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
if ( m_pSPDlg->FindSPName( m_strName,m_Pos ) )
{
MessageBox( _T("ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
if ( m_strOperCmd.GetLength()<= 0 )
{
MessageBox( _T("ҵ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
if ( m_pSPDlg->FindOperCmd( m_strOperCmd,m_Pos ) )
{
MessageBox( _T("ҵ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
if ( m_bWeek_0 )
m_SPData.szWeekDay[0] = '1';
else
m_SPData.szWeekDay[0] = '0';
if ( m_bWeek_1 )
m_SPData.szWeekDay[1] = '1';
else
m_SPData.szWeekDay[1] = '0';
if ( m_bWeek_2 )
m_SPData.szWeekDay[2] = '1';
else
m_SPData.szWeekDay[2] = '0';
if ( m_bWeek_3 )
m_SPData.szWeekDay[3] = '1';
else
m_SPData.szWeekDay[3] = '0';
if ( m_bWeek_4 )
m_SPData.szWeekDay[4] = '1';
else
m_SPData.szWeekDay[4] = '0';
if ( m_bWeek_5 )
m_SPData.szWeekDay[5] = '1';
else
m_SPData.szWeekDay[5] = '0';
if ( m_bWeek_6 )
m_SPData.szWeekDay[6] = '1';
else
m_SPData.szWeekDay[6] = '0';
if ( m_bWeek && !_tcsncmp(m_SPData.szWeekDay,_T("0000000"),7) )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
if ( m_tSend1.GetHour() == 0 &&
m_tSend1.GetMinute() == 0 &&
m_tSend1.GetSecond() == 0 )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
if ( (m_tSend2.GetHour() != 0 ||
m_tSend2.GetMinute() != 0 ||
m_tSend2.GetSecond() != 0) &&
m_tSend2 <= m_tSend1 )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>1!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
if ( (m_tSend3.GetHour() != 0 ||
m_tSend3.GetMinute() != 0 ||
m_tSend3.GetSecond() != 0) &&
m_tSend3 < m_tSend2 )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>2!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
_tcscpy(m_SPData.szName,m_strName);
_tcscpy(m_SPData.szOperCmd,m_strOperCmd);
_tcscpy(m_SPData.szBZ,m_strBZ);
m_SPData.lPrice = m_lPrice;
m_SPData.lSendNum= m_lSendNum;
m_SPData.bWeek = m_bWeek;
m_tSend1.GetAsSystemTime(m_SPData.tDZSendTime1);
m_tSend2.GetAsSystemTime(m_SPData.tDZSendTime2);
m_tSend3.GetAsSystemTime(m_SPData.tDZSendTime3);
CDialog::OnOK();
}