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

1157 lines
29 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.

// ListDlg.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "ListDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CListDlg 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"
CListDlg::CListDlg(CWnd* pParent /*=NULL*/)
: CDialog(CListDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CListDlg)
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_tBegin2 = COleDateTime::GetCurrentTime();
m_tEnd2 = COleDateTime::GetCurrentTime();
m_lQueryReSendID = 0;
}
void CListDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CListDlg)
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(CListDlg, CDialog)
//{{AFX_MSG_MAP(CListDlg)
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_RESORT , On_User_Resort)
ON_COMMAND(MENU_LIST_RESEND, On_User_ReSend)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CListDlg message handlers
BOOL CListDlg::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 CListDlg::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL CListDlg::RefreshInfo()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
{
return false;
}
m_pMainFrame->SendFrame(SMSFUNC_CORP_NAME,NULL,0);
return true;
}
BOOL CListDlg::ProcessSocket(Socket_Head *pHead)
{
CString strTemp;
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
if (pHead->lFuncType == SMSFUNC_CORP_NAME)
{
m_bRefresh = true; //<2F>Ѿ<EFBFBD>ˢ<EFBFBD>¹<EFBFBD>
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(); //ɾ<><C9BE>ԭ<EFBFBD><D4AD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ҵ
m_L_Corp.AddString( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ") );
this->Close_Corp(); //<2F>ر<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
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 );
m_L_Corp.SetItemData( lItem , (DWORD)pos);
pData ++;
}
m_L_Corp.SetCurSel(0);
return true;
}
//ȡ<>
if (pHead->lFuncType == SMSFUNC_LIST)
{
#ifdef SMSCENTER_NX
GetDlgItem(IDC_LIST_QUERY)->EnableWindow(true);
#endif
ANS_List * pList = (ANS_List *)pHead->pFrame;
ANS_ListData * pData = (ANS_ListData *)(pHead->pFrame+sizeof(ANS_List));
CString str,strTemp;
strTemp.Format( _T("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ҵ (%d/%d)") , pList->lPageCount,pList->lPageAll );
m_S_S1.SetWindowText( strTemp );
//<2F><><EFBFBD>ӵ<EFBFBD>List
long lCount = m_wndList.GetItemCount();
long lIconIndex = 0;
TCHAR szBuf[512]={0};
for ( int i = 0 ; i< pList->lCount;i++)
{
ANS_ListData * pNewData = new ANS_ListData;
*pNewData = *pData;
POSITION pos = m_ListData.AddTail(pNewData);
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,40; <20><> <20><>,80;״̬,50;<3B><>ҵID,60;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70; <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>,120; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70; <20><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>,120; <20>ύʱ<E1BDBB><CAB1>,150; <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,150; <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,150; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,1000; <20><>ϢID,120;"));
lIconIndex = 0;
if (pData->lReSendCount > 0)
lIconIndex = 1;
m_wndList.InsertItem( lCount+i,_itot(lCount+i+1,szBuf,10), lIconIndex);
_tcscpy( szBuf , _T("δ֪") );
switch( pData->lSmsType )
{
case SMSTYPE_SEND:
_tcscpy(szBuf , _T("<EFBFBD><EFBFBD> <20><>") );
break;
case SMSTYPE_ZF:
_tcscpy(szBuf , _T("ת <20><>") );
break;
case SMSTYPE_ALARM:
_tcscpy(szBuf , _T("<EFBFBD>ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
break;
case SMSTYPE_EMAIL:
_tcscpy(szBuf , _T("<EFBFBD>ʼ<EFBFBD>֪ͨ") );
break;
case SMSTYPE_RECV:
_tcscpy(szBuf , _T("<EFBFBD><EFBFBD> <20><>") );
break;
case SMSTYPE_SP:
_tcscpy(szBuf , _T("<EFBFBD><EFBFBD>ֵҵ<EFBFBD><EFBFBD>") );
break;
case SMSTYPE_SWT:
_tcscpy(szBuf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ") );
break;
}
m_wndList.SetItemText(lCount+i,1,szBuf);
#if defined(SMSMANAGER_KF) || defined(SMSCENTER_NX)
_tcscpy( szBuf , _T("δ֪") );
switch( pData->lStatus )
{
case 0:
_tcscpy(szBuf , _T("δ<EFBFBD><EFBFBD>"));
break;
case 1:
_tcscpy(szBuf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
break;
case 7:
_tcscpy(szBuf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>"));
break;
case 10:
_tcscpy(szBuf , _T("<EFBFBD><EFBFBD><EFBFBD>ͳɹ<EFBFBD>"));
break;
case 12:
_tcscpy(szBuf , _T("<EFBFBD><EFBFBD><EFBFBD>ճɹ<EFBFBD>"));
break;
case 11:
_tcscpy(szBuf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>"));
break;
case 13:
_tcscpy(szBuf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>"));
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("<EFBFBD>ƶ<EFBFBD>");
break;
case 1:
str = _T("<EFBFBD><EFBFBD>ͨ");
break;
case 2:
str = _T("С<EFBFBD><EFBFBD>ͨ");
break;
case 3:
str = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
break;
case 4:
str = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
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->szMsg);
#ifdef SMSCENTER_NX
_stprintf(szBuf,_T("%s") , pData->szRecvStatus);
#else
_stprintf(szBuf,_T("%-32s;%-4d;%s") , pData->szMsgID,pData->lSendRet,pData->szRecvStatus);
#endif
m_wndList.SetItemText(lCount+i,14,szBuf);
m_wndList.SetItemData(lCount+i,(DWORD)(pos) );
pData++;
}
// if ( m_bProcess ) //<2F>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
// {
// m_Process.SetProcess( pList->lPageAll , pList->lPageCount );
// }
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("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳɹ<EFBFBD><EFBFBD><EFBFBD>%d->%s!"),pBack->lCorpID , pBack->szMobile );
MessageBox( str , _T("<EFBFBD><EFBFBD>ʾ") , MB_ICONINFORMATION );
}
else
{
str.Format( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
MessageBox( str , _T("<EFBFBD><EFBFBD>ʾ") , MB_ICONINFORMATION );
}
return true;
}
return false;
}
BOOL CListDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//ȡ<>ù<EFBFBD><C3B9>ò<EFBFBD><C3B2><EFBFBD>
//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
//<2F><>ʼ<EFBFBD><CABC>List
m_Image.Create(16, 16, ILC_COLOR16 | ILC_MASK, 5, 5);
m_Image.Add(AfxGetApp()->LoadIcon(IDI_NULL));
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LIST));
m_wndList.SubClassWindow2();
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><> <20><>,80;״̬,70;<3B><>ҵID,60;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70; <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>,130; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70; <20><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>,130;<3B><>Ӫ<EFBFBD><D3AA>,70; <20>ύʱ<E1BDBB><CAB1>,150; <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,150; <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,150; <20><>ʱʱ<CAB1><CAB1>,150; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,1000; <20><>ע,400;"));
m_wndList.SetGridLines(true);
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
m_bInit = true;
/*
//Ĭ<><C4AC>ȡ<EFBFBD><C8A1><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
SYSTEMTIME t; ::GetLocalTime(&t);
t.wDay = 1;//<2F><>1<EFBFBD><31><EFBFBD><EFBFBD>
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 ); //<2F><>ʼ
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 );//<2F><><EFBFBD><EFBFBD>
*/
SYSTEMTIME t; ::GetLocalTime(&t);
m_tBegin.SetDate(t.wYear, t.wMonth, t.wDay); //<2F><>ʼ
m_tEnd.SetDate(t.wYear, t.wMonth, t.wDay);//<2F><><EFBFBD><EFBFBD>
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()); //<2F><>ʼ
}
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; //Ĭ<>ϲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD>к<EFBFBD><D0BA><EFBFBD>
m_lMsgType=0; //Ĭ<>ϲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵Ķ<CDB5><C4B6><EFBFBD>
m_lTop = 1; //Ĭ<><C4AC><EFBFBD><EFBFBD>ʾǰ200<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CListDlg::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 CListDlg::Close()
{
Close_Corp();
Close_ListData();
}
void CListDlg::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("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
REQ_List * pList = new REQ_List;memset(pList,0,sizeof(REQ_List));
if (m_lQueryReSendID>0 && m_strQueryReSendMobile.GetLength() > 0)
{
pList->lReSendListSendID = m_lQueryReSendID;
_tcscpy(pList->szMobile, m_strQueryReSendMobile);
m_lQueryReSendID = 0;
m_strQueryReSendMobile = _T("");
}
else
{
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; //<2F><>ѯ<EFBFBD><D1AF><EFBFBD>еļ<D0B5>¼
m_lQueryCorpID = 0;
_tcscpy(pList->szMobile, _T("") );
}
else
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB,false) )
{
if ( m_strMobile.GetLength()<8 )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>嵥!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDC_LIST_MOBILE)->SetFocus();
return ;
}
}
pList->lCorpID = -1;
pList->lMsgType = 4; //<2F><>ѯ<EFBFBD><D1AF><EFBFBD>յļ<D5B5>¼
}
m_tBegin.GetAsSystemTime( pList->tBegin );
m_tEnd.GetAsSystemTime( pList->tEnd );
pList->lMobileType = m_lMobileType-1; //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
pList->bOld = m_bOld; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pList->bJF = false; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>Ʒѵ<C6B7>
if ( _tcslen(pList->szMobile)>8 )
{
pList->lCorpID = -1;
pList->lMsgType = -1; //<2F><>ѯ<EFBFBD><D1AF><EFBFBD>еļ<D0B5>¼
pList->lMobileType = -1; //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
}
#else
if ( m_lQueryCorpID )
{
pList->lCorpID = m_lQueryCorpID;
pList->lMsgType = -1; //<2F><>ѯ<EFBFBD><D1AF><EFBFBD>еļ<D0B5>¼
m_lQueryCorpID = 0;
_tcscpy(pList->szMobile, _T(""));
}
else
{
if ( m_lCorp <= 0 ) //ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ
{
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; //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
pList->lMsgType = m_lMsgType-1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pList->bOld = m_bOld; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pList->bJF = m_bJF; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>Ʒѵ<C6B7>
}
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(); //<2F>ر<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
m_wndList.ShowWindow( SW_HIDE ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
m_wndList.DeleteAllItems(); //<2F><>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>¼
m_pMainFrame->SendFrame(SMSFUNC_LIST,(BYTE*)pList,sizeof(REQ_List));
// m_bProcess = true;
// m_Process.DoModal();
// m_bProcess = false;
m_wndList.ShowWindow( SW_SHOW ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
m_S_S1.SetWindowText( _T("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ҵ") );
#ifdef SMSCENTER_NX
GetDlgItem(IDC_LIST_QUERY)->EnableWindow(false);
#endif
return ;
}
void CListDlg::OnDblclkListList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
On_User_See();
}
void CListDlg::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 CListDlg::OnRclickListList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
ShowRMenu();
}
void CListDlg::ShowRMenu()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
{
return ;
}
#if defined(SMSCENTER_NX) && !defined(SMSCENTER_GDDX)
//ũ<>Ű汾<C5B0><E6B1BE><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD>ͬȨ<CDAC>޻<EFBFBD><DEBB>ֿͷ<D6BF><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_RESETPASSWD,false) ) //<2F><>СȨ<D0A1><C8A8>
{
return ;
}
#endif
CMenu menu;
menu.CreatePopupMenu();
BOOL bLock = false;
long lItem = this->GetCurrentSelected();
//<2F><><EFBFBD><EFBFBD>
if ( lItem>=0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
POSITION pos2 = pos;
ANS_ListData* pData = m_ListData.GetNext(pos);
if (!pData)
return;
menu.AppendMenu(MF_STRING , MENU_LIST_SEE , _T(" <20><> <20><> ") );
if (m_pMainFrame->GetUserPurview(PURVIEW_LIST, false))
{
menu.AppendMenu(MF_STRING, MENU_LIST_CORPLIST, _T(" <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ҵ<EFBFBD>"));
if (pData->lReSendCount > 0)
{
menu.AppendMenu(MF_STRING, MENU_LIST_RESEND, _T(" <20><>ѯ<EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>¼ "));
}
}
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING , MENU_LIST_CORPOFF , _T(" <20><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>ҵ ") );
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING , MENU_LIST_ADDBACK, _T(" <20><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ") );
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING , MENU_LIST_SENDBBS, _T(" <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_SEE , _T(" <20><> <20><> ") );
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_CORPLIST, _T(" <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ҵ<EFBFBD>") );
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_CORPOFF , _T(" <20><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>ҵ ") );
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_ADDBACK, _T(" <20><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ") );
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_SENDBBS, _T(" <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ ") );
}
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING , MENU_LIST_COPY , _T(" <20><> <20><> ") );
menu.AppendMenu(MF_STRING , MENU_LIST_RESORT, _T(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "));
#ifndef SMSMANAGER_KF
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING , MENU_LIST_EXPORT , _T(" <20><> <20><> ") );
#endif
//<2F><>ʾ<EFBFBD>˵<EFBFBD>
POINT pt ;
::GetCursorPos( &pt );
//this->ClientToScreen( &pt);
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
menu.DestroyMenu();
}
long CListDlg::GetCurrentSelected()
{
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndList.GetNextSelectedItem(pos);
}
return -1;
}
void CListDlg::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_ListData * 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("<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>");
break;
case SMSTYPE_ZF:
strType = _T("ת <20><>");
break;
case SMSTYPE_ALARM:
strType = _T("<EFBFBD>ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
break;
case SMSTYPE_EMAIL:
strType = _T("<EFBFBD>ʼ<EFBFBD>֪ͨ");
break;
case SMSTYPE_RECV:
strType = _T("<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
break;
case SMSTYPE_SP:
strType = _T("<EFBFBD><EFBFBD>ֵҵ<EFBFBD><EFBFBD>");
break;
case SMSTYPE_SWT:
strType = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ");
break;
}
CString strStatus = _T("δ֪");
switch (pData->lStatus)
{
case SMSTYPE_SEND:
strStatus = _T("<EFBFBD><EFBFBD>ɹ<EFBFBD>");
break;
case SEND_STATUS_SUB_FILT:
strStatus = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
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("<EFBFBD>ύʧ<EFBFBD><EFBFBD>");
break;
case SEND_STATUS_FILT_ERROR:
strStatus = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>");
break;
case SEND_STATUS_SEND_OK:
strStatus = _T("<EFBFBD><EFBFBD><EFBFBD>ͳɹ<EFBFBD>");
break;
case SEND_STATUS_SEND_ERROR:
strStatus = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>");
break;
case SEND_STATUS_RECV_OK:
strStatus = _T("<EFBFBD><EFBFBD><EFBFBD>ճɹ<EFBFBD>");
break;
case SEND_STATUS_RECV_ERROR:
strStatus = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>");
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 );
_tcscpy( sms.szMsg , pData->szMsg );
CString str;
str.Format(_T("%s; %-32s;%-4d") , pData->szRecvStatus,pData->szMsgID,pData->lSendRet);
str.TrimLeft();
str.TrimRight();
_tcscpy(sms.szAdd,str);
DLG_SmsLogSee dlg(this);
dlg.SetParam(sms);
dlg.DoModal();
}
void CListDlg::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_ListData * 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->szMsg;
str.Format( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%s\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%s\r\n"),strMobile2,strMsg );
int iRet = MessageBox( str , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , 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("<EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%s") , strMsg );
m_pMainFrame->SendFrame(SMSFUNC_BACK_ADD,(BYTE*)pAdd,sizeof(REQ_Back_Add));
}
void CListDlg::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_ListData * pData = m_ListData.GetNext( pos );
if (!pData)
return ;
//<2F><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
ANS_BBS_SeeData See={0};
See.lBBSID = 0;
See.lSCorpID = 0; //<2F><><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
See.lSUserID = m_pMainFrame->m_lUserID; //<2F><><EFBFBD><EFBFBD>ԱID
_tcscpy(See.szSCorpName,_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա"));
_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 CListDlg::On_User_Export()
{
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,40; <20><> <20><>,80;״̬,50;<3B><>ҵID,60;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70; <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>,120; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70; <20><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>,120; <20>ύʱ<E1BDBB><CAB1>,150; <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,150; <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,150; <20><>ʱʱ<CAB1><CAB1>,150; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,1000; <20><>ϢID,150;"));
SortItem item[32]={0};
_tcscpy(item[0].szItem,_T("<EFBFBD><EFBFBD> <20><>"));
_tcscpy(item[1].szItem,_T("״̬"));
_tcscpy(item[2].szItem,_T("<EFBFBD><EFBFBD>ҵID"));
_tcscpy(item[3].szItem,_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
_tcscpy(item[4].szItem,_T("<EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD><EFBFBD><EFBFBD>"));
_tcscpy(item[5].szItem,_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
_tcscpy(item[6].szItem,_T("<EFBFBD><EFBFBD><EFBFBD>պ<EFBFBD><EFBFBD><EFBFBD>"));
_tcscpy(item[7].szItem, _T("<EFBFBD><EFBFBD>Ӫ<EFBFBD><EFBFBD>"));
_tcscpy(item[8].szItem,_T("<EFBFBD>ύʱ<EFBFBD><EFBFBD>"));
_tcscpy(item[9].szItem,_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>"));
_tcscpy(item[10].szItem,_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>"));
_tcscpy(item[11].szItem,_T("<EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>"));
_tcscpy(item[12].szItem,_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
_tcscpy(item[13].szItem,_T("״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
DLG_HZB_Export dlg(this);
dlg.SetParam( &m_wndList );
dlg.SetListItem(item,14,-2);
dlg.DoModal();
}
void CListDlg::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 CListDlg::Close_Corp()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
while (!m_Corp.IsEmpty())
{
ANS_Corp_NameData * pData = m_Corp.GetHead();
m_Corp.RemoveHead();
delete pData;
}
}
void CListDlg::Close_ListData()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
while (!m_ListData.IsEmpty())
{
ANS_ListData * pData = m_ListData.GetHead();
m_ListData.RemoveHead();
delete pData;
}
}
void CListDlg::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_ListData * pData = m_ListData.GetNext( pos );
if (!pData)
return ;
m_lQueryCorpID = pData->lCorpID;
OnListQuery();
}
void CListDlg::On_User_ReSend()
{
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_ListData* pData = m_ListData.GetNext(pos);
if (!pData)
return;
m_lQueryReSendID = pData->lSendID;
m_strQueryReSendMobile = pData->szRecvNum;
OnListQuery();
}
void CListDlg::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_ListData * pData = m_ListData.GetNext( pos );
if (!pData)
return ;
// CString str;
// str.Format( _T("<22>Ƿ<EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>ҵID:%d<><64>\r\n<><6E><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD>¼!"),pData->lCorpID );
// if ( MessageBox(str , _T("<22><><EFBFBD><EFBFBD>") , 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Ϊ<30><CEAA><EFBFBD>ã<EFBFBD><31><CEAA><EFBFBD><EFBFBD>
_tcscpy(pCorp->szBZ , dlg.m_strBZ );
_tcscpy(pCorp->szOper , dlg.m_strOperName );
m_pMainFrame->SendFrame(SMSFUNC_CORPOFF,(BYTE*)pCorp,sizeof(REQ_CorpOFF));
}
}
void CListDlg::On_User_Resort()
{
m_wndList.ShowWindow(SW_HIDE);
long lCount = m_wndList.GetItemCount();
CString strNo;
for (int i = 0; i < lCount; i++)
{
strNo.Format(_T("%d"), i + 1);
m_wndList.SetItemText(i,0,strNo);
}
m_wndList.ShowWindow(SW_SHOW);
}