// MainFrm.h : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAINFRM_H__CEF82432_6DFB_42E8_8519_BE47B5A8A792__INCLUDED_)
#define AFX_MAINFRM_H__CEF82432_6DFB_42E8_8519_BE47B5A8A792__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "GfxoutBar\GfxSplitterWnd.h"
#include "GfxoutBar\GfxOutBarCtrl.h"
#include "ProcessSocket.h"

#include "DLG_TJVipInt.h"



#define  FUNC_INFOC     _T("登录信息")
#define  FUNC_INFO     1
#define  FUNC_MANAGERC _T("操作员管理")
#define  FUNC_MANAGER  2
#define  FUNC_CORPC    _T("企业管理")
#define  FUNC_USER     3
#define  FUNC_SPC      _T("增值业务")
#define  FUNC_SP       4
#define  FUNC_FILTC    _T("过滤短语")
#define  FUNC_FILT     5
#define  FUNC_CHECKUPC _T("短信审查")
#define  FUNC_CHECKUP  6
#define  FUNC_TABC     _T("帐单查询")
#define  FUNC_TAB      7
#define  FUNC_HZBC     _T("汇总表")
#define  FUNC_HZB      8
#define  FUNC_LISTC    _T("清单查询")
#define  FUNC_LIST     9
#define  FUNC_BACKC    _T("黑名单")
#define  FUNC_BACK     10
#define  FUNC_OTHERC    _T("其它设置")
#define  FUNC_OTHER    11
#define  FUNC_TSCMDC   _T("指令设置")
#define  FUNC_TSCMD    12
#define  FUNC_AGENTC   _T("代理商管理")
#define  FUNC_AGENT    13
#define  FUNC_KHCARDC  _T("开户卡管理")
#define  FUNC_KHCARD   14
#define  FUNC_CJCARDC  _T("充值卡管理")
#define  FUNC_CJCARD   15
#define  FUNC_SWTSQC   _T("商务通申请")
#define  FUNC_SWTSQ    16
#define  FUNC_BBSC     _T("首易消息")
#define  FUNC_BBS      17
#define  FUNC_PAYC     _T("企业充值记录")
#define  FUNC_PAY      18
#define  FUNC_JCBC     _T("结存表")
#define  FUNC_JCB      19
#define  FUNC_USERC    _T("用户管理")
#define  FUNC_USER2    20
#define  FUNC_BBSUC     _T("用户消息")
#define  FUNC_BBSU      21
#define  FUNC_MYPAYC     _T("我的充值记录")
#define  FUNC_MYPAY      22

#define  FUNC_CORP_N  23
#define  FUNC_CORP_NC    _T("正常客户")
#define  FUNC_CORP_1  24
#define  FUNC_CORP_1C    _T("1类流失风险")
#define  FUNC_CORP_2  25
#define  FUNC_CORP_2C    _T("2类流失风险")
#define  FUNC_CORP_C  26
#define  FUNC_CORP_CC    _T("已流失客户")
#define  FUNC_CORP_H  27
#define  FUNC_CORP_HC    _T("需要回访客户\r\n一、二类")
#define  FUNC_YWMSG   28
#define  FUNC_YWMSGC    _T("业务信息")
#define  FUNC_CORP_H2  29
#define  FUNC_CORP_H2C    _T("需要回访客户\r\n三、四类")
#define  FUNC_CORP_A  30
#define  FUNC_CORP_AC    _T("所有客户")
#define  FUNC_GZMSGC     _T("业绩信息")
#define  FUNC_GZMSG      31
#define  FUNC_CORP_QXT  32
#define  FUNC_CORP_QXTC    _T("企信通客户")
#define  FUNC_CORP_MAS  33
#define  FUNC_CORP_MASC    _T("MAS客户")

#define  FUNC_CORP_HNEW  34
#define  FUNC_CORP_HNEWC    _T("需要回访客户\r\n新客户首次回访")

#define  FUNC_CORP_HNEW2  35
#define  FUNC_CORP_HNEW2C    _T("需要回访客户\r\n新客户二次回访")


#define  FUNC_CORP_HNEED  36
#define  FUNC_CORP_HNEEDC    _T("需要回访客户\r\n客户经理指定的客户")

#define  FUNC_FPQUERY      37
#define  FUNC_FPQUERYC     _T("未开票查询")

#define  FUNC_SFQUERY      38
#define  FUNC_SFQUERYC     _T("快递寄送查询")

#define  FUNC_ALLQUERY_REPORT     39
#define  FUNC_ALLQUERY_REPORTC    _T("综合查询-报表")



class CUserView;
class CInfoView;
class CMainFrame : public CFrameWnd
{
public:
	long            m_lUserID;
	SM_Setup        m_Setup;
	CProcessSocket  m_Socket;
	CUserView  *    m_pUserView;
	ULONG           m_ulPurview;    //用户权限
	long            m_lType;        //代理商类型
	BOOL           m_bYJ;          //是否具有YJ权限
	CString         m_strAgentName;
	CString         m_strSName;
	BOOL            m_bTest;
	BOOL            m_bSOS;

	//CButton         m_B_CJ;
	BOOL            m_bInit;

	//CString         m_strTEXT;
	//CString         m_strHTML;
	//long            m_lGDText;


	float           m_fUsed;     //可用余额,实时更新的
	long            m_lMmsUsed;
	long            m_lAddCorpCount;
	long            m_lAddedCorp;
	DWORD           m_dwLastCMTime;  //最后一次提交更改签名时间

	DLG_TJVipInt  * m_pTJVipInt;
protected:
	long       m_lCurFunc;
	
	
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:
	void GDText();
	void GetGGMsg();
	void SetStatMsg( const TCHAR * pMsg );
	BOOL ProcessSocket(Socket_Head *pHead);
	BOOL GetUserPurview( ULONG ulPurview ,BOOL bShowWarning=true);
	BOOL SendFrame( DWORD lFuncType , unsigned char * pFrame , unsigned long lFrameLen );
	BOOL ShowFuncDlg( long lIndex );
	BOOL ChangeView( long lIndex );
	void GetCurrentPath(TCHAR *pPath);
	void CreateNullSetup();
	void SaveSetup();
	void ReadSetup();
	virtual ~CMainFrame();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:  // control bar embedded members
	CStatusBar  m_wndStatusBar;
	//CToolBar    m_wndToolBar;
	CGfxSplitterWnd m_wndSplitter;
	CGfxOutBarCtrl	m_wndBar;

	CImageList      m_imaLarge;
	CImageList      m_imaSmall;

// 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 OnBackData();
	afx_msg void OnUpdateBackData(CCmdUI* pCmdUI);
	afx_msg void OnReboot();
	afx_msg void OnUpdateReboot(CCmdUI* pCmdUI);
	afx_msg void OnSmshelp();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnTGg();
	afx_msg void OnTjvipint();
	//}}AFX_MSG
	afx_msg long OnOutbarNotify(WPARAM wParam, LPARAM lParam);
	afx_msg LONG ProcessSocket_Error( WPARAM wParam , LPARAM lParam );
	afx_msg LONG ProcessSocket_Frame( WPARAM wParam , LPARAM lParam );
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MAINFRM_H__CEF82432_6DFB_42E8_8519_BE47B5A8A792__INCLUDED_)