// TabDlg.cpp : implementation file
//

#include "stdafx.h"
#include "smsmanager.h"
#include "K_GZMsg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CK_GZMsg dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
#include "DLG_GZMsg_JS.h"
#include "DLG_K_GZMSG_SEE.h"


CK_GZMsg::CK_GZMsg(CWnd* pParent /*=NULL*/)
	: CDialog(CK_GZMsg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CK_GZMsg)
	m_tBegin = COleDateTime::GetCurrentTime();
	m_tEnd = COleDateTime::GetCurrentTime();
	m_lType = -1;
	//}}AFX_DATA_INIT
	m_bInit = false;
	m_bRefresh = false;
	m_bQueryAll = false;

	m_pDlgJL = NULL;

	m_lQueryType = 0;
	memset(&m_GZData,0,sizeof(m_GZData));
}


void CK_GZMsg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CK_GZMsg)
	DDX_Control(pDX, IDC_TAB_ONLY_JS, m_B_OnlyJS);
	DDX_Control(pDX, IDC_TAB_ONLY_TC, m_B_OnlyTC);
	DDX_Control(pDX, IDC_USER_YWY, m_L_YWY);
	DDX_Control(pDX, IDC_USER_MON, m_L_MON);
	DDX_Control(pDX, IDC_TAB_S1, m_S_S1);
	DDX_Control(pDX, IDC_TAB_LIST, m_wndList);
	DDX_DateTimeCtrl(pDX, IDC_TAB_TBEGIN, m_tBegin);
	DDX_DateTimeCtrl(pDX, IDC_TAB_TEND, m_tEnd);
	DDX_CBIndex(pDX, IDC_TAB_TYPE, m_lType);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CK_GZMsg, CDialog)
	//{{AFX_MSG_MAP(CK_GZMsg)
	ON_WM_SIZE()
	ON_BN_CLICKED(IDC_TAB_QUERY, OnTabQuery)
	ON_NOTIFY(NM_RCLICK, IDC_TAB_LIST, OnRclickTabList)
	ON_CBN_SELCHANGE(IDC_TAB_TYPE, OnSelchangeTabType)
	//}}AFX_MSG_MAP
	ON_COMMAND(MENU_GZMSG_COPY , On_User_Copy )
	ON_COMMAND(MENU_GZMSG_GZJS , On_User_GZJS )

	ON_COMMAND(MENU_GZMSG_SEE    , On_User_See )
	ON_COMMAND(MENU_GZMSG_MODIFY , On_User_Modify )
	ON_COMMAND(MENU_GZMSG_DEL    , On_User_Del )
	ON_BN_CLICKED(IDC_TAB_QUERY4, &CK_GZMsg::OnBnClickedTabQuery4)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CK_GZMsg message handlers

BOOL CK_GZMsg::ReShow(BOOL bRefresh)
{
	ShowWindow( SW_SHOW );
	if ( bRefresh || !m_bRefresh )
	{
		RefreshInfo();
	}
	return true;
}

BOOL CK_GZMsg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	//ȡ�ù��ò���
	//CMainFrame * pFrame = static_cast <CMainFrame *>((CMainFrame *)AfxGetMainWnd());
	this->GetParent()->GetParentFrame();
	m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame();
	m_pSocket    = &m_pMainFrame->m_Socket;

	//��ʼ��List
	m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5);
//	m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_TAB) );
	m_wndList.SubClassWindow2();
	m_wndList.SetHeadings(_T("      ,80;     ,180;     ,80;      ,80;     ,80;     ,80;      ,80;     ,80;     ,80;      ,80;     ,80;     ,80;     ,80;      ,80;     ,80;     ,80;      ,80;     ,80;     ,80;      ,80;     ,80;     ,80;     ,80;     ,80;     ,80;"));
	m_wndList.SetGridLines(true);
	m_wndList.SetImageList(&m_Image,LVSIL_SMALL);

	m_bInit = true;

/*
	//Ĭ��ȡ���µ�����
	SYSTEMTIME t; ::GetLocalTime(&t);
	t.wDay = 1;//��1����
	t.wMonth = t.wMonth-1;
	if ( t.wMonth <=0 )
	{
		t.wMonth = 12;
		t.wYear  = t.wYear-1;
	}
	m_tBegin.SetDate( t.wYear,t.wMonth,t.wDay );  //��ʼ
*/
	SYSTEMTIME t; ::GetLocalTime(&t);
	CString str1,str2;
	str2.Format( _T("%04d��%02d�¹���") , t.wYear,t.wMonth);
	long lMon=t.wMonth;
	lMon--;
	if ( lMon<=0 )
	{
		t.wYear --;
		lMon=12;
	}
	t.wMonth = lMon;
	str1.Format( _T("%04d��%02d�¹���") , t.wYear,t.wMonth);
	m_L_MON.AddString(str2);
	m_L_MON.AddString(str1);
	if (t.wDay >15 )
		m_L_MON.SetCurSel(0);
	else
		m_L_MON.SetCurSel(1);

	lMon--;
	if ( lMon<=0 )
	{
		t.wYear --;
		lMon=12;
	}
	t.wMonth = lMon;
	str1.Format( _T("%04d��%02d�¹���") , t.wYear,t.wMonth);
	m_L_MON.AddString(str1);

	m_lType = 0;  //Ĭ�ϲ鿴���ܱ�

	

	UpdateData(false);
		
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CK_GZMsg::OnSize(UINT nType, int cx, int cy) 
{
	CDialog::OnSize(nType, cx, cy);
	
	if ( m_bInit )
	{
		CRect rect;
		m_S_S1.GetWindowRect(&rect);
		m_wndList.MoveWindow( 0 , 0+rect.Height()+5 , cx,cy-rect.Height()-5);
	}	
}

BOOL CK_GZMsg::ReHide()
{
	ShowWindow( SW_HIDE );
	return true;
}

BOOL CK_GZMsg::RefreshInfo()
{
	if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD) )
	{
		return false;
	}

	m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME,NULL,0);   //ȡ������Ϣ

	return true;
}

BOOL CK_GZMsg::ProcessSocket(Socket_Head *pHead)
{
	CString strTemp;

	if ( pHead->lFuncType == SMSFUNC_GZMSG )
	{
		Close_GZMsg();

		ANS_GZMsgData  * pGZ  = (ANS_GZMsgData *)pHead->pFrame;
		if (pGZ->lType >= 0 && pGZ->lType <= 1)
			m_lQueryType = pGZ->lType;
		else
			if (pGZ->lType == 6)
				m_lQueryType = 2;


		m_GZData = *pGZ;


		if ( pGZ->lType == 0 )
		{
			if ( !pGZ->bOK )
			{
				MessageBox( pGZ->szErrMsg , _T("��ѯ����") , MB_ICONWARNING );
				return true; 
			}
			ANS_GZMsg_KH   * pKH  = (ANS_GZMsg_KH *)( (BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData) );
			ANS_GZMsg_TC   * pTC  = (ANS_GZMsg_TC *)((BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData)+sizeof(ANS_GZMsg_KH)* pGZ->lKHCount );
			ANS_GZMsg_LS   * pLS  = (ANS_GZMsg_LS *)((BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData)+sizeof(ANS_GZMsg_KH)* pGZ->lKHCount+sizeof(ANS_GZMsg_TC)* pGZ->lTCCount );
			
			TCHAR szBuf[32];
			CString str;
			m_wndList.DeleteAllItems();
			long lItem=0;

			if ( pGZ->bYSOver3Mon )
			{
				m_wndList.InsertItem( lItem++ , _T("") ,0);
				m_wndList.InsertItem( lItem++ , _T("") ,0);
				m_wndList.SetItemText(lItem-1 , 1, _T("��ע���") );
				m_wndList.SetItemText(lItem-1 , 2, _T("��ҵ��Ա�г���3���µ�Ӧ�տ��") );
				m_wndList.InsertItem( lItem++ , _T("") ,0);
		}

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("����") );
			str.Format( _T("%s") , pGZ->YWY.szName );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("����") );
			str.Format( _T("%s") , pGZ->Group.szName );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�����·�") );
			str.Format( _T("%04d��%02d��") , pGZ->tBegin.wYear , pGZ->tBegin.wMonth );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�ͻ���������") );
			str.Format( _T("%d") , pGZ->YWY.GZ_JBSL );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�����ͻ�") );
			str.Format( _T("%d") , pGZ->lNewKHCount );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��ʧ�ͻ�") );
			str.Format( _T("%d") , pGZ->lLSKHCount );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�ھ�����������") );
			str.Format( _T("%d") , pGZ->Group.GZ_BMDHSL );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�ھ���������") );
			str.Format( _T("%.2f") , (float)pGZ->Group.GZ_BMDHKH);
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��������") );
			str.Format( _T("%d") , pGZ->YWY.GZ_CQTS );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��������") );
			str.Format( _T("%.2f") , pGZ->fTotalSR );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("ҵ�����") );
			str.Format( _T("%.2f") , pGZ->fTotalYZ );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.SetItemText(lItem - 1, 1, _T("��������"));
			str.Format(_T("%.2f"), pGZ->YWY.GZ_JBRW);
			m_wndList.SetItemText(lItem - 1, 2, str);

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("����������") );
			str.Format( _T("%.2f%%") , (pGZ->fTotalYZ /pGZ->YWY.GZ_JBRW)*100);
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�����") );
			str.Format( _T("%.2f") , pGZ->YWY.GZ_GWBT );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��Ͳ���") );
			str.Format( _T("%.2f") , pGZ->YWY.GZ_WCBT );
			m_wndList.SetItemText(lItem-1 , 2, str );


			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("ȱ�ڹ���") );
			str.Format( _T("%.2f") , pGZ->YWY.GZ_QQGZ );
			m_wndList.SetItemText(lItem-1 , 2, str );
			
			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("ȫ�ڽ�") );
			str.Format( _T("%.2f") , pGZ->YWY.GZ_CQJ );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("ֵ�ಹ��") );
			str.Format( _T("%.2f") , pGZ->YWY.GZ_ZBBT );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��������") );
			str.Format( _T("%.2f") , pGZ->YWY.GZ_QTBZ );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��������") );
			str.Format( _T("%.2f") , pGZ->YWY.GZ_QTCF );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�籣") );
			str.Format( _T("%.2f") , pGZ->YWY.GZ_SB );
			m_wndList.SetItemText(lItem-1 , 2, str );

/*
			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("Ӫ������") );
			m_wndList.SetItemText(lItem-1 , 2, pGZ->szYWNL );
*/
			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�����ͻ�ָ��ӷ�") );
			m_wndList.SetItemText(lItem-1 , 2, pGZ->szLSKH );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�ͻ�ά���ӷ�") );
			m_wndList.SetItemText(lItem-1 , 2, pGZ->szKHWH );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("ƽ̨1��ɱ���") );
			m_wndList.SetItemText(lItem-1 , 2, pGZ->szJTBL_Mobset1 );
/*
			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("ƽ̨2��ɱ���") );
			m_wndList.SetItemText(lItem-1 , 2, pGZ->szJTBL_Mobset2 );
*/

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�ƶ�ҵ��Bֵ") );
			m_wndList.SetItemText(lItem-1 , 2, pGZ->szJTBL_Mas1 );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("������ҵ�����") );
			m_wndList.SetItemText(lItem-1 , 2, pGZ->szJTBL_Mobset_Soft1 );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��ɽ��") );
			str.Format( _T("%.2f") , pGZ->fTotalTC );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��������") );
			if ( pGZ->fJLJJ_CE >0 )
			{
				str.Format( _T("%.2f") , pGZ->fJLJJ);
				m_wndList.SetItemText(lItem-1 , 2, str );
				str.Format( _T("����һ������%.2f�������Ŭ����") , pGZ->fJLJJ_CE);
				m_wndList.SetItemText(lItem-1 , 3, str );
			}
			else
			{
				str.Format( _T("%.2f") , pGZ->fJLJJ );
				m_wndList.SetItemText(lItem-1 , 2, str );
			}
			

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�ھ���") );
			if ( pGZ->fGJJ_TC_CE >0 )
			{
				str.Format( _T("%.2f") , pGZ->fGJJ_TC);
				m_wndList.SetItemText(lItem-1 , 2, str );
				str.Format( _T("��ھ���ҵ�����%.2f�������Ŭ����") , pGZ->fGJJ_TC_CE);
				m_wndList.SetItemText(lItem-1 , 3, str );
			}
			else
			{
				str.Format( _T("%.2f") , pGZ->fGJJ_TC );
				m_wndList.SetItemText(lItem-1 , 2, str );
				m_wndList.SetItemText(lItem-1 , 3, pGZ->szGJJ_TC );

			}

			if (pGZ->fXRTBJL_KH)
			{
				m_wndList.InsertItem(lItem++, _T(""), 0);
				m_wndList.SetItemText(lItem - 1, 1, _T("���˶���������"));
				str.Format(_T("%.2f"), pGZ->fXRTBJL_KH);
				m_wndList.SetItemText(lItem - 1, 2, str);
			}
			if (pGZ->fXRTBJL_YZ)
			{
				m_wndList.InsertItem(lItem++, _T(""), 0);
				m_wndList.SetItemText(lItem - 1, 1, _T("���˶���ҵ����"));
				str.Format(_T("%.2f"), pGZ->fXRTBJL_YZ);
				m_wndList.SetItemText(lItem - 1, 2, str);
			}
			
/*
			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("���ſ���(�ó�)") );
			str.Format( _T("%.2f") , pGZ->fBMKH_NC );
			m_wndList.SetItemText(lItem-1 , 2, str );
			m_wndList.SetItemText(lItem-1 , 3, pGZ->szBMKH_NC );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("���ſ���(�õ�)") );
			str.Format( _T("%.2f ") , pGZ->fBMDH_ND );
			m_wndList.SetItemText(lItem-1 , 2, str );
			m_wndList.SetItemText(lItem-1 , 3, pGZ->szBMKH_ND );


			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("������") );
			str.Format( _T("%.2f") , pGZ->fSLJ );
			m_wndList.SetItemText(lItem-1 , 2, str );
			if ( pGZ->fSLJ >0 )
				m_wndList.SetItemText(lItem-1 , 3, pGZ->szSLJ );
*/
			if (pGZ->fSLCF < 0)
			{
				m_wndList.InsertItem(lItem++, _T(""), 0);
				m_wndList.SetItemText(lItem - 1, 1, _T("ҵ������괦��"));
				str.Format(_T("%.2f"), pGZ->fSLCF);
				m_wndList.SetItemText(lItem - 1, 2, str);
				if (pGZ->fSLCF < 0)
					m_wndList.SetItemText(lItem - 1, 3, pGZ->szSLCF);
			}

			if (pGZ->fLSKHCFBL < 0)
			{
				m_wndList.InsertItem(lItem++, _T(""), 0);
				m_wndList.SetItemText(lItem - 1, 1, _T("���ž�����������"));
				str.Format(_T("%.2f"), pGZ->fLSKHCFBL);
				m_wndList.SetItemText(lItem - 1, 2, str);
				m_wndList.SetItemText(lItem - 1, 3, pGZ->szLSKHCFBL);
			}

/*
			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("���ֻ��Ƽ���") );
			str.Format( _T("%.2f") , pGZ->fCommandJ );
			m_wndList.SetItemText(lItem-1 , 2, str );
			if ( pGZ->fSLJ >0 )
				m_wndList.SetItemText(lItem-1 , 3, pGZ->szCommandJ );


			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��ʧ�ͻ�����(����)") );
			str.Format( _T("%.2f") , pGZ->fLSKHCF);
			m_wndList.SetItemText(lItem-1 , 2, str );
			m_wndList.SetItemText(lItem-1 , 3, pGZ->szLSKHCF );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��ʧ�ͻ�����(����)") );
			str.Format( _T("%.2f") , pGZ->fLSKHCFBL);
			m_wndList.SetItemText(lItem-1 , 2, str );
			m_wndList.SetItemText(lItem-1 , 3, pGZ->szLSKHCFBL );
*/

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��ɡ������������ܶ�") );
			str.Format( _T("%.2f") , pGZ->fJLCFTotal );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("�����ܶ�") );
			str.Format( _T("%.2f") , pGZ->fGZTotal );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("��������˰") );
			str.Format( _T("%.2f") , pGZ->YWY.GZ_GRSDS );
			m_wndList.SetItemText(lItem-1 , 2, str );

			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("ʵ������") );
			str.Format( _T("%.2f") , pGZ->YWY.GZ_SFGZ );
			m_wndList.SetItemText(lItem-1 , 2, str );

			//����Ʊ����
			m_wndList.InsertItem( lItem++ , _T("") ,0);
			m_wndList.SetItemText(lItem-1 , 1, _T("����Ʊ����") );
			str.Format( _T("%.2f") , pGZ->fTotalFP );
			m_wndList.SetItemText(lItem-1 , 2, str );
			



			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.SetItemText( lItem-1 , 1 ,  _T("�����ϸ��"));

			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.SetItemText( lItem-1 , 1 , _T("ID") );
			m_wndList.SetItemText( lItem-1 , 2 , _T("�ͻ�����") );
			m_wndList.SetItemText( lItem-1 , 3 , _T("����") );    //�ն�/����
			m_wndList.SetItemText( lItem-1 , 4 , _T("ƽ̨") );    //�ն�/����
			m_wndList.SetItemText( lItem-1 , 5 , _T("�����ͻ�") );  //�Ƿ�����̿ͻ�
			m_wndList.SetItemText( lItem-1 , 6 , _T("��ֵ����") );
			m_wndList.SetItemText( lItem-1 , 7 , _T("��ͨʱ��") );
			m_wndList.SetItemText( lItem-1 , 8 , _T("��ֵʱ��") );
			m_wndList.SetItemText( lItem-1 , 9 , _T("�տ�ʱ��") );
			m_wndList.SetItemText( lItem-1 , 10 , _T("��ͬ����") );
			m_wndList.SetItemText( lItem-1 , 11 , _T("�����ֵ���") );
			m_wndList.SetItemText( lItem-1 , 12 , _T("ʵ�ʳ�ֵ���") );
			m_wndList.SetItemText( lItem-1 , 13 , _T("������Ʒ��ֵ") );
			m_wndList.SetItemText( lItem-1 , 14 , _T("��������") );
			m_wndList.SetItemText( lItem-1 , 15 , _T("ƽ������") );
			m_wndList.SetItemText( lItem-1 , 16 , _T("��ɵ���") );
			m_wndList.SetItemText( lItem-1 , 17 , _T("�������") );
			m_wndList.SetItemText( lItem-1 , 18 , _T("��ɱ���") );
			m_wndList.SetItemText( lItem-1 , 19 , _T("��ɽ��") );
			m_wndList.SetItemText( lItem-1 , 20 , _T("ҵ�����") );
			m_wndList.SetItemText( lItem-1 , 21 , _T("�󵥽�") );
			m_wndList.SetItemText( lItem-1 , 22 , _T("Ԥ�㲻��Ʊ��") );
			m_wndList.SetItemText( lItem-1 , 23 , _T("������ԭ��") );
			m_wndList.SetItemText( lItem-1 , 24 , _T("��3����Ӧ�տ�") );
			

			for ( int i=0;i<pGZ->lTCCount;i++)
			{
				ANS_GZMsg_TC * pNewData = new ANS_GZMsg_TC;
				*pNewData = *pTC;
				POSITION pos = m_GZMsg.AddTail(pNewData);

				long lTemp=0;
				m_wndList.InsertItem( lItem++ , _itot(i+1,szBuf,10),0);  //���
				m_wndList.SetItemData(lItem-1 , (DWORD_PTR)pos );
				lTemp++;

				if ( pTC->lUserType == 1 ) //�����ͻ�
					str.Format( _T("%d") , pTC->lAgentID);
				else
					str.Format( _T("%d") , pTC->lCorpID);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				m_wndList.SetItemText( lItem-1 ,lTemp++ , pTC->szName );
				if ( pTC->lUserType == 1 ) //�����ͻ�
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("������") );
				else
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("�ն˿ͻ�") );
				switch(pTC->lPTNum)
				{
				case 2:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ƽ̨2") );
					break;
				case 3:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ƽ̨3") );
					break;
				case 1:
				default:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ƽ̨1") );
					break;
				}
				if ( pTC->lUserType == 0  &&  pTC->lAgentID>0) //�ն˿ͻ�,���ڴ����̵�
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T(" ��") );
				else
					lTemp ++;
				switch(pTC->lPayType)
				{
				case 1:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ADC��ֵ") );
					break;
				case 5:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("����") );
					break;
				case 6:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("�½�") );
					break;
				case 8:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("�ƶ�ҵ��") );
					break;
				case 9:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("������") );
					break;
				case 20:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("����Ʊ����") );
					break;
				case 0:
				default:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("������") );
					break;
				}
				//��ͨʱ��
				str.Format( _T("%04d.%02d.%02d") , pTC->tRegTime.wYear,pTC->tRegTime.wMonth,pTC->tRegTime.wDay);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//��ֵʱ��
				str.Format( _T("%04d.%02d.%02d") , pTC->tPayTime.wYear,pTC->tPayTime.wMonth,pTC->tPayTime.wDay);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//�տ�ʱ��
				str.Format( _T("%04d.%02d.%02d") , pTC->tYSTime.wYear,pTC->tYSTime.wMonth,pTC->tYSTime.wDay);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//��ͬ����
				str.Format( _T("%04d.%02d.%02d") , pTC->tHTTime.wYear,pTC->tHTTime.wMonth,pTC->tHTTime.wDay);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//�����ֵ���
				str.Format( _T("%10.2f") , pTC->fPrice);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//ʵ�ʳ�ֵ���
				str.Format( _T("%10.2f") , pTC->fPrice2);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//������Ʒ���
				str.Format( _T("%10.2f") , pTC->fLPPrice);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//��������
				str.Format( _T("%8d") , pTC->lSmsCount);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//ƽ������
				str.Format( _T("%8.4f") , pTC->fPriceOne);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//��ɵ���
				str.Format( _T("%8.4f") , pTC->fPriceOne_TCDJ);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//�������
				m_wndList.SetItemText( lItem-1 ,lTemp++ , pTC->szJTBL );
				//��ɱ���
				m_wndList.SetItemText( lItem-1 ,lTemp++ , pTC->szTCBL );
				//��ɽ��
				str.Format( _T("%10.2f") , pTC->fTCJE);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//ҵ�����
				str.Format( _T("%10.2f") , pTC->fYZJE);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//�󵥽�
				str.Format( _T("%10.2f") , pTC->fDDJ);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//����Ʊ��
				str.Format( _T("%10.2f") , pTC->fFP_Award);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//������ԭ��
				m_wndList.SetItemText( lItem-1 ,lTemp++ , pTC->BJTBZ );
				//��3����Ӧ�ÿ�
				if ( pTC->bYSOver3Mon )
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("  ��") );
				else
					lTemp++;

				
				pTC++;
			}

			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.SetItemText( lItem-1 , 1 ,  _T("�����ͻ���ϸ��"));

			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.SetItemText( lItem-1 , 1 , _T("ID") );
			m_wndList.SetItemText( lItem-1 , 2 , _T("  ����") );
			m_wndList.SetItemText( lItem-1 , 3 , _T("����") );    //�ն�/����
			m_wndList.SetItemText( lItem-1 , 4 , _T("ƽ̨") );    //�ն�/����
			m_wndList.SetItemText( lItem-1 , 5 , _T("��ͨʱ��") );
			m_wndList.SetItemText( lItem-1 , 6 , _T("���³�ֵ���") );
			m_wndList.SetItemText( lItem-1 , 7 , _T("���ֻ��Ƽ��ͻ�") );
			m_wndList.SetItemText( lItem-1 , 8 , _T("�¿ͻ�����") );
			

			for ( i=0;i<pGZ->lKHCount;i++)
			{

				long lTemp=0;
				m_wndList.InsertItem( lItem++ , _itot(i+1,szBuf,10),0);  //���
				lTemp++;

				str.Format( _T("%d") , pKH->lCorpID );
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				m_wndList.SetItemText( lItem-1 ,lTemp++ , pKH->szName );
				if ( pKH->lUserType == 1 ) //�����ͻ�
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("������") );
				else
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("�ն˿ͻ�") );
				switch(pKH->lPTNum)
				{
				case 2:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ƽ̨2") );
					break;
				case 3:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ƽ̨3") );
					break;
				case 1:
				default:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ƽ̨1") );
					break;
				}
				//��ͨʱ��
				str.Format( _T("%04d.%02d.%02d") , pKH->tRegTime.wYear,pKH->tRegTime.wMonth,pKH->tRegTime.wDay);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//��ֵ���
				str.Format( _T("%10.2f") , pKH->fFirstPay);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				//�Ƿ��Ƽ��ͻ�
				if ( pKH->bCommendKF )
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T(" ��") );
				else
					lTemp++;
				//�Ƿ��¿ͻ�
				str.Format( _T("%4d") , pKH->lNewKFCount );
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );

				
				pKH++;
			}


			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.SetItemText( lItem-1 , 1 , _T("��ʧ�ͻ���ϸ��"));

			m_wndList.InsertItem( lItem++ , _T(""),0);
			m_wndList.SetItemText( lItem-1 , 1 , _T("ID") );
			m_wndList.SetItemText( lItem-1 , 2 , _T("  ����") );
			m_wndList.SetItemText( lItem-1 , 3 , _T("����") );    //�ն�/����
			m_wndList.SetItemText( lItem-1 , 4 , _T("ƽ̨") );    //�ն�/����
			m_wndList.SetItemText( lItem-1 , 5 , _T("����¼ʱ��") );
			

			for ( i=0;i<pGZ->lLSCount;i++)
			{

				long lTemp=0;
				m_wndList.InsertItem( lItem++ , _itot(i+1,szBuf,10),0);  //���
				lTemp++;

				str.Format( _T("%d") , pLS->lCorpID);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );
				m_wndList.SetItemText( lItem-1 ,lTemp++ , pLS->szName );
				if ( pLS->lUserType == 1 ) //�����ͻ�
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("������") );
				else
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("�ն˿ͻ�") );
				switch(pLS->lPTNum)
				{
				case 2:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ƽ̨2") );
					break;
				case 3:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ƽ̨3") );
					break;
				case 1:
				default:
					m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ƽ̨1") );
					break;
				}
				//��ͨʱ��
				str.Format( _T("%04d.%02d.%02d") , pLS->tLastLogin.wYear,pLS->tLastLogin.wMonth,pLS->tLastLogin.wDay);
				m_wndList.SetItemText( lItem-1 ,lTemp++ , str );

				
				pLS++;
			}
		}
		if ( pGZ->lType == 1 )  //��ѯ������ʷ
		{
			if ( !pGZ->bOK )
			{
				MessageBox( pGZ->szErrMsg , _T("��ѯ����") , MB_ICONWARNING );
				return true; 
			}
			ANS_GZMsg_GZLS   * pGZLS  = (ANS_GZMsg_GZLS *)( (BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData) );

			double fSR=0;
			double fTC=0;
			double fYZ=0;
			double fGZ=0;
			long   lLSKH=0;
			long   lNewSL=0;
			for (int i=0 ; i<pGZ->lTCCount ; i++ ) //lTCCount���ڷ��صļ�¼��
			{
				//m_wndList.SetHeadings(_T("���,50;ҵ��Ա,80;����,80;���ž���,80; �·�,80; �� ��,100; ҵ ��,100; ��  ��,100; �� ��,100;�����ͻ�,100;��ʧ�ͻ�,100;����/ҵ��,100;"));
				strTemp.Format( _T("%d") , i+1 );
				m_wndList.InsertItem(i,strTemp,0);
				int iTemp=1;
				m_wndList.SetItemText(i,iTemp++,pGZLS->szName);
				m_wndList.SetItemText(i,iTemp++,pGZLS->szGroupName);
				if ( pGZLS->bManager)
					m_wndList.SetItemText(i,iTemp++,_T(" ��"));
				else
					m_wndList.SetItemText(i,iTemp++,_T(""));
				strTemp.Format( _T("%04d��%02d��") , pGZLS->tGZMon.wYear,pGZLS->tGZMon.wMonth);
				m_wndList.SetItemText(i,iTemp++,strTemp);
				strTemp.Format( _T("%.2f") , pGZLS->fTotalSR);
				m_wndList.SetItemText(i,iTemp++,strTemp);
				strTemp.Format( _T("%.2f") , pGZLS->fTotalYZ);
				m_wndList.SetItemText(i,iTemp++,strTemp);
				strTemp.Format( _T("%.2f") , pGZLS->fTotalTC);
				m_wndList.SetItemText(i,iTemp++,strTemp);
				strTemp.Format( _T("%.2f") , pGZLS->fTotalGZ);
				m_wndList.SetItemText(i,iTemp++,strTemp);
				strTemp.Format( _T("%5d") , pGZLS->lNewSL);
				m_wndList.SetItemText(i,iTemp++,strTemp);
				strTemp.Format( _T("%5d") , pGZLS->lLSKH);

				m_wndList.SetItemText(i,iTemp++,strTemp);
				strTemp.Format( _T("%.2f") , pGZLS->fTotalGZ/pGZLS->fTotalYZ*100.0f);
				m_wndList.SetItemText(i,iTemp++,strTemp);

				m_wndList.SetItemData(i , pGZLS->lGZID );

				fSR += pGZLS->fTotalSR;
				fTC += pGZLS->fTotalTC;
				fYZ +=pGZLS->fTotalYZ;
				fGZ +=pGZLS->fTotalGZ;

				lLSKH += pGZLS->lLSKH;
				lNewSL += pGZLS->lNewSL;

				pGZLS ++;

			}
			m_wndList.InsertItem( i , _T(""),0);  //�ϼ�
			i++;
			m_wndList.InsertItem( i , _T(""),0);  //�ϼ�
			m_wndList.SetItemText( i,1, _T("�� ��"));  //�ϼ�

			int iTemp=5;
			strTemp.Format( _T("%.2f") , fSR);
			m_wndList.SetItemText(i,iTemp++,strTemp);
			strTemp.Format( _T("%.2f") , fYZ);
			m_wndList.SetItemText(i,iTemp++,strTemp);
			strTemp.Format( _T("%.2f") , fTC);
			m_wndList.SetItemText(i,iTemp++,strTemp);
			strTemp.Format( _T("%.2f") , fGZ);
			m_wndList.SetItemText(i,iTemp++,strTemp);
			strTemp.Format( _T("%5d") , lNewSL);
			m_wndList.SetItemText(i,iTemp++,strTemp);
			strTemp.Format( _T("%5d") , lLSKH);
			m_wndList.SetItemText(i,iTemp++,strTemp);

			strTemp.Format( _T("%.2f") , fGZ/fYZ*100.0f);
			m_wndList.SetItemText(i,iTemp++,strTemp);


		}
		if ( pGZ->lType == 2 )  //�޸Ĺ�����ʷ
		{
			if ( !pGZ->bOK )
			{
				MessageBox( pGZ->szErrMsg , _T("�޸Ĵ���") , MB_ICONWARNING );
				return true; 
			}
			ANS_GZMsg_GZLS   * pGZLS  = (ANS_GZMsg_GZLS *)( (BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData) );

			strTemp.Format( _T("%.2f") , pGZLS->fTotalYZ );
			m_wndList.SetItemText(pGZLS->lCorpID , 5,strTemp);
			strTemp.Format( _T("%.2f") , pGZLS->fTotalGZ );
			m_wndList.SetItemText(pGZLS->lCorpID , 6,strTemp);
		}
		if ( pGZ->lType == 3 )  //ɾ��������ʷ
		{
			if ( !pGZ->bOK )
			{
				MessageBox( pGZ->szErrMsg , _T("ɾ������") , MB_ICONWARNING );
				return true; 
			}
			ANS_GZMsg_GZLS   * pGZLS  = (ANS_GZMsg_GZLS *)( (BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData) );

			m_wndList.DeleteItem(pGZLS->lCorpID);
		}
		if ( pGZ->lType == 5 )  //���㹤��
		{
			if ( !pGZ->bOK )
			{
				MessageBox( pGZ->szErrMsg , _T("���㹤�ʴ���") , MB_ICONWARNING );
				return true; 
			}
			else
			{
				CString str;
				str.Format( _T("%s�Ĺ��ʽ���ɹ�!") , pGZ->YWY.szName );
				MessageBox( str , _T("���㹤����ȷ") , MB_ICONWARNING );
			}
			return true;
		}


		if (pGZ->lType == 6)  //��ѯ��Ʊ����
		{
			if (!pGZ->bOK)
			{
				MessageBox(pGZ->szErrMsg, _T("��ѯ����"), MB_ICONWARNING);
				return true;
			}
			ANS_GZMsg_TC* pTC = (ANS_GZMsg_TC*)((BYTE*)pHead->pFrame + sizeof(ANS_GZMsgData));

			TCHAR szBuf[32];
			CString str;
			m_wndList.DeleteAllItems();
			long lItem = 0;

			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.SetItemText(lItem - 1, 1, _T("���⽱����ѯ"));

			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.SetItemText(lItem - 1, 1, _T("����"));
			str.Format(_T("%s"), pGZ->YWY.szName);
			m_wndList.SetItemText(lItem - 1, 2, str);

			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.SetItemText(lItem - 1, 1, _T("����"));
			str.Format(_T("%s"), pGZ->Group.szName);
			m_wndList.SetItemText(lItem - 1, 2, str);

			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.SetItemText(lItem - 1, 1, _T("��ʼʱ��"));
			str.Format(_T("%04d��%02d��"), pGZ->tBegin.wYear, pGZ->tBegin.wMonth);
			m_wndList.SetItemText(lItem - 1, 2, str);

			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.SetItemText(lItem - 1, 1, _T("����ʱ��"));
			str.Format(_T("%04d��%02d��"), pGZ->tEnd.wYear, pGZ->tEnd.wMonth);
			m_wndList.SetItemText(lItem - 1, 2, str);

			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.SetItemText(lItem - 1, 1, _T("�����ܶ�"));
			str.Format(_T("%.2f"), pGZ->fTotalFP);
			m_wndList.SetItemText(lItem - 1, 2, str);

			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.SetItemText(lItem - 1, 1, _T("������ϸ��"));

			m_wndList.InsertItem(lItem++, _T(""), 0);
			m_wndList.SetItemText(lItem - 1, 1, _T("ID"));
			m_wndList.SetItemText(lItem - 1, 2, _T(" ��ҵ����"));
			m_wndList.SetItemText(lItem - 1, 3, _T("����"));    //�ն�/����
			m_wndList.SetItemText(lItem - 1, 4, _T("ƽ̨"));    //�ն�/����
			m_wndList.SetItemText(lItem - 1, 5, _T("��Ʒ����"));  //������/������/�½�/���
			m_wndList.SetItemText(lItem - 1, 6, _T("��ֵ��ʽ"));  //�տ�����
			m_wndList.SetItemText(lItem - 1, 7, _T("��ֵʱ��"));
			m_wndList.SetItemText(lItem - 1, 8, _T("�տ�ʱ��"));
			m_wndList.SetItemText(lItem - 1, 9, _T("ҵ��ʱ��"));
			m_wndList.SetItemText(lItem - 1, 10, _T("��ֵ���"));
			m_wndList.SetItemText(lItem - 1, 11, _T("���ͽ��"));
			m_wndList.SetItemText(lItem - 1, 12, _T("���⽱�����"));


			for (int i = 0; i < pGZ->lTCCount; i++)
			{
				ANS_GZMsg_TC* pNewData = new ANS_GZMsg_TC;
				*pNewData = *pTC;
				POSITION pos = m_GZMsg.AddTail(pNewData);

				long lTemp = 0;
				m_wndList.InsertItem(lItem++, _itot(i + 1, szBuf, 10), 0);  //���
				m_wndList.SetItemData(lItem - 1, (DWORD_PTR)pos);
				lTemp++;

				if (pTC->lUserType == 1) //�����ͻ�
					str.Format(_T("%d"), pTC->lAgentID);
				else
					str.Format(_T("%d"), pTC->lCorpID);
				m_wndList.SetItemText(lItem - 1, lTemp++, str);
				m_wndList.SetItemText(lItem - 1, lTemp++, pTC->szName);
				if (pTC->lUserType == 1) //�����ͻ�
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("������"));
				else
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("�ն˿ͻ�"));
				switch (pTC->lPTNum)
				{
				case 2:
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("ƽ̨2"));
					break;
				case 3:
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("ƽ̨3"));
					break;
				case 1:
				default:
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("ƽ̨1"));
					break;
				}
				/*
				if (pTC->lUserType == 0 && pTC->lAgentID > 0) //�ն˿ͻ�,���ڴ����̵�
					m_wndList.SetItemText(lItem - 1, lTemp++, _T(" ��"));
				else
					lTemp++;
				*/
				switch (pTC->lPayType)
				{
				case 1:
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("ADC��ֵ"));
					break;
				case 5:
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("����"));
					break;
				case 6:
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("�½�"));
					break;
				case 8:
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("�ƶ�ҵ��"));
					break;
				case 9:
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("������"));
					break;
				case 20:
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("����Ʊ����"));
					break;
				case 0:
				default:
					m_wndList.SetItemText(lItem - 1, lTemp++, _T("������"));
					break;
				}

				m_wndList.SetItemText(lItem - 1, lTemp++, pTC->szJTBL);  //������JTBL(�������)���Ԫ��������¼��ֵ��ʽ

				//��ͨʱ��
				//str.Format(_T("%04d.%02d.%02d"), pTC->tRegTime.wYear, pTC->tRegTime.wMonth, pTC->tRegTime.wDay);
				//m_wndList.SetItemText(lItem - 1, lTemp++, str);
				//��ֵʱ��
				str.Format(_T("%04d.%02d.%02d"), pTC->tPayTime.wYear, pTC->tPayTime.wMonth, pTC->tPayTime.wDay);
				m_wndList.SetItemText(lItem - 1, lTemp++, str);
				//�տ�ʱ��
				str.Format(_T("%04d.%02d.%02d"), pTC->tYSTime.wYear, pTC->tYSTime.wMonth, pTC->tYSTime.wDay);
				m_wndList.SetItemText(lItem - 1, lTemp++, str);
				//ҵ��ʱ��
				str.Format(_T("%04d��%02d��"), pTC->tTCTime.wYear, pTC->tTCTime.wMonth);
				m_wndList.SetItemText(lItem - 1, lTemp++, str);

				//��ֵ���
				str.Format(_T("%10.2f"), pTC->fPrice);
				m_wndList.SetItemText(lItem - 1, lTemp++, str);
				//������Ʒ���
				str.Format(_T("%10.2f"), pTC->fLPPrice);
				m_wndList.SetItemText(lItem - 1, lTemp++, str);
				//����Ʊ����
				str.Format(_T("%10.2f"), pTC->fFP_Award);
				m_wndList.SetItemText(lItem - 1, lTemp++, str);
				pTC++;
			}
		}

		return true;
	}

	//ȡҵ��Ա��Ϣ
	if (pHead->lFuncType == SMSFUNC_YWY_NAME)
	{
		m_bRefresh = true;
		ANS_YWY_Name     * pYWY = (ANS_YWY_Name *)pHead->pFrame;
		ANS_YWY_NameData * pData = (ANS_YWY_NameData *)(pHead->pFrame+sizeof(ANS_YWY_Name));
		this->Close_YWY();
		long lItem;
		m_L_YWY.ResetContent();
		lItem = m_L_YWY.AddString( _T("����ҵ��Ա") );
		m_L_YWY.SetItemData( lItem , (DWORD_PTR)-1);
		CString strTemp;
		for ( int i=0;i<pYWY->lCount;i++ )
		{
			ANS_YWY_NameData * pNewData = new ANS_YWY_NameData;
			*pNewData = *pData;
			m_YWY.AddTail(pNewData);

			strTemp.Format( _T("%d-%s"),pNewData->lYWYID,pNewData->szYWYName);
			lItem = m_L_YWY.AddString( strTemp );
			//m_L_Agent.SetItemData( lItem , (DWORD_PTR)pos);
			m_L_YWY.SetItemData( lItem , (DWORD_PTR)pNewData->lYWYID);

			pData ++;
		}
		m_L_YWY.SetCurSel(0);
		return true;
	}

	return false;
}

BOOL CK_GZMsg::ProcessSocket(Socket_Head_Add *pHead, BYTE* pFrame)
{

	CString str;
	if (pHead->lFuncType == SMSFUNC_GZMSG_JL_PARA)
	{
		if (!m_pDlgJL)
		{
			DLG_GZMsg_JL dlg(this);
			BYTE * pData = new BYTE[pHead->lFrameLen];
			memcpy(pData, pFrame, pHead->lFrameLen);
			dlg.SetParam(this->m_pMainFrame, m_pMainFrame->m_lUserID,_T(""), pData);
			this->m_pDlgJL = &dlg;
			dlg.DoModal();
			delete pData;
			m_pDlgJL = NULL;
		}
		return true;
	}
	if (pHead->lFuncType == SMSFUNC_GZMSG_JL || pHead->lFuncType == SMSFUNC_GZMSG_JL_MMDCOUNT)
	{
		if (m_pDlgJL)
		{
			m_pDlgJL->ProcessSocket(pHead,pFrame);
		}
	}

	return false;
}

void CK_GZMsg::Close()
{
	Close_Corp();
	Close_YWY();
	Close_GZMsg();
}

void CK_GZMsg::OnTabQuery() 
{
	if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE) )
	{
		return ;
	}
	UpdateData(true);
/*
	if ( m_tEnd < m_tBegin )
	{
		MessageBox( _T("��ѯ�������ڲ���С����ʼ���ڣ������!") , _T("����") , MB_ICONWARNING );
		return ;
	}
*/
	long lItem = m_L_YWY.GetCurSel();
	long lYWYID=-1;
	if ( lItem >= 0 )
	{
		lYWYID = m_L_YWY.GetItemData(lItem);
		if ((m_lType == 0 || m_lType == 2) && lYWYID<=0 )
		{
			MessageBox( _T("��ѡ����Ҫ��ѯ��ҵ��Ա!") , _T("����") , MB_ICONWARNING );
			return ;
		}
	}
	if ( m_lType == 0 )
	{
		m_wndList.DeleteAllItems();
		m_wndList.DeleteAllColumns();
		//m_wndList.SetHeadings(_T("���,50;ҵ��Ա,80; �·�,80;�����ͻ�����,100;���ŷ�������,100;�طÿͻ�����,100;"));
		m_wndList.SetHeadings(_T("      ,60;     ,130;     ,250;      ,120;     ,120;     ,120;      ,120;     ,120;     ,120;      ,120;     ,120;     ,120;     ,120;      ,120;     ,120;     ,120;      ,120;     ,120;     ,120;      ,120;     ,120;     ,120;     ,120;     ,120;     ,120;"));

		REQ_GZMsg * pGZMsg = new REQ_GZMsg;
		memset(pGZMsg,0,sizeof(REQ_GZMsg));
		//m_tBegin.GetAsSystemTime( pGZMsg->tBegin );
		//m_tEnd.GetAsSystemTime( pGZMsg->tEnd );
		SYSTEMTIME t;GetLocalTime(&t);
		if ( m_L_MON.GetCurSel()==0 )  //��ѯ���¹���
		{
			pGZMsg->tBegin.wYear = t.wYear;
			pGZMsg->tBegin.wMonth = t.wMonth;
			pGZMsg->tBegin.wDay = 1;
			pGZMsg->tEnd.wYear = t.wYear;
			pGZMsg->tEnd.wMonth = t.wMonth;
			pGZMsg->tEnd.wDay = t.wDay;
			pGZMsg->tEnd.wHour = 23;
		}
		else
		{
			pGZMsg->tEnd.wYear = t.wYear;
			pGZMsg->tEnd.wMonth = t.wMonth;
			pGZMsg->tEnd.wDay = 1;

			pGZMsg->tBegin = pGZMsg->tEnd;
			long lMon=pGZMsg->tBegin.wMonth;
			lMon--;
			if ( lMon<=0 )
			{
				pGZMsg->tBegin.wYear --;
				lMon=12;
			}
			if ( m_L_MON.GetCurSel()==2 )
			{
				lMon--;
				if ( lMon<=0 )
				{
					pGZMsg->tBegin.wYear --;
					lMon=12;
				}

				long lMon2 = pGZMsg->tEnd.wMonth;
				lMon2 --;
				if ( lMon2<=0 )
				{
					pGZMsg->tEnd.wYear --;
					lMon2=12;
				}
				pGZMsg->tEnd.wMonth = lMon2;
			}

			pGZMsg->tBegin.wMonth = lMon;
		}
		pGZMsg->lType = m_lType;
		pGZMsg->lYWYID= lYWYID;
		pGZMsg->bOnlyTC=m_B_OnlyTC.GetCheck();  //�Ƿ����ѯ���
		pGZMsg->bOnlyJS=m_B_OnlyJS.GetCheck();  //����ѯ�ѽ�������

		m_pMainFrame->SendFrame(SMSFUNC_GZMSG,(BYTE*)pGZMsg,sizeof(REQ_GZMsg));
	}

	if ( m_lType == 1 )  //��ѯ����
	{
		m_wndList.DeleteAllItems();
		m_wndList.DeleteAllColumns();
		m_wndList.SetHeadings(_T("���,50;ҵ��Ա,80;����,80;���ž���,80; �·�,80; �� ��,100; ҵ ��,100; ��  ��,100; �� ��,100;�����ͻ�,100;��ʧ�ͻ�,100;����/ҵ��,100;"));
		REQ_GZMsg * pGZMsg = new REQ_GZMsg;memset(pGZMsg,0,sizeof(REQ_GZMsg));
		m_tBegin.GetAsSystemTime(pGZMsg->tBegin);
		m_tEnd.GetAsSystemTime(pGZMsg->tEnd);
		pGZMsg->lType = m_lType;
		pGZMsg->lYWYID= lYWYID;
		m_pMainFrame->SendFrame(SMSFUNC_GZMSG,(BYTE*)pGZMsg,sizeof(REQ_GZMsg));
	}


	if (m_lType == 2)  //���⽱��
	{
		m_wndList.DeleteAllItems();
		m_wndList.DeleteAllColumns();
		m_wndList.SetHeadings(_T("      ,60;     ,130;     ,200;      ,120;     ,120;     ,120;      ,120;     ,120;     ,120;      ,120;     ,120;      ,120;      ,120;"));
		REQ_GZMsg* pGZMsg = new REQ_GZMsg; memset(pGZMsg, 0, sizeof(REQ_GZMsg));
		m_tBegin.GetAsSystemTime(pGZMsg->tBegin);
		m_tEnd.GetAsSystemTime(pGZMsg->tEnd);
		pGZMsg->lType = 6;   //��ѯ���⽱��
		pGZMsg->lYWYID = lYWYID;
		m_pMainFrame->SendFrame(SMSFUNC_GZMSG, (BYTE*)pGZMsg, sizeof(REQ_GZMsg));
	}

	return ;
}



void CK_GZMsg::OnRclickTabList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	*pResult = 0;

	ShowRMenu();
}

void CK_GZMsg::ShowRMenu()
{
	if (!m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD,false))  //û�в鿴Ȩ��
		return ;

	if ( m_lQueryType==0 )
	{
		CMenu menu;
		menu.CreatePopupMenu();

		if ( _tcslen(m_GZData.YWY.szName)>0 )
			menu.AppendMenu(MF_STRING     , MENU_GZMSG_GZJS, _T(" ȷ�Ͻ��㹤�� ") );
		else
			menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED     , MENU_GZMSG_GZJS, _T(" ȷ�Ͻ��㹤�� ") );
		
		//����
		menu.AppendMenu(MF_STRING     , MENU_GZMSG_COPY, _T(" �� �� ") );
		
		//��ʾ�˵�
		POINT pt ;
		::GetCursorPos( &pt );
		//this->ClientToScreen( &pt);
		menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
		menu.DestroyMenu();
	}
	if ( m_lQueryType==1 )
	{
		CMenu menu;
		menu.CreatePopupMenu();
		long lItem = m_wndList.GetFirstSelectedItem();
		long lGZID = 0;
		if ( lItem >=0 )
			lGZID = m_wndList.GetItemData(lItem);
		if ( lGZID>0 )
		{

			menu.AppendMenu(MF_STRING     , MENU_GZMSG_SEE   , _T(" �� �� ") );
			menu.AppendMenu(MF_STRING     , MENU_GZMSG_MODIFY, _T(" �� �� ") );
			menu.AppendMenu(MF_STRING     , MENU_GZMSG_DEL   , _T(" ɾ �� ") );
		}
		else
		{
			menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED      , MENU_GZMSG_SEE   , _T(" �� �� ") );
			menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED      , MENU_GZMSG_MODIFY, _T(" �� �� ") );
			menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED      , MENU_GZMSG_DEL   , _T(" ɾ �� ") );
		}
		menu.AppendMenu(MF_SEPARATOR );
		//����
		menu.AppendMenu(MF_STRING     , MENU_GZMSG_COPY, _T(" �� �� ") );
		
		//��ʾ�˵�
		POINT pt ;
		::GetCursorPos( &pt );
		//this->ClientToScreen( &pt);
		menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
		menu.DestroyMenu();
	}
	if (m_lQueryType == 2)
	{
		CMenu menu;
		menu.CreatePopupMenu();

		//����
		menu.AppendMenu(MF_STRING, MENU_GZMSG_COPY, _T(" �� �� "));

		//��ʾ�˵�
		POINT pt;
		::GetCursorPos(&pt);
		//this->ClientToScreen( &pt);
		menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON, pt.x, pt.y, this, NULL);
		menu.DestroyMenu();
	}
}

void CK_GZMsg::On_User_Copy()
{
	m_wndList.CopyToClipboard();
}

void CK_GZMsg::On_User_GZJS()
{
	if ( _tcslen(m_GZData.YWY.szName)<=0 )
	{
		return ;
	}

	CString str;
	str.Format( _T("���ʽ���󣬱��¹��ʽ������ٴα���ȷ��ѯ���Ƿ�ȷ�ϣ�\r\nԱ������:%s\r\n�����·�:%04d��%02d��\r\n") , m_GZData.YWY.szName,m_GZData.tBegin.wYear , m_GZData.tBegin.wMonth);
	int iRet=MessageBox(str , _T("��ȷ��") , MB_ICONWARNING|MB_YESNO|MB_DEFBUTTON2 );
	if ( iRet != IDYES )
		return ;

	DLG_GZMsg_JS dlg(this);
	dlg.SetParam(&m_GZData);
	if ( dlg.DoModal()!=IDOK )
		return ;

	long lSize = sizeof(REQ_GZMsg)+sizeof(ANS_GZMsgData)+sizeof(ANS_GZMsg_TC2)*m_GZMsg.GetCount();
	BYTE * pData = new BYTE[lSize];
	memset(pData , 0 , lSize );

	REQ_GZMsg     * pGZMsg = (REQ_GZMsg *)pData;
	ANS_GZMsgData * pGZ    = (ANS_GZMsgData *)(pData+sizeof(REQ_GZMsg));
	ANS_GZMsg_TC2 * pTC    = (ANS_GZMsg_TC2 *)(pData+sizeof(REQ_GZMsg)+sizeof(ANS_GZMsgData));
	pGZMsg->lType = 5;   //���㹤��
	pGZMsg->lYWYID= pGZ->YWY.lYWYID;
	*pGZ = m_GZData;

	pGZ->lTCCount = 0;
	//������ɵ�payID
	POSITION pos = m_GZMsg.GetHeadPosition();
	POSITION pos2;
	while (pos)
	{
		pos2=pos;
		ANS_GZMsg_TC * pTC2 = m_GZMsg.GetNext( pos );
		if ( pTC2 )
		{
			if ( !pTC2->bJBJT && pTC->lPayType!=20)  //���ǡ��ݲ�����ij�ֵ��¼���ļ�¼�Ž���������У�����Ʊ������Ҳ����Ҫ����
			{
				pTC->lPTNum   = pTC2->lPTNum;
				pTC->lPayType = pTC2->lPayType;
				pTC->lPayID   = pTC2->lPayID;
				pTC->lUserType= pTC2->lUserType;
				pTC->fFP_Award= pTC2->fFP_Award;
				pTC ++;
				pGZ->lTCCount ++;
			}
		}
	}


	m_pMainFrame->SendFrame(SMSFUNC_GZMSG,pData,lSize);


	
}

void CK_GZMsg::On_User_See()
{
	if ( m_lQueryType!=1 )
		return ;

	long lItem = m_wndList.GetFirstSelectedItem();
	long lGZID = 0;
	if ( lItem >=0 )
		lGZID = m_wndList.GetItemData(lItem);
	if ( lGZID<=0 )
		return ;

	CString strName,strMon,strYJ,strGZ;
	strName = m_wndList.GetItemText(lItem , 1 );
	strMon  = m_wndList.GetItemText(lItem , 4 );
	strYJ   = m_wndList.GetItemText(lItem , 5 );
	strGZ   = m_wndList.GetItemText(lItem , 6 );
	DLG_K_GZMSG_SEE dlg(this);
	dlg.SetParam(false,strName,strMon,strYJ,strGZ);
	dlg.DoModal();


}
void CK_GZMsg::On_User_Modify()
{
	if ( m_lQueryType!=1 )
		return ;

	long lItem = m_wndList.GetFirstSelectedItem();
	long lGZID = 0;
	if ( lItem >=0 )
		lGZID = m_wndList.GetItemData(lItem);
	if ( lGZID<=0 )
		return ;

	CString strName,strMon,strYJ,strGZ;
	strName = m_wndList.GetItemText(lItem , 1 );
	strMon  = m_wndList.GetItemText(lItem , 4 );
	strYJ   = m_wndList.GetItemText(lItem , 5 );
	strGZ   = m_wndList.GetItemText(lItem , 6 );
	DLG_K_GZMSG_SEE dlg(this);
	dlg.SetParam(true,strName,strMon,strYJ,strGZ);
	if ( dlg.DoModal() == IDOK )
	{
		long lSize = sizeof(REQ_GZMsg)+sizeof(ANS_GZMsg_GZLS);
		BYTE * pData = new BYTE[lSize];
		memset(pData , 0 , lSize );
		REQ_GZMsg      * pGZMsg = (REQ_GZMsg *)pData;
		ANS_GZMsg_GZLS * pGZLS  = (ANS_GZMsg_GZLS *)(pData+sizeof(REQ_GZMsg));
		pGZMsg->lType = 2;  //�Ĺ�����ʷ

		pGZLS->lCorpID = lItem;  //��ҵID����Item
		pGZLS->lGZID = lGZID;
		pGZLS->fTotalYZ = dlg.m_fYJ;
		pGZLS->fTotalGZ = dlg.m_fGZ;
		m_pMainFrame->SendFrame(SMSFUNC_GZMSG,(BYTE*)pData,lSize);
	}
}
void CK_GZMsg::On_User_Del()
{
	if ( m_lQueryType!=1 )
		return ;

	long lItem = m_wndList.GetFirstSelectedItem();
	long lGZID = 0;
	if ( lItem >=0 )
		lGZID = m_wndList.GetItemData(lItem);
	if ( lGZID<=0 )
		return ;

	CString str,strName,strMon,strYJ,strGZ;
	strName = m_wndList.GetItemText(lItem , 1 );
	strMon  = m_wndList.GetItemText(lItem , 4 );
	strYJ   = m_wndList.GetItemText(lItem , 5 );
	strGZ   = m_wndList.GetItemText(lItem , 6 );

	str.Format( _T("�Ƿ�ȷ��ɾ��%s��%s���ʣ�ɾ���󽫲��ָܻ���") , strName,strMon );
	int iRet=MessageBox(str , _T("����") , MB_ICONWARNING|MB_YESNO|MB_DEFBUTTON2 );
	if ( iRet!=IDYES )
		return ;
	
	long lSize = sizeof(REQ_GZMsg)+sizeof(ANS_GZMsg_GZLS);
	BYTE * pData = new BYTE[lSize];
	memset(pData , 0 , lSize );
	REQ_GZMsg      * pGZMsg = (REQ_GZMsg *)pData;
	ANS_GZMsg_GZLS * pGZLS  = (ANS_GZMsg_GZLS *)(pData+sizeof(REQ_GZMsg));
	pGZMsg->lType = 3;  //ɾ������
	
	pGZLS->lCorpID = lItem;  //��ҵID����Item
	pGZLS->lGZID = lGZID;

	m_pMainFrame->SendFrame(SMSFUNC_GZMSG,(BYTE*)pData,lSize);

}

void CK_GZMsg::Close_Corp()
{
	//������������
	while (!m_Corp.IsEmpty())
	{
		ANS_Corp_NameData * pData = m_Corp.GetHead();
		m_Corp.RemoveHead();
		delete pData;
	}
}

void CK_GZMsg::Close_YWY()
{
	//������������
	while (!m_YWY.IsEmpty())
	{
		ANS_YWY_NameData * pYWY = m_YWY.GetHead();
		m_YWY.RemoveHead();
		delete pYWY;
	}
}

CString CK_GZMsg::GetName_YWY(long lYWYID)
{
	//ҵ��Ա
	CString strTemp=_T("��ҵ��Ա");
	POSITION pos = m_YWY.GetHeadPosition();
	POSITION pos2;
	while (pos)
	{
		pos2=pos;
		ANS_YWY_NameData * pYWY = m_YWY.GetNext( pos );
		if ( pYWY->lYWYID == lYWYID )
		{
			strTemp = pYWY->szYWYName;
			break;
		}
	}
	return strTemp;
}


void CK_GZMsg::Close_GZMsg()
{
	//������������
	while (!m_GZMsg.IsEmpty())
	{
		ANS_GZMsg_TC * pGZMsg = m_GZMsg.GetHead();
		m_GZMsg.RemoveHead();
		delete pGZMsg;
	}
}

void CK_GZMsg::OnSelchangeTabType() 
{
	UpdateData(true);

	if ( m_lType == 0 )
	{
		GetDlgItem(IDC_TAB_TBEGIN)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_TAB_TEND)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_TAB_TBEGIN_S1)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_TAB_TEND_S1)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_TAB_T_S1)->ShowWindow(SW_HIDE);

		GetDlgItem(IDC_USER_MON)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_USER_MON_S1)->ShowWindow(SW_SHOW);
	}
	else
	{
		GetDlgItem(IDC_TAB_TBEGIN)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_TAB_TEND)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_TAB_TBEGIN_S1)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_TAB_TEND_S1)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_TAB_T_S1)->ShowWindow(SW_SHOW);

		GetDlgItem(IDC_USER_MON)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_USER_MON_S1)->ShowWindow(SW_HIDE);
	}

	
}


void CK_GZMsg::OnBnClickedTabQuery4()
{
	if (!m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE))
	{
		return;
	}
	REQ_GZMsg_JL_PARA * pGZMsg = new REQ_GZMsg_JL_PARA; memset(pGZMsg, 0, sizeof(REQ_GZMsg_JL_PARA));
	pGZMsg->lYWYID = 0;
	m_pMainFrame->SendFrame(SMSFUNC_GZMSG_JL_PARA, (BYTE*)pGZMsg, sizeof(REQ_GZMsg_JL_PARA));
}