286 lines
9.6 KiB
C++
286 lines
9.6 KiB
C++
#if !defined(AFX_QXBOX_LOG_H__7A8C1AC0_010A_4AFE_A85E_2BC090ED9906__INCLUDED_)
|
|
#define AFX_QXBOX_LOG_H__7A8C1AC0_010A_4AFE_A85E_2BC090ED9906__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// FQXBox_Log.h : header file
|
|
//
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CFQXBox_Log dialog
|
|
#include "..\public\reportctrl\ReportCtrl.h"
|
|
#include "DLG_SmsLogSee.h"
|
|
#include "DLG_GetUser.h"
|
|
|
|
#define MENU_LOG_SEE WM_USER+220 //删除
|
|
#define MENU_LOG_SEND WM_USER+221 //删除
|
|
#define MENU_LOG_DEL WM_USER+222 //删除
|
|
#define MENU_LOG_EXPORT WM_USER+223 //导出
|
|
#define MENU_LOG_REFRESH WM_USER+224 //刷新
|
|
#define MENU_LOG_REFSTATUS WM_USER+225 //刷新状态
|
|
#define MENU_LOG_FIND WM_USER+226 //查找
|
|
#define MENU_LOG_BAK WM_USER+227 //创建备份
|
|
#define MENU_LOG_QUERYFAIL WM_USER+228 //查询失败短信
|
|
#define MENU_LOG_DOWNLOAD_SUCCESS WM_USER+229 //查询成功号码
|
|
#define MENU_LOG_DOWNLOAD_FAIL WM_USER+230 //查询失败号码
|
|
|
|
#define MENU_LOG_SHOWALLRECORD WM_USER+400 //显示所有记录
|
|
|
|
#define STATUS_MAX_QUERY 200 //每次最多查询1000条状态报告记录
|
|
|
|
|
|
#ifdef UNICODE
|
|
class CAdoQXLog:public CADORecordBinding
|
|
{
|
|
BEGIN_ADO_BINDING(CAdoQXLog)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(1,adInteger, m_QXLogID ,sizeof(m_QXLogID), l_QXLogIDStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(2,adInteger, m_Rtx_GroupTaskID ,sizeof(m_Rtx_GroupTaskID), l_Rtx_GroupTaskIDStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(3,adVarWChar,m_Sender ,sizeof(m_Sender) , l_SenderStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(4,adInteger, m_Rtx_GroupID ,sizeof(m_Rtx_GroupID), l_Rtx_GroupIDStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(5,adVarWChar,m_GroupID ,sizeof(m_GroupID) , l_GroupIDStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(6,adVarWChar, m_GroupName ,sizeof(m_GroupName) , l_GroupNameStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(7,adInteger, m_Status ,sizeof(m_Status), l_StatusStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(8,adDate, m_Timer ,sizeof(m_Timer) , l_TimerStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(9,adInteger, m_MsgType ,sizeof(m_MsgType), l_MsgTypeStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(10,adInteger, m_MsgDataType ,sizeof(m_MsgDataType), l_MsgTypeStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(11,adInteger, m_MobileAll ,sizeof(m_MobileAll), l_MobileAllStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(12,adInteger, m_MobileSent ,sizeof(m_MobileSent), l_MobileSentStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(13,adDate, m_SubTime ,sizeof(m_SubTime) , l_SubTimeStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(14,adVarWChar, m_MsgData ,sizeof(m_MsgData) , l_MsgDataStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(15,adInteger, m_Reader ,sizeof(m_Reader), l_ReaderStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(16,adVarWChar, m_Mobile ,sizeof(m_Mobile) , l_MobileStatus,true)
|
|
|
|
END_ADO_BINDING()
|
|
public:
|
|
long m_QXLogID;
|
|
ULONG l_QXLogIDStatus;
|
|
long m_Rtx_GroupTaskID;
|
|
ULONG l_Rtx_GroupTaskIDStatus;
|
|
long m_Rtx_GroupID;
|
|
ULONG l_Rtx_GroupIDStatus;
|
|
TCHAR m_Sender[32];
|
|
ULONG l_SenderStatus;
|
|
UCHAR m_GroupID[32];
|
|
ULONG l_GroupIDStatus;
|
|
TCHAR m_GroupName[64];
|
|
ULONG l_GroupNameStatus;
|
|
long m_Status;
|
|
ULONG l_StatusStatus;
|
|
COleDateTime m_Timer;
|
|
ULONG l_TimerStatus;
|
|
long m_MsgType;
|
|
ULONG l_MsgTypeStatus;
|
|
long m_MsgDataType;
|
|
ULONG l_MsgDataTypeStatus;
|
|
long m_MobileAll;
|
|
ULONG l_MobileAllStatus;
|
|
long m_MobileSent;
|
|
ULONG l_MobileSentStatus;
|
|
COleDateTime m_SubTime;
|
|
ULONG l_SubTimeStatus;
|
|
TCHAR m_MsgData[1024];
|
|
ULONG l_MsgDataStatus;
|
|
long m_Reader;
|
|
ULONG l_ReaderStatus;
|
|
ULONG l_MobileStatus;
|
|
TCHAR m_Mobile[32];
|
|
|
|
CAdoQXLog()
|
|
{
|
|
m_QXLogID = 0;
|
|
m_Rtx_GroupTaskID = 0;
|
|
m_Rtx_GroupID = 0;
|
|
memset(m_Sender,0,sizeof(m_Sender));
|
|
memset(m_GroupID,0,sizeof(m_GroupID));
|
|
memset(m_GroupName,0,sizeof(m_GroupName));
|
|
m_Status= 0;
|
|
memset(&m_Timer,0,sizeof(m_Timer));
|
|
m_MsgType = 0;
|
|
m_MsgDataType = 0;
|
|
m_MobileAll = 0;
|
|
m_MobileSent = 0;
|
|
memset(&m_SubTime,0,sizeof(m_SubTime));
|
|
memset(m_MsgData,0,sizeof(m_MsgData));
|
|
}
|
|
};
|
|
#else
|
|
|
|
class CAdoQXLog:public CADORecordBinding
|
|
{
|
|
BEGIN_ADO_BINDING(CAdoQXLog)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(1,adInteger, m_QXLogID ,sizeof(m_QXLogID), l_QXLogIDStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(2,adInteger, m_Rtx_GroupTaskID ,sizeof(m_Rtx_GroupTaskID), l_Rtx_GroupTaskIDStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(3,adVarChar,m_Sender ,sizeof(m_Sender) , l_SenderStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(4,adInteger, m_Rtx_GroupID ,sizeof(m_Rtx_GroupID), l_Rtx_GroupIDStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(5,adVarChar,m_GroupID ,sizeof(m_GroupID) , l_GroupIDStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(6,adVarChar, m_GroupName ,sizeof(m_GroupName) , l_GroupNameStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(7,adInteger, m_Status ,sizeof(m_Status), l_StatusStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(8,adDate, m_Timer ,sizeof(m_Timer) , l_TimerStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(9,adInteger, m_MsgType ,sizeof(m_MsgType), l_MsgTypeStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(10,adInteger, m_MsgDataType ,sizeof(m_MsgDataType), l_MsgTypeStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(11,adInteger, m_MobileAll ,sizeof(m_MobileAll), l_MobileAllStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(12,adInteger, m_MobileSent ,sizeof(m_MobileSent), l_MobileSentStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(13,adDate, m_SubTime ,sizeof(m_SubTime) , l_SubTimeStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(14,adVarChar, m_MsgData ,sizeof(m_MsgData) , l_MsgDataStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(15,adInteger, m_Reader ,sizeof(m_Reader), l_ReaderStatus,true)
|
|
ADO_VARIABLE_LENGTH_ENTRY2(16,adVarChar, m_Mobile ,sizeof(m_Mobile) , l_MobileStatus,true)
|
|
|
|
END_ADO_BINDING()
|
|
public:
|
|
long m_QXLogID;
|
|
ULONG l_QXLogIDStatus;
|
|
long m_Rtx_GroupTaskID;
|
|
ULONG l_Rtx_GroupTaskIDStatus;
|
|
long m_Rtx_GroupID;
|
|
ULONG l_Rtx_GroupIDStatus;
|
|
TCHAR m_Sender[32];
|
|
ULONG l_SenderStatus;
|
|
UCHAR m_GroupID[32];
|
|
ULONG l_GroupIDStatus;
|
|
TCHAR m_GroupName[64];
|
|
ULONG l_GroupNameStatus;
|
|
long m_Status;
|
|
ULONG l_StatusStatus;
|
|
COleDateTime m_Timer;
|
|
ULONG l_TimerStatus;
|
|
long m_MsgType;
|
|
ULONG l_MsgTypeStatus;
|
|
long m_MsgDataType;
|
|
ULONG l_MsgDataTypeStatus;
|
|
long m_MobileAll;
|
|
ULONG l_MobileAllStatus;
|
|
long m_MobileSent;
|
|
ULONG l_MobileSentStatus;
|
|
COleDateTime m_SubTime;
|
|
ULONG l_SubTimeStatus;
|
|
TCHAR m_MsgData[1024];
|
|
ULONG l_MsgDataStatus;
|
|
long m_Reader;
|
|
ULONG l_ReaderStatus;
|
|
ULONG l_MobileStatus;
|
|
TCHAR m_Mobile[32];
|
|
|
|
CAdoQXLog()
|
|
{
|
|
m_QXLogID = 0;
|
|
m_Rtx_GroupTaskID = 0;
|
|
m_Rtx_GroupID = 0;
|
|
memset(m_Sender,0,sizeof(m_Sender));
|
|
memset(m_GroupID,0,sizeof(m_GroupID));
|
|
memset(m_GroupName,0,sizeof(m_GroupName));
|
|
m_Status= 0;
|
|
memset(&m_Timer,0,sizeof(m_Timer));
|
|
m_MsgType = 0;
|
|
m_MsgDataType = 0;
|
|
m_MobileAll = 0;
|
|
m_MobileSent = 0;
|
|
memset(&m_SubTime,0,sizeof(m_SubTime));
|
|
memset(m_MsgData,0,sizeof(m_MsgData));
|
|
}
|
|
};
|
|
#endif
|
|
|
|
class CMainFrame;
|
|
class CProcessSocket;
|
|
class CFQXBox_Log : public CDialog
|
|
{
|
|
public:
|
|
BOOL m_bRefresh; //是否已刷新过数据
|
|
CString m_strExportName;
|
|
|
|
protected:
|
|
DLG_GetUser m_DlgProcess;
|
|
BOOL m_bShowProcess;
|
|
long m_lIconCount;
|
|
|
|
|
|
protected:
|
|
CMainFrame * m_pMainFrame;
|
|
CProcessSocket * m_pSocket;
|
|
CAdoConnection m_adoConnection;
|
|
CImageList m_Image;
|
|
BOOL m_bShowToday; //是否仅显示当天的数据
|
|
BOOL m_bInit; //是否已初始化
|
|
long m_lRefreshStatusIndex; //查询状态时到达的索引
|
|
|
|
CAdoRecordSet m_AdoRS;
|
|
|
|
CString m_strFindAdd; //附加查询指令
|
|
BOOL m_bShowAllRecord;//是否显示所有号码
|
|
CString m_strBakDBName;
|
|
BOOL m_bNewDB;
|
|
// Construction
|
|
public:
|
|
BOOL ShowNoReaderMsg();
|
|
void SetBakDBName(CString strDBName );
|
|
void SetToday( BOOL bToday );
|
|
static long GetStatusText2(long lStatus, TCHAR *pStatus);
|
|
REQ_QXBox_Group_SendData GetSendData(long lItem);
|
|
BOOL ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame);
|
|
long GetItemStatus(long iItem );
|
|
void RefreshStatus(BOOL bBegin = true);
|
|
long GetCurrentSelected();
|
|
void ShowRMenu();
|
|
static long GetStatusText( long lStatus , TCHAR * pStatus );
|
|
BOOL RefreshInfo();
|
|
BOOL ReShow(BOOL bRefresh=false);
|
|
BOOL ReHide();
|
|
CFQXBox_Log(CWnd* pParent = NULL); // standard constructor
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CFQXBox_Log)
|
|
enum { IDD = IDD_QXBOX_LOG };
|
|
CReportCtrl m_wndList;
|
|
//}}AFX_DATA
|
|
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CFQXBox_Log)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CFQXBox_Log)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg void OnRclickSmslogList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnDblclkSmslogList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnKeydownSmslogList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
virtual void OnOK();
|
|
virtual void OnCancel();
|
|
//}}AFX_MSG
|
|
afx_msg void On_User_See();
|
|
afx_msg void On_User_Send();
|
|
afx_msg void On_User_Del();
|
|
afx_msg void On_User_Export();
|
|
afx_msg void On_User_Refresh();
|
|
afx_msg void On_User_RefStatus();
|
|
afx_msg void On_User_Find();
|
|
afx_msg void On_User_Bak();
|
|
afx_msg void On_User_QueryFail();
|
|
|
|
afx_msg void On_User_Refresh_All();
|
|
afx_msg void On_User_Download_Success();
|
|
afx_msg void On_User_Download_Fail();
|
|
void On_User_Download(long lQueryType);
|
|
void RecvQX();
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
BOOL FlashIcon(BOOL bCheck, BOOL bFlash);
|
|
void On_User_See2(long lItem,long lRtxGroupTaskID);
|
|
public:
|
|
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_QXBOX_LOG_H__7A8C1AC0_010A_4AFE_A85E_2BC090ED9906__INCLUDED_)
|