254 lines
7.6 KiB
C++
254 lines
7.6 KiB
C++
|
// DLG_TemplateSee.cpp: 实现文件
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#include "SmsManager.h"
|
|||
|
#include "DLG_TemplateSee.h"
|
|||
|
#include "afxdialogex.h"
|
|||
|
|
|||
|
|
|||
|
// DLG_TemplateSee 对话框
|
|||
|
|
|||
|
IMPLEMENT_DYNAMIC(DLG_TemplateSee, CDialogEx)
|
|||
|
|
|||
|
DLG_TemplateSee::DLG_TemplateSee(CWnd* pParent /*=nullptr*/)
|
|||
|
: CDialogEx(IDD_TEMPLATESEE, pParent)
|
|||
|
, m_strAuditKF(_T(""))
|
|||
|
, m_strAuditOpinion(_T(""))
|
|||
|
, m_strCorp(_T(""))
|
|||
|
, m_strCreateTime(_T(""))
|
|||
|
, m_strRemark(_T(""))
|
|||
|
, m_strTemplateContent(_T(""))
|
|||
|
, m_strTemplateName(_T(""))
|
|||
|
, m_strTemplateType(_T(""))
|
|||
|
{
|
|||
|
m_lSeeType = 0; //0-仅查看,1-允许修改
|
|||
|
m_lAuditStatus = 0; //0-不改变审核;1-改变审核成功,2-改为审核失败
|
|||
|
memset(&m_SeeData, 0, sizeof(m_SeeData));
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
DLG_TemplateSee::~DLG_TemplateSee()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
void DLG_TemplateSee::DoDataExchange(CDataExchange* pDX)
|
|||
|
{
|
|||
|
CDialogEx::DoDataExchange(pDX);
|
|||
|
DDX_Text(pDX, IDC_TEMPLATESEE_AUDITKF, m_strAuditKF);
|
|||
|
DDX_Text(pDX, IDC_TEMPLATESEE_AUDITOPINION, m_strAuditOpinion);
|
|||
|
DDV_MaxChars(pDX, m_strAuditOpinion, 450);
|
|||
|
DDX_Text(pDX, IDC_TEMPLATESEE_CORP, m_strCorp);
|
|||
|
DDX_Text(pDX, IDC_TEMPLATESEE_CREATETIME, m_strCreateTime);
|
|||
|
DDX_Text(pDX, IDC_TEMPLATESEE_REMARK, m_strRemark);
|
|||
|
DDX_Text(pDX, IDC_TEMPLATESEE_TEMPLATECONTENT, m_strTemplateContent);
|
|||
|
DDX_Text(pDX, IDC_TEMPLATESEE_TEMPLATENAME, m_strTemplateName);
|
|||
|
DDX_Text(pDX, IDC_TEMPLATESEE_TEMPLATETYPE, m_strTemplateType);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BEGIN_MESSAGE_MAP(DLG_TemplateSee, CDialogEx)
|
|||
|
ON_BN_CLICKED(IDOK, &DLG_TemplateSee::OnBnClickedOk)
|
|||
|
ON_BN_CLICKED(IDCANCEL, &DLG_TemplateSee::OnBnClickedCancel)
|
|||
|
ON_BN_CLICKED(IDC_TEMPLATESEE_AIDIT_FAILREASON, &DLG_TemplateSee::OnBnClickedTemplateseeAiditFailreason)
|
|||
|
ON_COMMAND_RANGE(MENU_TEMPLATE_FAILREASON_BEGIN, MENU_TEMPLATE_FAILREASON_END, On_User_FailReason)
|
|||
|
END_MESSAGE_MAP()
|
|||
|
|
|||
|
|
|||
|
// DLG_TemplateSee 消息处理程序
|
|||
|
|
|||
|
|
|||
|
BOOL DLG_TemplateSee::OnInitDialog()
|
|||
|
{
|
|||
|
CDialogEx::OnInitDialog();
|
|||
|
|
|||
|
// TODO: 在此添加额外的初始化
|
|||
|
CString strTemp;
|
|||
|
switch (m_SeeData.lStatus)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
strTemp = _T("待审核");
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
strTemp = _T("审核成功");
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
strTemp = _T("审核失败");
|
|||
|
break;
|
|||
|
default:
|
|||
|
strTemp = _T("未知状态");
|
|||
|
break;
|
|||
|
}
|
|||
|
//提交用户
|
|||
|
m_strCorp.Format(_T("%d-%s[%s]"), m_SeeData.lCorpID, m_SeeData.szCorpName, m_SeeData.szCreateUser);
|
|||
|
//提交时间
|
|||
|
m_strCreateTime.Format(_T("%s / %04d.%02d.%02d %02d:%02d:%02d / %d"), strTemp, m_SeeData.tCreateTime.wYear, m_SeeData.tCreateTime.wMonth, m_SeeData.tCreateTime.wDay, m_SeeData.tCreateTime.wHour, m_SeeData.tCreateTime.wMinute, m_SeeData.tCreateTime.wSecond, m_SeeData.lReqCount);
|
|||
|
//模板类型
|
|||
|
switch (m_SeeData.lTemplateType)
|
|||
|
{
|
|||
|
case 1:
|
|||
|
m_strTemplateType = _T("应用模板");
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
m_strTemplateType = _T("营销模板");
|
|||
|
break;
|
|||
|
default:
|
|||
|
m_strTemplateType = _T("未知模板");
|
|||
|
break;
|
|||
|
}
|
|||
|
//模板标题,内容,申请备注
|
|||
|
m_strTemplateName = m_SeeData.szTemplateName;
|
|||
|
m_strTemplateContent = m_SeeData.szTemplateContent;
|
|||
|
m_strRemark = m_SeeData.szRemark;
|
|||
|
|
|||
|
//审核情况
|
|||
|
long lAuditStatus = 0;
|
|||
|
lAuditStatus = m_SeeData.lStatus;
|
|||
|
|
|||
|
if (m_lSeeType==1 && m_lAuditStatus==1 ) //强制改成已审核
|
|||
|
{
|
|||
|
lAuditStatus = 1;
|
|||
|
}
|
|||
|
if (m_lSeeType == 1 && m_lAuditStatus == 2) //强制改成审核失败
|
|||
|
{
|
|||
|
lAuditStatus = 2;
|
|||
|
}
|
|||
|
if (lAuditStatus == 1)
|
|||
|
{
|
|||
|
((CButton*)GetDlgItem(IDC_TEMPLATESEE_AUDIT_PASS))->SetCheck(true);
|
|||
|
((CButton*)GetDlgItem(IDC_TEMPLATESEE_AIDIT_FAIL))->SetCheck(false);
|
|||
|
}
|
|||
|
if (lAuditStatus == 2)
|
|||
|
{
|
|||
|
((CButton*)GetDlgItem(IDC_TEMPLATESEE_AUDIT_PASS))->SetCheck(false);
|
|||
|
((CButton*)GetDlgItem(IDC_TEMPLATESEE_AIDIT_FAIL))->SetCheck(true);
|
|||
|
}
|
|||
|
|
|||
|
if (_tcslen(m_SeeData.szAuditKF) > 0)
|
|||
|
{
|
|||
|
m_strAuditKF.Format(_T("%s / %04d.%02d.%02d %02d:%02d:%02d"), m_SeeData.szAuditKF, m_SeeData.tAuditTime.wYear, m_SeeData.tAuditTime.wMonth, m_SeeData.tAuditTime.wDay, m_SeeData.tAuditTime.wHour, m_SeeData.tAuditTime.wMinute, m_SeeData.tAuditTime.wSecond);
|
|||
|
}
|
|||
|
m_strAuditOpinion = m_SeeData.szAuditOpinion;
|
|||
|
|
|||
|
if (m_lSeeType == 0)//仅查看
|
|||
|
{
|
|||
|
GetDlgItem(IDC_TEMPLATESEE_AUDIT_PASS)->EnableWindow(false);
|
|||
|
GetDlgItem(IDC_TEMPLATESEE_AIDIT_FAIL)->EnableWindow(false);
|
|||
|
GetDlgItem(IDC_TEMPLATESEE_AIDIT_FAILREASON)->EnableWindow(false);
|
|||
|
((CEdit*)GetDlgItem(IDC_TEMPLATESEE_AUDITOPINION))->SetReadOnly(true);
|
|||
|
}
|
|||
|
UpdateData(false);
|
|||
|
|
|||
|
return TRUE; // return TRUE unless you set the focus to a control
|
|||
|
// 异常: OCX 属性页应返回 FALSE
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void DLG_TemplateSee::OnBnClickedOk()
|
|||
|
{
|
|||
|
// TODO: 在此添加控件通知处理程序代码
|
|||
|
if (m_lSeeType == 0)//仅查看
|
|||
|
{
|
|||
|
CDialogEx::OnCancel();
|
|||
|
return;
|
|||
|
}
|
|||
|
if (!UpdateData(true))
|
|||
|
return;
|
|||
|
//取审核状态
|
|||
|
long lStatus = 0;
|
|||
|
if (((CButton*)GetDlgItem(IDC_TEMPLATESEE_AUDIT_PASS))->GetCheck())
|
|||
|
lStatus = 1;
|
|||
|
if (((CButton*)GetDlgItem(IDC_TEMPLATESEE_AIDIT_FAIL))->GetCheck())
|
|||
|
lStatus = 2;
|
|||
|
|
|||
|
if (lStatus == 0)
|
|||
|
{
|
|||
|
MessageBox(_T("请选择一种审核状态!"), _T("错误"), MB_ICONWARNING);
|
|||
|
GetDlgItem(IDC_TEMPLATESEE_AUDIT_PASS)->SetFocus();
|
|||
|
return;
|
|||
|
}
|
|||
|
if (lStatus == 2 && m_strAuditOpinion.GetLength()<=5) //审核失败
|
|||
|
{
|
|||
|
|
|||
|
MessageBox(_T("请输入审核失败的详细原因!"), _T("错误"), MB_ICONWARNING);
|
|||
|
GetDlgItem(IDC_TEMPLATESEE_AUDITOPINION)->SetFocus();
|
|||
|
return;
|
|||
|
}
|
|||
|
if (m_SeeData.lStatus!=0 && lStatus == 1 && m_strAuditOpinion.GetLength() <= 5) //审核失败
|
|||
|
{
|
|||
|
|
|||
|
MessageBox(_T("重新审核的短信模板必须输入审核原因!"), _T("错误"), MB_ICONWARNING);
|
|||
|
GetDlgItem(IDC_TEMPLATESEE_AUDITOPINION)->SetFocus();
|
|||
|
return;
|
|||
|
}
|
|||
|
m_SeeData.lStatus = lStatus;
|
|||
|
_tcscpy(m_SeeData.szAuditOpinion, m_strAuditOpinion);
|
|||
|
|
|||
|
CDialogEx::OnOK();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void DLG_TemplateSee::OnBnClickedCancel()
|
|||
|
{
|
|||
|
// TODO: 在此添加控件通知处理程序代码
|
|||
|
CDialogEx::OnCancel();
|
|||
|
}
|
|||
|
|
|||
|
void DLG_TemplateSee::SetParam(ANS_Template_SeeData seeData,long lSeeType,long lAuditStatus)
|
|||
|
{
|
|||
|
m_SeeData = seeData;
|
|||
|
m_lSeeType = lSeeType;
|
|||
|
m_lAuditStatus = lAuditStatus;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void DLG_TemplateSee::OnBnClickedTemplateseeAiditFailreason()
|
|||
|
{
|
|||
|
|
|||
|
CMenu menu;
|
|||
|
menu.CreatePopupMenu();
|
|||
|
if (m_strFailReason.GetCount() <= 0)
|
|||
|
{
|
|||
|
m_strFailReason.Add(_T("短信内容含双签名,请修改后重新提交。"));
|
|||
|
m_strFailReason.Add(_T("短信内容有乱码,请修改后重新提交。"));
|
|||
|
m_strFailReason.Add(_T("短信内容含涉嫌敏感内容,请修改后重新提交。"));
|
|||
|
m_strFailReason.Add(_T("不允许多个变量连在一起,请修改后重新提交。"));
|
|||
|
m_strFailReason.Add(_T("模板短信不能包含链接,请修改后重新提交。"));
|
|||
|
m_strFailReason.Add(_T("模板内容无法辨识应用场景,请细化后重新提交。"));
|
|||
|
m_strFailReason.Add(_T("行业应用账号不允许发送此内容,请用营销账号重新提交。"));
|
|||
|
m_strFailReason.Add(_T("请规范退订格式,修改后重新提交。短信结尾为:拒收请回复R"));
|
|||
|
m_strFailReason.Add(_T("此内容暂不支持发送。"));
|
|||
|
m_strFailReason.Add(_T("客户申请驳回,审核失败。"));
|
|||
|
}
|
|||
|
|
|||
|
int iCount = m_strFailReason.GetCount();
|
|||
|
for (int i = 0; i < iCount; i++)
|
|||
|
{
|
|||
|
menu.AppendMenu(MF_STRING, MENU_TEMPLATE_FAILREASON_BEGIN + i, m_strFailReason.GetAt(i));
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//显示菜单
|
|||
|
RECT rect = { 0 };
|
|||
|
this->GetDlgItem(IDC_TEMPLATESEE_AIDIT_FAILREASON)->GetWindowRect(&rect);
|
|||
|
//this->ClientToScreen( &pt);
|
|||
|
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON, rect.left, rect.bottom, this, NULL);
|
|||
|
menu.DestroyMenu();
|
|||
|
}
|
|||
|
|
|||
|
void DLG_TemplateSee::On_User_FailReason(UINT nID)
|
|||
|
{
|
|||
|
UINT ll = MENU_TEMPLATE_FAILREASON_BEGIN;
|
|||
|
long lIndex = nID - ll;
|
|||
|
|
|||
|
if (lIndex >= 0 && lIndex < m_strFailReason.GetCount())
|
|||
|
{
|
|||
|
//CString str = m_strFailReason.GetAt(lIndex);
|
|||
|
//if (!UpdateData(true))
|
|||
|
// return;
|
|||
|
//m_strReason = m_strReason + str;
|
|||
|
|
|||
|
((CEdit*)GetDlgItem(IDC_TEMPLATESEE_AUDITOPINION))->SetWindowText(m_strFailReason.GetAt(lIndex));
|
|||
|
}
|
|||
|
|
|||
|
}
|