CorpSms/MainFrm.h

339 lines
10 KiB
C
Raw Normal View History

2025-02-27 16:58:16 +08:00
// MainFrm.h : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_MAINFRM_H__53645CFE_009C_4AD6_9EB7_EEB04AE157ED__INCLUDED_)
#define AFX_MAINFRM_H__53645CFE_009C_4AD6_9EB7_EEB04AE157ED__INCLUDED_
#include "StdAfx.h" // Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "CorpSmsDoc.h"
#include "FuncView.h"
#include "BaseView.h"
#include "ProcessSocket.h"
#include "DLG_GetUser.h"
#include "..\public\reportctrl\ReportCtrl.h"
#include "DLG_CJCard.h"
#include "DLG_Commend.h"
//#ifdef SUPPER_UBOX
#include ".\UBox\phonic_ubox.h"
#include "DLG_UBox_Dial.h"
#include "DLG_UBoxPop.h"
#include "DLG_UBox_UserLog.h"
//#endif
#define SHELL_ICON_MESS WM_USER+260
#define UBOX_EVENT WM_USER+270
#define UBOX_EVENT_DTMF 1
#define UBOX_EVENT_JT 2
#define UBOX_EVENT_WJ 3
#define UBOX_EVENT_HOOK_OFF 4
#define UBOX_EVENT_HOOK_UP 5
#define UBOX_EVENT_HOOK_UP2 6
#define UBOX_EVENT_CALLOUT 7
#define UBOX_EVENT_ERROR 8
#define UBOX_EVENT_CHAR 9
#define CORPSMS_ICON_R_SHOW WM_USER + 2001 //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define CORPSMS_ICON_R_SMS WM_USER + 2002 //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define CORPSMS_ICON_R_MMS WM_USER + 2003 //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define CORPSMS_ICON_R_QUIT WM_USER + 2004 //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef CTypedPtrList<CPtrList, SM_User*> CUser;
typedef CTypedPtrArray<CPtrArray, DLG_UBoxPop*> CDLG_UBoxPop;
typedef struct _RecordUpload
{
long lUBoxLogID;
CString strRecordName;
}RecordUpload;
typedef CList<RecordUpload> CRecordUpload;
class DLG_HDQuery;
class DLG_White2;
class CMainFrame : public CFrameWnd
{
public:
CFuncView * m_pFuncView;
CBaseView * m_pBaseView;
CImageList m_Image;
CButton m_B_CJ;
CButton m_B_YJ;
CAdoConnection m_adoConnection;
CAdoRecordSet m_AdoRS;
CAdoRecordSet m_AdoRS2;
long m_lCorpID;
long m_lUserID;
ULONG m_ulPurviewType; //<2F>û<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ULONG m_ulPurview; //<2F>û<EFBFBD>Ȩ<EFBFBD><C8A8>
CString m_strLoginIP;
SM_Setup m_Setup;
CUser m_User;
SM_User * m_pCurUser;
ANS_Login m_Ans_Login;
ANS_Login2 m_Ans_Login2;
CProcessSocket m_Socket;
CPictureEx m_B_Gif;
CString m_strTEXT;
long m_lGDText;
DLG_CJCard * m_pCJCard; //<2F><>ֵ<EFBFBD><D6B5>
BOOL m_CliSmsTD_Req; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFB7A2><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long m_lFiltCount;
ANS_Filt2_SeeDataU * m_pFilt;
long m_lNoSupperWordCount;
ANS_Login3_NoSupperData * m_pNoSupperWord;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long m_lBackCount;
ANS_Back_SeeData * m_pBack;
CString m_strMobile; //<2F>˵<EFBFBD>¼<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
CString m_strMainGroupID; //<2F><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ID
long m_lMainGroupID; //<2F><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ID
CString m_strMainGroupName; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><E1BDBB>Ϣ
DWORD m_dwEndTYjTime;
//ExcelAddinЭ<6E><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
HWND m_hExcelAddinWnd;
long m_lAddinType; //1-Open,2-SendSms,3-Address
BOOL m_bLoginOK;
//<2F>Ƽ<EFBFBD><C6BC>ͻ<EFBFBD>
DLG_Commend * m_pCommendDlg;
DLG_HDQuery * m_pHDQuery;
//masoem
CString m_strMasTitle;
BOOL m_bCheckUpdateManual;
CString m_strCorpWorkUrl; //<2F><><EFBFBD><EFBFBD><EFBFBD>׵<EFBFBD>¼
CString m_strPasswdEnc; //<2F><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>׵<EFBFBD>¼
CCriticalSection m_Update_Lock;
//<2F><><EFBFBD>ڼ<EFBFBD>¼ͼ<C2BC><CDBC><EFBFBD><EFBFBD>Ϣ
long m_Iocn_UBox_KT;
#ifdef SUPPER_UBOX //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
long m_ubox_Status;
HINSTANCE m_ubox_Lib;
Mubox_open m_ubox_Open;
Mubox_close m_ubox_close;
Mubox_get_work_mode m_ubox_get_work_mode;
Mubox_send_dtmf m_ubox_send_dtmf;
Mubox_record_stream m_ubox_record_stream;
Mubox_stop_record m_ubox_stop_record;
Mubox_record_file m_ubox_record_file;
UBOX_HANDLE m_ubox_endHandle;
DLG_UBox_Dial m_DlgUBoxDial;
BOOL m_ubox_bPhoneUp; //<2F><><EFBFBD><EFBFBD>״̬<D7B4>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>𻰻<EFBFBD><F0BBB0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𻰻<EFBFBD><F0BBB0BB><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>
BOOL m_ubox_Phoneing; //<2F><><EFBFBD><EFBFBD>״̬<D7B4>Ƿ<EFBFBD>Ϊ֪ͨ<CDA8>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CDLG_UBoxPop m_ubox_Pop;
DLG_UBoxPop * m_ubox_NowPop;
CCriticalSection m_ubox_Lock;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ļ<EFBFBD>
CRecordUpload m_RecordUpload;
long m_RecordUpload_UBoxLogID;
DWORD m_RecordUpload_EndSendFrame;
long m_RecordUpload_AllSize;
long m_RecordUpload_UpSize;
CFile m_RecordFile;
#endif
BOOL m_bLogin; //<2F>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD>¼<EFBFBD>ɹ<EFBFBD>
//<2F><><EFBFBD>ڰ<EFBFBD><DAB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DLG_White2 * m_pWhie2;
protected:
long m_lCurFunc;
DLG_GetUser m_DlgProcess;
BOOL m_bShowProcess;
BOOL m_bChangeGAddress;
BOOL m_bReadGAddressError;
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMainFrame)
public:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
//}}AFX_VIRTUAL
// Implementation
public:
static BOOL AutoBackAddress_Save(CMainFrame * pFrame , CString strName);
static UINT AutoBackAddress_T(void *pParam);
void AutoBak_SendLog();
BOOL isSupportPhs();
long GetMaxAddressCount();
long FindBX(long lMon, long lMon2, long lDay,CReportCtrl *pList);
long GetQJCM( CString & strCM );
long GetMaxSendMsgLen();
CString GetSoftSName();
void GetUpdateMsg(BOOL bManual=false);
void YWDB(BOOL bYW);
long FindNS(long lMon,long lMon2, CReportCtrl *pList);
static BOOL UpdateDB(CAdoConnection & m_adoConnection,CAdoRecordSet & m_AdoRS);
void GetBack();
void GDText();
void GetGGMsg();
long FindSR(long lMon,long lDay,long lMon2,long lDay2,BOOL bGAddress,BOOL bPAddress,CReportCtrl* pList);
BOOL ReadGAddress(BOOL bRefresh=false);
void SetStatMsg(TCHAR *pMsg);
BOOL ProcessSocket(Socket_Head *pHead);
BOOL SendFrame( DWORD lFuncType , unsigned char * pFrame , unsigned long lFrameLen );
BOOL GetUserPurview( ULONG ulPurview ,BOOL bShowWarning=true);
BOOL GetUserPurview_HideNum();
void GetCurrentPath(TCHAR *pPath);
void SaveSetup();
void ReadSetup();
void CreateNullSetup();
virtual ~CMainFrame();
void uboxPop_New(CString strNumber,long lCallWay,long lBeginTime=0);
void uboxPop_Del(DLG_UBoxPop * pPop);
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected: // control bar embedded members
CStatusBar m_wndStatusBar;
CToolBar m_wndToolBar;
CSplitterWnd m_wndSplitter;
static void WINAPI ubox_NotifyProc(UBOX_HANDLE uboxHnd,int eventID,unsigned long param1,unsigned long param2,unsigned long param3,unsigned long param4);
public:
BOOL ubox_SetStatus(long lStatus);
BOOL ubox_Close();
BOOL ubox_Init();
BOOL ubox_Enable();
static CString GetMD5(CString str,BOOL bLower=false);
void Mas_ProcessSendCount();
BOOL ProcessSocket(Socket_Head_Add *pHead,BYTE* pFrame);
DWORD GetExcelAddinErrorNum();
void GetCenterTime();
long GetMaxUsersCount();
BOOL ReadGAddress2(BOOL bRefresh=false);
long GetMaxSendMsgLen_longSms(long & lCMLen);
void OnTYj2( const TCHAR * pType );
afx_msg void OnTYj();
// Generated message map functions
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnModifyPasswd();
afx_msg void OnMsgsetup();
afx_msg void OnTShowsmslist();
afx_msg void OnTShowmmslist();
afx_msg void OnTMsgsetup();
afx_msg void OnTAdduser();
afx_msg void OnUpdateTAdduser(CCmdUI* pCmdUI);
afx_msg void OnTAddgroup();
afx_msg void OnUpdateTAddgroup(CCmdUI* pCmdUI);
afx_msg void OnTSmsview();
afx_msg void OnUpdateTSmsview(CCmdUI* pCmdUI);
afx_msg void OnTSmsnew();
afx_msg void OnUpdateTSmsnew(CCmdUI* pCmdUI);
afx_msg void OnUpdateTShowsmslist(CCmdUI* pCmdUI);
afx_msg void OnUpdateTShowmmslist(CCmdUI* pCmdUI);
afx_msg void OnClose();
afx_msg void OnFindsr();
afx_msg void OnCompdb();
afx_msg void OnHelp2();
afx_msg void OnSystemsetup();
afx_msg void OnUpdateSystemsetup(CCmdUI* pCmdUI);
afx_msg void OnTCj();
afx_msg void OnSendsetup();
afx_msg void OnTLogo();
afx_msg void OnTBill();
afx_msg void OnUpdateTBill(CCmdUI* pCmdUI);
afx_msg void OnUpdateHelp2(CCmdUI* pCmdUI);
afx_msg void OnSetupSzgj();
afx_msg void OnNsts();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnBxts();
afx_msg void OnHd();
afx_msg void OnSetupTd();
afx_msg void OnTLogo2();
afx_msg void OnSetupImMas();
afx_msg void OnAppCommend();
afx_msg void OnTGg();
afx_msg void OnOperSendsms();
afx_msg void OnOperSendfax();
afx_msg void OnOperSendmms();
afx_msg void OnCheckupdate();
afx_msg void OnTCorpwork();
afx_msg void OnTUbox();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg LONG UBox_Event( WPARAM wParam , LPARAM lParam );
afx_msg void OnShellIcon_Show();
afx_msg void OnShellIcon_Sms();
afx_msg void OnShellIcon_Mms();
afx_msg void OnShellIcon_Exit();
//}}AFX_MSG
afx_msg LONG On_Picture_Click( WPARAM wParam , LPARAM lParam );
afx_msg LONG ProcessSocket_Error( WPARAM wParam , LPARAM lParam );
afx_msg LONG ProcessSocket_Frame( WPARAM wParam , LPARAM lParam );
afx_msg LONG OnShellIconMess( WPARAM wParam , LPARAM lParam ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EAB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg LONG On_ExcelAddin_Data( WPARAM wParam , LPARAM lParam );
afx_msg LONG On_ExcelAddin_Open( WPARAM wParam , LPARAM lParam );
afx_msg LONG On_ExcelAddin_GetGroup( WPARAM wParam , LPARAM lParam );
DECLARE_MESSAGE_MAP()
public:
BOOL SendSms(CString strMobile, CString strMsg);
afx_msg void OnAppCalltype();
afx_msg void OnUpdateAppCalltype(CCmdUI *pCmdUI);
int UBox_AddUploadRecordFile(long lUBoxLogID, CString strRecordName);
void UBox_Upload_Record(void);
int UBox_Upload_Record_SendNextFrame(void);
void OnShellIcon_Show2(BOOL bShowRecever=true);
afx_msg void OnAppWhite2();
afx_msg void OnUpdateAppWhite2(CCmdUI *pCmdUI);
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MAINFRM_H__53645CFE_009C_4AD6_9EB7_EEB04AE157ED__INCLUDED_)