2025-01-14 10:46:18 +08:00
|
|
|
|
// ListMmsDlg.cpp : implementation file
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "smsmanager.h"
|
|
|
|
|
#include "ListMmsDlg.h"
|
|
|
|
|
|
|
|
|
|
#ifdef _DEBUG
|
|
|
|
|
#define new DEBUG_NEW
|
|
|
|
|
#undef THIS_FILE
|
|
|
|
|
static char THIS_FILE[] = __FILE__;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// CListMmsDlg dialog
|
|
|
|
|
|
|
|
|
|
#include "MainFrm.h"
|
|
|
|
|
#include "ProcessSocket.h"
|
|
|
|
|
#include "DLG_SmsLogSee.h"
|
|
|
|
|
#include "DLG_HZB_Export.h"
|
|
|
|
|
#include "DLG_Corp_Oper_Open.h"
|
|
|
|
|
#include "DLG_BBS_Send.h"
|
|
|
|
|
#include "DLG_CheckUp_Mms_See.h"
|
|
|
|
|
|
|
|
|
|
CListMmsDlg::CListMmsDlg(CWnd* pParent /*=NULL*/)
|
|
|
|
|
: CDialog(CListMmsDlg::IDD, pParent)
|
|
|
|
|
{
|
|
|
|
|
//{{AFX_DATA_INIT(CListMmsDlg)
|
|
|
|
|
m_lCorp = -1;
|
|
|
|
|
m_tBegin = COleDateTime::GetCurrentTime();
|
|
|
|
|
m_tEnd = COleDateTime::GetCurrentTime();
|
|
|
|
|
m_lMobileType = -1;
|
|
|
|
|
m_bOld = FALSE;
|
|
|
|
|
m_lMsgType = -1;
|
|
|
|
|
m_bJF = FALSE;
|
|
|
|
|
m_lTop = -1;
|
|
|
|
|
m_strMobile = _T("");
|
|
|
|
|
//}}AFX_DATA_INIT
|
|
|
|
|
m_bInit = false;
|
|
|
|
|
m_bRefresh = false;
|
|
|
|
|
// m_bProcess = false;
|
|
|
|
|
m_lQueryCorpID = 0;
|
|
|
|
|
|
|
|
|
|
//取彩信
|
|
|
|
|
m_bProcess = false;
|
|
|
|
|
|
|
|
|
|
m_pMmsBuf = NULL;
|
|
|
|
|
m_lMmsSize= 0;
|
|
|
|
|
m_tBegin2 = COleDateTime::GetCurrentTime();
|
|
|
|
|
m_tEnd2 = COleDateTime::GetCurrentTime();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
{
|
|
|
|
|
CDialog::DoDataExchange(pDX);
|
|
|
|
|
//{{AFX_DATA_MAP(CListMmsDlg)
|
|
|
|
|
DDX_Control(pDX, IDC_LIST_MOBILE, m_E_Mobile);
|
|
|
|
|
DDX_Control(pDX, IDC_LIST_CORPID, m_E_CorpID);
|
|
|
|
|
DDX_Control(pDX, IDC_LIST_S1, m_S_S1);
|
|
|
|
|
DDX_Control(pDX, IDC_LIST_CORP, m_L_Corp);
|
|
|
|
|
DDX_Control(pDX, IDC_LIST_LIST, m_wndList);
|
|
|
|
|
DDX_CBIndex(pDX, IDC_LIST_CORP, m_lCorp);
|
|
|
|
|
DDX_DateTimeCtrl(pDX, IDC_LIST_TBEGIN, m_tBegin);
|
|
|
|
|
DDX_DateTimeCtrl(pDX, IDC_LIST_TEND, m_tEnd);
|
|
|
|
|
DDX_CBIndex(pDX, IDC_LIST_MOBILETYPE, m_lMobileType);
|
|
|
|
|
DDX_Check(pDX, IDC_LIST_OLD, m_bOld);
|
|
|
|
|
DDX_CBIndex(pDX, IDC_LIST_MSGYTYPE, m_lMsgType);
|
|
|
|
|
DDX_Check(pDX, IDC_LIST_JF, m_bJF);
|
|
|
|
|
DDX_CBIndex(pDX, IDC_LIST_TOP, m_lTop);
|
|
|
|
|
DDX_Text(pDX, IDC_LIST_MOBILE, m_strMobile);
|
|
|
|
|
DDV_MaxChars(pDX, m_strMobile, 15);
|
|
|
|
|
//}}AFX_DATA_MAP
|
|
|
|
|
DDX_DateTimeCtrl(pDX, IDC_LIST_TBEGIN2, m_tBegin2);
|
|
|
|
|
DDX_DateTimeCtrl(pDX, IDC_LIST_TEND2, m_tEnd2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CListMmsDlg, CDialog)
|
|
|
|
|
//{{AFX_MSG_MAP(CListMmsDlg)
|
|
|
|
|
ON_WM_SIZE()
|
|
|
|
|
ON_BN_CLICKED(IDC_LIST_QUERY, OnListQuery)
|
|
|
|
|
ON_NOTIFY(NM_DBLCLK, IDC_LIST_LIST, OnDblclkListList)
|
|
|
|
|
ON_BN_CLICKED(IDC_LIST_QUERY2, OnListQuery2)
|
|
|
|
|
ON_NOTIFY(NM_RCLICK, IDC_LIST_LIST, OnRclickListList)
|
|
|
|
|
//}}AFX_MSG_MAP
|
|
|
|
|
ON_COMMAND(MENU_LIST_SEE , On_User_See )
|
|
|
|
|
ON_COMMAND(MENU_LIST_ADDBACK , On_User_AddBack )
|
|
|
|
|
ON_COMMAND(MENU_LIST_SENDBBS , On_User_SendBBS )
|
|
|
|
|
ON_COMMAND(MENU_LIST_CORPLIST , On_User_CorpList )
|
|
|
|
|
ON_COMMAND(MENU_LIST_CORPOFF , On_User_CorpOFF )
|
|
|
|
|
ON_COMMAND(MENU_LIST_EXPORT , On_User_Export )
|
|
|
|
|
ON_COMMAND(MENU_LIST_COPY , On_User_Copy )
|
|
|
|
|
ON_COMMAND(MENU_LIST_SEEMMS , On_User_SeeMms)
|
|
|
|
|
ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST_LIST, &CListMmsDlg::OnLvnItemchangedListList)
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// CListMmsDlg message handlers
|
|
|
|
|
|
|
|
|
|
BOOL CListMmsDlg::ReShow(BOOL bRefresh)
|
|
|
|
|
{
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB, false))
|
|
|
|
|
{
|
|
|
|
|
GetDlgItem(IDC_LIST_OLD)->ShowWindow(SW_HIDE);
|
|
|
|
|
m_bOld = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB, false))
|
|
|
|
|
{
|
|
|
|
|
GetDlgItem(IDC_LIST_TOP)->EnableWindow(false);
|
|
|
|
|
GetDlgItem(IDC_LIST_TBEGIN)->EnableWindow(false);
|
|
|
|
|
GetDlgItem(IDC_LIST_TEND)->EnableWindow(false);
|
|
|
|
|
GetDlgItem(IDC_LIST_TBEGIN2)->EnableWindow(false);
|
|
|
|
|
GetDlgItem(IDC_LIST_TEND2)->EnableWindow(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
ShowWindow( SW_SHOW );
|
|
|
|
|
if ( bRefresh || !m_bRefresh )
|
|
|
|
|
{
|
|
|
|
|
RefreshInfo();
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BOOL CListMmsDlg::ReHide()
|
|
|
|
|
{
|
|
|
|
|
ShowWindow( SW_HIDE );
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BOOL CListMmsDlg::RefreshInfo()
|
|
|
|
|
{
|
|
|
|
|
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
m_pMainFrame->SendFrame(SMSFUNC_CORP_NAME,NULL,0);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BOOL CListMmsDlg::ProcessSocket(Socket_Head *pHead)
|
|
|
|
|
{
|
|
|
|
|
CString strTemp;
|
|
|
|
|
//取过滤信息
|
|
|
|
|
if (pHead->lFuncType == SMSFUNC_CORP_NAME)
|
|
|
|
|
{
|
|
|
|
|
m_bRefresh = true; //已经刷新过
|
|
|
|
|
ANS_Corp_Name * pCorp = (ANS_Corp_Name *)pHead->pFrame;
|
|
|
|
|
ANS_Corp_NameData * pData = (ANS_Corp_NameData *)(pHead->pFrame+sizeof(ANS_Corp_Name));
|
|
|
|
|
m_L_Corp.ResetContent(); //删除原已有的企业
|
|
|
|
|
m_L_Corp.AddString( _T("所有企业") );
|
|
|
|
|
this->Close_Corp(); //关闭原队列
|
|
|
|
|
for ( int i=0;i<pCorp->lCount;i++ )
|
|
|
|
|
{
|
|
|
|
|
ANS_Corp_NameData * pNewData = new ANS_Corp_NameData;
|
|
|
|
|
*pNewData = *pData;
|
|
|
|
|
POSITION pos = m_Corp.AddTail(pNewData);
|
|
|
|
|
strTemp.Format( _T("%d-%s"),pData->lCorpID,pData->szCorpName);
|
|
|
|
|
long lItem = m_L_Corp.AddString( strTemp );
|
2025-04-11 17:21:56 +08:00
|
|
|
|
m_L_Corp.SetItemData( lItem , (DWORD_PTR)pos);
|
2025-01-14 10:46:18 +08:00
|
|
|
|
pData ++;
|
|
|
|
|
}
|
|
|
|
|
m_L_Corp.SetCurSel(0);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
if (pHead->lFuncType == SMSFUNC_BACK_ADD)
|
|
|
|
|
{
|
|
|
|
|
ANS_Back_Add * pBack = (ANS_Back_Add *)pHead->pFrame;
|
|
|
|
|
|
|
|
|
|
CString str;
|
|
|
|
|
if ( pBack->bOK )
|
|
|
|
|
{
|
|
|
|
|
str.Format( _T("黑名单添加成功,%d->%s!"),pBack->lCorpID , pBack->szMobile );
|
|
|
|
|
MessageBox( str , _T("提示") , MB_ICONINFORMATION );
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
str.Format( _T("黑名单添加失败,请检查!"));
|
|
|
|
|
MessageBox( str , _T("提示") , MB_ICONINFORMATION );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BOOL CListMmsDlg::OnInitDialog()
|
|
|
|
|
{
|
|
|
|
|
CDialog::OnInitDialog();
|
|
|
|
|
|
|
|
|
|
//取得共用参数
|
|
|
|
|
//CMainFrame * pFrame = static_cast <CMainFrame *>((CMainFrame *)AfxGetMainWnd());
|
|
|
|
|
this->GetParent()->GetParentFrame();
|
|
|
|
|
m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame();
|
|
|
|
|
m_pSocket = &m_pMainFrame->m_Socket;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
GetDlgItem(IDC_LIST_S1)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_LIST_CORP)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_LIST_QUERY2)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_LIST_CORPID)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_LIST_OLD)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_LIST_JF)->ShowWindow(SW_HIDE);
|
|
|
|
|
|
|
|
|
|
//GetDlgItem(IDC_LIST_S2)->ShowWindow(SW_HIDE);
|
|
|
|
|
//GetDlgItem(IDC_LIST_MOBILETYPE)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_LIST_MSGYTYPE)->ShowWindow(SW_HIDE);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//初始化List
|
|
|
|
|
m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5);
|
|
|
|
|
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LIST) );
|
|
|
|
|
m_wndList.SubClassWindow2();
|
|
|
|
|
m_wndList.SetHeadings(_T("序号,40; 类 型,80;状态,50;企业ID,60;发送人,70; 发送号码,130; 接收人,70; 接收号码,130;运营商,70; 提交时间,150; 发送时间,150; 接收时间,150; 定时时间,150; 彩信标题,150;彩信大小,70; 备注,400;"));
|
|
|
|
|
m_wndList.SetGridLines(true);
|
|
|
|
|
// m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
|
|
|
|
|
|
|
|
|
|
m_bInit = true;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
//默认取上月的内容
|
|
|
|
|
SYSTEMTIME t; ::GetLocalTime(&t);
|
|
|
|
|
t.wDay = 1;//从1号起
|
|
|
|
|
t.wMonth = t.wMonth-1;
|
|
|
|
|
if ( t.wMonth <=0 )
|
|
|
|
|
{
|
|
|
|
|
t.wMonth = 12;
|
|
|
|
|
t.wYear = t.wYear-1;
|
|
|
|
|
}
|
|
|
|
|
m_tBegin.SetDate( t.wYear,t.wMonth,t.wDay ); //起始
|
|
|
|
|
if ( t.wMonth == 1 ||
|
|
|
|
|
t.wMonth == 3 ||
|
|
|
|
|
t.wMonth == 5 ||
|
|
|
|
|
t.wMonth == 7 ||
|
|
|
|
|
t.wMonth == 8 ||
|
|
|
|
|
t.wMonth == 10 ||
|
|
|
|
|
t.wMonth == 12 )
|
|
|
|
|
{
|
|
|
|
|
t.wDay = 31;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
if (t.wMonth == 2 )
|
|
|
|
|
t.wDay = 28;
|
|
|
|
|
else
|
|
|
|
|
t.wDay = 30;
|
|
|
|
|
m_tEnd.SetDate( t.wYear,t.wMonth,t.wDay );//结束
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
SYSTEMTIME t; ::GetLocalTime(&t);
|
|
|
|
|
m_tBegin.SetDate( t.wYear,t.wMonth,t.wDay ); //起始
|
|
|
|
|
m_tEnd.SetDate( t.wYear,t.wMonth,t.wDay );//结束
|
|
|
|
|
if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB, false))
|
|
|
|
|
{
|
|
|
|
|
COleDateTime tP = COleDateTime::GetCurrentTime() - COleDateTimeSpan(2, 0, 0, 0);
|
|
|
|
|
m_tBegin.SetDate(tP.GetYear(), tP.GetMonth(), tP.GetDay()); //起始
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
t.wHour=0;
|
|
|
|
|
t.wMinute=0;
|
|
|
|
|
t.wSecond=0;
|
|
|
|
|
m_tBegin2.SetTime(t.wHour,t.wMinute,t.wSecond);
|
|
|
|
|
t.wHour=23;
|
|
|
|
|
t.wMinute=59;
|
|
|
|
|
t.wSecond=59;
|
|
|
|
|
m_tEnd2.SetTime(t.wHour,t.wMinute,t.wSecond);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m_lMobileType = 0; //默认查询所有号码
|
|
|
|
|
m_lMsgType=0; //默认查询所有类型的短信
|
|
|
|
|
m_lTop = 1; //默认显示前200条短信
|
|
|
|
|
|
|
|
|
|
UpdateData(false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
|
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::OnSize(UINT nType, int cx, int cy)
|
|
|
|
|
{
|
|
|
|
|
CDialog::OnSize(nType, cx, cy);
|
|
|
|
|
|
|
|
|
|
if ( m_bInit )
|
|
|
|
|
{
|
|
|
|
|
CRect rect;
|
|
|
|
|
m_S_S1.GetWindowRect(&rect);
|
|
|
|
|
m_wndList.MoveWindow( 0 , 0+rect.Height()+5 , cx,cy-rect.Height()-5);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::Close()
|
|
|
|
|
{
|
|
|
|
|
Close_Corp();
|
|
|
|
|
Close_ListData();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::OnListQuery()
|
|
|
|
|
{
|
|
|
|
|
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
|
|
|
|
|
{
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
UpdateData(true);
|
|
|
|
|
|
|
|
|
|
m_tBegin.SetDateTime(m_tBegin.GetYear(),m_tBegin.GetMonth(),m_tBegin.GetDay(),m_tBegin2.GetHour(),m_tBegin2.GetMinute(),m_tBegin2.GetSecond());
|
|
|
|
|
m_tEnd.SetDateTime(m_tEnd.GetYear(),m_tEnd.GetMonth(),m_tEnd.GetDay(),m_tEnd2.GetHour(),m_tEnd2.GetMinute(),m_tEnd2.GetSecond());
|
|
|
|
|
|
|
|
|
|
if ( m_tEnd < m_tBegin )
|
|
|
|
|
{
|
|
|
|
|
MessageBox( _T("查询结束时间不能小于起始时间,请改正!") , _T("错误") , MB_ICONWARNING );
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
REQ_ListMms * pList = new REQ_ListMms;memset(pList,0,sizeof(REQ_ListMms));
|
|
|
|
|
|
|
|
|
|
if ( m_strMobile.GetLength()>8 )
|
|
|
|
|
_tcscpy(pList->szMobile , m_strMobile );
|
|
|
|
|
// m_E_Mobile.SetWindowText( _T("") );
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
if ( m_lQueryCorpID )
|
|
|
|
|
{
|
|
|
|
|
pList->lCorpID = m_lQueryCorpID;
|
|
|
|
|
pList->lMsgType = -1; //查询所有的记录
|
|
|
|
|
m_lQueryCorpID = 0;
|
|
|
|
|
_tcscpy(pList->szMobile, _T(""));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB, false))
|
|
|
|
|
{
|
|
|
|
|
if (m_strMobile.GetLength() < 8)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("必须输入手机号码查询清单!"), _T("错误"), MB_ICONWARNING);
|
|
|
|
|
GetDlgItem(IDC_LIST_MOBILE)->SetFocus();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
pList->lCorpID = -1;
|
|
|
|
|
pList->lMsgType = 4; //查询接收的记录
|
|
|
|
|
}
|
|
|
|
|
m_tBegin.GetAsSystemTime( pList->tBegin );
|
|
|
|
|
m_tEnd.GetAsSystemTime( pList->tEnd );
|
|
|
|
|
pList->lMobileType = m_lMobileType-1; //手机类型
|
|
|
|
|
pList->bOld = false; //是否查询旧数据
|
|
|
|
|
pList->bJF = false; //是否仅查询计费的
|
|
|
|
|
|
|
|
|
|
if ( _tcslen(pList->szMobile)>8 )
|
|
|
|
|
{
|
|
|
|
|
pList->lCorpID = -1;
|
|
|
|
|
pList->lMsgType = -1; //查询所有的记录
|
|
|
|
|
pList->lMobileType = -1; //手机类型
|
|
|
|
|
}
|
|
|
|
|
#else
|
|
|
|
|
if ( m_lQueryCorpID )
|
|
|
|
|
{
|
|
|
|
|
pList->lCorpID = m_lQueryCorpID;
|
|
|
|
|
pList->lMsgType = -1; //查询所有的记录
|
|
|
|
|
m_lQueryCorpID = 0;
|
|
|
|
|
_tcscpy(pList->szMobile, _T(""));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if ( m_lCorp <= 0 ) //选了所有企业
|
|
|
|
|
{
|
|
|
|
|
pList->lCorpID = -1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
POSITION pos = (POSITION)m_L_Corp.GetItemData(m_lCorp);
|
|
|
|
|
POSITION pos2 = pos;
|
|
|
|
|
ANS_Corp_NameData * pData = m_Corp.GetNext( pos );
|
|
|
|
|
if (pData)
|
|
|
|
|
{
|
|
|
|
|
pList->lCorpID = pData->lCorpID;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
pList->lMobileType = m_lMobileType-1; //手机类型
|
|
|
|
|
pList->lMsgType = m_lMsgType-1; //短信类型
|
|
|
|
|
pList->bOld = m_bOld; //是否查询旧数据
|
|
|
|
|
pList->bJF = m_bJF; //是否仅查询计费的
|
|
|
|
|
}
|
|
|
|
|
m_tBegin.GetAsSystemTime( pList->tBegin );
|
|
|
|
|
m_tEnd.GetAsSystemTime( pList->tEnd );
|
|
|
|
|
#endif
|
|
|
|
|
switch ( m_lTop )
|
|
|
|
|
{
|
|
|
|
|
case 1:
|
|
|
|
|
pList->lTop = 200;
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
pList->lTop = 500;
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
pList->lTop = 1000;
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
pList->lTop = 2000;
|
|
|
|
|
break;
|
|
|
|
|
case 5:
|
|
|
|
|
pList->lTop = 5000;
|
|
|
|
|
break;
|
|
|
|
|
case 0:
|
|
|
|
|
default:
|
|
|
|
|
pList->lTop = -1;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
this->Close_ListData(); //关闭原队列
|
|
|
|
|
m_wndList.ShowWindow( SW_HIDE ); //为了加快显示速度
|
|
|
|
|
m_wndList.DeleteAllItems(); //先删除所有记录
|
|
|
|
|
m_pMainFrame->SendFrame(SMSFUNC_LISTMMS,(BYTE*)pList,sizeof(REQ_ListMms));
|
|
|
|
|
// m_bProcess = true;
|
|
|
|
|
// m_Process.DoModal();
|
|
|
|
|
// m_bProcess = false;
|
|
|
|
|
m_wndList.ShowWindow( SW_SHOW ); //为了加快显示速度
|
|
|
|
|
m_S_S1.SetWindowText( _T("查询企业") );
|
|
|
|
|
#ifdef SMSCENTER_NX
|
|
|
|
|
GetDlgItem(IDC_LIST_QUERY)->EnableWindow(false);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::OnDblclkListList(NMHDR* pNMHDR, LRESULT* pResult)
|
|
|
|
|
{
|
|
|
|
|
*pResult = 0;
|
|
|
|
|
|
|
|
|
|
On_User_See();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::OnListQuery2()
|
|
|
|
|
{
|
|
|
|
|
CString strTemp;
|
|
|
|
|
CString strFind;
|
|
|
|
|
m_E_CorpID.GetWindowText(strFind);
|
|
|
|
|
if ( strFind.GetLength()<=0 )
|
|
|
|
|
return ;
|
|
|
|
|
long lSel = m_L_Corp.GetCurSel();
|
|
|
|
|
long lCount = m_L_Corp.GetCount();
|
|
|
|
|
for ( int i=lSel+1 ; i<lCount ; i++ )
|
|
|
|
|
{
|
|
|
|
|
m_L_Corp.GetLBText(i,strTemp);
|
|
|
|
|
if ( strTemp.Find(strFind)>=0 )
|
|
|
|
|
{
|
|
|
|
|
m_L_Corp.SetCurSel(i);
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for ( i=0 ; i<lSel ; i++ )
|
|
|
|
|
{
|
|
|
|
|
m_L_Corp.GetLBText(i,strTemp);
|
|
|
|
|
if ( strTemp.Find(strFind)>=0 )
|
|
|
|
|
{
|
|
|
|
|
m_L_Corp.SetCurSel(i);
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::OnRclickListList(NMHDR* pNMHDR, LRESULT* pResult)
|
|
|
|
|
{
|
|
|
|
|
*pResult = 0;
|
|
|
|
|
|
|
|
|
|
ShowRMenu();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::ShowRMenu()
|
|
|
|
|
{
|
|
|
|
|
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
|
|
|
|
|
{
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
#if defined(SMSCENTER_NX) && !defined(SMSCENTER_GDDX)
|
|
|
|
|
//农信版本,根据不同权限划分客服与查帐两个版本
|
|
|
|
|
if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_RESETPASSWD,false) ) //最小权限
|
|
|
|
|
{
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
CMenu menu;
|
|
|
|
|
menu.CreatePopupMenu();
|
|
|
|
|
BOOL bLock = false;
|
|
|
|
|
long lItem = this->GetCurrentSelected();
|
|
|
|
|
//添加
|
|
|
|
|
if ( lItem>=0 )
|
|
|
|
|
{
|
|
|
|
|
menu.AppendMenu(MF_STRING , MENU_LIST_SEE , _T(" 查基本资料 ") );
|
|
|
|
|
menu.AppendMenu(MF_STRING , MENU_LIST_SEEMMS , _T(" 查彩信内容 ") );
|
|
|
|
|
menu.AppendMenu(MF_SEPARATOR );
|
|
|
|
|
if (m_pMainFrame->GetUserPurview(PURVIEW_LIST, false))
|
|
|
|
|
{
|
|
|
|
|
menu.AppendMenu(MF_STRING, MENU_LIST_CORPLIST, _T(" 查询此企业清单 "));
|
|
|
|
|
}
|
|
|
|
|
menu.AppendMenu(MF_SEPARATOR );
|
|
|
|
|
menu.AppendMenu(MF_STRING , MENU_LIST_CORPOFF , _T(" 禁用此企业 ") );
|
|
|
|
|
menu.AppendMenu(MF_SEPARATOR );
|
|
|
|
|
menu.AppendMenu(MF_STRING , MENU_LIST_ADDBACK, _T(" 添加到黑名单 ") );
|
|
|
|
|
menu.AppendMenu(MF_SEPARATOR );
|
|
|
|
|
menu.AppendMenu(MF_STRING , MENU_LIST_SENDBBS, _T(" 发送黑名单屏蔽通知 ") );
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_SEE , _T(" 查基本资料 ") );
|
|
|
|
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_SEEMMS , _T(" 查彩信内容 ") );
|
|
|
|
|
menu.AppendMenu(MF_SEPARATOR );
|
|
|
|
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_CORPLIST, _T(" 查询此企业清单 ") );
|
|
|
|
|
menu.AppendMenu(MF_SEPARATOR );
|
|
|
|
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_CORPOFF , _T(" 禁用此企业 ") );
|
|
|
|
|
menu.AppendMenu(MF_SEPARATOR );
|
|
|
|
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_ADDBACK, _T(" 添加到黑名单 ") );
|
|
|
|
|
menu.AppendMenu(MF_SEPARATOR );
|
|
|
|
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_SENDBBS, _T(" 发送黑名单屏蔽通知 ") );
|
|
|
|
|
}
|
|
|
|
|
menu.AppendMenu(MF_SEPARATOR );
|
|
|
|
|
menu.AppendMenu(MF_STRING , MENU_LIST_COPY , _T(" 复 制 ") );
|
|
|
|
|
#ifndef SMSMANAGER_KF
|
|
|
|
|
menu.AppendMenu(MF_SEPARATOR );
|
|
|
|
|
menu.AppendMenu(MF_STRING , MENU_LIST_EXPORT , _T(" 导 出 ") );
|
|
|
|
|
#endif
|
|
|
|
|
//显示菜单
|
|
|
|
|
POINT pt ;
|
|
|
|
|
::GetCursorPos( &pt );
|
|
|
|
|
//this->ClientToScreen( &pt);
|
|
|
|
|
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
|
|
|
|
|
menu.DestroyMenu();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
long CListMmsDlg::GetCurrentSelected()
|
|
|
|
|
{
|
|
|
|
|
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
|
|
|
|
|
if ( pos )
|
|
|
|
|
{
|
|
|
|
|
return m_wndList.GetNextSelectedItem(pos);
|
|
|
|
|
}
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::On_User_See()
|
|
|
|
|
{
|
|
|
|
|
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
|
|
|
|
|
{
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
long lItem = m_wndList.GetFirstSelectedItem();
|
|
|
|
|
if ( lItem < 0 )
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
|
|
|
|
|
POSITION pos2 = pos;
|
|
|
|
|
ANS_ListMmsData * pData = m_ListData.GetNext( pos );
|
|
|
|
|
if (!pData)
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
SMS_See sms={0};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_stprintf(sms.szCorpID, _T("%d"), pData->lCorpID);
|
|
|
|
|
|
|
|
|
|
CString strType = _T("未知");
|
|
|
|
|
switch (pData->lSmsType)
|
|
|
|
|
{
|
|
|
|
|
case SMSTYPE_SEND:
|
|
|
|
|
strType = _T("下行短信");
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_ZF:
|
|
|
|
|
strType = _T("转发短信");
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_ALARM:
|
|
|
|
|
strType = _T("日程提醒");
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_EMAIL:
|
|
|
|
|
strType = _T("邮件通知");
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_RECV:
|
|
|
|
|
strType = _T("回复短信");
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_SP:
|
|
|
|
|
strType = _T("增值业务");
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_SWT:
|
|
|
|
|
strType = _T("商务通");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CString strStatus = _T("未知");
|
|
|
|
|
switch (pData->lStatus)
|
|
|
|
|
{
|
|
|
|
|
case SMSTYPE_SEND:
|
|
|
|
|
strStatus = _T("提交成功");
|
|
|
|
|
break;
|
|
|
|
|
case SEND_STATUS_SUB_FILT:
|
|
|
|
|
strStatus = _T("审核中");
|
|
|
|
|
break;
|
|
|
|
|
case SEND_STATUS_SUB_ERROR:
|
|
|
|
|
case SEND_STATUS_SUB_USERNOSMS:
|
|
|
|
|
case SEND_STATUS_SUB_CORPNOSMS:
|
|
|
|
|
case SEND_STATUS_SUB_CORPOVRDATE:
|
|
|
|
|
case SEND_STATUS_SUB_NUMNOSUP:
|
|
|
|
|
case SEND_STATUS_OVERCOUNT:
|
|
|
|
|
case SEND_STATUS_NOSY:
|
|
|
|
|
strStatus = _T("提交失败");
|
|
|
|
|
break;
|
|
|
|
|
case SEND_STATUS_FILT_ERROR:
|
|
|
|
|
strStatus = _T("审核失败");
|
|
|
|
|
break;
|
|
|
|
|
case SEND_STATUS_SEND_OK:
|
|
|
|
|
strStatus = _T("发送成功");
|
|
|
|
|
break;
|
|
|
|
|
case SEND_STATUS_SEND_ERROR:
|
|
|
|
|
strStatus = _T("发送失败");
|
|
|
|
|
break;
|
|
|
|
|
case SEND_STATUS_RECV_OK:
|
|
|
|
|
strStatus = _T("接收成功");
|
|
|
|
|
break;
|
|
|
|
|
case SEND_STATUS_RECV_ERROR:
|
|
|
|
|
strStatus = _T("接收失败");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_stprintf(sms.szStatus, _T("%d - %s - %s"), pData->lStatus, strStatus, strType);
|
|
|
|
|
|
|
|
|
|
if ( _tcslen(pData->szSender))
|
|
|
|
|
_stprintf( sms.szSender , _T("%s-%s") , pData->szSender,pData->szSendNum);
|
|
|
|
|
else
|
|
|
|
|
_stprintf( sms.szSender , _T("%s") , pData->szSendNum );
|
|
|
|
|
|
|
|
|
|
TCHAR szBuf[32] = { 0 };
|
|
|
|
|
_tcscpy(szBuf, pData->szRecvNum);
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB, false))
|
|
|
|
|
{
|
|
|
|
|
szBuf[4] = '*'; szBuf[5] = '*'; szBuf[6] = '*';
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
if ( _tcslen(pData->szRecver))
|
|
|
|
|
_stprintf( sms.szRecver , _T("%s-%s") , pData->szRecver, szBuf);
|
|
|
|
|
else
|
|
|
|
|
_stprintf( sms.szRecver , _T("%s") , szBuf);
|
|
|
|
|
|
|
|
|
|
_stprintf( sms.szSendTime , _T("%04d.%02d.%02d %02d:%02d:%02d") ,pData->tSendTime.wYear, pData->tSendTime.wMonth,pData->tSendTime.wDay,pData->tSendTime.wHour,pData->tSendTime.wMinute,pData->tSendTime.wSecond );
|
|
|
|
|
_stprintf( sms.szRecvTime , _T("%04d.%02d.%02d %02d:%02d:%02d") ,pData->tRecvTime.wYear,pData->tRecvTime.wMonth,pData->tRecvTime.wDay,pData->tRecvTime.wHour,pData->tRecvTime.wMinute,pData->tRecvTime.wSecond );
|
|
|
|
|
_stprintf( sms.szMsg , _T("(%.2fk) %s") , (float)pData->lmmSize/1024.0f,pData->szTitle );
|
|
|
|
|
|
|
|
|
|
CString str;
|
|
|
|
|
str.Format(_T("%-32s;%-4d;%s") , pData->szMsgID,pData->lSendRet,pData->szRecvStatus);
|
|
|
|
|
str.TrimLeft();
|
|
|
|
|
str.TrimRight();
|
|
|
|
|
_tcscpy(sms.szAdd,str);
|
|
|
|
|
|
|
|
|
|
DLG_SmsLogSee dlg(this);
|
|
|
|
|
dlg.SetParam(sms);
|
|
|
|
|
dlg.DoModal();
|
|
|
|
|
}
|
|
|
|
|
void CListMmsDlg::On_User_SeeMms()
|
|
|
|
|
{
|
|
|
|
|
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
|
|
|
|
|
{
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
long lItem = m_wndList.GetFirstSelectedItem();
|
|
|
|
|
if ( lItem < 0 )
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
|
|
|
|
|
POSITION pos2 = pos;
|
|
|
|
|
ANS_ListMmsData * pData = m_ListData.GetNext( pos );
|
|
|
|
|
if (!pData)
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
if (m_pMmsBuf )
|
|
|
|
|
{
|
|
|
|
|
delete m_pMmsBuf;
|
|
|
|
|
m_pMmsBuf = NULL;
|
|
|
|
|
m_lMmsSize= 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
m_bProcess = true;
|
|
|
|
|
|
|
|
|
|
REQ_Mms_GetFile * pGet = new REQ_Mms_GetFile;
|
|
|
|
|
memset(pGet , 0 , sizeof(REQ_Mms_GetFile));
|
|
|
|
|
pGet->lCorpID = pData->lCorpID;
|
|
|
|
|
pGet->lUserID = pData->lUserID;
|
|
|
|
|
pGet->lFileID = pData->lFileID;
|
|
|
|
|
m_pMainFrame->SendFrame(SMSFUNC_MMS_GETFILE2 , (BYTE*)pGet , sizeof(REQ_Mms_GetFile) );
|
|
|
|
|
|
|
|
|
|
m_Process.DoModal();
|
|
|
|
|
m_bProcess = false;
|
|
|
|
|
|
|
|
|
|
if ( m_pMmsBuf && m_lMmsSize>0 )
|
|
|
|
|
{
|
|
|
|
|
int i=0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::On_User_AddBack()
|
|
|
|
|
{
|
|
|
|
|
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
|
|
|
|
|
{
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
long lItem = m_wndList.GetFirstSelectedItem();
|
|
|
|
|
if ( lItem < 0 )
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
|
|
|
|
|
POSITION pos2 = pos;
|
|
|
|
|
ANS_ListMmsData * pData = m_ListData.GetNext( pos );
|
|
|
|
|
if (!pData)
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CString strTemp;
|
|
|
|
|
CString strMobile;
|
|
|
|
|
CString strMobile2;
|
|
|
|
|
CString strMsg;
|
|
|
|
|
CString str;
|
|
|
|
|
if ( pData->lSmsType == 4 )
|
|
|
|
|
{
|
|
|
|
|
strMobile = pData->szSendNum;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strMobile = pData->szRecvNum;
|
|
|
|
|
}
|
|
|
|
|
strMobile2 = strMobile;
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
if ( strMobile2.GetLength()>7 )
|
|
|
|
|
{
|
|
|
|
|
strMobile2.SetAt(4,'*');
|
|
|
|
|
strMobile2.SetAt(5,'*');
|
|
|
|
|
strMobile2.SetAt(6,'*');
|
|
|
|
|
}
|
|
|
|
|
pData->szSendNum[4]='*';pData->szSendNum[5]='*';pData->szSendNum[6]='*';
|
|
|
|
|
#endif
|
|
|
|
|
strMsg = pData->szTitle;
|
|
|
|
|
|
|
|
|
|
str.Format( _T("真的要添加以下内容到黑名单:\r\n号码:%s\r\n内容:(%.2fk) %s\r\n"),strMobile2,(float)pData->lmmSize/1024.0f,strMsg );
|
|
|
|
|
|
|
|
|
|
int iRet = MessageBox( str , _T("提问") , MB_ICONQUESTION|MB_YESNO );
|
|
|
|
|
if ( iRet !=IDYES )
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
REQ_Back_Add * pAdd = new REQ_Back_Add;
|
|
|
|
|
memset(pAdd , 0 ,sizeof(REQ_Back_Add));
|
|
|
|
|
pAdd->lCorpID = pData->lCorpID;
|
|
|
|
|
pAdd->lUserID = -1;
|
|
|
|
|
_tcscpy(pAdd->szMobile , strMobile );
|
|
|
|
|
_stprintf( pAdd->szBZ , _T("后台添加:%s") , strMsg );
|
|
|
|
|
|
|
|
|
|
m_pMainFrame->SendFrame(SMSFUNC_BACK_ADD,(BYTE*)pAdd,sizeof(REQ_Back_Add));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
void CListMmsDlg::On_User_SendBBS()
|
|
|
|
|
{
|
|
|
|
|
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
|
|
|
|
|
{
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
long lItem = m_wndList.GetFirstSelectedItem();
|
|
|
|
|
if ( lItem < 0 )
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
|
|
|
|
|
POSITION pos2 = pos;
|
|
|
|
|
ANS_ListMmsData * pData = m_ListData.GetNext( pos );
|
|
|
|
|
if (!pData)
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
//向用户发送消息
|
|
|
|
|
ANS_BBS_SeeData See={0};
|
|
|
|
|
See.lBBSID = 0;
|
|
|
|
|
See.lSCorpID = 0; //管理员发的
|
|
|
|
|
See.lSUserID = m_pMainFrame->m_lUserID; //管理员ID
|
|
|
|
|
_tcscpy(See.szSCorpName,_T("管理员"));
|
|
|
|
|
_tcscpy(See.szSLoginName , m_pMainFrame->m_Setup.szUser );
|
|
|
|
|
See.lRCorpID = pData->lCorpID;
|
|
|
|
|
See.lRUserID = pData->lUserID;
|
|
|
|
|
DLG_BBS_Send dlg(this);
|
|
|
|
|
dlg.SetParam( See , 3 );
|
|
|
|
|
if ( dlg.DoModal() == IDOK )
|
|
|
|
|
{
|
|
|
|
|
long lSize = sizeof(REQ_BBS_Send)+sizeof(ANS_BBS_SeeData);
|
|
|
|
|
BYTE * pModifyData = new BYTE[lSize];memset(pModifyData,0,lSize);
|
|
|
|
|
REQ_BBS_Send * pModify = (REQ_BBS_Send *)pModifyData; //头
|
|
|
|
|
ANS_BBS_SeeData * pSPData = (ANS_BBS_SeeData *)(pModifyData+sizeof(REQ_BBS_Send));
|
|
|
|
|
*pSPData = dlg.GetParam();
|
|
|
|
|
pModify->lItem = lItem;
|
|
|
|
|
pModify->lCount = 1;
|
|
|
|
|
m_pMainFrame->SendFrame( SMSFUNC_BBS_SEND , pModifyData , lSize );
|
|
|
|
|
}
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::On_User_Export()
|
|
|
|
|
{
|
|
|
|
|
//m_wndList.SetHeadings(_T("序号,40; 类 型,80;状态,50;企业ID,60;发送人,70; 发送号码,120; 接收人,70; 接收号码,120; 提交时间,150; 发送时间,150; 接收时间,150; 定时时间,150; 短信内容,1000; 信息ID,150;"));
|
|
|
|
|
SortItem item[32]={0};
|
|
|
|
|
_tcscpy(item[0].szItem,_T("类 型"));
|
|
|
|
|
_tcscpy(item[1].szItem,_T("状态"));
|
|
|
|
|
_tcscpy(item[2].szItem,_T("企业ID"));
|
|
|
|
|
_tcscpy(item[3].szItem,_T("发送人"));
|
|
|
|
|
_tcscpy(item[4].szItem,_T("发送号码"));
|
|
|
|
|
_tcscpy(item[5].szItem,_T("接收人"));
|
|
|
|
|
_tcscpy(item[6].szItem,_T("接收号码"));
|
|
|
|
|
_tcscpy(item[7].szItem, _T("运营商"));
|
|
|
|
|
_tcscpy(item[8].szItem,_T("提交时间"));
|
|
|
|
|
_tcscpy(item[9].szItem,_T("发送时间"));
|
|
|
|
|
_tcscpy(item[10].szItem,_T("接收时间"));
|
|
|
|
|
_tcscpy(item[11].szItem,_T("定时时间"));
|
|
|
|
|
_tcscpy(item[12].szItem,_T("彩信标题"));
|
|
|
|
|
DLG_HZB_Export dlg(this);
|
|
|
|
|
dlg.SetParam( &m_wndList );
|
|
|
|
|
dlg.SetListItem(item,13,-2);
|
|
|
|
|
dlg.DoModal();
|
|
|
|
|
}
|
|
|
|
|
void CListMmsDlg::On_User_Copy()
|
|
|
|
|
{
|
|
|
|
|
long lItem = m_wndList.GetFirstSelectedItem();
|
|
|
|
|
if ( lItem < 0 )
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
HGLOBAL hglbCopy;
|
|
|
|
|
LPTSTR lptstrCopy;
|
|
|
|
|
if (!OpenClipboard())
|
|
|
|
|
return ;
|
|
|
|
|
EmptyClipboard();
|
|
|
|
|
|
|
|
|
|
CString str,strTemp;
|
|
|
|
|
|
|
|
|
|
long lCol = m_wndList.GetColumnCount();
|
|
|
|
|
long lCount = m_wndList.GetSelectedItemCount();
|
|
|
|
|
|
|
|
|
|
for ( int i=0 ; i<lCol ; i++ )
|
|
|
|
|
{
|
|
|
|
|
LVCOLUMN lmn={0};
|
|
|
|
|
TCHAR szBuf[256]={0};
|
|
|
|
|
lmn.mask = LVCF_TEXT;
|
|
|
|
|
lmn.pszText = szBuf;
|
|
|
|
|
lmn.cchTextMax = sizeof(szBuf);
|
|
|
|
|
m_wndList.GetColumn(i , &lmn);
|
|
|
|
|
|
|
|
|
|
str += CString(lmn.pszText );
|
|
|
|
|
str += CString(_T("\t"));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
str += _T("\r\n");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lItem = -1;
|
|
|
|
|
for ( i=0 ; i<lCount ; i++ )
|
|
|
|
|
{
|
|
|
|
|
lItem = m_wndList.GetFirstSelectedItem(lItem);
|
|
|
|
|
if ( lItem >=0 )
|
|
|
|
|
{
|
|
|
|
|
CString str1;
|
|
|
|
|
for ( int j=0 ; j<lCol; j++ )
|
|
|
|
|
{
|
|
|
|
|
str1=m_wndList.GetItemText(lItem,j);
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
if ( j == 12 )
|
|
|
|
|
str1 = _T("");
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
str1.TrimLeft();str1.TrimRight();str1.Replace( _T("\t") , _T("") );str1.Replace( _T("\r") , _T("") );str1.Replace( _T("\n") , _T("") );
|
|
|
|
|
strTemp.Format(_T("%s\t"),str1);
|
|
|
|
|
str += strTemp;
|
|
|
|
|
}
|
|
|
|
|
str += _T("\r\n");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (str.GetLength()+1)*sizeof(TCHAR));
|
|
|
|
|
if (hglbCopy == NULL)
|
|
|
|
|
{
|
|
|
|
|
CloseClipboard();
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
lptstrCopy = (LPTSTR)GlobalLock(hglbCopy);
|
|
|
|
|
_tcscpy(lptstrCopy,str);
|
|
|
|
|
GlobalUnlock(hglbCopy);
|
|
|
|
|
#ifdef _UNICODE
|
|
|
|
|
::SetClipboardData(CF_UNICODETEXT, hglbCopy);
|
|
|
|
|
#else
|
|
|
|
|
::SetClipboardData(CF_TEXT, hglbCopy);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
CloseClipboard();
|
|
|
|
|
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::Close_Corp()
|
|
|
|
|
{
|
|
|
|
|
//清除队列中的内容
|
|
|
|
|
while (!m_Corp.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
ANS_Corp_NameData * pData = m_Corp.GetHead();
|
|
|
|
|
m_Corp.RemoveHead();
|
|
|
|
|
delete pData;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::Close_ListData()
|
|
|
|
|
{
|
|
|
|
|
//清除队列中的内容
|
|
|
|
|
while (!m_ListData.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
ANS_ListMmsData * pData = m_ListData.GetHead();
|
|
|
|
|
m_ListData.RemoveHead();
|
|
|
|
|
delete pData;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::On_User_CorpList()
|
|
|
|
|
{
|
|
|
|
|
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
|
|
|
|
|
{
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
long lItem = m_wndList.GetFirstSelectedItem();
|
|
|
|
|
if ( lItem < 0 )
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
|
|
|
|
|
POSITION pos2 = pos;
|
|
|
|
|
ANS_ListMmsData * pData = m_ListData.GetNext( pos );
|
|
|
|
|
if (!pData)
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
m_lQueryCorpID = pData->lCorpID;
|
|
|
|
|
OnListQuery();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::On_User_CorpOFF()
|
|
|
|
|
{
|
|
|
|
|
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
|
|
|
|
|
{
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
long lItem = m_wndList.GetFirstSelectedItem();
|
|
|
|
|
if ( lItem < 0 )
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
|
|
|
|
|
POSITION pos2 = pos;
|
|
|
|
|
ANS_ListMmsData * pData = m_ListData.GetNext( pos );
|
|
|
|
|
if (!pData)
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
// CString str;
|
|
|
|
|
// str.Format( _T("是否要禁用此企业ID:%d?\r\n禁用后此企业将不能登录!"),pData->lCorpID );
|
|
|
|
|
// if ( MessageBox(str , _T("提问") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2) != IDYES )
|
|
|
|
|
// return ;
|
|
|
|
|
|
|
|
|
|
ANS_Corp_SeeData data={0};
|
|
|
|
|
data.lCorpID = pData->lCorpID;
|
|
|
|
|
|
|
|
|
|
DLG_Corp_Oper_Open dlg(this);
|
|
|
|
|
dlg.SetParam(&data,false,this->m_pMainFrame->m_Setup.szUser);
|
|
|
|
|
|
|
|
|
|
if ( dlg.DoModal() == IDOK )
|
|
|
|
|
{
|
|
|
|
|
REQ_CorpOFF * pCorp = new REQ_CorpOFF;memset(pCorp,0,sizeof(REQ_CorpOFF));
|
|
|
|
|
pCorp->lCorpID = pData->lCorpID;
|
|
|
|
|
pCorp->lStatus = 0; //0为禁用,1为启用
|
|
|
|
|
_tcscpy(pCorp->szBZ , dlg.m_strBZ );
|
|
|
|
|
_tcscpy(pCorp->szOper , dlg.m_strOperName );
|
|
|
|
|
|
|
|
|
|
m_pMainFrame->SendFrame(SMSFUNC_CORPOFF,(BYTE*)pCorp,sizeof(REQ_CorpOFF));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BOOL CListMmsDlg::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame)
|
|
|
|
|
{
|
|
|
|
|
//取清单
|
|
|
|
|
if (pHead->lFuncType == SMSFUNC_LISTMMS)
|
|
|
|
|
{
|
|
|
|
|
#ifdef SMSCENTER_NX
|
|
|
|
|
GetDlgItem(IDC_LIST_QUERY)->EnableWindow(true);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
ANS_ListMms * pList = (ANS_ListMms *)pFrame;
|
|
|
|
|
ANS_ListMmsData * pData = (ANS_ListMmsData *)(pFrame+sizeof(ANS_ListMms));
|
|
|
|
|
CString str,strTemp;
|
|
|
|
|
strTemp.Format( _T("查询企业 (%d/%d)") , pList->lPageCount,pList->lPageAll );
|
|
|
|
|
m_S_S1.SetWindowText( strTemp );
|
|
|
|
|
//添加到List
|
|
|
|
|
long lCount = m_wndList.GetItemCount();
|
|
|
|
|
TCHAR szBuf[512]={0};
|
|
|
|
|
for ( int i = 0 ; i< pList->lCount;i++)
|
|
|
|
|
{
|
|
|
|
|
ANS_ListMmsData * pNewData = new ANS_ListMmsData;
|
|
|
|
|
*pNewData = *pData;
|
|
|
|
|
POSITION pos = m_ListData.AddTail(pNewData);
|
|
|
|
|
|
|
|
|
|
//m_wndList.SetHeadings(_T("序号,40; 类 型,80;状态,50;企业ID,60;发送人,70; 发送号码,120; 接收人,70; 接收号码,120; 提交时间,150; 发送时间,150; 接收时间,150; 短信内容,1000; 信息ID,120;"));
|
|
|
|
|
m_wndList.InsertItem( lCount+i,_itot(lCount+i+1,szBuf,10),0);
|
|
|
|
|
_tcscpy( szBuf , _T("未知") );
|
|
|
|
|
switch( pData->lSmsType )
|
|
|
|
|
{
|
|
|
|
|
case SMSTYPE_SEND:
|
|
|
|
|
_tcscpy(szBuf , _T("发 送") );
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_ZF:
|
|
|
|
|
_tcscpy(szBuf , _T("转 发") );
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_ALARM:
|
|
|
|
|
_tcscpy(szBuf , _T("日程提醒") );
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_EMAIL:
|
|
|
|
|
_tcscpy(szBuf , _T("邮件通知") );
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_RECV:
|
|
|
|
|
_tcscpy(szBuf , _T("接 收") );
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_SP:
|
|
|
|
|
_tcscpy(szBuf , _T("增值业务") );
|
|
|
|
|
break;
|
|
|
|
|
case SMSTYPE_SWT:
|
|
|
|
|
_tcscpy(szBuf , _T("商务通") );
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
m_wndList.SetItemText(lCount+i,1,szBuf);
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
_tcscpy( szBuf , _T("未知") );
|
|
|
|
|
switch( pData->lStatus )
|
|
|
|
|
{
|
|
|
|
|
case 0:
|
|
|
|
|
_tcscpy(szBuf , _T("未发"));
|
|
|
|
|
break;
|
|
|
|
|
case 1:
|
|
|
|
|
_tcscpy(szBuf , _T("审核"));
|
|
|
|
|
break;
|
|
|
|
|
case 7:
|
|
|
|
|
_tcscpy(szBuf , _T("审核失败"));
|
|
|
|
|
break;
|
|
|
|
|
case 10:
|
|
|
|
|
case 12:
|
|
|
|
|
_tcscpy(szBuf , _T("发送成功"));
|
|
|
|
|
break;
|
|
|
|
|
case 11:
|
|
|
|
|
case 13:
|
|
|
|
|
_tcscpy(szBuf , _T("发送失败"));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
m_wndList.SetItemText(lCount+i,2,szBuf);
|
|
|
|
|
#else
|
|
|
|
|
_stprintf(szBuf , _T("%4d") , pData->lStatus );
|
|
|
|
|
m_wndList.SetItemText(lCount+i,2,szBuf);
|
|
|
|
|
#endif
|
|
|
|
|
_stprintf(szBuf , _T("%d") , pData->lCorpID );
|
|
|
|
|
m_wndList.SetItemText(lCount+i,3,szBuf);
|
|
|
|
|
m_wndList.SetItemText(lCount+i,4,pData->szSender);
|
|
|
|
|
_tcscpy(szBuf , pData->szSendNum );
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
//szBuf[4]='*';szBuf[5]='*';szBuf[6]='*';
|
|
|
|
|
#endif
|
|
|
|
|
m_wndList.SetItemText(lCount+i,5,szBuf);
|
|
|
|
|
m_wndList.SetItemText(lCount+i,6,pData->szRecver);
|
|
|
|
|
_tcscpy(szBuf , pData->szRecvNum );
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
szBuf[4]='*';szBuf[5]='*';szBuf[6]='*';
|
|
|
|
|
#endif
|
|
|
|
|
m_wndList.SetItemText(lCount+i,7,szBuf);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
switch (pData->lRecvNumType)
|
|
|
|
|
{
|
|
|
|
|
case 0:
|
|
|
|
|
str = _T("移动");
|
|
|
|
|
break;
|
|
|
|
|
case 1:
|
|
|
|
|
str = _T("联通");
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
str = _T("小灵通");
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
str = _T("电信");
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
str = _T("国际");
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
str = _T("");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
m_wndList.SetItemText(lCount + i, 8, str);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_stprintf( szBuf , _T("%04d.%02d.%02d %02d:%02d:%02d") ,pData->tSubTime.wYear, pData->tSubTime.wMonth,pData->tSubTime.wDay,pData->tSubTime.wHour,pData->tSubTime.wMinute,pData->tSubTime.wSecond );
|
|
|
|
|
m_wndList.SetItemText(lCount+i,9,szBuf);
|
|
|
|
|
_stprintf( szBuf , _T("%04d.%02d.%02d %02d:%02d:%02d") ,pData->tSendTime.wYear, pData->tSendTime.wMonth,pData->tSendTime.wDay,pData->tSendTime.wHour,pData->tSendTime.wMinute,pData->tSendTime.wSecond );
|
|
|
|
|
m_wndList.SetItemText(lCount+i,10,szBuf);
|
|
|
|
|
_stprintf( szBuf , _T("%04d.%02d.%02d %02d:%02d:%02d") ,pData->tRecvTime.wYear,pData->tRecvTime.wMonth,pData->tRecvTime.wDay,pData->tRecvTime.wHour,pData->tRecvTime.wMinute,pData->tRecvTime.wSecond );
|
|
|
|
|
m_wndList.SetItemText(lCount+i,11,szBuf);
|
|
|
|
|
_stprintf( szBuf , _T("%04d.%02d.%02d %02d:%02d:%02d") ,pData->tTimerTime.wYear,pData->tTimerTime.wMonth,pData->tTimerTime.wDay,pData->tTimerTime.wHour,pData->tTimerTime.wMinute,pData->tTimerTime.wSecond );
|
|
|
|
|
m_wndList.SetItemText(lCount+i,12,szBuf);
|
|
|
|
|
m_wndList.SetItemText(lCount+i,13,pData->szTitle);
|
|
|
|
|
_stprintf( szBuf , _T("%.2fk") , (float)pData->lmmSize/1024.0f);
|
|
|
|
|
m_wndList.SetItemText(lCount+i,14,szBuf);
|
|
|
|
|
|
|
|
|
|
_stprintf(szBuf,_T("%-32s;%-4d;%s") , pData->szMsgID,pData->lSendRet,pData->szRecvStatus);
|
|
|
|
|
m_wndList.SetItemText(lCount+i,15,szBuf);
|
|
|
|
|
|
2025-04-11 17:21:56 +08:00
|
|
|
|
m_wndList.SetItemData(lCount+i,(DWORD_PTR)(pos) );
|
2025-01-14 10:46:18 +08:00
|
|
|
|
pData++;
|
|
|
|
|
}
|
|
|
|
|
// if ( m_bProcess ) //是导入用户,需要显示进度条,并导入下一条
|
|
|
|
|
// {
|
|
|
|
|
// m_Process.SetProcess( pList->lPageAll , pList->lPageCount );
|
|
|
|
|
// }
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
//取彩信
|
|
|
|
|
if (pHead->lFuncType == SMSFUNC_MMS_GETFILE2)
|
|
|
|
|
{
|
|
|
|
|
ANS_REQ_Mms_GetFile2 * pGet = (ANS_REQ_Mms_GetFile2 *)pFrame;
|
|
|
|
|
BYTE * pData = (BYTE *)(pFrame+sizeof(ANS_REQ_Mms_GetFile2));
|
|
|
|
|
if ( pGet->lStatus <=0 )
|
|
|
|
|
{
|
|
|
|
|
CString str;
|
|
|
|
|
str.Format(_T("取彩信附件错误,错误代码:%d") , pGet->lStatus );
|
|
|
|
|
MessageBox(str , _T("错误") , MB_ICONWARNING );
|
|
|
|
|
if ( m_bProcess ) //是导入用户,需要显示进度条,并导入下一条
|
|
|
|
|
{
|
|
|
|
|
m_Process.SetProcess( 1 , 1 );
|
|
|
|
|
}
|
|
|
|
|
if (m_pMmsBuf )
|
|
|
|
|
{
|
|
|
|
|
delete m_pMmsBuf;
|
|
|
|
|
m_pMmsBuf = NULL;
|
|
|
|
|
m_lMmsSize= 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if ( pGet->lDownSize == pGet->lSize ) //第一个包
|
|
|
|
|
{
|
|
|
|
|
if (m_pMmsBuf )
|
|
|
|
|
{
|
|
|
|
|
delete m_pMmsBuf;
|
|
|
|
|
m_pMmsBuf = NULL;
|
|
|
|
|
m_lMmsSize= 0;
|
|
|
|
|
}
|
|
|
|
|
m_lMmsSize = pGet->lAllSize;
|
|
|
|
|
m_pMmsBuf = new BYTE[m_lMmsSize];
|
|
|
|
|
memset(m_pMmsBuf , 0 , m_lMmsSize );
|
|
|
|
|
}
|
|
|
|
|
if ( m_pMmsBuf )
|
|
|
|
|
{
|
|
|
|
|
memcpy(m_pMmsBuf+(pGet->lDownSize-pGet->lSize) ,pData, pGet->lSize );
|
|
|
|
|
}
|
|
|
|
|
if ( m_bProcess ) //是导入用户,需要显示进度条,并导入下一条
|
|
|
|
|
{
|
|
|
|
|
m_Process.SetProcess( pGet->lAllSize , pGet->lDownSize );
|
|
|
|
|
}
|
|
|
|
|
if ( pGet->lAllSize == pGet->lDownSize &&
|
|
|
|
|
m_pMmsBuf && m_lMmsSize>0 )
|
|
|
|
|
{
|
|
|
|
|
DLG_CheckUp_Mms_See dlg(this);
|
|
|
|
|
dlg.SetParam(*pGet , m_pMmsBuf , m_lMmsSize , this->m_pMainFrame);
|
|
|
|
|
dlg.DoModal();
|
|
|
|
|
|
|
|
|
|
if (m_pMmsBuf )
|
|
|
|
|
{
|
|
|
|
|
delete m_pMmsBuf;
|
|
|
|
|
m_pMmsBuf = NULL;
|
|
|
|
|
m_lMmsSize= 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CListMmsDlg::OnLvnItemchangedListList(NMHDR *pNMHDR, LRESULT *pResult)
|
|
|
|
|
{
|
|
|
|
|
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
|
|
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
|
|
*pResult = 0;
|
|
|
|
|
}
|