// TodayBar.cpp : implementation file
//

#include "stdafx.h"
#include "ylgl.h"
#include "TodayBar.h"
#include "StaffAchievementShowAll.h"
#include "SalarySet4.h"
#include "SelExpendType.h"
#include "DataUpdateCentrer.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// TodayBar dialog FillGrid4
TodayBar::TodayBar(CWnd* pParent /*=NULL*/): CDialog(TodayBar::IDD, pParent)
{
	m_name = _T("");
	m_rate1 = _T("");
	m_rate2 = _T("");
	m_bz = _T("");
	m_base = _T("");
	m_salary = _T("");
	m_rate3 = _T("");
	m_rate4 = _T("");
	m_rate5 = _T("");
	m_money1 = _T("");
	m_money2 = _T("");
	m_money3 = _T("");
	m_money4 = _T("");
	m_money5 = _T("");
	m_money6 = _T("");
	m_bGet = 0;
	//}}AFX_DATA_INIT
}

void TodayBar::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(TodayBar)
	// NOTE: the ClassWizard will add DDX and DDV calls here
	DDX_Control(pDX, IDC_LIST4, m_List4);
	DDX_Control(pDX, IDC_LIST2, m_List1);
	DDX_Control(pDX, IDC_LIST7, m_Listtake);
	DDX_Control(pDX, IDC_LIST8, m_Listdigital);
	DDX_Text(pDX, IDC_EDITname, m_name);
	DDX_Text(pDX, IDC_EDITrate1, m_rate1);
	DDX_Text(pDX, IDC_EDITrate2, m_rate2);
	DDX_Text(pDX, IDC_EDITbz, m_bz);
	DDX_Text(pDX, IDC_EDITbase, m_base);
	DDX_Text(pDX, IDC_EDITsalary, m_salary);
	DDX_Text(pDX, IDC_EDITrate3, m_rate3);
	DDX_Text(pDX, IDC_EDITrate4, m_rate4);
	DDX_Text(pDX, IDC_EDITrate6, m_rate5);
	DDX_Text(pDX, IDC_EDITmoney1, m_money1);
	DDX_Text(pDX, IDC_EDITmoney2, m_money2);
	DDX_Text(pDX, IDC_EDITmoney3, m_money3);
	DDX_Text(pDX, IDC_EDITmoney4, m_money4);
	DDX_Text(pDX, IDC_EDITmoney5, m_money5);
	DDX_Text(pDX, IDC_EDITmoney6, m_money6);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(TodayBar, CDialog)
	//{{AFX_MSG_MAP(TodayBar)
	ON_WM_PAINT()
	ON_WM_CTLCOLOR()
	ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
	ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
	ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
	ON_BN_CLICKED(IDC_BUTTON7, OnButton7)
	ON_BN_CLICKED(IDC_BUTTON8, OnButton8)
	ON_BN_CLICKED(IDC_BUTTON14, OnButton14)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// TodayBar message handlers

void TodayBar::OnCancel()
{
	CDialog::OnCancel();
}

void TodayBar::OnOK()
{
	CDialog::OnOK();
}

BOOL TodayBar::OnInitDialog()
{
	CDialog::OnInitDialog();

#ifdef CHILD_VERSION
	m_List1.SetHeadings("���,100;����,100;�������,100;�ҳ�����,100;��������,100");
	m_List1.LoadColumnInfo(23);

	m_List4.SetHeadings("������,100;�ҳ�����,100;��������,100;��ɽ��,100;����,100;����,100;����,100;����,100;��ɷ�ʽ,100;��ϵ�۸�,100;����,100");
	m_List4.LoadColumnInfo(139);
	m_Listtake.SetHeadings("������,100;�ҳ�����,100;��������,100;��ϵ,100;�۸�,100;����,100;����,100;��Ӱ,100;����,100;��ױʦ,100;����,100");
	m_Listdigital.SetHeadings("������,100;�б�����,100;Ů������,100;��ϵ,100;�۸�,100;����,100;����1,100;����,100;����2,100;���,100;����3,100;����,50;����,50;���,50;ѡƬ����,50");
	m_Listtake.LoadColumnInfo(210);
	m_Listdigital.LoadColumnInfo(211);
#else
	m_List1.SetHeadings("���,100;����,100;�������,100;�б�����,100;Ů������,100" );
	m_List1.LoadColumnInfo (23);

	m_List4.SetHeadings("������,100;�б�����,100;Ů������,100;��ɽ��,100;����,100;����,100;����,100;����,100;��ɷ�ʽ,100;��ϵ�۸�,100;����,100" );
	m_List4.LoadColumnInfo (139);
	m_Listtake.SetHeadings("������,100;�б�����,100;Ů������,100;��ϵ,100;�۸�,100;����,100;����,100;��Ӱ,100;����,100;��ױʦ,100;����,100" );
	m_Listdigital.SetHeadings("������,100;�б�����,100;Ů������,100;��ϵ,100;�۸�,100;����,100;����1,100;����,100;����2,100;���,100;����3,100;����,50;����,50;���,50;ѡƬ����,50" );
	m_Listtake.LoadColumnInfo (210);
	m_Listdigital.LoadColumnInfo (211);
#endif

	if (g_bRedSkin)
	{
		m_brush.CreateSolidBrush(RGB(173, 27, 64));
		m_brush2.CreateSolidBrush(RGB(181, 181, 181));
	}
	else
	{
		m_brush.CreateSolidBrush(RGB(100, 100, 100));
		m_brush2.CreateSolidBrush(RGB(181, 181, 181));
	}

	CRect rc;

	int id[] = { IDC_EDITname, IDC_EDITbz, IDC_EDITbase, IDC_EDITmoney1, IDC_EDITmoney2, IDC_EDITmoney6, IDC_EDITsalary, IDC_EDITbz2 };
	for (int i = 0; i < 8; i++)
	{
		GetDlgItem(id[i])->GetWindowRect(rc);
		ScreenToClient(rc);
		rc.bottom -= 5;
		GetDlgItem(id[i])->MoveWindow(rc);
	}
	return TRUE;  
}

void TodayBar::OnPaint()
{
	CPaintDC dc(this); 

	CRect rc;
	GetClientRect(rc);

	if (g_bRedSkin)
	{
		dc.FillSolidRect(rc, RGB(173, 27, 64));
	}
	else
		dc.FillSolidRect(rc, RGB(100, 100, 100));

	int id[] = { IDC_EDITname, IDC_EDITbz, IDC_EDITbase, IDC_EDITmoney1, IDC_EDITmoney2, IDC_EDITmoney6, IDC_EDITsalary, IDC_EDITbz2 };
	for (int i = 0; i < 8; i++)
	{
		GetDlgItem(id[i])->GetWindowRect(rc);
		ScreenToClient(rc);
		rc.InflateRect(3, 3, 1, 1);
		dc.FillRect(rc, &m_brush2);
		rc.DeflateRect(1, 1, 1, 1);
		dc.FillRect(rc, &m_brush);
	}
}

//-----------------------------------------------------------------
// ������ResetData
// ��������������
// ������
// ���أ�
//-----------------------------------------------------------------
void TodayBar::ResetData()
{
	m_List4.DeleteAllItems2();
	m_List1.DeleteAllItems2();
	m_Listdigital.DeleteAllItems2();
	m_Listtake.DeleteAllItems2();

	m_name = _T("");
	m_rate1 = _T("");
	m_rate2 = _T("");
	m_bz = _T("");
	m_base = _T("");
	m_salary = _T("");
	m_rate3 = _T("");
	m_rate4 = _T("");
	m_rate5 = _T("");
	m_money1 = _T("");
	m_money2 = _T("");
	m_money3 = _T("");
	m_money4 = _T("");
	m_money5 = _T("");
	m_money6 = _T("");
	m_bGet = 0;
}

void TodayBar::InitCtrl()
{
	//����һ������
	if(m_name != g_user.name && m_bGet == TRUE)
	ResetData();

	if (m_link1.m_hWnd == NULL)
	{
		CRect rc;
		GetClientRect(rc);
		int wid = rc.Width();
		rc.top += 3;
		rc.left += 5;
#ifdef CHILD_VERSION
		m_link1.Create("��������:1 ����ѡƬ:1 ���տ����:1 ����ȡ��:1 ", WS_CHILD | WS_VISIBLE, rc, this, 100);
#else
		m_link1.Create ("��������:1 ����ѡƬ:1 ���տ����:1 ����ȡ��:1 ���ջ���:1 ", WS_CHILD|WS_VISIBLE, rc, this, 100);
#endif
		m_link1.PositionWindow();

		m_link1.GetWindowRect(rc); ScreenToClient(rc);
		rc.left = rc.right;
		rc.right += 200;
		m_link2.Create("  �ҵ�ҵ��: ǰ��:0 ����:0 �Ƽ����:0 ", WS_CHILD | WS_VISIBLE, rc, this, 100);
		m_link2.PositionWindow();
		m_link2.m_bDisable = 1;

		m_link2.GetWindowRect(rc); ScreenToClient(rc);
		rc.left = rc.right;
		rc.right += 200;
		m_link3.Create("�鿴����", WS_CHILD | WS_VISIBLE, rc, this, 100);
		m_link3.PositionWindow();

		m_link3.GetWindowRect(rc); ScreenToClient(rc);
		rc.left = rc.right;
		rc.right += 200;
		m_link6.Create(" ����ͬ��", WS_CHILD | WS_VISIBLE, rc, this, 100);
		m_link6.PositionWindow();

		rc.right = wid;
		rc.left = rc.right - 200;
		m_link5.Create("��", WS_CHILD | WS_VISIBLE, rc, this, 100);
		m_link5.PositionWindow();
		m_link5.GetWindowRect(rc); ScreenToClient(rc);
		rc.left = wid - rc.Width() - 5;
		rc.right = wid - 5;
		m_link5.MoveWindow(rc);

		m_link4.Create("��ȫ�˳� ", WS_CHILD | WS_VISIBLE, rc, this, 100);
		m_link4.PositionWindow();
		m_link4.GetWindowRect(rc);
		wid = rc.Width();
		m_link5.GetWindowRect(rc); ScreenToClient(rc);
		rc.left -= wid;
		rc.right = rc.left + wid;
		m_link4.MoveWindow(rc);
		//��\r\n��\r\n��
	}
	if(m_name != g_user.name)
	GetData();
}
extern float GetSalaryFromRule(float fmoney, CString rule);
extern CString GetRule(CString name);

void TodayBar::GetData()
{
	if (m_bGet)return;
	m_bGet = 1;

	g_bNoConnDlg = 1;
	CString strdate, strdate2;
	strdate2 = strdate = g_date;
	g_sendhead.code[0] = 120;
	g_sendhead.code[1] = 121;
	g_sendhead.code[2] = 122;
	g_sendhead.code[3] = 123;
	g_sendhead.code[4] = 139;
	g_sendhead.code[5] = 146;
	g_sendhead.tabcount = 6;
	g_sendhead.bsql = 0;
	CString sql;
	sql.Format("bookingdate>='" + strdate + "' and bookingdate<='" + strdate2 + "';time4>='" + strdate + "' and time4<='" + strdate2 + "';time6>='" + strdate + "' and time6<='" + strdate2 + "';time5>='" + strdate + "' and time5<='" + strdate2 + "';hqdate>='" + strdate + "' and hqdate<='" + strdate2 + "' and kind='2';;");
	g_pMainWnd->ProcessChatMessageRequest2(sql);
	if (g_bSendOK == 0)return;
	DataToArray(&m_TodayList1array, &m_TodayList2array, &m_TodayList3array, &m_TodayList4array, &m_TodayList5array, &m_Workratearray);

	//	g_bNoConnDlg=1;
#if JEFF_TEST_ON	// 2015-05-15
	// Ҫ�ȹ���m_List1array���ظ�����;
	for (int i = 0; i < m_TodayList1array.GetSize(); i++)
	{
		CStringArray &SubAry = m_TodayList1array.ElementAt(i);

		int nSize = m_TodayList1array.GetSize();
		for (int n = nSize - 1; n > 0; n--)
		{
			if (SubAry.ElementAt(0) == m_TodayList1array.ElementAt(n).ElementAt(0))
			{
				if (i != n)
					m_TodayList1array.RemoveAt(n);
			}
		}
	}
#endif

	CString str;
#ifdef CHILD_VERSION
	str.Format("��������:%d ����ѡƬ:%d ���տ����:%d ����ȡ��:%d ", m_TodayList1array.GetSize(), m_TodayList2array.GetSize(), m_TodayList3array.GetSize(), m_TodayList4array.GetSize());
#else
	str.Format("��������:%d ����ѡƬ:%d ���տ����:%d ����ȡ��:%d ���ջ���:%d ", m_TodayList1array.GetSize(), m_TodayList2array.GetSize(), m_TodayList3array.GetSize(), m_TodayList4array.GetSize(), m_TodayList5array.GetSize()); //modify by wangwenbin 2014-05-03
#endif
	m_link1.SetWindowText(str);
	m_link1.PositionWindow();
	/////////////////
	{
		CString name = g_user.name;
		CString date1, date2;
		date1.Format("%s-%s-01", g_date.Mid(0, 4), g_date.Mid(5, 2));
		date2.Format("%s-%s-31", g_date.Mid(0, 4), g_date.Mid(5, 2));
		int m_year = atoi(g_date.Mid(0, 4));
		int m_month = atoi(g_date.Mid(5, 2));
		int i;
		int g_nYearposTemp = g_nYearpos;
		BOOL bLastYear = 0;
		BOOL bThisYear = 0;
#if JEFF_TEST_ON	// 2015��ʼ���ÿ�������;
		if (m_year >= 2014 && m_year <= atoi(g_date.Left(4)) && g_hisyeararray.GetSize())
		{
			g_nYearpos = -1;
			bThisYear = 1;
		}
		else if (m_year <= 2013 && g_hisyeararray.GetSize())
		{
			g_nYearpos = GetYearPos(m_year);
			bLastYear = 1;
		}
#else
		if (m_year == atoi(g_date.Left(4)) && g_hisyeararray.GetSize())
			bThisYear = 1;
		else if (m_year <= atoi(g_date.Left(4)) - 1 && g_hisyeararray.GetSize())
			bLastYear = 1;

		g_nYearpos = GetYearPos(m_year);
#endif
		///////////////
		CString filter = "name='" + name + "' and dimission='��ְ';date>='" + date1 + "' and date<='" + date2 + "';;date>='" + date1 + "' and date<='" + date2 + "' and renyuan3='" + name + "';time2>='" + date1 + "' and time2<='" + date2 + "' and status='OK'***date<'" + date1 + "';datetime>='" + date1 + "' and datetime<='" + date2 + "' and name='" + name + "'";
		CString temp;
		temp = ";[date]>='" + date1 + "' and [date]<='" + date2 + "' and [status]='OK' and ([waiter1]='" + name + "' or [waiter12]='" + name + "' or [waiter2]='" + name + "' or [waiter22]='" + name + "')";
		filter += temp;
		temp = ";([time8]>='" + date1 + "' and [time8]<='" + date2 + "' and [status4]='OK' and [waiter5]='" + name + "') or ([time9]>='" + date1 + "' and [time9]<='" + date2 + "' and [status6]='OK' and [waiter7]='" + name + "') or ([time10]>='" + date1 + "' and [time10]<='" + date2 + "' and [status5]='OK' and [waiter4]='" + name + "')";
		filter += temp;
		g_sendhead.code[0] = 34;
		g_sendhead.code[1] = 59;
		g_sendhead.code[2] = 60;
		g_sendhead.code[3] = 198;
		g_sendhead.code[4] = 61;
		g_sendhead.code[5] = 142;
		g_sendhead.code[6] = 192;
		g_sendhead.code[7] = 193;
		g_sendhead.tabcount = 8;
		g_sendhead.bsql = 0;
		g_pMainWnd->ProcessChatMessageRequest2(filter);
		if (g_bSendOK == 0)
		{
			g_nYearpos = g_nYearposTemp;
			return;
		}
		CArray<CStringArray, CStringArray>userarray;
		CArray<CStringArray, CStringArray>bukuanarray;
		CArray<CStringArray, CStringArray>waiterarray;
		CArray<CStringArray, CStringArray>singleincomearray;
		CArray<CStringArray, CStringArray>bukuanarray2;
		CArray<CStringArray, CStringArray>takearray;
		CArray<CStringArray, CStringArray>digitalarray;
		DataToArray(&userarray, &bukuanarray, &waiterarray, &singleincomearray, &bukuanarray2, &m_List4array, &takearray, &digitalarray);

		///////////////////
		if (bLastYear)//�����ȥ��, ��ӽ���IJ���
		{
			g_nYearpos = -1;//����
			filter = "name='" + name + "' and dimission='��ְ';date>='" + date1 + "' and date<='" + date2 + "';;date>='" + date1 + "' and date<='" + date2 + "' and renyuan3='" + name + "';time2>='" + date1 + "' and time2<='" + date2 + "' and status='OK'***date<'" + date1 + "';datetime>='" + date1 + "' and datetime<='" + date2 + "' and name='" + name + "'";
			CString temp;
			temp = ";[date]>='" + date1 + "' and [date]<='" + date2 + "' and [status]='OK' and ([waiter1]='" + name + "' or [waiter12]='" + name + "' or [waiter2]='" + name + "' or [waiter22]='" + name + "')";
			filter += temp;
			temp = ";([time8]>='" + date1 + "' and [time8]<='" + date2 + "' and [status4]='OK' and [waiter5]='" + name + "') or ([time9]>='" + date1 + "' and [time9]<='" + date2 + "' and [status6]='OK' and [waiter7]='" + name + "') or ([time10]>='" + date1 + "' and [time10]<='" + date2 + "' and [status5]='OK' and [waiter4]='" + name + "')";
			filter += temp;
			g_sendhead.code[0] = 34;
			g_sendhead.code[1] = 59;
			g_sendhead.code[2] = 60;
			g_sendhead.code[3] = 198;
			g_sendhead.code[4] = 61;
			g_sendhead.code[5] = 142;
			g_sendhead.code[6] = 192;
			g_sendhead.code[7] = 193;
			g_sendhead.tabcount = 8;
			g_sendhead.bsql = 0;
			g_pMainWnd->ProcessChatMessageRequest2(filter);
			if (g_bSendOK == 0)
			{
				g_nYearpos = g_nYearposTemp;

				return;
			}
			CArray<CStringArray, CStringArray>ThisYearbukuanarray;
			CArray<CStringArray, CStringArray>ThisYearwaiterarray;
			CArray<CStringArray, CStringArray>ThisYearsingleincomearray;
			CArray<CStringArray, CStringArray>ThisYearbukuanarray2;
			CArray<CStringArray, CStringArray>ThisYearm_List4array;
			CArray<CStringArray, CStringArray>ThisYeartakearray;
			CArray<CStringArray, CStringArray>ThisYeardigitalarray;
			DataToArray(&userarray, &ThisYearbukuanarray, &ThisYearwaiterarray, &ThisYearsingleincomearray, &ThisYearbukuanarray2, &ThisYearm_List4array, &ThisYeartakearray, &ThisYeardigitalarray);

			int oldsize = bukuanarray.GetSize();
			bukuanarray.SetSize(oldsize + ThisYearbukuanarray.GetSize());
			for (i = oldsize; i < oldsize + ThisYearbukuanarray.GetSize(); i++)
			{
				bukuanarray.ElementAt(i).Copy(ThisYearbukuanarray.ElementAt(i - oldsize));
			}

			oldsize = waiterarray.GetSize();
			waiterarray.SetSize(oldsize + ThisYearwaiterarray.GetSize());
			for (i = oldsize; i < oldsize + ThisYearwaiterarray.GetSize(); i++)
			{
				waiterarray.ElementAt(i).Copy(ThisYearwaiterarray.ElementAt(i - oldsize));
			}

			oldsize = singleincomearray.GetSize();
			singleincomearray.SetSize(oldsize + ThisYearsingleincomearray.GetSize());
			for (i = oldsize; i < oldsize + ThisYearsingleincomearray.GetSize(); i++)
			{
				singleincomearray.ElementAt(i).Copy(ThisYearsingleincomearray.ElementAt(i - oldsize));
			}

			oldsize = bukuanarray2.GetSize();
			bukuanarray2.SetSize(oldsize + ThisYearbukuanarray2.GetSize());
			for (i = oldsize; i < oldsize + ThisYearbukuanarray2.GetSize(); i++)
			{
				bukuanarray2.ElementAt(i).Copy(ThisYearbukuanarray2.ElementAt(i - oldsize));
			}

			oldsize = m_List4array.GetSize();
			m_List4array.SetSize(oldsize + ThisYearm_List4array.GetSize());
			for (i = oldsize; i < oldsize + ThisYearm_List4array.GetSize(); i++)
			{
				m_List4array.ElementAt(i).Copy(ThisYearm_List4array.ElementAt(i - oldsize));
			}
			oldsize = takearray.GetSize();
			takearray.SetSize(oldsize + ThisYeartakearray.GetSize());
			for (i = oldsize; i < oldsize + ThisYeartakearray.GetSize(); i++)
			{
				takearray.ElementAt(i).Copy(ThisYeartakearray.ElementAt(i - oldsize));
			}
			oldsize = digitalarray.GetSize();
			digitalarray.SetSize(oldsize + ThisYeardigitalarray.GetSize());
			for (i = oldsize; i < oldsize + ThisYeardigitalarray.GetSize(); i++)
			{
				digitalarray.ElementAt(i).Copy(ThisYeardigitalarray.ElementAt(i - oldsize));
			}
		}
		else if (bThisYear)//����ǽ���, ���ȥ��IJ���
		{
			g_nYearpos = 0;//ȥ��
			filter = "date>='" + date1 + "' and date<='" + date2 + "';;date>='" + date1 + "' and date<='" + date2 + "' and renyuan3='" + name + "';time2>='" + date1 + "' and time2<='" + date2 + "' and status='OK'***date<'" + date1 + "';datetime>='" + date1 + "' and datetime<='" + date2 + "' and name='" + name + "'";
			CString temp;
			temp = ";[date]>='" + date1 + "' and [date]<='" + date2 + "' and [status]='OK' and ([waiter1]='" + name + "' or [waiter12]='" + name + "' or [waiter2]='" + name + "' or [waiter22]='" + name + "')";
			filter += temp;
			temp = ";([time8]>='" + date1 + "' and [time8]<='" + date2 + "' and [status4]='OK' and [waiter5]='" + name + "') or ([time9]>='" + date1 + "' and [time9]<='" + date2 + "' and [status6]='OK' and [waiter7]='" + name + "') or ([time10]>='" + date1 + "' and [time10]<='" + date2 + "' and [status5]='OK' and [waiter4]='" + name + "')";
			filter += temp;
			g_sendhead.code[0] = 59;
			g_sendhead.code[1] = 60;
			g_sendhead.code[2] = 198;
			g_sendhead.code[3] = 61;
			g_sendhead.code[4] = 142;
			g_sendhead.code[5] = 192;
			g_sendhead.code[6] = 193;
			g_sendhead.tabcount = 7;
			g_sendhead.bsql = 0;
			g_pMainWnd->ProcessChatMessageRequest2(filter);
			if (g_bSendOK == 0)
			{
				g_nYearpos = g_nYearposTemp;

				return;
			}
			CArray<CStringArray, CStringArray>ThisYearbukuanarray;
			CArray<CStringArray, CStringArray>ThisYearwaiterarray;
			CArray<CStringArray, CStringArray>ThisYearsingleincomearray;
			CArray<CStringArray, CStringArray>ThisYearbukuanarray2;
			CArray<CStringArray, CStringArray>ThisYearm_List4array;
			CArray<CStringArray, CStringArray>ThisYeartakearray;
			CArray<CStringArray, CStringArray>ThisYeardigitalarray;
			DataToArray(&ThisYearbukuanarray, &ThisYearwaiterarray, &ThisYearsingleincomearray, &ThisYearbukuanarray2, &ThisYearm_List4array, &ThisYeartakearray, &ThisYeardigitalarray);

			int oldsize = bukuanarray.GetSize();
			bukuanarray.SetSize(oldsize + ThisYearbukuanarray.GetSize());
			for (i = oldsize; i < oldsize + ThisYearbukuanarray.GetSize(); i++)
			{
				bukuanarray.ElementAt(i).Copy(ThisYearbukuanarray.ElementAt(i - oldsize));
			}

			oldsize = waiterarray.GetSize();
			waiterarray.SetSize(oldsize + ThisYearwaiterarray.GetSize());
			for (i = oldsize; i < oldsize + ThisYearwaiterarray.GetSize(); i++)
			{
				waiterarray.ElementAt(i).Copy(ThisYearwaiterarray.ElementAt(i - oldsize));
			}

			oldsize = singleincomearray.GetSize();
			singleincomearray.SetSize(oldsize + ThisYearsingleincomearray.GetSize());
			for (i = oldsize; i < oldsize + ThisYearsingleincomearray.GetSize(); i++)
			{
				singleincomearray.ElementAt(i).Copy(ThisYearsingleincomearray.ElementAt(i - oldsize));
			}

			oldsize = bukuanarray2.GetSize();
			bukuanarray2.SetSize(oldsize + ThisYearbukuanarray2.GetSize());
			for (i = oldsize; i < oldsize + ThisYearbukuanarray2.GetSize(); i++)
			{
				bukuanarray2.ElementAt(i).Copy(ThisYearbukuanarray2.ElementAt(i - oldsize));
			}
			oldsize = m_List4array.GetSize();
			m_List4array.SetSize(oldsize + ThisYearm_List4array.GetSize());
			for (i = oldsize; i < oldsize + ThisYearm_List4array.GetSize(); i++)
			{
				m_List4array.ElementAt(i).Copy(ThisYearm_List4array.ElementAt(i - oldsize));
			}
			oldsize = takearray.GetSize();
			takearray.SetSize(oldsize + ThisYeartakearray.GetSize());
			for (i = oldsize; i < oldsize + ThisYeartakearray.GetSize(); i++)
			{
				takearray.ElementAt(i).Copy(ThisYeartakearray.ElementAt(i - oldsize));
			}
			oldsize = digitalarray.GetSize();
			digitalarray.SetSize(oldsize + ThisYeardigitalarray.GetSize());
			for (i = oldsize; i < oldsize + ThisYeardigitalarray.GetSize(); i++)
			{
				digitalarray.ElementAt(i).Copy(ThisYeardigitalarray.ElementAt(i - oldsize));
			}
		}

		g_nYearpos = g_nYearposTemp;
		CArray<CStringArray, CStringArray>array;
		array.SetSize(bukuanarray.GetSize() * 4 + bukuanarray2.GetSize() * 4 + singleincomearray.GetSize());

		float money1 = 0;
		float money2 = 0;
		float money3 = 0;
		float money4 = 0;
		float money5 = 0;
		CArray<float, float>moneyarray;
		CStringArray typearray;
		int typepos;

		int ii = 0;
		int arraypos = 0;
		for ( ii = 0; ii < bukuanarray.GetSize(); ii++)
		{
			array.ElementAt(arraypos).RemoveAll();
			if (bukuanarray.ElementAt(ii).ElementAt(2) == "3" || bukuanarray.ElementAt(ii).ElementAt(2) == "4")
			{
				BOOL bWait1 = 0;
				BOOL bWait2 = 0;
				float fscale1 = 0;
				float fscale2 = 0;
				IsWaiter2(bukuanarray.ElementAt(ii).ElementAt(5), name, &waiterarray, bWait1, bWait2, fscale1, fscale2, 1, date1, date2);
				if (bWait1 && atoi(g_cominfoarray.ElementAt(0).ElementAt(56)))//������Ӱʦ
				{
					temp.Format("%0.2f", atof(bukuanarray.ElementAt(ii).ElementAt(0))*fscale1);
					ConvertToPrice(temp);
					money1 += atof(temp);
					typepos = FindArray(&typearray, "��Ӱǰ��");
					if (typepos == -1)
					{
						typearray.Add("��Ӱǰ��");
						moneyarray.Add(atof(temp));
					}
					else
					{
						moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
					}
					array.ElementAt(arraypos).Add(temp);
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(1));
					array.ElementAt(arraypos).Add("��Ӱǰ��");
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(3));
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(4));
					arraypos++;
				}
				if (bWait2 && atoi(g_cominfoarray.ElementAt(0).ElementAt(57)))//���ǻ�ױʦ
				{
					temp.Format("%0.2f", atof(bukuanarray.ElementAt(ii).ElementAt(0))*fscale2);
					ConvertToPrice(temp);
					money1 += atof(temp);
					typepos = FindArray(&typearray, "��Ӱǰ��");
					if (typepos == -1)
					{
						typearray.Add("��Ӱǰ��");
						moneyarray.Add(atof(temp));
					}
					else
					{
						moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
					}
					array.ElementAt(arraypos).Add(temp);
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(1));
					array.ElementAt(arraypos).Add("��ױǰ��");
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(3));
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(4));
					arraypos++;
				}

				IsWaiter3(bukuanarray.ElementAt(ii).ElementAt(5), name, &waiterarray, bWait1, bWait2, fscale1, fscale2);//����1������2
				if (bWait1)
				{
					temp.Format("%0.2f", atof(bukuanarray.ElementAt(ii).ElementAt(0))*fscale1);
					ConvertToPrice(temp);
					money1 += atof(temp);
					typepos = FindArray(&typearray, "ǰ��");
					if (typepos == -1)
					{
						typearray.Add("ǰ��");
						moneyarray.Add(atof(temp));
					}
					else
					{
						moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
					}
					array.ElementAt(arraypos).Add(temp);
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(1));
					array.ElementAt(arraypos).Add("ǰ���տ�");
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(3));
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(4));
					arraypos++;
				}
				if (bWait2)
				{
					temp.Format("%0.2f", atof(bukuanarray.ElementAt(ii).ElementAt(0))*fscale2);
					ConvertToPrice(temp);
					money1 += atof(temp);
					typepos = FindArray(&typearray, "ǰ��");
					if (typepos == -1)
					{
						typearray.Add("ǰ��");
						moneyarray.Add(atof(temp));
					}
					else
					{
						moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
					}
					array.ElementAt(arraypos).Add(temp);
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(1));
					array.ElementAt(arraypos).Add("ǰ���տ�");
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(3));
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(4));
					arraypos++;
				}
				continue;
			}
			else if (bukuanarray.ElementAt(ii).ElementAt(7) == "ѡƬ����")//ѡƬ����, �����Ӱʦ�ͻ�ױʦ
			{
				BOOL bWait1 = 0;
				BOOL bWait2 = 0;
				float fscale1 = 0;
				float fscale2 = 0;
				IsWaiter2(bukuanarray.ElementAt(ii).ElementAt(5), name, &waiterarray, bWait1, bWait2, fscale1, fscale2, 0, date1, date2);
				if (bWait1 && atoi(g_cominfoarray.ElementAt(0).ElementAt(41)))//������Ӱʦ
				{
					temp.Format("%0.2f", atof(bukuanarray.ElementAt(ii).ElementAt(0))*fscale1);
					ConvertToPrice(temp);
					money5 += atof(temp);
					typepos = FindArray(&typearray, "��ӰѡƬ����");
					if (typepos == -1)
					{
						typearray.Add("��ӰѡƬ����");
						moneyarray.Add(atof(temp));
					}
					else
					{
						moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
					}
					array.ElementAt(arraypos).Add(temp);
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(1));
					array.ElementAt(arraypos).Add("��ӰѡƬ����");
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(3));
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(4));
					arraypos++;
				}
				if (bWait2 && atoi(g_cominfoarray.ElementAt(0).ElementAt(42)))//���ǻ�ױʦ
				{
					temp.Format("%0.2f", atof(bukuanarray.ElementAt(ii).ElementAt(0))*fscale2);
					ConvertToPrice(temp);
					money5 += atof(temp);
#ifdef CHILD_VERSION
					typepos = FindArray(&typearray, "����ѡƬ����");
#else
					typepos = FindArray(&typearray, "��ױѡƬ����");
#endif
					if (typepos == -1)
					{
#ifdef CHILD_VERSION
						typearray.Add("����ѡƬ����");
#else
						typearray.Add("��ױѡƬ����");
#endif
						moneyarray.Add(atof(temp));
					}
					else
					{
						moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
					}
					array.ElementAt(arraypos).Add(temp);
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(1));
#ifdef CHILD_VERSION
					array.ElementAt(arraypos).Add("����ѡƬ����");
#else
					array.ElementAt(arraypos).Add("��ױѡƬ����");
#endif
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(3));
					array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(4));
					arraypos++;
				}
				if (bukuanarray.ElementAt(ii).ElementAt(6) != name)continue;
				temp.Format("%0.2f", atof(bukuanarray.ElementAt(ii).ElementAt(0)));
				ConvertToPrice(temp);
				money5 += atof(temp);
				typepos = FindArray(&typearray, bukuanarray.ElementAt(ii).ElementAt(7));
				if (typepos == -1)
				{
					typearray.Add(bukuanarray.ElementAt(ii).ElementAt(7));
					moneyarray.Add(atof(temp));
				}
				else
				{
					moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
				}
				array.ElementAt(arraypos).Add(temp);
				array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(1));
				array.ElementAt(arraypos).Add("ѡƬ����");
				array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(3));
				array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(4));
			}
			else
			{
				if (bukuanarray.ElementAt(ii).ElementAt(6) != name)continue;
				temp.Format("%0.2f", atof(bukuanarray.ElementAt(ii).ElementAt(0)));
				ConvertToPrice(temp);
				typepos = FindArray(&typearray, bukuanarray.ElementAt(ii).ElementAt(7));
				if (typepos == -1)
				{
					typearray.Add(bukuanarray.ElementAt(ii).ElementAt(7));
					moneyarray.Add(atof(temp));
				}
				else
				{
					moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
				}
				money2 += atof(temp);
				array.ElementAt(arraypos).Add(temp);
				array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(1));
				array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(7));
				array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(3));
				array.ElementAt(arraypos).Add(bukuanarray.ElementAt(ii).ElementAt(4));
			}
			arraypos++;
		}

		for (ii = 0; ii < bukuanarray2.GetSize(); ii++)
		{
			array.ElementAt(arraypos).RemoveAll();
			if (bukuanarray2.ElementAt(ii).ElementAt(2) == "3" || bukuanarray2.ElementAt(ii).ElementAt(2) == "4")
			{
				BOOL bWait1 = 0;
				BOOL bWait2 = 0;
				float fscale1 = 0;
				float fscale2 = 0;
				IsWaiter2(bukuanarray2.ElementAt(ii).ElementAt(5), name, &waiterarray, bWait1, bWait2, fscale1, fscale2, 1, date1, date2);
				if (bWait1 && atoi(g_cominfoarray.ElementAt(0).ElementAt(56)))//������Ӱʦ
				{
					temp.Format("%0.2f", atof(bukuanarray2.ElementAt(ii).ElementAt(0))*fscale1);
					ConvertToPrice(temp);
					money1 += atof(temp);
					typepos = FindArray(&typearray, "��Ӱǰ��");
					if (typepos == -1)
					{
						typearray.Add("��Ӱǰ��");
						moneyarray.Add(atof(temp));
					}
					else
					{
						moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
					}
					array.ElementAt(arraypos).Add(temp);
					array.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(1));
					array.ElementAt(arraypos).Add("��Ӱǰ��");
					array.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(3));
					array.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(4));
					arraypos++;
				}
				if (bWait2 && atoi(g_cominfoarray.ElementAt(0).ElementAt(57)))//���ǻ�ױʦ
				{
					temp.Format("%0.2f", atof(bukuanarray2.ElementAt(ii).ElementAt(0))*fscale2);
					ConvertToPrice(temp);
					money1 += atof(temp);
					typepos = FindArray(&typearray, "��Ӱǰ��");
					if (typepos == -1)
					{
						typearray.Add("��Ӱǰ��");
						moneyarray.Add(atof(temp));
					}
					else
					{
						moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
					}
					array.ElementAt(arraypos).Add(temp);
					array.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(1));
					array.ElementAt(arraypos).Add("��ױǰ��");
					array.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(3));
					array.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(4));
					arraypos++;
				}
				continue;
			}
		}

		for (ii = 0; ii < singleincomearray.GetSize(); ii++)
		{
			array.ElementAt(arraypos).RemoveAll();
			temp.Format("%0.2f", atof(singleincomearray.ElementAt(ii).ElementAt(4)));
			ConvertToPrice(temp);
			if (singleincomearray.ElementAt(ii).ElementAt(3) == "��Ӱ����")
				money2 += atof(temp);

#ifndef CHILD_VERSION
			else if (singleincomearray.ElementAt(ii).ElementAt(3) == "��ױ����")
#else
			else if (singleincomearray.ElementAt(ii).ElementAt(3) == "��������")
#endif
				money3 += atof(temp);
			else if (singleincomearray.ElementAt(ii).ElementAt(3) == "��ϵ����")
				money4 += atof(temp);
			else if (singleincomearray.ElementAt(ii).ElementAt(3) == "ѡƬ����")
				money5 += atof(temp);

			typepos = FindArray(&typearray, singleincomearray.ElementAt(ii).ElementAt(3));
			if (typepos == -1)
			{
				typearray.Add(singleincomearray.ElementAt(ii).ElementAt(3));
				moneyarray.Add(atof(temp));
			}
			else
			{
				moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
			}


			array.ElementAt(arraypos).Add(temp);
			array.ElementAt(arraypos).Add(singleincomearray.ElementAt(ii).ElementAt(5));
			array.ElementAt(arraypos).Add(singleincomearray.ElementAt(ii).ElementAt(3));
			array.ElementAt(arraypos).Add(singleincomearray.ElementAt(ii).ElementAt(1));
			array.ElementAt(arraypos).Add("");
			arraypos++;
		}

		array.SetSize(arraypos);

		FillGrid(&array);
		FillGrid4(m_money6);
		FillGridTake(&takearray);
		FillGridDigital(&digitalarray);
		if (userarray.GetSize())
		{
			m_name = userarray.ElementAt(0).ElementAt(0);
			m_base = userarray.ElementAt(0).ElementAt(1);
			CString baseexpendtype = userarray.ElementAt(0).ElementAt(2);
			CString baseexpendtype2 = userarray.ElementAt(0).ElementAt(3);
			m_bz = userarray.ElementAt(0).ElementAt(4);
			typepos = FindArray(&typearray, "ǰ��");
			if (typepos == -1)
			{
				m_money1 = "0";
				money1 = 0;
			}
			else
			{
				money1 = moneyarray.ElementAt(typepos);
			}

			float money12 = 0;
			typepos = FindArray(&typearray, "��Ӱǰ��");
			if (typepos == -1)
			{
				money12 = 0;
			}
			else
			{
				money12 = moneyarray.ElementAt(typepos);
			}

			m_money1.Format("%0.2f", money1 + money12);


			money2 = 0;
			float realmoney2 = 0;
			for (int i = 0; i < typearray.GetSize(); i++)
			{
				if ("ǰ��" == typearray.ElementAt(i))continue;
				if ("��Ӱǰ��" == typearray.ElementAt(i))continue;
				realmoney2 += GetSalaryFromRule(moneyarray.ElementAt(i), GetRule(typearray.ElementAt(i)));
				money2 += moneyarray.ElementAt(i);
			}
			m_money2.Format("%0.2f", money2);

			ConvertToPrice(m_money6);
			m_salary.Format("%0.2f", atof(m_base) + atof(m_money6) + realmoney2 + GetSalaryFromRule(money1, GetRule(baseexpendtype)) + GetSalaryFromRule(money12, GetRule(baseexpendtype2)));
			ConvertToPrice(m_salary);
		}
		else
		{
			m_name = _T("");
			m_base = _T("");
			m_bz = _T("");
			m_salary = _T("");
			m_money1 = _T("");
			m_money2 = _T("");
			m_money3 = _T("");
			m_money4 = _T("");
			m_money5 = _T("");
			m_money6 = _T("");
		}

		UpdateData(false);

		CRect rc;
		str.Format("  �ҵ�ҵ��: ǰ��:%0.2f ����:%0.2f �������:%0.2f ", atof(m_money1), atof(m_money2), atof(m_money6));
		m_link2.SetWindowText(str);
		m_link1.GetWindowRect(rc); ScreenToClient(rc);
		rc.left = rc.right;
		rc.right += 200;
		m_link2.MoveWindow(rc);
		m_link2.PositionWindow();

		m_link2.GetWindowRect(rc); ScreenToClient(rc);
		rc.left = rc.right;
		rc.right += 200;
		m_link3.MoveWindow(rc);
		m_link3.PositionWindow();

		m_link3.GetWindowRect(rc); ScreenToClient(rc);
		rc.left = rc.right;
		rc.right += 200;
		m_link6.MoveWindow(rc);
		m_link6.PositionWindow();

		CString totalstr, str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10;
		float sum = 0;
		int waiter1count = 0;
		int waiter12count = 0;
		int waiter2count = 0;
		int waiter22count = 0;
		for (i = 0; i < m_Listtake.GetItemCount(); i++)
		{
			field2 = m_Listtake.GetItemText(i, 3);
			field3 = m_Listtake.GetItemText(i, 4);
			sum += atof(field3);
			field4 = m_Listtake.GetItemText(i, 5);
			field5 = m_Listtake.GetItemText(i, 6);
			field6 = m_Listtake.GetItemText(i, 7);
			field7 = m_Listtake.GetItemText(i, 8);
			field8 = m_Listtake.GetItemText(i, 9);
			field9 = m_Listtake.GetItemText(i, 10);
			if (field6 == name)waiter1count++;
			if (field7 == name)waiter12count++;
			if (field8 == name)waiter2count++;
			if (field9 == name)waiter22count++;

		}
		str = "��Ӱʦ������\r\n";
		totalstr += str;
		str.Format("��Ӱ: %d\r\n", waiter1count); totalstr += str;
		str.Format("����: %d\r\n", waiter12count); totalstr += str;
#ifdef CHILD_VERSION
		str.Format("����: %d\r\n", waiter2count); totalstr += str;
#else
		str.Format ("��ױ: %d\r\n", waiter2count);totalstr+=str;
#endif
		str.Format("����: %d\r\n", waiter22count); totalstr += str;
		str.Format("�����ܽ��: %0.2f\r\n\r\n", sum); totalstr += str;

		float sum1 = 0;
		float sum2 = 0;
		float sum3 = 0;
		float sum12 = 0;
		float sum22 = 0;
		float sum32 = 0;
		int count1 = 0;
		int count2 = 0;
		int count3 = 0;
		for (i = 0; i < m_Listdigital.GetItemCount(); i++)
		{
			field2 = m_Listdigital.GetItemText(i, 3);
			field3 = m_Listdigital.GetItemText(i, 4);
			field4 = m_Listdigital.GetItemText(i, 5);
			field5 = m_Listdigital.GetItemText(i, 6);
			field6 = m_Listdigital.GetItemText(i, 7);
			field7 = m_Listdigital.GetItemText(i, 8);
			field8 = m_Listdigital.GetItemText(i, 9);
			field9 = m_Listdigital.GetItemText(i, 10);
			field10 = m_Listdigital.GetItemText(i, 14);
			if (m_Listdigital.GetItemText(i, 11) == "OK" && field4 == name && field5 >= date1 && field5 <= date2)
			{
				sum1 += atof(field3);
				sum12 += atof(field10);
				count1++;
			}
			if (m_Listdigital.GetItemText(i, 12) == "OK" && field6 == name && field7 >= date1 && field7 <= date2)
			{
				sum2 += atof(field3);
				sum22 += atof(field10);
				count2++;
			}
			if (m_Listdigital.GetItemText(i, 13) == "OK" && field8 == name && field9 >= date1 && field9 <= date2)
			{
				sum3 += atof(field3);
				sum32 += atof(field10);
				count3++;
			}
		}
		str = "��Ƭ�뾫�������\r\n";
		totalstr += str;
		str.Format("����: %d�� \r\n�������:%0.2f \r\nѡƬ����:%0.2f\r\n\r\n", count1, sum1, sum12); totalstr += str;
		str.Format("����: %d�� \r\n�������:%0.2f \r\nѡƬ����:%0.2f\r\n\r\n", count2, sum2, sum22); totalstr += str;
		str.Format("���: %d�� \r\n�������:%0.2f \r\nѡƬ����:%0.2f\r\n\r\n", count3, sum3, sum32); totalstr += str;

		GetDlgItem(IDC_EDITbz2)->SetWindowText(totalstr);
	}

	g_bNoConnDlg = 0;
}

CString TodayBar::GetPrice(CString name)
{
	for (int i = 0; i < m_Workratearray.GetSize(); i++)
	{
		if ("����ʦ" == m_Workratearray.ElementAt(i).ElementAt(0) && name == m_Workratearray.ElementAt(i).ElementAt(1))
		{
			return m_Workratearray.ElementAt(i).ElementAt(2);
		}
	}
	return "0";
}
void TodayBar::FillGrid4(CString &sRet)
{
	sRet = "0";
	if (m_Workratearray.GetSize() == 0)
	{
		/*
		#ifdef CHILD_VERSION
		AfxMessageBox("��Ӱʦ������ʦ������ʦ��ɷ���δ���ã����ڲ˵�-����ʼ����-����������������!");
		#else
		AfxMessageBox("��Ӱʦ����ױʦ������ʦ��ɷ���δ���ã����ڲ˵�-����ʼ����-����������������!");
		#endif*/
		return;
	}
	float fsum = 0;
	int	m_data1sy = -1;
	CString	m_data2sy;
	CString	m_data3sy;
	CString	m_data4sy;
	CString	m_data5sy;

	int	m_data1hz = -1;
	CString	m_data2hz;
	CString	m_data3hz;
	CString	m_data4hz;
	CString	m_data5hz;

	int i = 0;
	for ( i = 0; i < m_Workratearray.GetSize(); i++)
	{
		if ("��Ӱʦ" == m_Workratearray.ElementAt(i).ElementAt(0))
		{
			m_data1sy = atoi(m_Workratearray.ElementAt(i).ElementAt(1));
			m_data2sy = (m_Workratearray.ElementAt(i).ElementAt(2));
			m_data3sy = (m_Workratearray.ElementAt(i).ElementAt(3));
			m_data4sy = (m_Workratearray.ElementAt(i).ElementAt(4));
			m_data5sy = (m_Workratearray.ElementAt(i).ElementAt(5));
		}
#ifdef CHILD_VERSION
		else if ("����ʦ" == m_Workratearray.ElementAt(i).ElementAt(0))
#else
		else if("��ױʦ"==m_Workratearray.ElementAt (i).ElementAt (0))
#endif
		{
			m_data1hz = atoi(m_Workratearray.ElementAt(i).ElementAt(1));
			m_data2hz = (m_Workratearray.ElementAt(i).ElementAt(2));
			m_data3hz = (m_Workratearray.ElementAt(i).ElementAt(3));
			m_data4hz = (m_Workratearray.ElementAt(i).ElementAt(4));
			m_data5hz = (m_Workratearray.ElementAt(i).ElementAt(5));
		}
	}

	m_List4.DeleteAllItems2();
	int count = 0;
	CString str, price;
	for (i = 0; i < m_List4array.GetSize(); i++)//14
	{
		if (m_List4array.ElementAt(i).ElementAt(14) == "��Ӱʦ" && m_data1sy != 3)
		{
			if (m_data1sy == 0)//����װ������
			{
				m_List4.m_arLabels.SetSize(count + 1, 1);
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
				str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(5))*atof(m_data2sy) + atof(m_List4array.ElementAt(i).ElementAt(6))*atof(m_data3sy));
				m_List4.m_arLabels.ElementAt(count).Add(str);//���
				fsum += atof(str);

				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
				str.Format("�⾰%d,�ھ�%d", atoi(m_List4array.ElementAt(i).ElementAt(5)), atoi(m_List4array.ElementAt(i).ElementAt(6)));
				m_List4.m_arLabels.ElementAt(count).Add(str);
				str.Format("%d", atoi(m_List4array.ElementAt(i).ElementAt(5)) + atoi(m_List4array.ElementAt(i).ElementAt(6)));
				m_List4.m_arLabels.ElementAt(count).Add(str);

				str.Format("�⾰%0.2f,�ھ�%0.2f", atof(m_data2sy), atof(m_data3sy));
				m_List4.m_arLabels.ElementAt(count).Add(str);

				m_List4.m_arLabels.ElementAt(count).Add("����װ�������");
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
				count++;
			}
			else if (m_data1sy == 1)//����ϵ������
			{
				if (m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(15) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(16) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(17) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(18))
				{
					continue;//�Ȳ�������Ӱʦ��Ҳ���Ǹ�..
				}

				m_List4.m_arLabels.SetSize(count + 1, 1);
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));

				if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(15))
					str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(19)) / 10000.0);
				else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(16))
					str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(20)) / 10000.0);
				else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(17))
					str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(21)) / 10000.0);
				else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(18))
					str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(22)) / 10000.0);

				m_List4.m_arLabels.ElementAt(count).Add(str);//���
				fsum += atof(str);

				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
				m_List4.m_arLabels.ElementAt(count).Add("������");
				m_List4.m_arLabels.ElementAt(count).Add("������");
				str.Format("��ϵ��%d", atoi(m_data4sy));
				m_List4.m_arLabels.ElementAt(count).Add(str + "%");
				m_List4.m_arLabels.ElementAt(count).Add("����ϵ������");
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
				count++;
			}
			else if (m_data1sy == 2)//��������Ƭ���
			{
				m_List4.m_arLabels.SetSize(count + 1, 1);
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
				str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(31))*atof(m_data5sy));
				m_List4.m_arLabels.ElementAt(count).Add(str);//���	
				fsum += atof(str);

				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));


				m_List4.m_arLabels.ElementAt(count).Add("������");
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(31));

				str.Format("%0.2f", atof(m_data5sy));
				m_List4.m_arLabels.ElementAt(count).Add(str);

				m_List4.m_arLabels.ElementAt(count).Add("��������Ƭ���");
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
				count++;
			}
		}
#ifdef CHILD_VERSION
		else if (m_List4array.ElementAt(i).ElementAt(14) == "����ʦ" && m_data1hz != 3)
#else
		else if(m_List4array.ElementAt (i).ElementAt (14)=="��ױʦ" && m_data1hz!=3)
#endif
		{
			if (m_data1hz == 0)//����װ������
			{
				m_List4.m_arLabels.SetSize(count + 1, 1);
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
				str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(5))*atof(m_data2hz) + atof(m_List4array.ElementAt(i).ElementAt(6))*atof(m_data3hz));
				m_List4.m_arLabels.ElementAt(count).Add(str);//���
				fsum += atof(str);

				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
				str.Format("�⾰%d,�ھ�%d", atoi(m_List4array.ElementAt(i).ElementAt(5)), atoi(m_List4array.ElementAt(i).ElementAt(6)));
				m_List4.m_arLabels.ElementAt(count).Add(str);
				str.Format("%d", atoi(m_List4array.ElementAt(i).ElementAt(5)) + atoi(m_List4array.ElementAt(i).ElementAt(6)));
				m_List4.m_arLabels.ElementAt(count).Add(str);

				str.Format("�⾰%0.2f,�ھ�%0.2f", atof(m_data2hz), atof(m_data3hz));
				m_List4.m_arLabels.ElementAt(count).Add(str);

				m_List4.m_arLabels.ElementAt(count).Add("����װ�������");
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
				count++;
			}
			else if (m_data1hz == 1)//����ϵ������
			{

				if (m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(23) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(24) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(25) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(26))
				{
					continue;//�Ȳ�������ױʦ��Ҳ���Ǹ�..
				}

				m_List4.m_arLabels.SetSize(count + 1, 1);
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));

				if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(23))
					str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(27)) / 10000.0);
				else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(24))
					str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(28)) / 10000.0);
				else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(25))
					str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(29)) / 10000.0);
				else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(26))
					str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(30)) / 10000.0);

				m_List4.m_arLabels.ElementAt(count).Add(str);//���
				fsum += atof(str);

				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
				m_List4.m_arLabels.ElementAt(count).Add("������");
				m_List4.m_arLabels.ElementAt(count).Add("������");
				str.Format("��ϵ��%d", atoi(m_data4hz));
				m_List4.m_arLabels.ElementAt(count).Add(str + "%");
				m_List4.m_arLabels.ElementAt(count).Add("����ϵ������");
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
				count++;
			}
			else if (m_data1hz == 2)//��������Ƭ���
			{
				m_List4.m_arLabels.SetSize(count + 1, 1);
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
				str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(31))*atof(m_data5hz));
				m_List4.m_arLabels.ElementAt(count).Add(str);//���	
				fsum += atof(str);

				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));


				m_List4.m_arLabels.ElementAt(count).Add("������");
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(31));

				str.Format("%0.2f", atof(m_data5hz));
				m_List4.m_arLabels.ElementAt(count).Add(str);

				m_List4.m_arLabels.ElementAt(count).Add("��������Ƭ���");
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
				m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
				count++;
			}
		}
		else if (m_List4array.ElementAt(i).ElementAt(14) == "����ʦ")
		{
			m_List4.m_arLabels.SetSize(count + 1, 1);
			m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
			m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
			m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));

			price = GetPrice(m_List4array.ElementAt(i).ElementAt(6));
			str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(5))*atof(price));
			m_List4.m_arLabels.ElementAt(count).Add(str);//���
			fsum += atof(str);

			m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
			m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(6));
			m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(5));

			m_List4.m_arLabels.ElementAt(count).Add(price);

			m_List4.m_arLabels.ElementAt(count).Add("����x����");
			m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
			m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
			count++;
		}

	}
	m_List4.m_LabelCount = count;
	m_List4.SetItemCountEx(count);

	//	sRet.Format ("�Ƽ����(�ܺ�:%0.2f)", fsum);

	//	SetDlgItemText(IDC_STATIC16, sRet);
	sRet.Format("%0.2f", fsum);

	return;

	/*	sRet="0";
	if(m_Workratearray.GetSize ()==0)
	{

	return;
	}
	float fsum=0;
	int	m_data1sy=-1;
	CString	m_data2sy;
	CString	m_data3sy;
	CString	m_data4sy;
	CString	m_data5sy;

	int	m_data1hz=-1;
	CString	m_data2hz;
	CString	m_data3hz;
	CString	m_data4hz;
	CString	m_data5hz;

	for(int i=0; i<m_Workratearray.GetSize (); i++)
	{
	if("��Ӱʦ"==m_Workratearray.ElementAt (i).ElementAt (0))
	{
	m_data1sy=atoi(m_Workratearray.ElementAt (i).ElementAt (1));
	m_data2sy=(m_Workratearray.ElementAt (i).ElementAt (2));
	m_data3sy=(m_Workratearray.ElementAt (i).ElementAt (3));
	m_data4sy=(m_Workratearray.ElementAt (i).ElementAt (4));
	m_data5sy=(m_Workratearray.ElementAt (i).ElementAt (5));
	}
	#ifdef CHILD_VERSION
	else if("����ʦ"==m_Workratearray.ElementAt (i).ElementAt (0))
	#else
	else if("��ױʦ"==m_Workratearray.ElementAt (i).ElementAt (0))
	#endif
	{
	m_data1hz=atoi(m_Workratearray.ElementAt (i).ElementAt (1));
	m_data2hz=(m_Workratearray.ElementAt (i).ElementAt (2));
	m_data3hz=(m_Workratearray.ElementAt (i).ElementAt (3));
	m_data4hz=(m_Workratearray.ElementAt (i).ElementAt (4));
	m_data5hz=(m_Workratearray.ElementAt (i).ElementAt (5));
	}
	}
	if(m_data1sy==-1)
	{

	return;
	}
	if(m_data1hz==-1)
	{

	return;
	}




	m_List4.DeleteAllItems2 ();
	int count=0;
	CString str,price;
	for( i=0; i<m_List4array.GetSize (); i++)//14
	{
	if(m_List4array.ElementAt (i).ElementAt (14)=="��Ӱʦ" && m_data1sy!=3)
	{
	if(m_data1sy==0)//����װ������
	{
	m_List4.m_arLabels.SetSize(count+1, 1 );
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (0));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (1));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (2));
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (5))*atof(m_data2sy)+atof(m_List4array.ElementAt (i).ElementAt (6))*atof(m_data3sy) );
	m_List4.m_arLabels.ElementAt (count).Add (str);//���
	fsum+=atof(str);

	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (14));
	str.Format ("�⾰%d,�ھ�%d", atoi(m_List4array.ElementAt (i).ElementAt (5)), atoi(m_List4array.ElementAt (i).ElementAt (6)));
	m_List4.m_arLabels.ElementAt (count).Add (str);
	str.Format ("%d", atoi(m_List4array.ElementAt (i).ElementAt (5))+atoi(m_List4array.ElementAt (i).ElementAt (6)));
	m_List4.m_arLabels.ElementAt (count).Add (str);

	str.Format ("�⾰%0.2f,�ھ�%0.2f", atof(m_data2sy) ,atof(m_data3sy));
	m_List4.m_arLabels.ElementAt (count).Add (str);

	m_List4.m_arLabels.ElementAt (count).Add ("����װ�������");
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (9));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (4));
	count++;
	}
	else if(m_data1sy==1)//����ϵ������
	{
	if(m_List4array.ElementAt (i).ElementAt (3)!=m_List4array.ElementAt (i).ElementAt (15)&&m_List4array.ElementAt (i).ElementAt (3)!=m_List4array.ElementAt (i).ElementAt (16)&&m_List4array.ElementAt (i).ElementAt (3)!=m_List4array.ElementAt (i).ElementAt (17)&&m_List4array.ElementAt (i).ElementAt (3)!=m_List4array.ElementAt (i).ElementAt (18))
	{
	continue;//�Ȳ�������Ӱʦ��Ҳ���Ǹ�..
	}

	m_List4.m_arLabels.SetSize(count+1, 1 );
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (0));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (1));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (2));

	if(m_List4array.ElementAt (i).ElementAt (3)==m_List4array.ElementAt (i).ElementAt (15))
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (9))*atof(m_data4sy)*atof(m_List4array.ElementAt (i).ElementAt (19))/10000.0 );
	else if(m_List4array.ElementAt (i).ElementAt (3)==m_List4array.ElementAt (i).ElementAt (16))
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (9))*atof(m_data4sy)*atof(m_List4array.ElementAt (i).ElementAt (20))/10000.0 );
	else if(m_List4array.ElementAt (i).ElementAt (3)==m_List4array.ElementAt (i).ElementAt (17))
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (9))*atof(m_data4sy)*atof(m_List4array.ElementAt (i).ElementAt (21))/10000.0 );
	else if(m_List4array.ElementAt (i).ElementAt (3)==m_List4array.ElementAt (i).ElementAt (18))
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (9))*atof(m_data4sy)*atof(m_List4array.ElementAt (i).ElementAt (22))/10000.0 );

	m_List4.m_arLabels.ElementAt (count).Add (str);//���
	fsum+=atof(str);

	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (14));
	m_List4.m_arLabels.ElementAt (count).Add ("������");
	m_List4.m_arLabels.ElementAt (count).Add ("������");
	str.Format ("��ϵ��%d", atoi(m_data4sy));
	m_List4.m_arLabels.ElementAt (count).Add (str+"%");
	m_List4.m_arLabels.ElementAt (count).Add ("����ϵ������");
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (9));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (4));
	count++;
	}
	else if(m_data1sy==2)//��������Ƭ���
	{
	m_List4.m_arLabels.SetSize(count+1, 1 );
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (0));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (1));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (2));
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (31))*atof(m_data5sy) );
	m_List4.m_arLabels.ElementAt (count).Add (str);//���
	fsum+=atof(str);

	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (14));


	m_List4.m_arLabels.ElementAt (count).Add ("������");
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (31));

	str.Format ("%0.2f", atof(m_data5sy) );
	m_List4.m_arLabels.ElementAt (count).Add (str);

	m_List4.m_arLabels.ElementAt (count).Add ("��������Ƭ���");
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (9));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (4));
	count++;
	}
	}
	#ifdef CHILD_VERSION
	else if(m_List4array.ElementAt (i).ElementAt (14)=="����ʦ" && m_data1hz!=3)
	#else
	else if(m_List4array.ElementAt (i).ElementAt (14)=="��ױʦ" && m_data1hz!=3)
	#endif
	{
	if(m_data1hz==0)//����װ������
	{
	m_List4.m_arLabels.SetSize(count+1, 1 );
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (0));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (1));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (2));
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (5))*atof(m_data2hz)+atof(m_List4array.ElementAt (i).ElementAt (6))*atof(m_data3hz) );
	m_List4.m_arLabels.ElementAt (count).Add (str);//���
	fsum+=atof(str);

	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (14));
	str.Format ("�⾰%d,�ھ�%d", atoi(m_List4array.ElementAt (i).ElementAt (5)), atoi(m_List4array.ElementAt (i).ElementAt (6)));
	m_List4.m_arLabels.ElementAt (count).Add (str);
	str.Format ("%d", atoi(m_List4array.ElementAt (i).ElementAt (5))+atoi(m_List4array.ElementAt (i).ElementAt (6)));
	m_List4.m_arLabels.ElementAt (count).Add (str);

	str.Format ("�⾰%0.2f,�ھ�%0.2f", atof(m_data2hz) ,atof(m_data3hz));
	m_List4.m_arLabels.ElementAt (count).Add (str);

	m_List4.m_arLabels.ElementAt (count).Add ("����װ�������");
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (9));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (4));
	count++;
	}
	else if(m_data1hz==1)//����ϵ������
	{

	if(m_List4array.ElementAt (i).ElementAt (3)!=m_List4array.ElementAt (i).ElementAt (23)&&m_List4array.ElementAt (i).ElementAt (3)!=m_List4array.ElementAt (i).ElementAt (24)&&m_List4array.ElementAt (i).ElementAt (3)!=m_List4array.ElementAt (i).ElementAt (25)&&m_List4array.ElementAt (i).ElementAt (3)!=m_List4array.ElementAt (i).ElementAt (26))
	{
	continue;//�Ȳ�������ױʦ��Ҳ���Ǹ�..
	}

	m_List4.m_arLabels.SetSize(count+1, 1 );
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (0));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (1));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (2));

	if(m_List4array.ElementAt (i).ElementAt (3)==m_List4array.ElementAt (i).ElementAt (23))
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (9))*atof(m_data4sy)*atof(m_List4array.ElementAt (i).ElementAt (27))/10000.0 );
	else if(m_List4array.ElementAt (i).ElementAt (3)==m_List4array.ElementAt (i).ElementAt (24))
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (9))*atof(m_data4sy)*atof(m_List4array.ElementAt (i).ElementAt (28))/10000.0 );
	else if(m_List4array.ElementAt (i).ElementAt (3)==m_List4array.ElementAt (i).ElementAt (25))
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (9))*atof(m_data4sy)*atof(m_List4array.ElementAt (i).ElementAt (29))/10000.0 );
	else if(m_List4array.ElementAt (i).ElementAt (3)==m_List4array.ElementAt (i).ElementAt (26))
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (9))*atof(m_data4sy)*atof(m_List4array.ElementAt (i).ElementAt (30))/10000.0 );

	m_List4.m_arLabels.ElementAt (count).Add (str);//���
	fsum+=atof(str);

	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (14));
	m_List4.m_arLabels.ElementAt (count).Add ("������");
	m_List4.m_arLabels.ElementAt (count).Add ("������");
	str.Format ("��ϵ��%d", atoi(m_data4hz));
	m_List4.m_arLabels.ElementAt (count).Add (str+"%");
	m_List4.m_arLabels.ElementAt (count).Add ("����ϵ������");
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (9));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (4));
	count++;
	}
	else if(m_data1hz==2)//��������Ƭ���
	{
	m_List4.m_arLabels.SetSize(count+1, 1 );
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (0));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (1));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (2));
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (31))*atof(m_data5hz) );
	m_List4.m_arLabels.ElementAt (count).Add (str);//���
	fsum+=atof(str);

	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (14));


	m_List4.m_arLabels.ElementAt (count).Add ("������");
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (31));

	str.Format ("%0.2f", atof(m_data5hz) );
	m_List4.m_arLabels.ElementAt (count).Add (str);

	m_List4.m_arLabels.ElementAt (count).Add ("��������Ƭ���");
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (9));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (4));
	count++;
	}
	}
	else if(m_List4array.ElementAt (i).ElementAt (14)=="����ʦ")
	{
	m_List4.m_arLabels.SetSize(count+1, 1 );
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (0));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (1));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (2));

	price=GetPrice(m_List4array.ElementAt (i).ElementAt (6));
	str.Format ("%0.2f", atof(m_List4array.ElementAt (i).ElementAt (5))*atof(price));
	m_List4.m_arLabels.ElementAt (count).Add (str);//���
	fsum+=atof(str);

	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (14));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (6));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (5));

	m_List4.m_arLabels.ElementAt (count).Add (price);

	m_List4.m_arLabels.ElementAt (count).Add ("����x����");
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (9));
	m_List4.m_arLabels.ElementAt (count).Add (m_List4array.ElementAt (i).ElementAt (4));
	count++;
	}

	}

	m_List4.m_LabelCount=count;
	m_List4.SetItemCountEx (count);
	sRet.Format ("%0.2f", fsum);
	*/
}

void TodayBar::FillGrid(CArray<CStringArray, CStringArray>*array)
{
	m_List1.DeleteAllItems2();
	int ii = 0;
	m_List1.m_arLabels.SetSize(array->GetSize(), 1);
	int count = 0;
	for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
	{
		m_List1.m_arLabels.ElementAt(count++).Copy(array->ElementAt(ii));
	}
	m_List1.m_arLabels.SetSize(count, 1);
	ii = count;
	m_List1.m_LabelCount = ii;
	m_List1.SetItemCountEx(ii);
}

void TodayBar::FillGridTake(CArray<CStringArray, CStringArray>*array)
{
	m_Listtake.DeleteAllItems2();
	int ii = 0;
	m_Listtake.m_arLabels.SetSize(array->GetSize(), 1);
	int count = 0;
	for (ii = 0; ii < m_Listtake.m_arLabels.GetSize(); ii++)
	{
		m_Listtake.m_arLabels.ElementAt(count++).Copy(array->ElementAt(ii));
	}
	m_Listtake.m_arLabels.SetSize(count, 1);
	ii = count;
	m_Listtake.m_LabelCount = ii;
	m_Listtake.SetItemCountEx(ii);
}

void TodayBar::FillGridDigital(CArray<CStringArray, CStringArray>*array)
{
	m_Listdigital.DeleteAllItems2();
	int ii = 0;
	m_Listdigital.m_arLabels.SetSize(array->GetSize(), 1);
	int count = 0;
	for (ii = 0; ii < m_Listdigital.m_arLabels.GetSize(); ii++)
	{
		m_Listdigital.m_arLabels.ElementAt(count++).Copy(array->ElementAt(ii));
	}
	m_Listdigital.m_arLabels.SetSize(count, 1);
	ii = count;
	m_Listdigital.m_LabelCount = ii;
	m_Listdigital.SetItemCountEx(ii);
}

HBRUSH TodayBar::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

	// TODO: Change any attributes of the DC here
	if (nCtlColor == CTLCOLOR_STATIC)
	{
		if (pWnd->GetDlgCtrlID() == 100)return hbr;
		pDC->SetTextColor(RGB(181, 181, 181));
		//	pdc->setbkcolor(rgb(255,255,255));   
		pDC->SetBkMode(TRANSPARENT);
		return   (HBRUSH)m_brush;//::GetStockObject(NULL_BRUSH); 
	}
	else if (CTLCOLOR_EDIT == nCtlColor)
	{
		pDC->SetTextColor(RGB(181, 181, 181));
		//	pdc->setbkcolor(rgb(255,255,255));   
		pDC->SetBkMode(TRANSPARENT);
		return   (HBRUSH)m_brush;//::GetStockObject(NULL_BRUSH); 
	}
	// TODO: Return a different brush if the default is not desired
	return hbr;
}
void TodayBar::LinkClick(CString str)
{
	if (str.Find("����") != -1)
	{
		g_pMainWnd->OnCommandMenu(IDM_TAKECONTROL);
	}
	else if (str == "��ȫ�˳� ")
	{
		m_bGet = 0;
		g_pMainWnd->OnCommandMenu(IDM_Logout);
	}
	else if (str == "��������")
	{
		LinkClick("��");
	}
	else if (str == "�鿴����")
	{
		m_link3.ShowWindow(0);
		m_link3.SetWindowText("��������");
		m_link3.ShowWindow(1);


		CRect rc = g_rc;
		rc.left++;
		rc.right -= 2;
		MoveWindow(rc);

		rc.top += 30;
		int hei = rc.Height();
		CRect rc2, rc3;
		GetDlgItem(IDC_STATIC12)->GetWindowRect(rc2);
		int hei2 = rc2.Height();
		GetDlgItem(IDC_LIST2)->GetWindowRect(rc2);
		ScreenToClient(rc2);
		rc2.bottom = rc2.top + hei / 2 - hei2 * 2;
		rc2.right = rc.Width() - 5;
		int wid = rc2.Width() / 2;
		rc2.right -= wid;
		GetDlgItem(IDC_LIST2)->MoveWindow(rc2);

		GetDlgItem(IDC_BUTTON4)->GetWindowRect(rc3);
		int btnwid = rc3.Width();
		int btnhei = rc3.Height();
		rc3 = rc2;
		rc3.top -= btnhei + 2;
		rc3.bottom = rc3.top + btnhei;
		rc3.right -= 5;
		rc3.left = rc3.right - btnwid;
		GetDlgItem(IDC_BUTTON4)->MoveWindow(rc3);


		rc3 = rc2;
		rc3.left = rc3.right;
		rc3.right = rc3.left + wid;
		GetDlgItem(IDC_LIST7)->MoveWindow(rc3);
		rc3.top -= btnhei + 2;
		rc3.bottom = rc3.top + btnhei;
		rc3.right -= 5;
		rc3.left = rc3.right - btnwid;
		GetDlgItem(IDC_BUTTON7)->MoveWindow(rc3);
		GetDlgItem(IDC_LIST7)->GetWindowRect(rc3);
		ScreenToClient(rc3);
		rc3.top -= hei2;
		rc3.bottom = rc3.top + hei2;
		GetDlgItem(IDC_STATIC3)->MoveWindow(rc3);


		rc2.top = rc2.bottom + hei2 * 2;
		rc2.bottom = g_rc.Height();
		GetDlgItem(IDC_LIST8)->MoveWindow(rc2);
		rc3 = rc2;
		rc3.top -= btnhei + 2;
		rc3.bottom = rc3.top + btnhei;
		rc3.right -= 5;
		rc3.left = rc3.right - btnwid;
		GetDlgItem(IDC_BUTTON8)->MoveWindow(rc3);
		GetDlgItem(IDC_LIST8)->GetWindowRect(rc3);
		ScreenToClient(rc3);
		rc3.top -= hei2;
		rc3.bottom = rc3.top + hei2;
		GetDlgItem(IDC_STATIC10)->MoveWindow(rc3);


		rc3 = rc2;
		rc3.left = rc3.right;
		rc3.right = rc3.left + wid;
		GetDlgItem(IDC_LIST4)->MoveWindow(rc3);
		rc3.top -= btnhei + 2;
		rc3.bottom = rc3.top + btnhei;
		rc3.right -= 5;
		rc3.left = rc3.right - btnwid;
		GetDlgItem(IDC_BUTTON14)->MoveWindow(rc3);
		GetDlgItem(IDC_LIST4)->GetWindowRect(rc3);
		ScreenToClient(rc3);
		rc3.top -= hei2;
		rc3.bottom = rc3.top + hei2;
		GetDlgItem(IDC_STATIC16)->MoveWindow(rc3);

		GetDlgItem(IDC_STATIC2)->GetWindowRect(rc3); ScreenToClient(rc3);
		rc3.bottom = g_rc.Height() - hei2;
		GetDlgItem(IDC_STATIC2)->MoveWindow(rc3);

		GetDlgItem(IDC_EDITbz2)->GetWindowRect(rc3); ScreenToClient(rc3);
		rc3.bottom = g_rc.Height() - hei2 * 2;
		GetDlgItem(IDC_EDITbz2)->MoveWindow(rc3);

		m_link5.ShowWindow(0);
		m_link5.SetWindowText("��");
		m_link5.ShowWindow(1);
	}
	else if (str == "��")
	{
		LinkClick("�鿴����");
	}
	else if (str == "��")
	{
		m_link3.ShowWindow(0);
		m_link3.SetWindowText("�鿴����");
		m_link3.ShowWindow(1);
		m_link5.ShowWindow(0);
		m_link5.SetWindowText("��");
		m_link5.ShowWindow(1);
		CRect rc = g_rc; rc.bottom = rc.top + 20;
		rc.left++;
		rc.right -= 2;
		MoveWindow(rc);
	}
	else if (str == " ����ͬ��")
	{
		StaffAchievementShowAll dlg;

		/*dlg.m_year=m_year;
		dlg.m_month=m_month;
		dlg.m_day=m_day;
		dlg.m_radio2=1;
		dlg.m_radio1=1;*/
		dlg.DoModal();
	}
}

BOOL TodayBar::PreTranslateMessage(MSG* pMsg)
{
	// TODO: Add your specialized code here and/or call the base class
	if (pMsg->message == WM_KEYDOWN)
	{
		g_pMainWnd->SetForegroundWindow();
		return g_pMainWnd->PreTranslateMessage(pMsg);
		switch (pMsg->wParam)
		{
		case VK_F1:
			ShellExecute(NULL, _T("open"), _T(g_mainpath + "\\�����ĵ�.chm"), "", NULL, SW_SHOWNORMAL);
			return 1;
		case VK_F2:
			{
			}
		}
	}
	return CDialog::PreTranslateMessage(pMsg);
}
//%0.2f

void TodayBar::OnButton5()
{
	// TODO: Add your control notification handler code here
	SelExpendType seldlg;
	seldlg.m_mode = 2;
	if (seldlg.DoModal() != IDOK)return;
	SalarySet4 dlg;
	dlg.m_header = "$" + seldlg.m_sel + ":";
	dlg.DoModal();
}

void TodayBar::OnButton6()
{
	// TODO: Add your control notification handler code here
	SelExpendType seldlg;
	seldlg.m_bSecond = 1;
	if (seldlg.DoModal() != IDOK)return;
	SalarySet4 dlg;
	dlg.m_header = "$" + seldlg.m_sel + ":";
	dlg.DoModal();
}
void TodayBar::OnButton4()
{
	// TODO: Add your control notification handler code here IDC_LIST2
	CString name = g_user.name;

	CStdioFile fp;
	fp.Open("c:\\" + name + ".txt", CFile::modeCreate | CFile::modeWrite);
	CString str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10;

	int leng1 = 20;
	int leng2 = 15;
	int leng3 = 15;
	int leng4 = 15;
	int leng5 = 15;
	int leng6 = 15;
	int leng7 = 15;
	int leng8 = 15;
	int leng9 = 15;
	int leng10 = 15;

	field1 = "�տ�����";
	field2 = "�տ���";
	field3 = "�������";
	field4 = "��������";


	FillLength(field1, leng1);
	FillLength(field2, leng2);
	FillLength(field3, leng3);
	FillLength(field4, leng4);

	str = field1 + field2 + field3 + field4 + "\n";
	fp.WriteString(str);

	CString m_name1, m_name2;
	float sum = 0;
	int i = 0;
	for ( i = 0; i < m_List1.GetItemCount(); i++)
	{
		field4.Empty();
		field1 = m_List1.GetItemText(i, 1);
		field2 = m_List1.GetItemText(i, 0);
		sum += atof(field2);
		field3 = m_List1.GetItemText(i, 2);
		m_name1 = m_List1.GetItemText(i, 3);
		m_name2 = m_List1.GetItemText(i, 4);
		if (!m_name1.IsEmpty())
			field4 = m_name1 + ",";
		field4 += m_name2;
		field4.TrimRight(",");
		FillLength(field1, leng1);
		FillLength(field2, leng2);
		FillLength(field3, leng3);
		FillLength(field4, leng4);
		str = field1 + field2 + field3 + field4 + "\n";
		fp.WriteString(str);
	}
	fp.WriteString("\n");

	str = "����: " + name;
	fp.WriteString(str); fp.WriteString("\n");
	str = "���: �����������\n";
	fp.WriteString(str);

	str.Format("�ܼ�: %0.2f", sum); fp.WriteString(str);

	if (0)//m_List4.GetItemCount ())
	{
		GetDlgItemText(IDC_STATIC16, str); fp.WriteString(str); fp.WriteString("\n");

		leng1 = 20;
		leng2 = 15;
		leng3 = 10;
		leng4 = 15;
		leng5 = 10;
		leng6 = 25;
		leng7 = 20;
		leng8 = 15;
		leng9 = 15;

		field1 = "��������";
		field2 = "��ɽ��";
		field3 = "����";
		field4 = "����";
		field5 = "����";
		field6 = "����";
		field7 = "��ɷ�ʽ";
		field8 = "��ϵ���";
		field9 = "����";

		FillLength(field1, leng1);
		FillLength(field2, leng2);
		FillLength(field3, leng3);
		FillLength(field4, leng4);
		FillLength(field5, leng5);
		FillLength(field6, leng6);
		FillLength(field7, leng7);
		FillLength(field8, leng8);
		FillLength(field9, leng9);
		str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + "\n";
		fp.WriteString(str);
		for (i = 0; i < m_List4.GetItemCount(); i++)
		{
			field1.Empty();
			m_name1 = m_List4.GetItemText(i, 1);
			m_name2 = m_List4.GetItemText(i, 2);
			if (!m_name1.IsEmpty())
				field1 = m_name1 + ",";
			field1 += m_name2;
			field1.TrimRight(",");
			field2 = m_List4.GetItemText(i, 3);
			field3 = m_List4.GetItemText(i, 4);
			field4 = m_List4.GetItemText(i, 5);
			field5 = m_List4.GetItemText(i, 6);
			field6 = m_List4.GetItemText(i, 7);
			field7 = m_List4.GetItemText(i, 8);
			field8 = m_List4.GetItemText(i, 9);
			field9 = m_List4.GetItemText(i, 10);

			FillLength(field1, leng1);
			FillLength(field2, leng2);
			FillLength(field3, leng3);
			FillLength(field4, leng4);
			FillLength(field5, leng5);
			FillLength(field6, leng6);
			FillLength(field7, leng7);
			FillLength(field8, leng8);
			FillLength(field9, leng9);

			str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + "\n";
			fp.WriteString(str);
		}
	}

	fp.Close();
	MessageBox("�����ѱ��浽c:\\" + name + ".txt");
	ShellExecute(NULL, _T("open"), _T("c:\\" + name + ".txt"), NULL, NULL, SW_SHOWMAXIMIZED);
}

void TodayBar::OnButton14()
{
	CString name = g_user.name;

	CStdioFile fp;
	fp.Open("c:\\" + name + "(�Ƽ�).txt", CFile::modeCreate | CFile::modeWrite);
	CString str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10;

	int leng1 = 20;
	int leng2 = 15;
	int leng3 = 15;
	int leng4 = 15;
	int leng5 = 15;
	int leng6 = 15;
	int leng7 = 15;
	int leng8 = 15;
	int leng9 = 15;
	int leng10 = 15;


	CString m_name1, m_name2;
	float sum = 0;
	{
		leng1 = 18;
		leng2 = 15;
		leng3 = 10;
		leng4 = 15;
		leng5 = 10;
		leng6 = 10;
		leng7 = 15;
		leng8 = 15;
		leng9 = 15;

		field1 = "��������";
		field2 = "��ɽ��";
		field3 = "����";
		field4 = "����";
		field5 = "����";
		field6 = "����";
		field7 = "��ɷ�ʽ";
		field8 = "��ϵ���";
		field9 = "����";

		FillLength(field1, leng1);
		FillLength(field2, leng2);
		FillLength(field3, leng3);
		FillLength(field4, leng4);
		FillLength(field5, leng5);
		FillLength(field6, leng6);
		FillLength(field7, leng7);
		FillLength(field8, leng8);
		FillLength(field9, leng9);
		str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + "\n";
		fp.WriteString(str);
		for (int i = 0; i < m_List4.GetItemCount(); i++)
		{
			field1.Empty();
			m_name1 = m_List4.GetItemText(i, 1);
			m_name2 = m_List4.GetItemText(i, 2);
			if (!m_name1.IsEmpty())
				field1 = m_name1 + ",";
			field1 += m_name2;
			field1.TrimRight(",");
			field2 = m_List4.GetItemText(i, 3);
			sum += atof(field2);
			field3 = m_List4.GetItemText(i, 4);
			field4 = m_List4.GetItemText(i, 5);
			field5 = m_List4.GetItemText(i, 6);
			field6 = m_List4.GetItemText(i, 7);
			field7 = m_List4.GetItemText(i, 8);
			field8 = m_List4.GetItemText(i, 9);
			field9 = m_List4.GetItemText(i, 10);

			FillLength(field1, leng1);
			FillLength(field2, leng2);
			FillLength(field3, leng3);
			FillLength(field4, leng4);
			FillLength(field5, leng5);
			FillLength(field6, leng6);
			FillLength(field7, leng7);
			FillLength(field8, leng8);
			FillLength(field9, leng9);

			str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + "\n";
			fp.WriteString(str);
		}
		fp.WriteString("\n");
		str = "����: " + name;
		fp.WriteString(str); fp.WriteString("\n");
		str = "���: �Ƽ����\n";
		fp.WriteString(str);

		str.Format("�ܼ�: %0.2f", sum); fp.WriteString(str);
	}

	fp.Close();
	MessageBox("�����ѱ��浽c:\\" + name + "(�Ƽ�).txt");
	ShellExecute(NULL, _T("open"), _T("c:\\" + name + "(�Ƽ�).txt"), NULL, NULL, SW_SHOWMAXIMIZED);
}

void TodayBar::OnButton7()
{
	CString name = g_user.name;

	CStdioFile fp;
	fp.Open("c:\\" + name + "(��Ӱ).txt", CFile::modeCreate | CFile::modeWrite);
	CString str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10;

	int leng1 = 20;
	int leng2 = 15;
	int leng3 = 15;
	int leng4 = 15;
	int leng5 = 15;
	int leng6 = 15;
	int leng7 = 15;
	int leng8 = 15;
	int leng9 = 15;
	int leng10 = 15;

	CString m_name1, m_name2;
	float sum = 0;
	int waiter1count = 0;
	int waiter12count = 0;
	int waiter2count = 0;
	int waiter22count = 0;
	{
		leng1 = 18;
		leng2 = 20;
		leng3 = 12;
		leng4 = 20;
		leng5 = 15;
		leng6 = 10;
		leng7 = 10;
		leng8 = 10;
		leng9 = 10;

		field1 = "��������";
		field2 = "��ϵ";
		field3 = "��ϵ���";
		field4 = "����";
		field5 = "����";
		field6 = "��Ӱ";
		field7 = "����";
		field8 = "��ױ";
#ifdef CHILD_VERSION
		field8 = "����";
#endif
		field9 = "����";

		FillLength(field1, leng1);
		FillLength(field2, leng2);
		FillLength(field3, leng3);
		FillLength(field4, leng4);
		FillLength(field5, leng5);
		FillLength(field6, leng6);
		FillLength(field7, leng7);
		FillLength(field8, leng8);
		FillLength(field9, leng9);
		str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + "\n";
		fp.WriteString(str);
		for (int i = 0; i < m_Listtake.GetItemCount(); i++)
		{
			field1.Empty();
			m_name1 = m_Listtake.GetItemText(i, 1);
			m_name2 = m_Listtake.GetItemText(i, 2);
			if (!m_name1.IsEmpty())
				field1 = m_name1 + ",";
			field1 += m_name2;
			field1.TrimRight(",");
			field2 = m_Listtake.GetItemText(i, 3);
			field3 = m_Listtake.GetItemText(i, 4);
			sum += atof(field3);

			field4 = m_Listtake.GetItemText(i, 5);
			field5 = m_Listtake.GetItemText(i, 6);
			field6 = m_Listtake.GetItemText(i, 7);
			field7 = m_Listtake.GetItemText(i, 8);
			field8 = m_Listtake.GetItemText(i, 9);
			field9 = m_Listtake.GetItemText(i, 10);
			if (field6 == name)waiter1count++;
			if (field7 == name)waiter12count++;
			if (field8 == name)waiter2count++;
			if (field9 == name)waiter22count++;
			FillLength(field1, leng1);
			FillLength(field2, leng2);
			FillLength(field3, leng3);
			FillLength(field4, leng4);
			FillLength(field5, leng5);
			FillLength(field6, leng6);
			FillLength(field7, leng7);
			FillLength(field8, leng8);
			FillLength(field9, leng9);

			str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + "\n";
			fp.WriteString(str);
		}
		fp.WriteString("\n");
		str = "����: " + name;
		fp.WriteString(str); fp.WriteString("\n");

		str.Format("��Ӱ: %d\n", waiter1count); fp.WriteString(str);
		str.Format("����: %d\n", waiter12count); fp.WriteString(str);
#ifdef CHILD_VERSION
		str.Format("����: %d\n", waiter2count); fp.WriteString(str);
#else
		str.Format ("��ױ: %d\n", waiter2count);fp.WriteString (str);
#endif
		str.Format("����: %d\n", waiter22count); fp.WriteString(str);
		str.Format("�����ܽ��: %0.2f", sum); fp.WriteString(str);
	}

	fp.Close();
	MessageBox("�����ѱ��浽c:\\" + name + "(��Ӱ).txt");
	ShellExecute(NULL, _T("open"), _T("c:\\" + name + "(��Ӱ).txt"), NULL, NULL, SW_SHOWMAXIMIZED);
}

void TodayBar::UpdateTodayMsg(){//add by wangwenbin 2014-05-03

	CString str;
	CString sql;
	CString strdate, strdate2;
	strdate2 = strdate = g_date;
	g_sendhead.code[0] = 120;
	g_sendhead.code[1] = 121;
	g_sendhead.code[2] = 122;
	g_sendhead.code[3] = 123;
	g_sendhead.code[4] = 139;
	g_sendhead.code[5] = 146;
	g_sendhead.tabcount = 6;
	g_sendhead.bsql = 0;

	sql.Format("bookingdate>='" + strdate + "' and bookingdate<='" + strdate2 + "';time4>='" + strdate + "' and time4<='" + strdate2 + "';time6>='" + strdate + "' and time6<='" + strdate2 + "';time5>='" + strdate + "' and time5<='" + strdate2 + "';hqdate>='" + strdate + "' and hqdate<='" + strdate2 + "' and kind='2';;");
	g_pMainWnd->ProcessChatMessageRequest2(sql);
	if (g_bSendOK == 0)return;

	DataToArray(&m_TodayList1array, &m_TodayList2array, &m_TodayList3array, &m_TodayList4array, &m_TodayList5array, &m_Workratearray);

#if JEFF_TEST_ON	// 2015-05-15
	// Ҫ�ȹ���m_List1array���ظ�����;
	for (int i = 0; i < m_TodayList1array.GetSize(); i++)
	{
		CStringArray &SubAry = m_TodayList1array.ElementAt(i);

		int nSize = m_TodayList1array.GetSize();
		for (int n = nSize - 1; n > 0; n--)
		{
			if (SubAry.ElementAt(0) == m_TodayList1array.ElementAt(n).ElementAt(0))
			{
				if (i != n)
					m_TodayList1array.RemoveAt(n);
			}
		}
	}
#endif

#ifdef CHILD_VERSION 
	str.Format("��������:%d ����ѡƬ:%d ���տ����:%d ����ȡ��:%d ", m_TodayList1array.GetSize(), m_TodayList2array.GetSize(), m_TodayList3array.GetSize(), m_TodayList4array.GetSize());
#else
	str.Format("��������:%d ����ѡƬ:%d ���տ����:%d ����ȡ��:%d ���ջ���:%d ", m_TodayList1array.GetSize(), m_TodayList2array.GetSize(), m_TodayList3array.GetSize(), m_TodayList4array.GetSize(), m_TodayList5array.GetSize());
	//1,1,1,1,1); //wangwenbin test
#endif
	m_link1.SetWindowText(str);

}

void TodayBar::OnButton8()
{
	CString name = g_user.name;
	CString date1, date2;

	date1.Format("%s-%s-01", g_date.Mid(0, 4), g_date.Mid(5, 2));
	date2.Format("%s-%s-31", g_date.Mid(0, 4), g_date.Mid(5, 2));

	CStdioFile fp;
	fp.Open("c:\\" + name + "(����).txt", CFile::modeCreate | CFile::modeWrite);
	CString str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10;


	int leng1 = 20;
	int leng2 = 15;
	int leng3 = 15;
	int leng4 = 15;
	int leng5 = 15;
	int leng6 = 15;
	int leng7 = 15;
	int leng8 = 15;
	int leng9 = 15;
	int leng10 = 15;


	CString m_name1, m_name2;
	float sum1 = 0;
	float sum2 = 0;
	float sum3 = 0;
	float sum12 = 0;
	float sum22 = 0;
	float sum32 = 0;
	int count1 = 0;
	int count2 = 0;
	int count3 = 0;

	{
		leng1 = 18;
		leng2 = 20;
		leng3 = 12;
		leng4 = 10;
		leng5 = 15;
		leng6 = 10;
		leng7 = 15;
		leng8 = 10;
		leng9 = 15;

		field1 = "��������";
		field2 = "��ϵ";
		field3 = "��ϵ���";
		field4 = "����";
		field5 = "����";
		field6 = "����";
		field7 = "����";
		field8 = "���";
		field9 = "����";
		field10 = "ѡƬ����";
		FillLength(field1, leng1);
		FillLength(field2, leng2);
		FillLength(field3, leng3);
		FillLength(field4, leng4);
		FillLength(field5, leng5);
		FillLength(field6, leng6);
		FillLength(field7, leng7);
		FillLength(field8, leng8);
		FillLength(field9, leng9);
		FillLength(field10, leng10);
		str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + field10 + "\n";
		fp.WriteString(str);
		for (int i = 0; i < m_Listdigital.GetItemCount(); i++)
		{
			field1.Empty();
			m_name1 = m_Listdigital.GetItemText(i, 1);
			m_name2 = m_Listdigital.GetItemText(i, 2);
			if (!m_name1.IsEmpty())
				field1 = m_name1 + ",";
			field1 += m_name2;
			field1.TrimRight(",");
			field2 = m_Listdigital.GetItemText(i, 3);
			field3 = m_Listdigital.GetItemText(i, 4);
			field4 = m_Listdigital.GetItemText(i, 5);
			field5 = m_Listdigital.GetItemText(i, 6);
			field6 = m_Listdigital.GetItemText(i, 7);
			field7 = m_Listdigital.GetItemText(i, 8);
			field8 = m_Listdigital.GetItemText(i, 9);
			field9 = m_Listdigital.GetItemText(i, 10);
			field10 = m_Listdigital.GetItemText(i, 14);
			if (m_Listdigital.GetItemText(i, 11) == "OK" && field4 == name && field5 >= date1 && field5 <= date2)
			{
				sum1 += atof(field3);
				sum12 += atof(field10);
				count1++;
			}
			if (m_Listdigital.GetItemText(i, 12) == "OK" && field6 == name && field7 >= date1 && field7 <= date2)
			{
				sum2 += atof(field3);
				sum22 += atof(field10);
				count2++;
			}
			if (m_Listdigital.GetItemText(i, 13) == "OK" && field8 == name && field9 >= date1 && field9 <= date2)
			{
				sum3 += atof(field3);
				sum32 += atof(field10);
				count3++;
			}

			FillLength(field1, leng1);
			FillLength(field2, leng2);
			FillLength(field3, leng3);
			FillLength(field4, leng4);
			FillLength(field5, leng5);
			FillLength(field6, leng6);
			FillLength(field7, leng7);
			FillLength(field8, leng8);
			FillLength(field9, leng9);
			FillLength(field10, leng10);
			str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + field10 + "\n";
			fp.WriteString(str);
		}
		fp.WriteString("\n");
		str = "����: " + name;
		fp.WriteString(str); fp.WriteString("\n");

		str.Format("����: %d�� �������:%0.2f ѡƬ����:%0.2f\n", count1, sum1, sum12); fp.WriteString(str);
		str.Format("����: %d�� �������:%0.2f ѡƬ����:%0.2f\n", count2, sum2, sum22); fp.WriteString(str);
		str.Format("���: %d�� �������:%0.2f ѡƬ����:%0.2f\n", count3, sum3, sum32); fp.WriteString(str);
	}

	fp.Close();
	MessageBox("�����ѱ��浽c:\\" + name + "(����).txt");
	ShellExecute(NULL, _T("open"), _T("c:\\" + name + "(����).txt"), NULL, NULL, SW_SHOWMAXIMIZED);
}