CorpSms/DLG_SendFax.h

248 lines
7.3 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.

#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_)