SmsManager/DLG_C_ListSend_Add.cpp
2025-01-14 10:46:18 +08:00

241 lines
7.2 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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-Txt1-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-Txt1-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;
}