248 lines
7.3 KiB
C++
248 lines
7.3 KiB
C++
#if !defined(AFX_DLG_SENDFAX_H__E40B88D3_EE04_4F3E_A8E8_D22BE854CDE8__INCLUDED_)
|
||
#define AFX_DLG_SENDFAX_H__E40B88D3_EE04_4F3E_A8E8_D22BE854CDE8__INCLUDED_
|
||
|
||
#if _MSC_VER > 1000
|
||
#pragma once
|
||
#endif // _MSC_VER > 1000
|
||
// DLG_SendFax.h : header file
|
||
//
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// DLG_SendFax dialog
|
||
|
||
#include ".\LuButton\LuButton.h"
|
||
#include "..\public\reportctrl\ReportCtrl.h"
|
||
#include "UserDropTarget.h"
|
||
#include "label.h"
|
||
#include "DLG_Send.h"
|
||
#include "StdAfx.h" // Added by ClassView
|
||
|
||
#define SEND_FAX_USER_ADD WM_USER+320
|
||
#define SEND_FAX_USER_MODIFY WM_USER+321
|
||
#define SEND_FAX_USER_DEL WM_USER+322
|
||
#define SEND_FAX_USER_CLEAR WM_USER+323
|
||
#define SEND_FAX_USER_INPORT WM_USER+324
|
||
#define SEND_FAX_USER_EXPORT WM_USER+325
|
||
#define SEND_FAX_USER_STATUS WM_USER+326
|
||
|
||
|
||
typedef struct _SaveFaxStatus
|
||
{
|
||
long lSendID;
|
||
TCHAR szStatus[4];
|
||
long lItemID;
|
||
long lFaxFileID;
|
||
long lStatus; //发送状态,0-提交成功,1-提交失败,2-用户余额不足,3-企业余额不足,4-企业已过期
|
||
TCHAR szSendNum[32];//发送号码
|
||
TCHAR szName[32]; //目标姓名
|
||
TCHAR szFaxNum[32]; //目标号码
|
||
TCHAR szTitle[64]; //短信内容
|
||
}SaveFaxStatus;
|
||
typedef CTypedPtrList<CPtrList, SaveFaxStatus*> CSaveFaxStatus;
|
||
|
||
|
||
class CMainFrame;
|
||
class CProcessSocket;
|
||
class DLG_SendFax : public CDialog
|
||
{
|
||
public:
|
||
CMainFrame * m_pMainFrame;
|
||
protected:
|
||
CImageList m_Image; //图像列表
|
||
CRect m_OldRect; //原Dlg的Rect
|
||
CProcessSocket * m_pSocket;
|
||
BOOL m_bInit; //列表是否已实始化
|
||
BOOL m_bModify; //是否有修改过
|
||
BOOL m_bAttachModify; //附件是否修改过
|
||
|
||
CAdoRecordSet m_AdoRS;
|
||
CAdoRecordSet m_AdoRS2;
|
||
CAdoRecordSet m_AdoRS3;
|
||
CAdoRecordSet m_AdoRS4;
|
||
CAdoRecordSet m_AdoRS5;
|
||
CAdoRecordSet m_AdoRS6;
|
||
CUserDropTarget m_UserDrop;
|
||
|
||
CString m_strAttach5;
|
||
CString m_strAttach4;
|
||
CString m_strAttach3;
|
||
CString m_strAttach2;
|
||
CString m_strAttach1;
|
||
|
||
|
||
long m_lBoxID; //BoxID
|
||
long m_lBoxType; //列表类型0,待发,1,已发
|
||
long m_lFaxUpID; //传真上传ID
|
||
|
||
//以下为发送时的内容
|
||
BOOL m_bSend; //是否正在发送
|
||
SYSTEMTIME m_tTimer; //定时时间
|
||
long m_lSendIndex; //发送列表里的Index
|
||
long m_lSendOK; //发送成功计数
|
||
BOOL m_bShowFiltWarning;//是否允许显示过滤警告
|
||
BOOL m_bShowFiltFirst; //是否第一次显示过滤警告
|
||
BOOL m_bFilt; //是否需要审核
|
||
BOOL m_bFiltOver; //是否需要过量审核
|
||
|
||
//以下为重复号码提醒通知
|
||
BOOL m_bShowReMobile; //是否显示重复号码通知
|
||
long m_lReMobileType; //如果有重复号码,重理类型,0-跳过,1-再添加一次
|
||
|
||
//以下为黑名单提醒通知
|
||
BOOL m_bBackReMobile; //是否显示重复号码通知
|
||
long m_lBackReMobileType; //如果有重复号码,重理类型,0-跳过,1-再添加一次
|
||
|
||
//以下为发送生日祝福专用
|
||
BOOL m_bSendSR;
|
||
|
||
//计算发送时间
|
||
DWORD m_dwSendStartTime;
|
||
|
||
//使用线程保存发送状态
|
||
CSaveFaxStatus m_SaveItemStatus;
|
||
|
||
//记录发送数量
|
||
DWORD m_dwBackCount; //黑名单数量
|
||
DWORD m_dwNoSupCount; //不支持号码数量
|
||
DWORD m_dwNoMsgCount; //没内容数量
|
||
|
||
BOOL m_bSaveList;
|
||
long m_lPage;
|
||
|
||
//传真发送参数
|
||
#define FAX_CURSENDTYPE_ID 0
|
||
#define FAX_CURSENDTYPE_FILE 1
|
||
#define FAX_CURSENDTYPE_FAXNUM 2
|
||
#define FAX_CURSENDTYPE_COMPLETE 10
|
||
#define FAX_CURSENDTYPE_ERROR 20
|
||
long m_lCurSendType; //当送发送类型,0-ID,1-File,2-FaxNum
|
||
long m_lSendAttachIndex; //发送附件计数
|
||
long m_lSendAttachCount; //发送附件总数
|
||
CFile m_fAttach;
|
||
BOOL m_bAttachOpen;
|
||
long m_lAttachUpLen; //当前附件已上传的长度
|
||
CString m_strTitle;
|
||
|
||
// Construction
|
||
public:
|
||
void CloseAutoSave(void);
|
||
CString GetOtherSendRetMsg();
|
||
BOOL isBack(const TCHAR *pMobile);
|
||
void SetListTextTip(CString str);
|
||
void RefreshStatusAndLog();
|
||
BOOL ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame);
|
||
BOOL SendNextFax_Complete();
|
||
BOOL SendNextFax_FaxNum();
|
||
BOOL SendNextFax_File();
|
||
BOOL SendNextFax_ID();
|
||
BOOL SendNextFax();
|
||
long GetCurrentSelected();
|
||
void ShowRMenu();
|
||
BOOL IsSend();
|
||
long GetBoxID();
|
||
Send_User GetUser( long lItem,BOOL bDelay=false );
|
||
void EnableModifyWindow( BOOL bModify );
|
||
static UINT AutoSaveLog(void *pParam);
|
||
static UINT AutoSaveItem(void *pParam);
|
||
BOOL List_Save(BOOL bTJ=false);
|
||
BOOL List_AddUser( long lCount , Send_User * pUser );
|
||
BOOL List_ReSend( long lBoxID );
|
||
BOOL List_Read( long lBoxID );
|
||
BOOL List_New();
|
||
BOOL CloseList();
|
||
BOOL isMobileInList(const TCHAR *pMobile);
|
||
BOOL IsLocakBack(CString strMobile);
|
||
void RefreshListCount();
|
||
void AddUser( Send_User user,long lItem = -1 );
|
||
void InitItem();
|
||
void SetMainFrame(CMainFrame *pFrame);
|
||
DLG_SendFax(CWnd* pParent = NULL); // standard constructor
|
||
|
||
// Dialog Data
|
||
//{{AFX_DATA(DLG_SendFax)
|
||
enum { IDD = IDD_SENDFAX };
|
||
CEdit m_E_Title;
|
||
CButton m_B_SaveSendLog;
|
||
CButton m_B_Status;
|
||
LuButton m_B_Start;
|
||
LuButton m_B_Save;
|
||
CButton m_S_S1;
|
||
CButton m_B_ReMobile;
|
||
CButton m_B_Add;
|
||
CEdit m_E_Num;
|
||
LuButton m_B_Null;
|
||
LuButton m_B_New2;
|
||
LuButton m_B_New;
|
||
CButton m_S_MsgList;
|
||
CButton m_S_ListCount;
|
||
CListCtrl m_wndList;
|
||
LuButton m_B_DY;
|
||
CDateTimeCtrl m_D_Time;
|
||
CDateTimeCtrl m_D_Date;
|
||
CButton m_B_DS;
|
||
CEdit m_E_Attach5;
|
||
CEdit m_E_Attach4;
|
||
CEdit m_E_Attach3;
|
||
CEdit m_E_Attach2;
|
||
CEdit m_E_Attach1;
|
||
//}}AFX_DATA
|
||
|
||
|
||
// Overrides
|
||
// ClassWizard generated virtual function overrides
|
||
//{{AFX_VIRTUAL(DLG_SendFax)
|
||
public:
|
||
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
||
protected:
|
||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||
//}}AFX_VIRTUAL
|
||
|
||
// Implementation
|
||
protected:
|
||
virtual LRESULT OnDrop(WPARAM wParam, LPARAM lParm);
|
||
// Generated message map functions
|
||
//{{AFX_MSG(DLG_SendFax)
|
||
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
||
virtual BOOL OnInitDialog();
|
||
afx_msg void OnSize(UINT nType, int cx, int cy);
|
||
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
||
afx_msg void OnClose();
|
||
afx_msg void OnDestroy();
|
||
afx_msg void OnSendFaxSelAttach1();
|
||
afx_msg void OnSendFaxSelAttach2();
|
||
afx_msg void OnSendFaxSelAttach3();
|
||
afx_msg void OnSendFaxSelAttach4();
|
||
afx_msg void OnSendFaxSelAttach5();
|
||
afx_msg void OnSendfaxNumadd();
|
||
afx_msg void OnSendfaxDs();
|
||
afx_msg void OnSendfaxNew2();
|
||
afx_msg void OnSendfaxNew();
|
||
afx_msg void OnSendfaxSave();
|
||
afx_msg void OnDblclkSendfaxList(NMHDR* pNMHDR, LRESULT* pResult);
|
||
afx_msg void OnRclickSendfaxList(NMHDR* pNMHDR, LRESULT* pResult);
|
||
afx_msg void OnKeydownSendfaxList(NMHDR* pNMHDR, LRESULT* pResult);
|
||
afx_msg void OnDatetimechangeSendfaxDsD(NMHDR* pNMHDR, LRESULT* pResult);
|
||
afx_msg void OnDatetimechangeSendfaxDsT(NMHDR* pNMHDR, LRESULT* pResult);
|
||
afx_msg void OnChangeSendFaxTitle();
|
||
afx_msg void OnSendfaxStart();
|
||
afx_msg void OnDoubleclickedSendFaxSelAttach1();
|
||
afx_msg void OnDoubleclickedSendFaxSelAttach2();
|
||
afx_msg void OnDoubleclickedSendFaxSelAttach3();
|
||
afx_msg void OnDoubleclickedSendFaxSelAttach4();
|
||
afx_msg void OnDoubleclickedSendFaxSelAttach5();
|
||
//}}AFX_MSG
|
||
afx_msg void On_User_Add();
|
||
afx_msg void On_User_Modify();
|
||
afx_msg void On_User_Del();
|
||
afx_msg void On_User_Clear();
|
||
afx_msg void On_User_Inport();
|
||
afx_msg void On_User_Export();
|
||
afx_msg void On_User_Status();
|
||
DECLARE_MESSAGE_MAP()
|
||
};
|
||
|
||
//{{AFX_INSERT_LOCATION}}
|
||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||
|
||
#endif // !defined(AFX_DLG_SENDFAX_H__E40B88D3_EE04_4F3E_A8E8_D22BE854CDE8__INCLUDED_)
|