241 lines
7.2 KiB
C++
241 lines
7.2 KiB
C++
// 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;
|
||
} |