474 lines
13 KiB
C++
474 lines
13 KiB
C++
// DLG_SignNameSee.cpp: 实现文件
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "SmsManager.h"
|
||
#include "DLG_SignNameSee.h"
|
||
#include "afxdialogex.h"
|
||
#include "DLG_Corp_LXR_SF.h"
|
||
|
||
|
||
// DLG_Corp_File dialog
|
||
#include "MainFrm.h"
|
||
#include "K_SignName.h"
|
||
|
||
|
||
// DLG_SignNameSee 对话框
|
||
|
||
IMPLEMENT_DYNAMIC(DLG_SignNameSee, CDialogEx)
|
||
|
||
DLG_SignNameSee::DLG_SignNameSee(CWnd* pParent /*=nullptr*/)
|
||
: CDialogEx(IDD_SIGNNAMESEE, pParent)
|
||
, m_strAuditKF(_T(""))
|
||
, m_strAuditOpinon(_T(""))
|
||
, m_strBelongTo(_T(""))
|
||
, m_strCorp(_T(""))
|
||
, m_strCreateTime(_T(""))
|
||
, m_bDefaultSignName(FALSE)
|
||
, m_strDocType1(_T(""))
|
||
, m_strDocType2(_T(""))
|
||
, m_strDocType3(_T(""))
|
||
, m_strFileName1(_T(""))
|
||
, m_strFileName2(_T(""))
|
||
, m_strFileName3(_T(""))
|
||
, m_strRemark(_T(""))
|
||
, m_strSignName(_T(""))
|
||
, m_strSignNameType(_T(""))
|
||
, m_bOpenCorp(FALSE)
|
||
, m_strCorpBelongTo(_T(""))
|
||
{
|
||
|
||
m_pDlg = (CDialog *)pParent;
|
||
|
||
m_lSeeType = 0; //0-仅查看,1-允许修改
|
||
m_lAuditStatus = 0; //0-不改变审核;1-改变审核成功,2-改为审核失败
|
||
memset(&m_SeeData, 0, sizeof(m_SeeData));
|
||
|
||
m_lDownAllSize = 0;
|
||
m_lDownUpSize = 0;
|
||
m_lDownFileID = 0;
|
||
}
|
||
|
||
DLG_SignNameSee::~DLG_SignNameSee()
|
||
{
|
||
}
|
||
|
||
void DLG_SignNameSee::DoDataExchange(CDataExchange* pDX)
|
||
{
|
||
CDialogEx::DoDataExchange(pDX);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_AUDITKF, m_strAuditKF);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_AUDITOPINION, m_strAuditOpinon);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_BELONGTO, m_strBelongTo);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_CORP, m_strCorp);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_CREATETIME, m_strCreateTime);
|
||
DDX_Check(pDX, IDC_SIGNNAMESEE_DEFAULTSIGNNAME, m_bDefaultSignName);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_DOCTYPE1, m_strDocType1);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_DOCTYPE2, m_strDocType2);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_DOCTYPE3, m_strDocType3);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_FILENAME1, m_strFileName1);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_FILENAME2, m_strFileName2);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_FILENAME3, m_strFileName3);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_REMARK, m_strRemark);
|
||
DDV_MaxChars(pDX, m_strRemark, 200);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_SIGNNAME, m_strSignName);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_SIGNNAMETYPE, m_strSignNameType);
|
||
DDX_Check(pDX, IDC_SIGNNAMESEE_OPEN, m_bOpenCorp);
|
||
DDX_Control(pDX, IDC_SIGNNAMESEE_GDT, m_P_GDT);
|
||
DDX_Text(pDX, IDC_SIGNNAMESEE_CORPBELONGTO, m_strCorpBelongTo);
|
||
}
|
||
|
||
|
||
BEGIN_MESSAGE_MAP(DLG_SignNameSee, CDialogEx)
|
||
ON_BN_CLICKED(IDOK, &DLG_SignNameSee::OnBnClickedOk)
|
||
ON_BN_CLICKED(IDCANCEL, &DLG_SignNameSee::OnBnClickedCancel)
|
||
ON_BN_CLICKED(IDC_SIGNNAMESEE_DOCSEE1, &DLG_SignNameSee::OnBnClickedSignnameseeDocsee1)
|
||
ON_BN_CLICKED(IDC_SIGNNAMESEE_DOCSEE2, &DLG_SignNameSee::OnBnClickedSignnameseeDocsee2)
|
||
ON_BN_CLICKED(IDC_SIGNNAMESEE_DOCSEE3, &DLG_SignNameSee::OnBnClickedSignnameseeDocsee3)
|
||
END_MESSAGE_MAP()
|
||
|
||
|
||
// DLG_SignNameSee 消息处理程序
|
||
|
||
|
||
|
||
void DLG_SignNameSee::SetParam(ANS_SignName_SeeData seeData, long lSeeType, long lAuditStatus)
|
||
{
|
||
m_SeeData = seeData;
|
||
m_lSeeType = lSeeType;
|
||
m_lAuditStatus = lAuditStatus;
|
||
}
|
||
|
||
|
||
void DLG_SignNameSee::OnBnClickedOk()
|
||
{
|
||
// TODO: 在此添加控件通知处理程序代码
|
||
if (m_lSeeType == 0)//仅查看
|
||
{
|
||
CDialogEx::OnCancel();
|
||
return;
|
||
}
|
||
if (!UpdateData(true))
|
||
return;
|
||
//取审核状态
|
||
long lStatus = 0;
|
||
if (((CButton*)GetDlgItem(IDC_SIGNNAMESEE_AUDIT_PASS))->GetCheck())
|
||
lStatus = 1;
|
||
if (((CButton*)GetDlgItem(IDC_SIGNNAMESEE_AIDIT_FAIL))->GetCheck())
|
||
lStatus = 2;
|
||
|
||
if (lStatus == 0)
|
||
{
|
||
MessageBox(_T("请选择一种审核状态!"), _T("错误"), MB_ICONWARNING);
|
||
GetDlgItem(IDC_SIGNNAMESEE_AUDIT_PASS)->SetFocus();
|
||
return;
|
||
}
|
||
if (lStatus == 2 && m_strAuditOpinon.GetLength() <= 5) //审核失败
|
||
{
|
||
|
||
MessageBox(_T("请输入审核失败的详细原因!"), _T("错误"), MB_ICONWARNING);
|
||
GetDlgItem(IDC_SIGNNAMESEE_AUDITOPINION)->SetFocus();
|
||
return;
|
||
}
|
||
if (m_SeeData.lStatus != 0 && lStatus == 1 && m_strAuditOpinon.GetLength() <= 5) //审核失败
|
||
{
|
||
|
||
MessageBox(_T("重新审核的短信签名必须输入审核原因!"), _T("错误"), MB_ICONWARNING);
|
||
GetDlgItem(IDC_SIGNNAMESEE_AUDITOPINION)->SetFocus();
|
||
return;
|
||
}
|
||
m_SeeData.lStatus = lStatus;
|
||
_tcscpy(m_SeeData.szAuditOpinion, m_strAuditOpinon);
|
||
|
||
CDialogEx::OnOK();
|
||
}
|
||
|
||
|
||
void DLG_SignNameSee::OnBnClickedCancel()
|
||
{
|
||
// TODO: 在此添加控件通知处理程序代码
|
||
CDialogEx::OnCancel();
|
||
}
|
||
|
||
|
||
BOOL DLG_SignNameSee::OnInitDialog()
|
||
{
|
||
CDialogEx::OnInitDialog();
|
||
|
||
// TODO: 在此添加额外的初始化
|
||
if (m_SeeData.lUserSignName == 1)
|
||
{
|
||
SetWindowText(_T("[子帐号签名]查看签名申请"));
|
||
}
|
||
CString strTemp;
|
||
strTemp = m_SeeData.szCreateUser;
|
||
//if (m_SeeData.lAgentID > 0)
|
||
//{
|
||
// strTemp.Format(_T("代理商:%s"), m_SeeData.szCreateUser);
|
||
// strTemp= m_SeeData.szCreateUser;
|
||
//}
|
||
//提交用户
|
||
m_strCorp.Format(_T("%d-%s[%s]"), m_SeeData.lCorpID, m_SeeData.szCorpName, strTemp);
|
||
|
||
if (_tcslen(m_SeeData.szUserName) > 0)
|
||
{
|
||
m_strCorpBelongTo.Append(_T("子账户:"));
|
||
m_strCorpBelongTo.Append(m_SeeData.szUserName);
|
||
}
|
||
if (_tcslen(m_SeeData.szAgentName) > 0)
|
||
{
|
||
m_strCorpBelongTo.Append(_T(" 代理商:"));
|
||
m_strCorpBelongTo.Append(m_SeeData.szAgentName);
|
||
}
|
||
if (_tcslen(m_SeeData.szYWYName) > 0)
|
||
{
|
||
m_strCorpBelongTo.Append(_T(" 客户经理:"));
|
||
m_strCorpBelongTo.Append(m_SeeData.szYWYName);
|
||
}
|
||
//提交时间
|
||
m_strCreateTime.Format(_T("%s / %04d.%02d.%02d %02d:%02d:%02d / %d"), GetSignNameStatus(m_SeeData.lStatus), 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);
|
||
//签名类型,名称,归属,申请备注
|
||
m_strSignNameType = GetSignNameType(m_SeeData.lSignNameType);
|
||
m_strSignName = m_SeeData.szSignName;
|
||
m_strBelongTo = GetSignNameBelongTo(m_SeeData.lSignNameBelongTo);
|
||
m_strRemark = m_SeeData.szRemark;
|
||
m_bDefaultSignName = m_SeeData.lDefaultSignName;
|
||
//文件
|
||
m_strDocType1 = GetSignNameDocType(m_SeeData.lDocument1Type);
|
||
m_strFileName1 = m_SeeData.szDocument1FileName;
|
||
m_strDocType2 = GetSignNameDocType(m_SeeData.lDocument2Type);
|
||
m_strFileName2 = m_SeeData.szDocument2FileName;
|
||
m_strDocType3 = GetSignNameDocType(m_SeeData.lDocument3Type);
|
||
m_strFileName3 = m_SeeData.szDocument3FileName;
|
||
//按扭
|
||
if (m_SeeData.lDocument1FileID <= 0)
|
||
GetDlgItem(IDC_SIGNNAMESEE_DOCSEE1)->EnableWindow(false);
|
||
if (m_SeeData.lDocument2FileID <= 0)
|
||
GetDlgItem(IDC_SIGNNAMESEE_DOCSEE2)->EnableWindow(false);
|
||
if (m_SeeData.lDocument3FileID <= 0)
|
||
GetDlgItem(IDC_SIGNNAMESEE_DOCSEE3)->EnableWindow(false);
|
||
//审核情况
|
||
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_SIGNNAMESEE_AUDIT_PASS))->SetCheck(true);
|
||
((CButton*)GetDlgItem(IDC_SIGNNAMESEE_AIDIT_FAIL))->SetCheck(false);
|
||
}
|
||
if (lAuditStatus == 2)
|
||
{
|
||
((CButton*)GetDlgItem(IDC_SIGNNAMESEE_AUDIT_PASS))->SetCheck(false);
|
||
((CButton*)GetDlgItem(IDC_SIGNNAMESEE_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_strAuditOpinon = m_SeeData.szAuditOpinion;
|
||
|
||
if (m_lSeeType == 0)//仅查看
|
||
{
|
||
GetDlgItem(IDC_SIGNNAMESEE_AUDIT_PASS)->EnableWindow(false);
|
||
GetDlgItem(IDC_SIGNNAMESEE_AIDIT_FAIL)->EnableWindow(false);
|
||
((CEdit*)GetDlgItem(IDC_SIGNNAMESEE_AUDITOPINION))->SetReadOnly(true);
|
||
}
|
||
|
||
if (m_SeeData.lCorpStatus != 0 && m_SeeData.lUserSignName==0 ) //企业状态为未开通,并且为企业签名
|
||
{
|
||
COleDateTime t(m_SeeData.tCorpCreateTime);
|
||
if (t.GetStatus() == COleDateTime::valid &&
|
||
COleDateTime::GetCurrentTime() - t < COleDateTimeSpan(31, 0, 0, 0)) //创建时间1个月内的
|
||
{
|
||
strTemp.Format(_T("同时开通此企业(此企业创建时间为:%04d.%02d.%02d)"), t.GetYear(), t.GetMonth(), t.GetDay());
|
||
GetDlgItem(IDC_SIGNNAMESEE_OPEN)->SetWindowText(strTemp);
|
||
GetDlgItem(IDC_SIGNNAMESEE_OPEN)->ShowWindow(SW_SHOW);
|
||
m_bOpenCorp = true;
|
||
}
|
||
}
|
||
m_P_GDT.ShowWindow(SW_HIDE); //滚动条默认关闭。
|
||
UpdateData(false);
|
||
|
||
return TRUE; // return TRUE unless you set the focus to a control
|
||
// 异常: OCX 属性页应返回 FALSE
|
||
}
|
||
|
||
|
||
|
||
CString DLG_SignNameSee::GetSignNameStatus(long lStatus)
|
||
{
|
||
CString strTemp;
|
||
switch (lStatus)
|
||
{
|
||
case 0:
|
||
strTemp = _T("待审核");
|
||
break;
|
||
case 1:
|
||
strTemp = _T("审核成功");
|
||
break;
|
||
case 2:
|
||
strTemp = _T("审核失败");
|
||
break;
|
||
default:
|
||
strTemp = _T("未知状态");
|
||
break;
|
||
}
|
||
return strTemp;
|
||
}
|
||
CString DLG_SignNameSee::GetSignNameType(long lType)
|
||
{
|
||
CString strTemp;
|
||
switch (lType)
|
||
{
|
||
case 0:
|
||
strTemp = _T("企业/单位名称");
|
||
break;
|
||
case 1:
|
||
strTemp = _T("商标名称");
|
||
break;
|
||
case 2:
|
||
strTemp = _T("网站名称");
|
||
break;
|
||
case 3:
|
||
strTemp = _T("App/公众号/小程序名称");
|
||
break;
|
||
case 4:
|
||
strTemp = _T("其它名称");
|
||
break;
|
||
default:
|
||
strTemp = _T("未知类型");
|
||
break;
|
||
}
|
||
return strTemp;
|
||
}
|
||
CString DLG_SignNameSee::GetSignNameDocType(long lType)
|
||
{
|
||
CString strTemp;
|
||
switch (lType)
|
||
{
|
||
case 0:
|
||
strTemp = _T("三证合一/营业执照");
|
||
break;
|
||
case 1:
|
||
strTemp = _T("组织机构代码证");
|
||
break;
|
||
case 2:
|
||
strTemp = _T("社会信用代码证");
|
||
break;
|
||
case 3:
|
||
strTemp = _T("商标证书");
|
||
break;
|
||
case 4:
|
||
strTemp = _T("网站备案证明");
|
||
break;
|
||
case 5:
|
||
strTemp = _T("授权书");
|
||
break;
|
||
case 6:
|
||
strTemp = _T("其它证明文件");
|
||
break;
|
||
default:
|
||
strTemp = _T("未知文件");
|
||
break;
|
||
}
|
||
return strTemp;
|
||
}
|
||
CString DLG_SignNameSee::GetSignNameBelongTo(long lBelongTo)
|
||
{
|
||
CString strTemp;
|
||
switch (lBelongTo)
|
||
{
|
||
case 0:
|
||
strTemp = _T("自用");
|
||
break;
|
||
case 1:
|
||
strTemp = _T("他人");
|
||
break;
|
||
default:
|
||
strTemp = _T("未知");
|
||
break;
|
||
}
|
||
return strTemp;
|
||
}
|
||
|
||
BOOL DLG_SignNameSee::ProcessSocket(Socket_Head *pHead)
|
||
{
|
||
//查看文件
|
||
if (pHead->lFuncType == SMSFUNC_CORP_FILE)
|
||
{
|
||
ANS_Corp_File * pFile = (ANS_Corp_File *)pHead->pFrame;
|
||
ANS_Corp_FileData * pFileData = (ANS_Corp_FileData *)(pHead->pFrame + sizeof(ANS_Corp_File));
|
||
if (pFile->lCount < 0) //权限不足,返回错误
|
||
return true;
|
||
if (pFile->ret.lReqType == 5) //下载
|
||
{
|
||
if (pFile->bOK && pFile->lCount > 0)
|
||
{
|
||
if (pFile->ret.lSize <= pFile->ret.lUpSize) //收到第一帧
|
||
{
|
||
m_P_GDT.SetRange32(0, pFile->ret.lAllSize);
|
||
m_P_GDT.ShowWindow(SW_SHOW);
|
||
}
|
||
|
||
m_DownFile.Write((BYTE*)pFileData, pFile->ret.lSize); //写文件
|
||
|
||
if (pFile->ret.lAllSize == pFile->ret.lUpSize) //下载完成
|
||
{
|
||
m_P_GDT.SetRange(0, 0); //上传完成,关闭滚动条
|
||
m_P_GDT.ShowWindow(SW_HIDE);
|
||
m_DownFile.Close();
|
||
|
||
//下载完成,打开文件
|
||
ShellExecute(NULL, _T("open"), m_strDownFileName, NULL, m_strDownFilePath, SW_SHOWNORMAL);
|
||
}
|
||
else
|
||
{
|
||
m_P_GDT.SetPos(pFile->ret.lUpSize);
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
void DLG_SignNameSee::OnBnClickedSignnameseeDocsee1()
|
||
{
|
||
DownLoadFile(m_SeeData.lDocument1FileID, m_SeeData.szDocument1FileName);
|
||
}
|
||
|
||
|
||
void DLG_SignNameSee::DownLoadFile(long lFileID, CString strFileName)
|
||
{
|
||
if (lFileID <= 0 || strFileName.GetLength() < 2)
|
||
return;
|
||
//取扩展名
|
||
TCHAR * pFilename = strFileName.GetBuffer();
|
||
TCHAR *ext = _tcsrchr(pFilename, _T('.'));
|
||
if (ext)
|
||
{
|
||
*ext = '\0';
|
||
ext++;
|
||
}
|
||
CString strFileTitle = pFilename;
|
||
CString strExtName = ext;
|
||
|
||
//取当前文件夹
|
||
TCHAR szPath[512] = { 0 };
|
||
DLG_Corp_LXR_SF::GetCurrentPath(szPath);
|
||
_tcscat(szPath, _T("Files\\"));
|
||
::CreateDirectory(szPath, NULL); //创建文件夹
|
||
CString strDownLoadFile;
|
||
strDownLoadFile.Format(_T("%s%d.%s"), szPath,lFileID, strExtName);
|
||
if (_taccess(strDownLoadFile, 0) != -1)
|
||
{
|
||
if (!::DeleteFile(strDownLoadFile))
|
||
{
|
||
MessageBox(_T("文件冲突,建议重启后再试!"), _T("错误"), MB_ICONWARNING);
|
||
return;
|
||
}
|
||
}
|
||
m_strDownRarFile = strDownLoadFile;
|
||
m_strDownFilePath = szPath;
|
||
m_strDownFileName = strDownLoadFile; //原始文件名
|
||
|
||
if (!m_DownFile.Open(m_strDownRarFile, CFile::modeCreate | CFile::modeWrite))
|
||
{
|
||
MessageBox(_T("创建文件失败,建议重启后再试!"), _T("错误"), MB_ICONWARNING);
|
||
return;
|
||
}
|
||
|
||
REQ_Corp_File * pFile = new REQ_Corp_File;
|
||
memset(pFile, 0, sizeof(REQ_Corp_File));
|
||
pFile->lFileID = lFileID;
|
||
pFile->lReqType = 5; //下载
|
||
_tcscpy(pFile->szCorpName, strFileName); //原始文件名
|
||
if (m_pDlg)
|
||
{
|
||
((CK_SignName*)m_pDlg)->m_pMainFrame->SendFrame(SMSFUNC_CORP_FILE, (BYTE*)pFile, sizeof(REQ_Corp_File));
|
||
}
|
||
}
|
||
|
||
|
||
void DLG_SignNameSee::OnBnClickedSignnameseeDocsee2()
|
||
{
|
||
DownLoadFile(m_SeeData.lDocument2FileID, m_SeeData.szDocument2FileName);
|
||
}
|
||
|
||
|
||
void DLG_SignNameSee::OnBnClickedSignnameseeDocsee3()
|
||
{
|
||
DownLoadFile(m_SeeData.lDocument3FileID, m_SeeData.szDocument3FileName);
|
||
}
|