267 lines
7.1 KiB
C++
267 lines
7.1 KiB
C++
|
// 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();
|
|||
|
}
|