2025-02-27 16:58:16 +08:00
// FQXBox_Log.cpp : implementation file
//
# include "stdafx.h"
# include "corpsms.h"
# include "FQXBox_Log.h"
# ifdef _DEBUG
# define new DEBUG_NEW
# undef THIS_FILE
static char THIS_FILE [ ] = __FILE__ ;
# endif
/////////////////////////////////////////////////////////////////////////////
// CFQXBox_Log dialog
# include "MainFrm.h"
# include "ProcessSocket.h"
# include "DLG_BAK.h"
//#include "DLG_Find_Fail.h"
//#include "DLG_Find_QXBOX_LOG.h"
//#include "DLG_SMSLog_Export.h"
CFQXBox_Log : : CFQXBox_Log ( CWnd * pParent /*=NULL*/ )
: CDialog ( CFQXBox_Log : : IDD , pParent )
{
//{{AFX_DATA_INIT(CFQXBox_Log)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_bInit = false ;
m_bRefresh = false ;
m_lRefreshStatusIndex = 0 ;
m_bShowToday = true ;
m_bShowAllRecord = false ;
m_bNewDB = true ;
m_bShowProcess = false ;
m_lIconCount = 0 ;
}
void CFQXBox_Log : : DoDataExchange ( CDataExchange * pDX )
{
CDialog : : DoDataExchange ( pDX ) ;
//{{AFX_DATA_MAP(CFQXBox_Log)
DDX_Control ( pDX , IDD_QXBOX_LOG_LIST , m_wndList ) ;
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP ( CFQXBox_Log , CDialog )
//{{AFX_MSG_MAP(CFQXBox_Log)
ON_WM_SIZE ( )
ON_NOTIFY ( NM_RCLICK , IDD_QXBOX_LOG_LIST , OnRclickSmslogList )
ON_NOTIFY ( NM_DBLCLK , IDD_QXBOX_LOG_LIST , OnDblclkSmslogList )
ON_NOTIFY ( LVN_KEYDOWN , IDD_QXBOX_LOG_LIST , OnKeydownSmslogList )
//}}AFX_MSG_MAP
ON_COMMAND ( MENU_LOG_DEL , On_User_Del )
ON_COMMAND ( MENU_LOG_SEE , On_User_See )
ON_COMMAND ( MENU_LOG_SEND , On_User_Send )
ON_COMMAND ( MENU_LOG_EXPORT , On_User_Export )
ON_COMMAND ( MENU_LOG_REFRESH , On_User_Refresh )
ON_COMMAND ( MENU_LOG_REFSTATUS , On_User_RefStatus )
ON_COMMAND ( MENU_LOG_FIND , On_User_Find )
ON_COMMAND ( MENU_LOG_BAK , On_User_Bak )
ON_COMMAND ( MENU_LOG_QUERYFAIL , On_User_QueryFail )
ON_COMMAND ( MENU_LOG_SHOWALLRECORD , On_User_Refresh_All )
ON_COMMAND ( MENU_LOG_DOWNLOAD_SUCCESS , On_User_Download_Success )
ON_COMMAND ( MENU_LOG_DOWNLOAD_FAIL , On_User_Download_Fail )
ON_WM_TIMER ( )
END_MESSAGE_MAP ( )
/////////////////////////////////////////////////////////////////////////////
// CFQXBox_Log message handlers
BOOL CFQXBox_Log : : 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 ;
m_AdoRS . SetAdoConnection ( & m_pMainFrame - > m_adoConnection ) ;
//<2F> <> ʼ <EFBFBD> <CABC> List
m_Image . Create ( 16 , 16 , ILC_COLOR32 | ILC_MASK , 5 , 5 ) ;
m_Image . Add ( AfxGetApp ( ) - > LoadIcon ( IDI_L_MMSDF ) ) ;
m_Image . Add ( AfxGetApp ( ) - > LoadIcon ( IDI_L_MMS_SEND ) ) ;
m_Image . Add ( AfxGetApp ( ) - > LoadIcon ( IDI_L_MMSJS ) ) ;
m_Image . Add ( AfxGetApp ( ) - > LoadIcon ( IDI_L_MMSSB ) ) ;
m_Image . Add ( AfxGetApp ( ) - > LoadIcon ( IDI_L_SMS_UNREAD ) ) ;
m_Image . Add ( AfxGetApp ( ) - > LoadIcon ( IDI_L_SMS_READ ) ) ;
m_wndList . SubClassWindow2 ( ) ;
m_wndList . SetHeadings ( _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ,50; ״̬,70;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ,120;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ,120;<3B> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> ,130;<3B> <> <EFBFBD> <EFBFBD> ,60;<3B> <> Ϣ<EFBFBD> <CFA2> <EFBFBD> <EFBFBD> ,80;<3B> ܺ<EFBFBD> <DCBA> <EFBFBD> ,80;<3B> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> ,80; <20> <> <EFBFBD> <EFBFBD> ,250;" ) ) ;
m_wndList . SetGridLines ( true ) ;
m_wndList . SetImageList ( & m_Image , LVSIL_SMALL ) ;
//m_wndList.SetBkColor( RGB(237,191,175) );
//m_wndList.SetTextBkColor( RGB(237,191,175) );
m_bInit = true ;
return TRUE ; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BOOL CFQXBox_Log : : ReHide ( )
{
ShowWindow ( SW_HIDE ) ;
return true ;
}
BOOL CFQXBox_Log : : ReShow ( BOOL bRefresh )
{
USES_CONVERSION ;
m_AdoRS . Close ( ) ;
if ( m_strBakDBName . GetLength ( ) < = 0 )
{
m_adoConnection . Close ( ) ;
m_AdoRS . SetAdoConnection ( & m_pMainFrame - > m_adoConnection ) ;
}
else
{
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
char szPasswd [ 64 ] = { 0 } ; strcpy ( szPasswd , ACCESS_PASSWD ) ;
char szKey [ 64 ] = { 0 } ; strcpy ( szKey , ACCESS_KEY ) ;
char szNew2 [ 64 ] = { 0 } ; long lOut = sizeof ( szNew2 ) ;
TCHAR szNew [ 64 ] = { 0 } ;
CDes des ;
des . Decrypt ( szPasswd , strlen ( szPasswd ) , szNew2 , lOut , szKey , 8 ) ;
# ifdef UNICODE
_tcscpy ( szNew , A2W ( szNew2 ) ) ;
# else
_tcscpy ( szNew , szNew2 ) ;
# endif
m_adoConnection . Close ( ) ;
if ( ! m_adoConnection . ConnectAccess ( m_strBakDBName , szNew ) ) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݿ<EFBFBD> <DDBF> <EFBFBD> <EFBFBD> <EFBFBD> ,<2C> <> Ҫ<EFBFBD> <D2AA> <EFBFBD> ´ <EFBFBD> <C2B4> <EFBFBD>
{
MessageBox ( _T ( " <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 ) ;
m_bShowToday = true ;
m_AdoRS . SetAdoConnection ( & m_pMainFrame - > m_adoConnection ) ;
}
else
{
m_bShowToday = false ;
m_AdoRS . SetAdoConnection ( & m_adoConnection ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
ShowWindow ( SW_SHOW ) ;
if ( bRefresh | | ! m_bRefresh | | m_bNewDB )
{
RefreshInfo ( ) ;
m_bNewDB = false ;
}
return true ;
}
BOOL CFQXBox_Log : : RefreshInfo ( )
{
m_wndList . ShowWindow ( SW_HIDE ) ; //Ϊ<> ˼ӿ<CBBC> <D3BF> <EFBFBD> ʾ <EFBFBD> ٶ<EFBFBD>
m_bRefresh = true ;
m_wndList . DeleteAllItems ( ) ;
TCHAR szSelect [ 256 ] = { 0 } ;
CString strTop ;
if ( ! m_bShowAllRecord & & m_pMainFrame - > m_Setup . lTopRecord > 0 )
{
strTop . Format ( _T ( " top %d " ) , m_pMainFrame - > m_Setup . lTopRecord ) ;
}
if ( m_bShowToday )
{
//<2F> <> <EFBFBD> <EFBFBD> ѯ<EFBFBD> <D1AF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
SYSTEMTIME t ; : : GetLocalTime ( & t ) ;
if ( m_pMainFrame - > m_Setup . bSQLUse )
_stprintf ( szSelect , _T ( " select %s * from QXLog where SubTime>='%04d%02d%02d' %s order by SubTime desc " ) , strTop , t . wYear , t . wMonth , t . wDay , m_strFindAdd ) ; //<2F> <> ѯ<EFBFBD> ѷ<EFBFBD> <D1B7> <EFBFBD> <EFBFBD> <EFBFBD>
else
_stprintf ( szSelect , _T ( " select %s * from QXLog where SubTime>=#%04d-%02d-%02d# %s order by SubTime desc " ) , strTop , t . wYear , t . wMonth , t . wDay , m_strFindAdd ) ; //<2F> <> ѯ<EFBFBD> ѷ<EFBFBD> <D1B7> <EFBFBD> <EFBFBD> <EFBFBD>
}
else
{
if ( m_strFindAdd . GetLength ( ) > 0 )
_stprintf ( szSelect , _T ( " select * from QXLog where 1 %s order by SubTime desc " ) , m_strFindAdd ) ; //<2F> <> ѯ<EFBFBD> <D1AF> <EFBFBD> ռ <EFBFBD> ¼
else
_stprintf ( szSelect , _T ( " select * from QXLog order by SubTime desc " ) ) ; //<2F> <> ѯ<EFBFBD> <D1AF> ־,<2C> <> ʾ ȫ<CABE> <C8AB> <EFBFBD> ģ<EFBFBD> <C4A3> <EFBFBD> <EFBFBD> <EFBFBD> ֻ<EFBFBD> <D6BB> ʾ ͷ<CABE> <CDB7> <EFBFBD> <EFBFBD>
}
BOOL b = m_AdoRS . Open ( szSelect ) ;
long lSendID = 0 ;
long lStatus = 0 ;
TCHAR szStatus [ 32 ] = { 0 } ;
CString strSubTime ;
CString strMsgType ;
CString strMsgDataType ;
CString strMobileAll ;
CString strMobileSent ;
long lCount = m_AdoRS . GetRecordCount ( ) ;
if ( ! m_bShowAllRecord & & m_pMainFrame - > m_Setup . lTopRecord > 0 & &
lCount > m_pMainFrame - > m_Setup . lTopRecord )
{
lCount = m_pMainFrame - > m_Setup . lTopRecord ;
}
m_bShowAllRecord = false ; //<2F> <> ʾ <EFBFBD> <CABE> һ <EFBFBD> κ<CEBA> <F3A3ACB2> <EFBFBD> <EFBFBD> <EFBFBD> ȫ<EFBFBD> <C8AB> <EFBFBD> <EFBFBD> ʾ
CString strSender ;
CString strRecver ;
CString strStatus ;
if ( b & & lCount )
{
CAdoQXLog adoSms ;
m_AdoRS . RecordBinding ( adoSms ) ;
m_AdoRS . MoveFirst ( ) ;
long iItem = 0 ;
while ( ! m_AdoRS . IsEOF ( ) & & iItem < lCount )
{
long lIcon = GetStatusText2 ( adoSms . m_Status , szStatus ) ;
if ( adoSms . m_SubTime . GetStatus ( ) = = COleDateTime : : valid )
{
strSubTime . Format ( _T ( " %04d.%02d.%02d %02d:%02d " ) , adoSms . m_SubTime . GetYear ( ) , adoSms . m_SubTime . GetMonth ( ) , adoSms . m_SubTime . GetDay ( ) , adoSms . m_SubTime . GetHour ( ) , adoSms . m_SubTime . GetMinute ( ) ) ;
}
strMsgType = _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
if ( adoSms . m_MsgType = = 4 )
{
strMsgType = _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
if ( adoSms . m_Reader = = 0 )
{
lIcon = 4 ;
_tcscpy ( szStatus , _T ( " δ<> <CEB4> " ) ) ;
}
else
{
lIcon = 5 ;
_tcscpy ( szStatus , _T ( " <20> Ѷ<EFBFBD> " ) ) ;
}
}
strMsgDataType = _T ( " <EFBFBD> ı <EFBFBD> " ) ;
if ( adoSms . m_MsgDataType = = 1 )
strMsgDataType = _T ( " ͼƬ " ) ;
strMobileAll . Format ( _T ( " %d " ) , adoSms . m_MobileAll ) ;
strMobileSent . Format ( _T ( " %d " ) , adoSms . m_MobileSent ) ;
strRecver = adoSms . m_GroupName ;
strSender = adoSms . m_Sender ;
if ( _tcslen ( adoSms . m_Mobile ) > 0 )
{
if ( adoSms . m_MsgType = = 4 )
strSender . Format ( _T ( " %s(%s) " ) , adoSms . m_Sender , adoSms . m_Mobile ) ;
else
strRecver = adoSms . m_Mobile ;
}
else
{
strSender = adoSms . m_Sender ;
}
2025-04-14 17:24:47 +08:00
m_wndList . InsertItemAndCol ( iItem , _itot ( lCount - iItem , szSelect , 10 ) , szStatus , strSender , strRecver , strSubTime , strMsgType , strMsgDataType , strMobileAll , strMobileSent , adoSms . m_MsgData ) ;
2025-02-27 16:58:16 +08:00
m_wndList . SetItemData ( iItem , adoSms . m_Rtx_GroupTaskID ) ;
m_wndList . SetIconIndex ( iItem , lIcon ) ;
iItem + + ;
memset ( & adoSms , 0 , sizeof ( adoSms ) ) ;
m_AdoRS . MoveNext ( ) ;
}
}
RefreshStatus ( ) ;
m_wndList . ShowWindow ( SW_SHOW ) ; //Ϊ<> ˼ӿ<CBBC> <D3BF> <EFBFBD> ʾ <EFBFBD> ٶ<EFBFBD>
if ( strTop . GetLength ( ) > 0 & & lCount > = m_pMainFrame - > m_Setup . lTopRecord ) //<2F> <> ʾ <EFBFBD> <CABE> ʾ <EFBFBD> <CABE> <EFBFBD> <EFBFBD> ʾ <EFBFBD> <CABE> <EFBFBD> м<EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> ѡ <EFBFBD> <D1A1>
{
CMenu menu ;
menu . CreatePopupMenu ( ) ;
menu . AppendMenu ( MF_SEPARATOR ) ;
menu . AppendMenu ( MF_STRING , MENU_LOG_SHOWALLRECORD , _T ( " <20> <> ʾ <EFBFBD> <CABE> <EFBFBD> м<EFBFBD> ¼ " ) ) ;
menu . AppendMenu ( MF_SEPARATOR ) ;
CRect rect ;
GetWindowRect ( & rect ) ;
//ClientToScreen(&rect);
//<2F> <> ʾ <EFBFBD> ˵<EFBFBD>
POINT pt ;
pt . x = rect . Width ( ) / 2 ;
pt . y = rect . Height ( ) / 3 ;
ClientToScreen ( & pt ) ;
//menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
menu . TrackPopupMenu ( TPM_CENTERALIGN , pt . x , pt . y , this , NULL ) ;
menu . DestroyMenu ( ) ;
}
RecvQX ( ) ; //<2F> <> <EFBFBD> <EFBFBD> Q<EFBFBD> <51>
FlashIcon ( true , false ) ; //<2F> <> <EFBFBD> <EFBFBD> ͼ<EFBFBD> <CDBC>
return true ;
}
void CFQXBox_Log : : OnSize ( UINT nType , int cx , int cy )
{
CDialog : : OnSize ( nType , cx , cy ) ;
if ( m_bInit )
{
m_wndList . MoveWindow ( 0 , 0 , cx , cy ) ;
}
}
long CFQXBox_Log : : GetStatusText ( long lStatus , TCHAR * pStatus )
{
_tcscpy ( pStatus , _T ( " δ֪״̬ " ) ) ;
long lIcon = 0 ;
switch ( lStatus )
{
case SEND_STATUS_SUB_OK :
_tcscpy ( pStatus , _T ( " <EFBFBD> ύ<EFBFBD> ɹ<EFBFBD> " ) ) ;
break ;
case SEND_STATUS_SUB_FILT :
//_tcscpy( pStatus , _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ") );
_tcscpy ( pStatus , _T ( " <EFBFBD> ύ<EFBFBD> ɹ<EFBFBD> " ) ) ;
break ;
case SEND_STATUS_SUB_ERROR :
case SEND_STATUS_SUB_USERNOSMS :
case SEND_STATUS_SUB_CORPNOSMS :
case SEND_STATUS_SUB_CORPOVRDATE :
_tcscpy ( pStatus , _T ( " <EFBFBD> ύʧ<EFBFBD> <EFBFBD> " ) ) ;
lIcon = 3 ;
break ;
case SEND_STATUS_SUB_NUMNOSUP :
_tcscpy ( pStatus , _T ( " Ŀ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ) ;
lIcon = 3 ;
break ;
case SEND_STATUS_FILT_ERROR :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <EFBFBD> " ) ) ;
lIcon = 3 ;
break ;
case SEND_STATUS_SEND_OK :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> ͳɹ<EFBFBD> " ) ) ;
lIcon = 1 ;
break ;
case SEND_STATUS_SEND_ERROR :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <EFBFBD> " ) ) ;
lIcon = 3 ;
break ;
case SEND_STATUS_RECV_OK :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ) ;
lIcon = 2 ;
break ;
case SEND_STATUS_RECV_ERROR :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <EFBFBD> " ) ) ;
lIcon = 3 ;
break ;
case 20 :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> " ) ) ;
lIcon = 1 ;
break ;
}
return lIcon ;
}
void CFQXBox_Log : : OnRclickSmslogList ( NMHDR * pNMHDR , LRESULT * pResult )
{
* pResult = 0 ;
ShowRMenu ( ) ;
}
void CFQXBox_Log : : ShowRMenu ( )
{
CMenu menu ;
menu . CreatePopupMenu ( ) ;
BOOL bLock = false ;
long lItem = this - > GetCurrentSelected ( ) ;
BOOL bNoStatus = m_pMainFrame - > m_Setup . bSDK & SDK_NOSTATUS ? true : false ;
if ( lItem > = 0 )
{
menu . AppendMenu ( MF_STRING , MENU_LOG_SEE , _T ( " <20> <> <20> <> " ) ) ;
//menu.AppendMenu(MF_STRING , MENU_LOG_SEND, _T(" <20> ٴη<D9B4> <CEB7> <EFBFBD> ") );
menu . AppendMenu ( MF_STRING , MENU_LOG_DEL , _T ( " ɾ <20> <> " ) ) ;
menu . AppendMenu ( MF_SEPARATOR ) ;
menu . AppendMenu ( MF_STRING , MENU_LOG_DOWNLOAD_SUCCESS , _T ( " <20> <> <EFBFBD> سɹ<D8B3> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> " ) ) ;
menu . AppendMenu ( MF_STRING , MENU_LOG_DOWNLOAD_FAIL , _T ( " <20> <> <EFBFBD> <EFBFBD> ʧ<EFBFBD> ܺ<EFBFBD> <DCBA> <EFBFBD> " ) ) ;
}
else
{
menu . AppendMenu ( MF_STRING | MF_DISABLED | MF_GRAYED , MENU_LOG_SEE , _T ( " <20> <> <20> <> " ) ) ;
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LOG_SEND, _T(" <20> ٴη<D9B4> <CEB7> <EFBFBD> ") );
menu . AppendMenu ( MF_STRING | MF_DISABLED | MF_GRAYED , MENU_LOG_DEL , _T ( " ɾ <20> <> " ) ) ;
}
/*
menu . AppendMenu ( MF_SEPARATOR ) ;
//<2F> <> <EFBFBD> <EFBFBD>
menu . AppendMenu ( MF_STRING , MENU_LOG_EXPORT , _T ( " <20> <> <EFBFBD> <EFBFBD> ... " ) ) ;
//ˢ<> <CBA2>
menu . AppendMenu ( MF_STRING , MENU_LOG_FIND , _T ( " <20> <> <EFBFBD> <EFBFBD> ... " ) ) ;
menu . AppendMenu ( MF_SEPARATOR ) ;
if ( lItem > = 0 )
menu . AppendMenu ( MF_STRING , MENU_LOG_BAK , _T ( " <20> <> <EFBFBD> <EFBFBD> ... " ) ) ;
else
menu . AppendMenu ( MF_STRING | MF_DISABLED | MF_GRAYED , MENU_LOG_BAK , _T ( " <20> <> <EFBFBD> <EFBFBD> ... " ) ) ;
menu . AppendMenu ( MF_SEPARATOR ) ;
BOOL bFindFail = m_pMainFrame - > m_Setup . bSDK & SDK_ALLOWFINDFAIL ? true : false ;
if ( bFindFail & & ! bNoStatus )
{
menu . AppendMenu ( MF_STRING , MENU_LOG_QUERYFAIL , _T ( " <20> <> ʧ<EFBFBD> ܶ<EFBFBD> <DCB6> <EFBFBD> " ) ) ;
menu . AppendMenu ( MF_SEPARATOR ) ;
}
*/
//ˢ<> <CBA2>
menu . AppendMenu ( MF_STRING , MENU_LOG_REFRESH , _T ( " ˢ <20> <> " ) ) ;
if ( ! bNoStatus ) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҫ״̬<D7B4> <CCAC> û<EFBFBD> <C3BB> ˢ<EFBFBD> <CBA2> ״̬<D7B4> IJ˵<C4B2>
{
//ˢ<> <CBA2>
menu . AppendMenu ( MF_STRING , MENU_LOG_REFSTATUS , _T ( " ˢ<> <CBA2> ״̬ " ) ) ;
}
//<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 CFQXBox_Log : : GetCurrentSelected ( )
{
POSITION pos = m_wndList . GetFirstSelectedItemPosition ( ) ;
if ( pos )
{
return m_wndList . GetNextSelectedItem ( pos ) ;
}
return - 1 ;
}
void CFQXBox_Log : : On_User_See2 ( long lItem , long lRtxGroupTaskID )
{
CString str ;
str . Format ( _T ( " select * from QXlog where Rtx_GroupTaskID=%d " ) , lRtxGroupTaskID ) ;
if ( m_AdoRS . Open ( str ) & & ! m_AdoRS . IsEOF ( ) )
{
long lQXLogID = 0 ;
long lMsgType = 0 ;
ANS_QXBox_Group_SeeData send = { 0 } ;
send . lCorpID = this - > m_pMainFrame - > m_lCorpID ;
send . lUserID = this - > m_pMainFrame - > m_lUserID ;
m_AdoRS . GetCollect ( _T ( " QXLogID " ) , lQXLogID ) ;
m_AdoRS . GetCollect ( _T ( " Rtx_GroupID " ) , send . lRtx_GroupID ) ;
m_AdoRS . GetCollect ( _T ( " GroupID " ) , send . szGroupID ) ;
m_AdoRS . GetCollect ( _T ( " MsgType " ) , lMsgType ) ;
_tcscpy ( send . szCreateUser , this - > m_pMainFrame - > m_pCurUser - > szUser ) ;
if ( _ttol ( send . szGroupID ) < = 0 )
m_AdoRS . GetCollect ( _T ( " Mobile " ) , send . szMobile ) ;
if ( _ttol ( send . szMobile ) > 0 )
m_AdoRS . GetCollect ( _T ( " Sender " ) , send . szCreateUser ) ;
m_AdoRS . GetCollect ( _T ( " GroupName " ) , send . szName ) ;
if ( lMsgType = = 4 )
{
long lReader = 1 ;
m_AdoRS . GetCollect ( _T ( " Reader " ) , lReader ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѷ<EFBFBD> <D1B6> <EFBFBD> δ<EFBFBD> <CEB4>
if ( lReader = = 0 ) //δ<> <CEB4> <EFBFBD> ģ<EFBFBD> <C4A3> <EFBFBD> Ϊ<EFBFBD> Ѷ<EFBFBD>
{
str . Format ( _T ( " update QXLog set Reader=1 where QXLogID=%d " ) , lQXLogID ) ;
m_AdoRS . Open ( str ) ;
}
if ( lItem > = 0 ) //<2F> <> <EFBFBD> յģ<D5B5> <C4A3> <EFBFBD> Ϊ<EFBFBD> Ѷ<EFBFBD>
m_wndList . SetIconIndex ( lItem , 5 ) ; //<2F> <> ʾ <EFBFBD> Ѷ<EFBFBD> ͼ<EFBFBD> <CDBC>
}
m_pMainFrame - > m_pBaseView - > m_dlgQXBoxGroup . On_DS_Chat_Add ( send ) ;
}
/*
SMS_See sms = GetSms ( lItem ) ;
sms . lType = SMS_SEE_TYPE_LOG ;
DLG_QXBOX_LOGSee dlg ( this ) ;
dlg . SetParam ( sms ) ;
dlg . DoModal ( ) ;
*/
}
void CFQXBox_Log : : On_User_See ( )
{
long lItem = GetCurrentSelected ( ) ;
if ( lItem < 0 )
return ;
CString str ;
long lSendID = m_wndList . GetItemData ( lItem ) ;
On_User_See2 ( lItem , lSendID ) ;
//<2F> <> <EFBFBD> <EFBFBD> ͼ<EFBFBD> <CDBC>
FlashIcon ( true , false ) ;
}
void CFQXBox_Log : : On_User_Send ( )
{
long lItem = GetCurrentSelected ( ) ;
if ( lItem < 0 )
return ;
/*
if ( m_pMainFrame - > m_pFuncView - > On_User_List_Add ( ) ) //<2F> ½<EFBFBD> <C2BD> б <EFBFBD>
{
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
m_pMainFrame - > m_pFuncView - > m_DLGSend . List_SetMsg ( _T ( " \" %Memo% \" " ) ) ;
//<2F> <> <EFBFBD> Ӻ<EFBFBD> <D3BA> <EFBFBD>
long lCount = m_wndList . GetSelectedCount ( ) ;
if ( lCount < = 0 )
return ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
long lSize = sizeof ( Send_User ) * lCount ;
BYTE * pS = new BYTE [ lSize ] ;
memset ( pS , 0 , lSize ) ;
Send_User * pUser = ( Send_User * ) pS ;
TCHAR szSelect [ 128 ] = { 0 } ;
POSITION pos = m_wndList . GetFirstSelectedItemPosition ( ) ;
while ( pos )
{
long lItem = m_wndList . GetNextSelectedItem ( pos ) ;
long lSendID = m_wndList . GetItemData ( lItem ) ;
if ( lSendID > 0 )
{
_stprintf ( szSelect , _T ( " select * from smslog where SendID=%d " ) , lSendID ) ;
BOOL b = m_AdoRS . Open ( szSelect ) ;
if ( b & & m_AdoRS . GetRecordCount ( ) )
{
m_AdoRS . MoveFirst ( ) ;
m_AdoRS . GetCollect ( _T ( " Recver " ) , pUser - > szName ) ;
m_AdoRS . GetCollect ( _T ( " RecvNum " ) , pUser - > szMobile ) ;
m_AdoRS . GetCollect ( _T ( " Msg " ) , pUser - > szBZ ) ;
}
}
else
{
m_wndList . GetItemText ( lItem , 3 , pUser - > szMobile , sizeof ( pUser - > szMobile ) ) ;
m_wndList . GetItemText ( lItem , 4 , pUser - > szBZ , sizeof ( pUser - > szBZ ) ) ;
}
pUser + + ;
}
m_pMainFrame - > m_pFuncView - > On_User_List_AddUser ( lCount , ( Send_User * ) pS ) ;
delete pS ;
}
*/
}
void CFQXBox_Log : : On_User_Del ( )
{
long lCount = m_wndList . GetSelectedCount ( ) ;
long * lDel = new long [ lCount + 2 ] ;
POSITION pos = m_wndList . GetFirstSelectedItemPosition ( ) ;
long i = 0 ;
while ( pos )
{
lDel [ i ] = m_wndList . GetNextSelectedItem ( pos ) ;
i + + ;
}
long lSendID = 0 ;
TCHAR szSelect [ 128 ] ;
//<2F> <> תɾ<D7AA> <C9BE>
m_wndList . ShowWindow ( SW_HIDE ) ; //<2F> ӿ<EFBFBD> <D3BF> <EFBFBD> ʾ <EFBFBD> <CABE> <EFBFBD> ٶ<EFBFBD>
for ( i = lCount ; i > 0 ; i - - )
{
lSendID = m_wndList . GetItemData ( lDel [ i - 1 ] ) ;
_stprintf ( szSelect , _T ( " delete from QXlog where Rtx_GroupTaskID=%d " ) , lSendID ) ;
BOOL b = m_AdoRS . Open ( szSelect ) ;
if ( b & & m_AdoRS . GetRecordCount ( ) )
{
m_wndList . DeleteItem ( lDel [ i - 1 ] ) ; //<2F> <> <EFBFBD> б <EFBFBD> <D0B1> <EFBFBD> ɾ<EFBFBD> <C9BE>
}
}
m_wndList . ShowWindow ( SW_SHOW ) ; //<2F> ӿ<EFBFBD> <D3BF> <EFBFBD> ʾ <EFBFBD> <CABE> <EFBFBD> ٶ<EFBFBD>
delete lDel ;
}
void CFQXBox_Log : : On_User_Export ( )
{
/*
//<2F> <> <EFBFBD> <EFBFBD> Ҫ״̬<D7B4> Ķ<EFBFBD> <C4B6> <EFBFBD> ͨ<EFBFBD> <CDA8> <EFBFBD> ж<EFBFBD> <D0B6> <EFBFBD> <EFBFBD> ء<EFBFBD> <D8A1> <EFBFBD> <EFBFBD> ͳɹ<CDB3> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD>
BOOL bNoStatus = m_pMainFrame - > m_Setup . bSDK & SDK_NOSTATUS ? true : false ;
DLG_SMSLog_Export dlg ( this ) ;
dlg . SetParam ( & m_AdoRS , & m_wndList , bNoStatus ) ;
dlg . DoModal ( ) ;
*/
}
void CFQXBox_Log : : On_User_Refresh ( )
{
RefreshInfo ( ) ;
}
void CFQXBox_Log : : On_User_QueryFail ( )
{
/*
DLG_Find_Fail dlg ( this ) ;
if ( dlg . DoModal ( ) = = IDOK )
{
m_wndList . ShowWindow ( SW_HIDE ) ; //<2F> ӿ<EFBFBD> <D3BF> <EFBFBD> ʾ <EFBFBD> ٶ<EFBFBD>
m_wndList . DeleteAllItems ( ) ;
m_wndList . ShowWindow ( SW_SHOW ) ; //<2F> ӿ<EFBFBD> <D3BF> <EFBFBD> ʾ <EFBFBD> ٶ<EFBFBD>
REQ_List * pList = new REQ_List ;
memset ( pList , 0 , sizeof ( REQ_List ) ) ;
_tcscpy ( pList - > szMobile , _T ( " FAIL " ) ) ;
dlg . m_tQBegin . GetAsSystemTime ( pList - > tBegin ) ;
dlg . m_tQEnd . GetAsSystemTime ( pList - > tEnd ) ;
pList - > lCorpID = m_pMainFrame - > m_lCorpID ;
pList - > lMobileType = - 1 ;
pList - > lMsgType = - 1 ;
pList - > lMsgType = - 1 ;
pList - > bJF = false ;
m_pMainFrame - > SendFrame ( SMSFUNC_LIST , ( BYTE * ) pList , sizeof ( REQ_List ) ) ;
}
*/
}
void CFQXBox_Log : : On_User_Find ( )
{
/*
CString strTemp ;
DLG_Find_QXBOX_LOG dlg ( this ) ;
BOOL bNoStatus = m_pMainFrame - > m_Setup . bSDK & SDK_NOSTATUS ? true : false ;
dlg . SetParam ( ! m_bShowToday , ! bNoStatus ) ;
if ( dlg . DoModal ( ) = = IDOK )
{
m_strFindAdd = _T ( " " ) ;
if ( ! m_bShowToday )
{
strTemp . Format ( _T ( " AND SubTime>=#%04d-%02d-%02d# AND SubTime<=#%04d-%02d-%02d 23:59:59# " ) , dlg . m_TBegin . GetYear ( ) , dlg . m_TBegin . GetMonth ( ) , dlg . m_TBegin . GetDay ( ) , dlg . m_TEnd . GetYear ( ) , dlg . m_TEnd . GetMonth ( ) , dlg . m_TEnd . GetDay ( ) ) ;
m_strFindAdd = strTemp ;
}
if ( dlg . m_lStatus > = 0 )
{
strTemp . Format ( _T ( " AND Status=%d " ) , dlg . m_lStatus ) ;
m_strFindAdd + = strTemp ;
}
if ( dlg . m_strSendNum . GetLength ( ) > 0 )
{
strTemp . Format ( _T ( " AND SendNum like '%%%s%%' " ) , dlg . m_strSendNum ) ;
m_strFindAdd + = strTemp ;
}
if ( dlg . m_strRecvNum . GetLength ( ) > 0 )
{
strTemp . Format ( _T ( " AND RecvNum like '%%%s%%' " ) , dlg . m_strRecvNum ) ;
m_strFindAdd + = strTemp ;
}
if ( dlg . m_strMsg . GetLength ( ) > 0 )
{
strTemp . Format ( _T ( " AND Msg like '%%%s%%' " ) , dlg . m_strMsg ) ;
m_strFindAdd + = strTemp ;
}
On_User_Refresh ( ) ;
m_strFindAdd = _T ( " " ) ; //ˢ<> º<C2BA> ѯ<EFBFBD> <D1AF> <EFBFBD> <EFBFBD>
}
*/
}
void CFQXBox_Log : : On_User_Bak ( )
{
/*
long lCount = m_wndList . GetSelectedCount ( ) ;
DLG_BAK dlg ( this ) ;
dlg . SetParam ( lCount ) ;
if ( dlg . DoModal ( ) = = IDOK )
{
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݿ<EFBFBD>
TCHAR szPath [ 512 ] = { 0 } ;
TCHAR szBakPath [ 64 ] = { 0 } ;
TCHAR szOldDB [ 512 ] = { 0 } ;
TCHAR szNewDB [ 512 ] = { 0 } ;
this - > m_pMainFrame - > GetCurrentPath ( szPath ) ;
_stprintf ( szOldDB , _T ( " %s%s " ) , szPath , ACCESS_SOURCE ) ;
_stprintf ( szBakPath , _T ( " Bak_%d_%s " ) , m_pMainFrame - > m_lCorpID , m_pMainFrame - > m_pCurUser - > szUser ) ;
_tcscat ( szPath , szBakPath ) ;
: : CreateDirectory ( szPath , NULL ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> û<EFBFBD> <C3BB> <EFBFBD> <EFBFBD> <EFBFBD> ȴ<EFBFBD> <C8B4> <EFBFBD> <EFBFBD> <EFBFBD> ˵
_stprintf ( szNewDB , _T ( " %s \\ QXBOX_LOG_%s.bak " ) , szPath , dlg . m_strTitle ) ;
if ( ! CopyFile ( szOldDB , szNewDB , false ) ) //copy<70> ļ<EFBFBD> ʧ<EFBFBD> <CAA7>
{
MessageBox ( _T ( " ϵͳ<EFBFBD> ļ<EFBFBD> <EFBFBD> <EFBFBD> ʧ1<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> °<EFBFBD> װ! " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , MB_ICONWARNING ) ;
return ;
}
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> µı <C2B5> <C4B1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݿ<EFBFBD>
CAdoConnection bakadoConnection ;
CAdoRecordSet bakAdoRS ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
char szPasswd [ 64 ] = { 0 } ; strcpy ( szPasswd , ACCESS_PASSWD ) ;
char szKey [ 64 ] = { 0 } ; strcpy ( szKey , ACCESS_KEY ) ;
char szNew2 [ 64 ] = { 0 } ; long lOut = sizeof ( szNew2 ) ;
TCHAR szNew [ 64 ] = { 0 } ;
CDes des ;
des . Decrypt ( szPasswd , strlen ( szPasswd ) , szNew2 , lOut , szKey , 8 ) ;
# ifdef UNICODE
_tcscpy ( szNew , A2W ( szNew2 ) ) ;
# else
_tcscpy ( szNew , szNew2 ) ;
# endif
if ( ! bakadoConnection . ConnectAccess ( szNewDB , szNew ) ) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݿ<EFBFBD> <DDBF> <EFBFBD> <EFBFBD> <EFBFBD> ,<2C> <> Ҫ<EFBFBD> <D2AA> <EFBFBD> ´ <EFBFBD> <C2B4> <EFBFBD>
{
MessageBox ( _T ( " ϵͳ<EFBFBD> ļ<EFBFBD> <EFBFBD> <EFBFBD> ʧ2<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> °<EFBFBD> װ! " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , MB_ICONWARNING ) ;
return ;
}
bakAdoRS . SetAdoConnection ( & bakadoConnection ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( ! bakAdoRS . Open ( _T ( " smslog " ) , adCmdTable ) )
{
MessageBox ( _T ( " ϵͳ<EFBFBD> ļ<EFBFBD> <EFBFBD> <EFBFBD> ʧ3<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> °<EFBFBD> װ! " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , MB_ICONWARNING ) ;
return ;
}
long * lDel = new long [ lCount + 2 ] ;
int lDelCount = 0 ;
TCHAR szSelect [ 256 ] = { 0 } ;
POSITION pos = m_wndList . GetFirstSelectedItemPosition ( ) ;
while ( pos )
{
long lItem = m_wndList . GetNextSelectedItem ( pos ) ;
long lSendID = m_wndList . GetItemData ( lItem ) ;
lDel [ lDelCount ] = lItem ;
if ( lSendID > 0 )
{
_stprintf ( szSelect , _T ( " select * from smslog where SendID=%d " ) , lSendID ) ;
BOOL b = m_AdoRS . Open ( szSelect ) ;
if ( b & & m_AdoRS . GetRecordCount ( ) )
{
CAdoUBoxLog adoSms ;
m_AdoRS . RecordBinding ( adoSms ) ;
m_AdoRS . MoveFirst ( ) ;
//<2F> <> <EFBFBD> 뵽<EFBFBD> <EBB5BD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD>
BOOL b = bakAdoRS . RecordBinding ( adoSms ) ;
b = bakAdoRS . AddNew ( adoSms ) ;
b = bakAdoRS . Update ( ) ;
}
}
lDelCount + + ;
}
//<2F> <> תɾ<D7AA> <C9BE>
m_wndList . ShowWindow ( SW_HIDE ) ; //<2F> ӿ<EFBFBD> <D3BF> <EFBFBD> ʾ <EFBFBD> <CABE> <EFBFBD> ٶ<EFBFBD>
for ( int i = lDelCount - 1 ; i > = 0 ; i - - )
{
long lSendID = m_wndList . GetItemData ( lDel [ i ] ) ;
_stprintf ( szSelect , _T ( " delete from smslog where SendID=%d " ) , lSendID ) ;
BOOL b = m_AdoRS . Open ( szSelect ) ;
if ( b & & m_AdoRS . GetRecordCount ( ) )
{
m_wndList . DeleteItem ( lDel [ i ] ) ; //<2F> <> <EFBFBD> б <EFBFBD> <D0B1> <EFBFBD> ɾ<EFBFBD> <C9BE>
}
}
m_wndList . ShowWindow ( SW_SHOW ) ; //<2F> ӿ<EFBFBD> <D3BF> <EFBFBD> ʾ <EFBFBD> <CABE> <EFBFBD> ٶ<EFBFBD>
delete lDel ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
CString strName ;
strName . Format ( _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> _%s" ) , dlg . m_strTitle ) ;
m_pMainFrame - > m_pFuncView - > AddBak_QXBOX_LOG ( strName ) ;
}
*/
}
void CFQXBox_Log : : On_User_Download_Success ( )
{
On_User_Download ( 0 ) ;
}
void CFQXBox_Log : : On_User_Download_Fail ( )
{
On_User_Download ( 1 ) ;
}
void CFQXBox_Log : : On_User_Download ( long lQueryType )
{
long lItem = GetCurrentSelected ( ) ;
if ( lItem < 0 )
return ;
CString strDefFileName = _T ( " Success.txt " ) ;
if ( lQueryType = = 1 )
strDefFileName = _T ( " Fail.txt " ) ;
# define FILE_FILTER_TEXT \
TEXT ( " txt<EFBFBD> ı <EFBFBD> <EFBFBD> ļ<EFBFBD> (*.txt) \0 *.txt \0 " ) \
TEXT ( " Excel csv <20> ļ<EFBFBD> (*.csv) \0 *.csv \0 " ) \
TEXT ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> (*.*)\0 *.*; \0 \0 " )
TCHAR szFile [ 256 ] ;
TCHAR szFileB [ 256 ] ;
* szFileB = NULL ;
_stprintf ( szFile , strDefFileName ) ;
OPENFILENAME sOpen ;
sOpen . lStructSize = sizeof ( sOpen ) ;
sOpen . hwndOwner = this - > m_hWnd ;
sOpen . Flags = OFN_EXPLORER | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY ;
sOpen . lpstrFilter = FILE_FILTER_TEXT ;
sOpen . lpstrDefExt = _T ( " txt " ) ;
sOpen . lpstrCustomFilter = NULL ;
sOpen . nMaxCustFilter = 0 ;
sOpen . lpstrFile = szFile ;
sOpen . nMaxFile = sizeof ( szFile ) ;
sOpen . lpstrFileTitle = szFileB ;
sOpen . nMaxFileTitle = sizeof ( szFileB ) ;
sOpen . lpstrInitialDir = NULL ;
sOpen . lpstrTitle = _T ( " ѡ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> <EFBFBD> <EFBFBD> " ) ;
if ( ! : : GetSaveFileName ( & sOpen ) )
{
return ;
}
m_strExportName = sOpen . lpstrFile ;
REQ_QXBox_Group_SendData sms = GetSendData ( lItem ) ;
if ( sms . lRtx_GroupID > 0 )
{
REQ_QqtLogMobile * pMobile = new REQ_QqtLogMobile ;
memset ( pMobile , 0 , sizeof ( REQ_QqtLogMobile ) ) ;
pMobile - > lCorpID = m_pMainFrame - > m_lCorpID ;
pMobile - > lUserID = m_pMainFrame - > m_lUserID ;
pMobile - > lRtx_GroupID = sms . lRtx_GroupID ;
pMobile - > lRtx_GroupTaskID = sms . lRtx_GroupTaskID ;
pMobile - > lType = lQueryType ;
m_pMainFrame - > SendFrame ( SMSFUNC_QQTLOGMOBILE , ( BYTE * ) pMobile , sizeof ( REQ_QqtLogMobile ) ) ;
m_bShowProcess = true ;
m_DlgProcess . SetProcessTitle ( _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȡ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ..." ) ) ;
if ( m_DlgProcess . DoModal ( ) ! = IDOK ) //<2F> <> ʾ <EFBFBD> <CABE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
//ȡ<> <C8A1> <EFBFBD> ϲ <EFBFBD> <CFB2> ɹ<EFBFBD>
return ;
}
m_bShowProcess = false ;
}
}
void CFQXBox_Log : : On_User_RefStatus ( )
{
RefreshStatus ( ) ;
}
void CFQXBox_Log : : On_User_Refresh_All ( )
{
m_bShowAllRecord = true ;
On_User_Refresh ( ) ;
}
void CFQXBox_Log : : RefreshStatus ( BOOL bBegin )
{
BOOL bNoStatus = m_pMainFrame - > m_Setup . bSDK & SDK_NOSTATUS ? true : false ;
if ( bNoStatus ) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҫ״̬<D7B4> <CCAC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˢ<EFBFBD> <CBA2> ״̬
return ;
//<2F> <> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ״̬Ϊδ<CEAA> ̶<EFBFBD> <CCB6> Ķ<EFBFBD> <C4B6> <EFBFBD>
long lCount = m_wndList . GetItemCount ( ) ;
long * pSendID = new long [ STATUS_MAX_QUERY * 3 + 100 ] ;
long lCount2 = 0 ;
if ( bBegin )
m_lRefreshStatusIndex = 0 ;
else
m_lRefreshStatusIndex + + ;
for ( int i = m_lRefreshStatusIndex * STATUS_MAX_QUERY ; i < lCount ; i + + ) //ÿ<> <C3BF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ѯ1000<30> <30> <EFBFBD> <EFBFBD> ¼
{
long lStatus = GetItemStatus ( i ) ;
if ( lStatus = = SEND_STATUS_SUB_OK | | //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֣<EFBFBD> <D6A3> <EFBFBD> Ҫ<EFBFBD> <D2AA> <EFBFBD> <EFBFBD> ȡ״̬
lStatus = = SEND_STATUS_SUB_FILT | |
lStatus = = SEND_STATUS_SEND_OK | |
lStatus = = SEND_STATUS_SEND_ERROR | |
lStatus = = 20 )
{
pSendID [ lCount2 ] = i ;
lCount2 + + ;
pSendID [ lCount2 ] = m_wndList . GetItemData ( i ) ; //ȡ<> <C8A1> SendID
lCount2 + + ;
pSendID [ lCount2 ] = lStatus ;
lCount2 + + ;
}
if ( lCount2 > = STATUS_MAX_QUERY * 3 ) //<2F> <> <EFBFBD> <EFBFBD> 1000<30> <30> <EFBFBD> <EFBFBD>
break ;
}
lCount = lCount2 / 3 ; //ȡ<> <C8A1> <EFBFBD> <EFBFBD> Ҫȡ״̬<D7B4> ĸ<EFBFBD> <C4B8> <EFBFBD>
if ( lCount > 0 )
{
long lSize = sizeof ( REQ_QqtStatus ) + sizeof ( ANS_QqtStatus_Data2 ) * lCount ;
BYTE * pData = new BYTE [ lSize ] ; memset ( pData , 0 , lSize ) ;
REQ_QqtStatus * pStatus = ( REQ_QqtStatus * ) pData ;
ANS_QqtStatus_Data2 * pStatusData = ( ANS_QqtStatus_Data2 * ) ( pData + sizeof ( REQ_QqtStatus ) ) ;
pStatus - > lCorpID = m_pMainFrame - > m_lCorpID ;
pStatus - > lCount = lCount ;
for ( i = 0 ; i < lCount ; i + + )
{
pStatusData - > lItemID = pSendID [ i * 3 ] ;
pStatusData - > lRtx_GroupTaskID = pSendID [ i * 3 + 1 ] ;
pStatusData - > lStatus = pSendID [ i * 3 + 2 ] ;
pStatusData + + ;
}
m_pMainFrame - > SendFrame ( SMSFUNC_QQTSTATUS , pData , lSize ) ;
}
delete pSendID ;
}
long CFQXBox_Log : : GetItemStatus ( long iItem )
{
TCHAR szStatus [ 16 ] = { 0 } ;
TCHAR szTime [ 32 ] = { 0 } ;
m_wndList . GetItemText ( iItem , 1 , szStatus , sizeof ( szStatus ) ) ;
m_wndList . GetItemText ( iItem , 4 , szTime , sizeof ( szTime ) ) ;
szTime [ 4 ] = 0 ;
szTime [ 7 ] = 0 ;
szTime [ 10 ] = 0 ;
long lYear = _ttol ( szTime ) ;
long lMon = _ttol ( szTime + 5 ) ;
long lDay = _ttol ( szTime + 8 ) ;
CTime t1 ( lYear , lMon , lDay , 0 , 0 , 0 ) ;
CTime t2 = CTime : : GetCurrentTime ( ) ;
CTime t3 = t1 + CTimeSpan ( 10 , 0 , 0 , 0 ) ;
if ( t3 < t2 ) //2<> <32> ǰ<EFBFBD> <C7B0> <EFBFBD> <EFBFBD> Ϣ<EFBFBD> <CFA2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
return SEND_STATUS_UNKNOW ;
}
if ( ! _tcscmp ( szStatus , _T ( " <EFBFBD> ύ<EFBFBD> ɹ<EFBFBD> " ) ) )
return SEND_STATUS_SUB_OK ;
if ( ! _tcscmp ( szStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ) )
return SEND_STATUS_SUB_FILT ;
if ( ! _tcscmp ( szStatus , _T ( " <EFBFBD> ύʧ<EFBFBD> <EFBFBD> " ) ) )
return SEND_STATUS_SUB_ERROR ;
if ( ! _tcscmp ( szStatus , _T ( " Ŀ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ) )
return SEND_STATUS_SUB_NUMNOSUP ;
if ( ! _tcscmp ( szStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <EFBFBD> " ) ) )
return SEND_STATUS_FILT_ERROR ;
if ( ! _tcscmp ( szStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> ͳɹ<EFBFBD> " ) ) )
return SEND_STATUS_SEND_OK ;
if ( ! _tcscmp ( szStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <EFBFBD> " ) ) )
return SEND_STATUS_SEND_ERROR ;
if ( ! _tcscmp ( szStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> ճɹ<EFBFBD> " ) ) )
return SEND_STATUS_RECV_OK ;
if ( ! _tcscmp ( szStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ) )
return SEND_STATUS_RECV_OK ;
if ( ! _tcscmp ( szStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <EFBFBD> " ) ) )
return SEND_STATUS_RECV_ERROR ;
if ( ! _tcscmp ( szStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> " ) ) )
return 20 ;
// if ( !_tcscmp( szStatus , _T("δ֪״̬") ) )
return SEND_STATUS_UNKNOW ;
}
BOOL CFQXBox_Log : : ProcessSocket ( Socket_Head_Add * pHead , BYTE * pFrame )
{
CString str ;
//<2F> Ĺ<DEB8> <C4B9> õ<EFBFBD> ַ<EFBFBD> <D6B7>
if ( pHead - > lFuncType = = SMSFUNC_QQTSTATUS )
{
ANS_QqtStatus * pStatus = ( ANS_QqtStatus * ) pFrame ;
ANS_QqtStatus_Data * pData = ( ANS_QqtStatus_Data * ) ( pFrame + sizeof ( ANS_QqtStatus ) ) ;
for ( int i = 0 ; i < pStatus - > lCount ; i + + )
{
if ( pData - > lStatus ! = - 1 ) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֵΪ-1,֤<> <D6A4> ״̬û<CCAC> 䣬<EFBFBD> <E4A3AC> <EFBFBD> Բ<EFBFBD> <D4B2> ظ<EFBFBD> <D8B8> <EFBFBD>
{
//COleDateTime tSend(pData->tSendTime );
//COleDateTime tRecv(pData->tRecvTime );
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݿ<EFBFBD>
TCHAR szBuf [ 32 ] ;
TCHAR szSelect [ 128 ] = { 0 } ;
CString str ;
str . Format ( _T ( " update QXLog set Status=%d,MobileAll=%d,MobileSent=%d where Rtx_GroupTaskID=%d " ) , pData - > lStatus , pData - > lMobileAll , pData - > lMobileSent , pData - > lRtx_GroupTaskID ) ;
m_AdoRS . Open ( str ) ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʾ
if ( pData - > lItemID > = 0 & & pData - > lItemID < m_wndList . GetItemCount ( ) )
{
long lSendID = m_wndList . GetItemData ( pData - > lItemID ) ;
if ( lSendID = = pData - > lRtx_GroupTaskID ) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʾ <EFBFBD> <CABE> <EFBFBD> <EFBFBD>
{
long lIcon = GetStatusText ( pData - > lStatus , szBuf ) ;
m_wndList . SetItemText ( pData - > lItemID , 1 , szBuf ) ;
m_wndList . SetIconIndex ( pData - > lItemID , lIcon ) ;
CString str ;
str . Format ( _T ( " %d " ) , pData - > lMobileAll ) ;
m_wndList . SetItemText ( pData - > lItemID , 7 , str ) ;
str . Format ( _T ( " %d " ) , pData - > lMobileSent ) ;
m_wndList . SetItemText ( pData - > lItemID , 8 , str ) ;
}
}
}
pData + + ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB>
}
RefreshStatus ( false ) ; //<2F> <> ѯ<EFBFBD> <D1AF> 1000<30> <30> <EFBFBD> <EFBFBD> ״̬
return true ;
}
if ( pHead - > lFuncType = = SMSFUNC_QQTLOGMOBILE )
{
if ( ! m_bShowProcess )
return true ;
ANS_QqtLogMobile * pMobile = ( ANS_QqtLogMobile * ) pFrame ;
ANS_QqtLogMobile_Data * pData = ( ANS_QqtLogMobile_Data * ) ( pFrame + sizeof ( ANS_QqtLogMobile ) ) ;
if ( pMobile - > lPageCount = = 1 ) //<2F> <> ɾ<EFBFBD> <C9BE> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD>
: : DeleteFile ( m_strExportName ) ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD>
HANDLE hFile = INVALID_HANDLE_VALUE ;
for ( int i = 0 ; i < 20 ; i + + )
{
hFile = CreateFile ( this - > m_strExportName , GENERIC_READ | GENERIC_WRITE , FILE_SHARE_READ | FILE_SHARE_WRITE , NULL , OPEN_ALWAYS , FILE_ATTRIBUTE_NORMAL , NULL ) ;
if ( hFile ! = INVALID_HANDLE_VALUE )
break ;
Sleep ( 50 ) ;
}
if ( hFile = = INVALID_HANDLE_VALUE )
{
m_DlgProcess . SetProcess ( 100 , 100 ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
str . Format ( _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> %sʧ<73> <CAA7> ,<2C> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> !" ) , m_strExportName ) ;
MessageBox ( str , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , MB_ICONWARNING ) ;
return true ;
}
SetFilePointer ( hFile , 0 , NULL , FILE_END ) ;
str = m_strExportName ;
str . MakeLower ( ) ;
BOOL bWriteName = str . Find ( _T ( " csv " ) ) > = 0 ;
CStringA strA ;
for ( int i = 0 ; i < pMobile - > lCount ; i + + )
{
CString strb ;
if ( bWriteName )
{
strb = pData - > szName ;
strb = strb + CString ( _T ( " , " ) ) ;
}
strb = strb + CString ( pData - > szMobile ) ;
strb = strb + CString ( _T ( " \r \n " ) ) ;
# ifdef _UNICODE
strA + = CW2A ( strb ) ;
# else
strA + = strb ;
# endif
pData + + ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB>
}
DWORD len = 0 ;
WriteFile ( hFile , strA . GetBuffer ( ) , strA . GetLength ( ) , & len , NULL ) ;
CloseHandle ( hFile ) ;
m_DlgProcess . SetProcess ( pMobile - > lPageAll , pMobile - > lPageCount ) ;
return true ;
}
if ( pHead - > lFuncType = = SMSFUNC_QQTRECV ) //<2F> յ<EFBFBD> <D5B5> <EFBFBD> Qͨ
{
ANS_QQTRecv * pRecv = ( ANS_QQTRecv * ) pFrame ;
BYTE * pData = ( BYTE * ) ( pFrame + sizeof ( ANS_QQTRecv ) ) ;
long lRecvCount = 0 ;
for ( int i = 0 ; i < pRecv - > lCount ; i + + )
{
REQ_QXBox_Group_SendData * pSendData = ( REQ_QXBox_Group_SendData * ) pData ;
pData + = sizeof ( REQ_QXBox_Group_SendData ) ;
//TCHAR * pMsgData = (TCHAR*)pData;
if ( pSendData - > lRtx_GroupTaskID > 0 )
{
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> ⷢ<EFBFBD> <E2B7A2> <EFBFBD> <EFBFBD> ־д<D6BE> <D0B4> <EFBFBD> <EFBFBD> <EFBFBD> ݿ<EFBFBD>
CString strTimer = _T ( " NULL " ) ;
CString strSubTime = _T ( " NULL " ) ;
if ( COleDateTime ( pSendData - > tTimer ) . GetStatus ( ) = = COleDateTime : : valid )
{
strTimer . Format ( _T ( " #%04d-%02d-%02d %02d:%02d:%02d# " ) , pSendData - > tTimer . wYear , pSendData - > tTimer . wMonth , pSendData - > tTimer . wDay , pSendData - > tTimer . wHour , pSendData - > tTimer . wMinute , pSendData - > tTimer . wSecond ) ;
}
if ( COleDateTime ( pSendData - > tSubTime ) . GetStatus ( ) = = COleDateTime : : valid )
{
strSubTime . Format ( _T ( " #%04d-%02d-%02d %02d:%02d:%02d# " ) , pSendData - > tSubTime . wYear , pSendData - > tSubTime . wMonth , pSendData - > tSubTime . wDay , pSendData - > tSubTime . wHour , pSendData - > tSubTime . wMinute , pSendData - > tSubTime . wSecond ) ;
}
CString strDataMsg = ( TCHAR * ) pData ;
BOOL bRead = m_pMainFrame - > m_pBaseView - > m_dlgQXBoxGroup . On_DS_Chat_Show ( * pSendData , strDataMsg ) ;
CString str ;
str . Format ( _T ( " insert into QXLog (Rtx_GroupTaskID,Sender,Mobile,Rtx_GroupID,GroupID,GroupName,Status,Timer,MsgType,MsgDataType,MobileAll,MobileSent,SubTime,MsgData,Reader) values (%d,'%s','%s',%d,'%s','%s',%d,%s,%d,%d,%d,%d,%s,'%s',%d) " ) ,
pSendData - > lRtx_GroupTaskID ,
SqlStr ( pSendData - > szSender ) ,
SqlStr ( pSendData - > szMobile ) ,
pSendData - > lRtx_GroupID ,
pSendData - > szGroupID ,
SqlStr ( pSendData - > szGroupName ) ,
pSendData - > lStatus ,
strTimer ,
4 , //<2F> <> <EFBFBD> <EFBFBD>
pSendData - > lMsgDataType ,
pSendData - > lMobileAll ,
pSendData - > lMobileSent ,
strSubTime ,
SqlStr ( strDataMsg ) ,
bRead ) ;
m_AdoRS . Open ( str ) ;
if ( ! bRead )
{
FlashIcon ( false , true ) ; //<2F> <> <EFBFBD> <EFBFBD> ͼ<EFBFBD> <CDBC>
}
lRecvCount + + ;
}
pData + = pSendData - > lImageLen ;
}
if ( lRecvCount > 0 ) //<2F> ټ<EFBFBD> <D9BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB>
{
this - > RefreshInfo ( ) ;
}
return true ;
}
return false ;
}
REQ_QXBox_Group_SendData CFQXBox_Log : : GetSendData ( long lItem )
{
REQ_QXBox_Group_SendData sms = { 0 } ;
long lSendID = m_wndList . GetItemData ( lItem ) ;
CString strSelect ;
COleDateTime t ;
strSelect . Format ( _T ( " select * from QXLog where RTX_GroupTaskID=%d " ) , lSendID ) ;
if ( m_AdoRS . Open ( strSelect ) & & ! m_AdoRS . IsEOF ( ) )
{
m_AdoRS . GetCollect ( _T ( " Rtx_GroupTaskID " ) , sms . lRtx_GroupTaskID ) ;
m_AdoRS . GetCollect ( _T ( " Status " ) , sms . lStatus ) ;
m_AdoRS . GetCollect ( _T ( " Rtx_GroupID " ) , sms . lRtx_GroupID ) ;
}
return sms ;
}
void CFQXBox_Log : : OnDblclkSmslogList ( NMHDR * pNMHDR , LRESULT * pResult )
{
* pResult = 0 ;
On_User_See ( ) ;
}
void CFQXBox_Log : : OnKeydownSmslogList ( NMHDR * pNMHDR , LRESULT * pResult )
{
LV_KEYDOWN * pLVKeyDow = ( LV_KEYDOWN * ) pNMHDR ;
* pResult = 0 ;
if ( pLVKeyDow - > wVKey = = VK_DELETE )
{
On_User_Del ( ) ;
}
if ( pLVKeyDow - > wVKey = = VK_SPACE )
{
On_User_See ( ) ;
}
if ( pLVKeyDow - > wVKey = = ' S ' | | pLVKeyDow - > wVKey = = ' s ' )
{
On_User_Send ( ) ;
}
if ( pLVKeyDow - > wVKey = = ' R ' | | pLVKeyDow - > wVKey = = ' r ' )
{
On_User_Refresh ( ) ;
}
if ( pLVKeyDow - > wVKey = = ' T ' | | pLVKeyDow - > wVKey = = ' t ' )
{
On_User_RefStatus ( ) ;
}
if ( pLVKeyDow - > wVKey = = ' F ' | | pLVKeyDow - > wVKey = = ' f ' )
{
On_User_Find ( ) ;
}
if ( pLVKeyDow - > wVKey = = ' B ' | | pLVKeyDow - > wVKey = = ' b ' )
{
On_User_Bak ( ) ;
}
if ( pLVKeyDow - > wVKey = = ' A ' | | pLVKeyDow - > wVKey = = ' a ' )
{
m_wndList . SelectAllItems ( ) ;
}
}
long CFQXBox_Log : : GetStatusText2 ( long lStatus , TCHAR * pStatus )
{
_tcscpy ( pStatus , _T ( " δ֪״̬ " ) ) ;
long lIcon = 0 ;
switch ( lStatus )
{
case SEND_STATUS_SUB_OK :
_tcscpy ( pStatus , _T ( " <EFBFBD> ύ<EFBFBD> ɹ<EFBFBD> " ) ) ;
break ;
case SEND_STATUS_SUB_FILT :
//_tcscpy( pStatus , _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ") );
_tcscpy ( pStatus , _T ( " <EFBFBD> ύ<EFBFBD> ɹ<EFBFBD> " ) ) ;
break ;
case SEND_STATUS_SUB_ERROR :
case SEND_STATUS_SUB_USERNOSMS :
case SEND_STATUS_SUB_CORPNOSMS :
case SEND_STATUS_SUB_CORPOVRDATE :
_tcscpy ( pStatus , _T ( " <EFBFBD> ύʧ<EFBFBD> <EFBFBD> " ) ) ;
lIcon = 3 ;
break ;
case SEND_STATUS_SUB_NUMNOSUP :
_tcscpy ( pStatus , _T ( " Ŀ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ) ;
lIcon = 3 ;
break ;
case SEND_STATUS_FILT_ERROR :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <EFBFBD> " ) ) ;
lIcon = 3 ;
break ;
case SEND_STATUS_SEND_OK :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> ͳɹ<EFBFBD> " ) ) ;
lIcon = 1 ;
break ;
case SEND_STATUS_SEND_ERROR :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <EFBFBD> " ) ) ;
lIcon = 3 ;
break ;
case SEND_STATUS_RECV_OK :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ) ;
lIcon = 1 ;
break ;
case SEND_STATUS_RECV_ERROR :
_tcscpy ( pStatus , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <EFBFBD> " ) ) ;
lIcon = 3 ;
break ;
}
return lIcon ;
}
void CFQXBox_Log : : OnOK ( )
{
//CDialog::OnOK();
}
void CFQXBox_Log : : OnCancel ( )
{
//CDialog::OnCancel();
}
void CFQXBox_Log : : SetToday ( BOOL bToday )
{
if ( m_bShowToday ! = bToday )
{
m_bShowToday = bToday ;
m_bRefresh = false ;
}
}
void CFQXBox_Log : : SetBakDBName ( CString strDBName )
{
m_strBakDBName = strDBName ;
m_bNewDB = true ;
}
void CFQXBox_Log : : RecvQX ( )
{
REQ_QQTRecv * pRecv = new REQ_QQTRecv ;
pRecv - > lCorpID = m_pMainFrame - > m_lCorpID ;
pRecv - > lUserID = m_pMainFrame - > m_lUserID ;
m_pMainFrame - > SendFrame ( SMSFUNC_QQTRECV , ( BYTE * ) pRecv , sizeof ( REQ_QQTRecv ) ) ;
}
BOOL CFQXBox_Log : : FlashIcon ( BOOL bCheck , BOOL bFlash )
{
if ( bCheck )
{
CString str ;
str = _T ( " select top 1 * from QXLog where Reader=0 " ) ; //<2F> <> ѯδ<D1AF> <CEB4> <EFBFBD> Ķ<EFBFBD> <C4B6> <EFBFBD>
if ( m_AdoRS . Open ( str ) & & ! m_AdoRS . IsEOF ( ) )
{
bFlash = true ;
}
else
{
bFlash = false ;
}
m_AdoRS . Close ( ) ;
}
if ( bFlash )
{
m_lIconCount = 1 ;
SetTimer ( 3 , 400 , NULL ) ;
}
else
{
m_lIconCount = - 1 ;
}
return bFlash ;
}
BOOL CFQXBox_Log : : ShowNoReaderMsg ( )
{
CString str ;
str = _T ( " select top 1 * from QXLog where Reader=0 order by SubTime " ) ; //<2F> <> ѯδ<D1AF> <CEB4> <EFBFBD> Ķ<EFBFBD> <C4B6> <EFBFBD>
if ( m_AdoRS . Open ( str ) & & ! m_AdoRS . IsEOF ( ) )
{
long lRtx_GroupTaskID = 0 ;
m_AdoRS . GetCollect ( _T ( " Rtx_GroupTaskID " ) , lRtx_GroupTaskID ) ;
m_AdoRS . Close ( ) ;
On_User_See2 ( - 1 , lRtx_GroupTaskID ) ;
return true ;
}
FlashIcon ( false , false ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͼ<EFBFBD> <CDBC> <EFBFBD> ˡ<EFBFBD>
return false ;
}
void CFQXBox_Log : : OnTimer ( UINT_PTR nIDEvent )
{
CDialog : : OnTimer ( nIDEvent ) ;
if ( nIDEvent = = 3 )
{
KillTimer ( nIDEvent ) ;
//<2F> <> ͼ<EFBFBD> <CDBC> <EFBFBD> <EFBFBD> <EFBFBD> 뵽<EFBFBD> <EBB5BD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
CString strName = m_pMainFrame - > GetSoftSName ( ) ;
NOTIFYICONDATA niData ;
if ( m_lIconCount < = 0 )
{
niData . hIcon = AfxGetApp ( ) - > LoadIcon ( IDR_MAINFRAME ) ;
_stprintf ( niData . szTip , strName ) ;
}
else
{
m_lIconCount + + ;
if ( m_lIconCount > 888888 )
m_lIconCount = 1 ;
if ( m_lIconCount % 2 = = 0 )
niData . hIcon = AfxGetApp ( ) - > LoadIcon ( IDR_MAINFRAME ) ;
else
niData . hIcon = AfxGetApp ( ) - > LoadIcon ( IDI_NULL ) ;
strName + = _T ( " -<2D> յ<EFBFBD> <D5B5> <EFBFBD> <EFBFBD> <EFBFBD> Qͨ " ) ;
_stprintf ( niData . szTip , strName ) ;
}
niData . cbSize = sizeof ( NOTIFYICONDATA ) ;
niData . hWnd = this - > m_pMainFrame - > m_hWnd ;
niData . uID = 125 ;
niData . uFlags = NIF_ICON | NIF_TIP ;
niData . uCallbackMessage = SHELL_ICON_MESS ;
Shell_NotifyIcon ( NIM_MODIFY , & niData ) ;
if ( m_lIconCount > 0 )
SetTimer ( 3 , 400 , NULL ) ;
return ;
}
}