// DLG_C_ListSend_Add.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "DLG_C_ListSend_Add.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #include "C_ListSend.h" ///////////////////////////////////////////////////////////////////////////// // DLG_C_ListSend_Add dialog DLG_C_ListSend_Add::DLG_C_ListSend_Add(CWnd* pParent /*=NULL*/) : CDialog(DLG_C_ListSend_Add::IDD, pParent) , m_bFormat(FALSE) , m_bMergeLongSms(FALSE) , m_lFormat(0) { //{{AFX_DATA_INIT(DLG_C_ListSend_Add) m_strBZ = _T(""); m_lCorpID = 0; m_bHideMsg = FALSE; m_bHideNum = FALSE; m_strLoginName = _T(""); m_tBegin = COleDateTime::GetCurrentTime(); m_tEnd = COleDateTime::GetCurrentTime(); m_strEmail = _T(""); m_strLXR = _T(""); m_strTel = _T(""); m_bSendRecvTime = FALSE; m_strEmail2 = _T(""); m_bPerMon = FALSE; //}}AFX_DATA_INIT memset(&m_Data, 0, sizeof(m_Data)); m_lYWType = 0; m_lQueryType = 0; m_lFormat = 1; //默认Excel格式 m_bMergeLongSms = true; //默认合并长短信 m_pListSendDlg = (CC_ListSend*)pParent; m_bAdd = false; m_Pos = 0; } void DLG_C_ListSend_Add::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_C_ListSend_Add) DDX_Text(pDX, IDD_C_LISTSEND_ADD_BZ, m_strBZ); DDV_MaxChars(pDX, m_strBZ, 120); DDX_Text(pDX, IDD_C_LISTSEND_ADD_CORPID, m_lCorpID); DDV_MinMaxLong(pDX, m_lCorpID, 100000, 900000); DDX_Check(pDX, IDD_C_LISTSEND_ADD_HIDEMSG, m_bHideMsg); DDX_Check(pDX, IDD_C_LISTSEND_ADD_HIDENUM, m_bHideNum); DDX_Text(pDX, IDD_C_LISTSEND_ADD_LOGINNAME, m_strLoginName); DDV_MaxChars(pDX, m_strLoginName, 15); DDX_DateTimeCtrl(pDX, IDD_C_LISTSEND_ADD_TBEGIN, m_tBegin); DDX_DateTimeCtrl(pDX, IDD_C_LISTSEND_ADD_TEND, m_tEnd); DDX_Text(pDX, IDD_C_LISTSEND_ADD_EMAIL, m_strEmail); DDV_MaxChars(pDX, m_strEmail, 62); DDX_Text(pDX, IDD_C_LISTSEND_ADD_LXR, m_strLXR); DDV_MaxChars(pDX, m_strLXR, 30); DDX_Text(pDX, IDD_C_LISTSEND_ADD_TEL, m_strTel); DDV_MaxChars(pDX, m_strTel, 30); DDX_Check(pDX, IDD_C_LISTSEND_ADD_SENDRECVTIME, m_bSendRecvTime); DDX_Text(pDX, IDD_C_LISTSEND_ADD_EMAIL2, m_strEmail2); DDV_MaxChars(pDX, m_strEmail2, 62); DDX_Check(pDX, IDD_C_LISTSEND_ADD_PERMON, m_bPerMon); //}}AFX_DATA_MAP DDX_CBIndex(pDX, IDD_C_LISTSEND_ADD_YWTYPE, m_lYWType); DDX_CBIndex(pDX, IDD_C_LISTSEND_ADD_QUERYTYPE, m_lQueryType); DDX_Control(pDX, IDD_C_LISTSEND_ADD_QUERYTYPE, m_wndQueryType); // DDX_CBIndex(pDX, IDD_C_LISTSEND_ADD_FORMAT, m_bFormat); DDX_Check(pDX, IDD_C_LISTSEND_ADD_MEGERLONGSMS, m_bMergeLongSms); DDX_CBIndex(pDX, IDD_C_LISTSEND_ADD_FORMAT, m_lFormat); } BEGIN_MESSAGE_MAP(DLG_C_ListSend_Add, CDialog) //{{AFX_MSG_MAP(DLG_C_ListSend_Add) //}}AFX_MSG_MAP ON_BN_CLICKED(IDOK, &DLG_C_ListSend_Add::OnBnClickedOk) ON_CBN_SELCHANGE(IDD_C_LISTSEND_ADD_QUERYTYPE, &DLG_C_ListSend_Add::OnCbnSelchangeCListsendAddQuerytype) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_C_ListSend_Add message handlers BOOL DLG_C_ListSend_Add::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here //修改,赋值 m_lCorpID = m_Data.lCorpID; m_strLoginName = m_Data.szLoginName; m_tBegin = m_Data.tBegin; m_tEnd = m_Data.tEnd; m_bHideNum = m_Data.bHideNum; m_bHideMsg = m_Data.bHideMsg; m_bSendRecvTime = m_Data.bSendRecvTime; m_bMergeLongSms = m_Data.bMergeLongSms; //合并长短信 m_strEmail = m_Data.szEmail; m_strEmail2 = m_Data.szEmail2; m_bPerMon = m_Data.lPerMon; //是否每月发送 m_lFormat = m_Data.lFormat; //文件格式,0-Txt,1-Excel m_strLXR = m_Data.szLXR; m_strTel = m_Data.szTel; m_strBZ = m_Data.szBZ; m_lYWType = m_Data.lYWType; m_lQueryType = m_Data.lQueryType; UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } ANS_SendList_Data DLG_C_ListSend_Add::GetParam() { return m_Data; } void DLG_C_ListSend_Add::OnBnClickedOk() { if (!UpdateData(true)) return; if (m_tEnd < m_tBegin) { MessageBox(_T("起始日期不能大于结束日期,输入无效!"), _T("错误"), MB_ICONWARNING); GetDlgItem(IDD_C_LISTSEND_ADD_TBEGIN)->SetFocus(); return; } if (m_lQueryType == 0) //查询清单 { if (m_tEnd - m_tBegin > COleDateTimeSpan(31 * 6, 0, 0, 0)) { MessageBox(_T("查询的时间段超过6个月,输入无效!"), _T("错误"), MB_ICONWARNING); GetDlgItem(IDD_C_LISTSEND_ADD_TBEGIN)->SetFocus(); return; } if (COleDateTime::GetCurrentTime() - m_tBegin > COleDateTimeSpan(31 * 6, 0, 0, 0)) { MessageBox(_T("只能查询前6个月的数据,输入无效!"), _T("错误"), MB_ICONWARNING); GetDlgItem(IDD_C_LISTSEND_ADD_TBEGIN)->SetFocus(); return; } } if (m_lQueryType == 1) //查询帐单 { if (m_tBegin < COleDateTime(2012, 1, 1, 0, 0, 0)) { MessageBox(_T("自动发送帐单,开始时间不能小于2012年1月!"), _T("错误"), MB_ICONWARNING); GetDlgItem(IDD_C_LISTSEND_ADD_TBEGIN)->SetFocus(); return; } } /* if ( m_strEmail.GetLength()<10 ) { MessageBox( _T("必须输入清单发送的Email地址!") , _T("错误") , MB_ICONWARNING ); GetDlgItem(IDD_C_LISTSEND_ADD_EMAIL)->SetFocus(); return ; } */ m_Data.lCorpID = m_lCorpID; _tcscpy(m_Data.szLoginName, m_strLoginName); m_tBegin.GetAsSystemTime(m_Data.tBegin); m_tEnd.GetAsSystemTime(m_Data.tEnd); m_Data.bHideNum = m_bHideNum; m_Data.bHideMsg = m_bHideMsg; m_Data.bSendRecvTime = m_bSendRecvTime; m_Data.bMergeLongSms = m_bMergeLongSms; //合并长短信 _tcscpy(m_Data.szEmail, m_strEmail); _tcscpy(m_Data.szEmail2, m_strEmail2); m_Data.lStatus = 0; //-10表示未发 m_Data.lPerMon = m_bPerMon; //是否每月发送 m_Data.lFormat = m_lFormat; //文件格式,0-Txt,1-Excel _tcscpy(m_Data.szLXR, m_strLXR); _tcscpy(m_Data.szTel, m_strTel); _tcscpy(m_Data.szBZ, m_strBZ); m_Data.lYWType = m_lYWType; m_Data.lQueryType = m_lQueryType; CDialog::OnOK(); } void DLG_C_ListSend_Add::OnCbnSelchangeCListsendAddQuerytype() { long lQuerType = m_wndQueryType.GetCurSel(); if (lQuerType == 0) //查询清单 { GetDlgItem(IDD_C_LISTSEND_ADD_LOGINNAME)->EnableWindow(true); GetDlgItem(IDD_C_LISTSEND_ADD_YWTYPE)->EnableWindow(true); GetDlgItem(IDD_C_LISTSEND_ADD_PERMON)->EnableWindow(true); GetDlgItem(IDD_C_LISTSEND_ADD_SENDRECVTIME)->EnableWindow(true); GetDlgItem(IDD_C_LISTSEND_ADD_HIDENUM)->EnableWindow(true); GetDlgItem(IDD_C_LISTSEND_ADD_HIDEMSG)->EnableWindow(true); GetDlgItem(IDD_C_LISTSEND_ADD_FORMAT)->EnableWindow(true); GetDlgItem(IDD_C_LISTSEND_ADD_MEGERLONGSMS)->EnableWindow(true); } if (lQuerType == 1) //查询帐单 { GetDlgItem(IDD_C_LISTSEND_ADD_LOGINNAME)->EnableWindow(false); GetDlgItem(IDD_C_LISTSEND_ADD_YWTYPE)->EnableWindow(false); GetDlgItem(IDD_C_LISTSEND_ADD_PERMON)->EnableWindow(false); GetDlgItem(IDD_C_LISTSEND_ADD_SENDRECVTIME)->EnableWindow(false); GetDlgItem(IDD_C_LISTSEND_ADD_HIDENUM)->EnableWindow(false); GetDlgItem(IDD_C_LISTSEND_ADD_HIDEMSG)->EnableWindow(false); GetDlgItem(IDD_C_LISTSEND_ADD_FORMAT)->EnableWindow(false); GetDlgItem(IDD_C_LISTSEND_ADD_MEGERLONGSMS)->EnableWindow(false); MessageBox(_T("帐单只能按整月查询,设置时请忽略起止日期中的日。"), _T("信息"), MB_ICONINFORMATION); } } void DLG_C_ListSend_Add::SetParam(ANS_SendList_Data data, POSITION pos, BOOL bAdd) { m_Data = data; m_bAdd = bAdd; m_Pos = pos; }