CorpSms/FFaxLog.h
2025-02-27 16:58:16 +08:00

243 lines
8.0 KiB
C++

#if !defined(AFX_FFAXLOG_H__7A8C1AC0_010A_4AFE_A85E_2BC090ED9906__INCLUDED_)
#define AFX_FFAXLOG_H__7A8C1AC0_010A_4AFE_A85E_2BC090ED9906__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// FFaxLog.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CFFaxLog dialog
#include "..\public\reportctrl\ReportCtrl.h"
#include "DLG_SmsLogSee.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_SHOWALLRECORD WM_USER+400 //显示所有记录
#define STATUS_MAX_QUERY 200 //每次最多查询1000条状态报告记录
#ifdef UNICODE
class CAdoFaxLog:public CADORecordBinding
{
BEGIN_ADO_BINDING(CAdoFaxLog)
ADO_VARIABLE_LENGTH_ENTRY2(1,adInteger, m_SmsID ,sizeof(m_SmsID), l_SmsIDStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(2,adInteger, m_SendID ,sizeof(m_SendID), l_SendIDStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(3,adInteger, m_FaxFileID ,sizeof(m_FaxFileID), l_FaxFileIDStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(4,adVarWChar,m_SendNum ,sizeof(m_SendNum) , l_SendNumStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(5,adVarWChar,m_Recver ,sizeof(m_Recver) , l_RecverStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(6,adVarWChar, m_RecvNum ,sizeof(m_RecvNum) , l_RecvNumStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(7,adVarWChar, m_Title ,sizeof(m_Title) , l_TitleStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(8,adInteger, m_Status ,sizeof(m_Status), l_StatusStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(9,adVarWChar, m_StatusMsg ,sizeof(m_StatusMsg) , l_StatusMsgStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(10,adInteger, m_Times ,sizeof(m_Times), l_TimesStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(11,adDate, m_SubTime ,sizeof(m_SubTime) , l_SubTimeStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(12,adDate, m_SendTime ,sizeof(m_SendTime) , l_SendTimeStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(13,adDate, m_RecvTime ,sizeof(m_RecvTime) , l_RecvTimeStatus,true)
END_ADO_BINDING()
public:
long m_SmsID;
ULONG l_SmsIDStatus;
long m_SendID;
ULONG l_SendIDStatus;
long m_FaxFileID;
ULONG l_FaxFileIDStatus;
TCHAR m_SendNum[32];
ULONG l_SendNumStatus;
TCHAR m_Recver[32];
ULONG l_RecverStatus;
TCHAR m_RecvNum[32];
ULONG l_RecvNumStatus;
TCHAR m_Title[64];
ULONG l_TitleStatus;
long m_Status;
ULONG l_StatusStatus;
TCHAR m_StatusMsg[128];
ULONG l_StatusMsgStatus;
long m_Times;
ULONG l_TimesStatus;
COleDateTime m_SubTime;
ULONG l_SubTimeStatus;
COleDateTime m_SendTime;
ULONG l_SendTimeStatus;
COleDateTime m_RecvTime;
ULONG l_RecvTimeStatus;
CAdoFaxLog()
{
m_SmsID = 0;
m_SendID = 0;
m_FaxFileID=0;
m_Times=0;
memset(m_SendNum,0,sizeof(m_SendNum));
memset(m_Recver,0,sizeof(m_Recver));
memset(m_RecvNum,0,sizeof(m_RecvNum));
memset(m_Title,0,sizeof(m_Title));
memset(m_StatusMsg,0,sizeof(m_StatusMsg));
m_Status= 0;
memset(&m_SubTime,0,sizeof(m_SubTime));
memset(&m_SendTime,0,sizeof(m_SendTime));
memset(&m_RecvTime,0,sizeof(m_RecvTime));
}
};
#else
class CAdoFaxLog:public CADORecordBinding
{
BEGIN_ADO_BINDING(CAdoFaxLog)
ADO_VARIABLE_LENGTH_ENTRY2(1,adInteger, m_SmsID ,sizeof(m_SmsID), l_SmsIDStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(2,adInteger, m_SendID ,sizeof(m_SendID), l_SendIDStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(3,adInteger, m_FaxFileID ,sizeof(m_FaxFileID), l_FaxFileIDStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(4,adVarChar,m_SendNum ,sizeof(m_SendNum) , l_SendNumStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(5,adVarChar,m_Recver ,sizeof(m_Recver) , l_RecverStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(6,adVarChar, m_RecvNum ,sizeof(m_RecvNum) , l_RecvNumStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(7,adVarChar, m_Title ,sizeof(m_Title) , l_TitleStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(8,adInteger, m_Status ,sizeof(m_Status), l_StatusStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(9,adVarChar, m_StatusMsg ,sizeof(m_StatusMsg) , l_StatusMsgStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(10,adInteger, m_Times ,sizeof(m_Times), l_TimesStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(11,adDate, m_SubTime ,sizeof(m_SubTime) , l_SubTimeStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(12,adDate, m_SendTime ,sizeof(m_SendTime) , l_SendTimeStatus,true)
ADO_VARIABLE_LENGTH_ENTRY2(13,adDate, m_RecvTime ,sizeof(m_RecvTime) , l_RecvTimeStatus,true)
END_ADO_BINDING()
public:
long m_SmsID;
ULONG l_SmsIDStatus;
long m_SendID;
ULONG l_SendIDStatus;
long m_FaxFileID;
ULONG l_FaxFileIDStatus;
char m_SendNum[32];
ULONG l_SendNumStatus;
char m_Recver[32];
ULONG l_RecverStatus;
char m_RecvNum[32];
ULONG l_RecvNumStatus;
char m_Title[64];
ULONG l_TitleStatus;
long m_Status;
ULONG l_StatusStatus;
char m_StatusMsg[128];
ULONG l_StatusMsgStatus;
long m_Times;
char l_TimesStatus;
COleDateTime m_SubTime;
char l_SubTimeStatus;
COleDateTime m_SendTime;
ULONG l_SendTimeStatus;
COleDateTime m_RecvTime;
ULONG l_RecvTimeStatus;
CAdoFaxLog()
{
m_SmsID = 0;
m_SendID = 0;
m_FaxFileID=0;
m_Times=0;
memset(m_SendNum,0,sizeof(m_SendNum));
memset(m_Recver,0,sizeof(m_Recver));
memset(m_RecvNum,0,sizeof(m_RecvNum));
memset(m_Title,0,sizeof(m_Title));
memset(m_StatusMsg,0,sizeof(m_StatusMsg));
m_Status= 0;
memset(&m_SubTime,0,sizeof(m_SubTime));
memset(&m_SendTime,0,sizeof(m_SendTime));
memset(&m_RecvTime,0,sizeof(m_RecvTime));
}
};
#endif
class CMainFrame;
class CProcessSocket;
class CFFaxLog : public CDialog
{
public:
BOOL m_bRefresh; //是否已刷新过数据
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 ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame);
void SetBakDBName(CString strDBName );
void SetToday( BOOL bToday );
static long GetStatusText2(long lStatus, TCHAR *pStatus);
SMS_See GetSms(long lItem);
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();
CFFaxLog(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CFFaxLog)
enum { IDD = IDD_FAXLOG };
CReportCtrl m_wndList;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFFaxLog)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CFFaxLog)
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();
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_FFAXLOG_H__7A8C1AC0_010A_4AFE_A85E_2BC090ED9906__INCLUDED_)