// TakeMoney3.cpp : implementation file
//

#include "stdafx.h"
#include "ylgl.h"
#include "TakeMoney3.h"
#include "InputMemberno.h"
#include "UseMemberCard.h"
#include "SPLBDlg.h"
#include "InputMemberno.h"
#include "SelPayType.h"
#include "Login2.h"
#include "SelExpendType.h"
#include "InStock.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

TakeMoney3::TakeMoney3(CWnd* pParent /*=NULL*/): CDialog(TakeMoney3::IDD, pParent)
{
	m_money = _T("");
	m_time1 = g_date;
	m_bz = _T("");
	m_strOrderNumber = _T("");
	m_name1 = _T("");
	m_name2 = _T("");
	m_ren2 = _T("");
	m_money2 = _T("");
	m_ren3 = _T("");
	m_time2 = g_date;
	m_bz2 = _T("");
	m_sum1 = _T("");
	m_sum2 = _T("");
	m_sum3 = _T("");
	m_memberno = _T("");
	m_membermoney = _T("");
	m_item = _T("");
	m_mode = 0;
	m_bInit = 0;
	m_instock = _T("");
}

void TakeMoney3::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(TakeMoney3)
	DDX_Control(pDX, IDC_COMBObz, m_combobz);
	DDX_Control(pDX, IDC_EDIT5, m_editdate2);
	DDX_Control(pDX, IDC_LIST3, m_List2);
	DDX_Control(pDX, IDC_EDIT4, m_editctrl3);
	DDX_Control(pDX, IDC_LIST1, m_List1);
	DDX_Control(pDX, IDC_EDIT2, m_editdate1);
	DDX_Control(pDX, IDC_EDIT1, m_editctrl1);
	DDX_Control(pDX, IDC_COMBO1, m_comboren);
	DDX_Text(pDX, IDC_EDIT1, m_money);
	DDX_Text(pDX, IDC_EDIT2, m_time1);
	DDX_Text(pDX, IDC_EDITid, m_strOrderNumber);
	DDX_Text(pDX, IDC_EDITname1, m_name1);
	DDX_Text(pDX, IDC_EDITname2, m_name2);
	DDX_Text(pDX, IDC_EDITren2, m_ren2);
	DDX_Text(pDX, IDC_EDIT4, m_money2);
	DDX_Text(pDX, IDC_EDITren3, m_ren3);
	DDX_Text(pDX, IDC_EDIT5, m_time2);
	DDX_Text(pDX, IDC_EDIT6, m_bz2);
	DDX_Text(pDX, IDC_EDITmoney2, m_sum1);
	DDX_Text(pDX, IDC_EDITmoney3, m_sum2);
	DDX_Text(pDX, IDC_EDITmoney5, m_sum3);
	DDX_Text(pDX, IDC_EDITmemberno, m_memberno);
	DDX_Text(pDX, IDC_EDITmembermoney, m_membermoney);
	DDX_Text(pDX, IDC_EDITitem, m_item);
	DDX_Text(pDX, IDC_EDIT17, m_instock);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(TakeMoney3, CDialog)
	//{{AFX_MSG_MAP(TakeMoney3)
	ON_WM_LBUTTONDOWN()
	ON_BN_CLICKED(IDOK2, OnOk2)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_BN_CLICKED(IDC_BUTdel, OnBUTdel)
	ON_BN_CLICKED(IDC_BUTdel4, OnBUTdel4)
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_BN_CLICKED(IDC_BUTTON12, OnButton12)
	ON_WM_DESTROY()
	ON_EN_CHANGE(IDC_EDIT4, OnChangeEdit4)
	ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
	ON_EN_CHANGE(IDC_EDIT6, OnChangeEdit6)
	ON_NOTIFY(NM_CLICK, IDC_LIST3, OnClickList3)
	ON_BN_CLICKED(IDC_BUTTON13, OnButton13)
	ON_BN_CLICKED(IDC_BUTTON24, OnButton24)
END_MESSAGE_MAP()

BOOL TakeMoney3::OnInitDialog()
{
	CDialog::OnInitDialog();
	if (IsHasRights2new(49) == 0)
	{
		GetDlgItem(IDC_BUTTON13)->EnableWindow(0);
	}

#ifdef LYFZ_VERSION
	((CEdit*)GetDlgItem(IDC_EDIT2))->SetReadOnly (0);
#else
	if (IsHasRights2new(49) == 0)((CEdit*)GetDlgItem(IDC_EDIT2))->SetReadOnly();
#endif

#ifdef CHILD_VERSION
	GetDlgItem(IDC_STATIC10)->SetWindowText("�ҳ�:");
	GetDlgItem(IDC_STATIC20)->SetWindowText("����:");
#endif
	SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
	GetDlgItem(IDC_BUTdel)->EnableWindow(IsHasRights2new(49));
	GetDlgItem(IDC_BUTdel4)->EnableWindow(IsHasRights2new(49));
	GetDlgItem(IDC_BUTTON2)->EnableWindow(IsHasRights2new(49));
#ifndef BASIC_ADDMEMBER
#ifdef BASIC_VERSION
	GetDlgItem(IDC_EDITmemberno)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_BUTTON12)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_EDITmembermoney)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
#endif
#endif


#ifdef SUNRAIN_VERSION	
	if(m_mode==1)
	{
		m_comboren.AddString (m_ren);
		m_comboren.SetCurSel (0);
		m_comboren.EnableWindow (0);
	}
#endif

	g_sendhead.bsql = 0;
	g_sendhead.code[0] = 93;
	g_sendhead.code[1] = 38;
	g_sendhead.code[2] = 11;
	g_sendhead.code[3] = 68;
	g_sendhead.code[4] = 160;
	g_sendhead.code[5] = 50;
	g_sendhead.tabcount = 6;
	CString filter = "id='" + m_strOrderNumber + "';id='" + m_strOrderNumber + "';id='" + m_strOrderNumber + "';;;id='" + m_strOrderNumber + "'";
	g_pMainWnd->ProcessChatMessageRequest2(filter);
	if (g_bSendOK == 0)return 0;
	CArray<CStringArray, CStringArray>dindanarray;
	CArray<CStringArray, CStringArray>memberarray;
	CArray<CStringArray, CStringArray>expendtypearray;
	DataToArray(&m_List1array, &m_List2array, &dindanarray, &memberarray, &expendtypearray, &sparray);
	for (int i = 0; i < g_userarray.GetSize(); i++)
		m_comboren.AddString(g_userarray.ElementAt(i).ElementAt(1));
	CenterWindow(g_pMainWnd);
	m_ren2 = g_user.name;
	m_ren3 = g_user.name;
	m_memberno = dindanarray.ElementAt(0).ElementAt(47);
	for (i = 0; i < memberarray.GetSize(); i++)
	{
		if (m_memberno == memberarray.ElementAt(i).ElementAt(1))
		{
			m_membermoney = memberarray.ElementAt(i).ElementAt(9);
			break;
		}
	}
	for (i = 0; i < expendtypearray.GetSize(); i++)
	{
		m_combobz.AddString(expendtypearray.ElementAt(i).ElementAt(0));
	}
	m_combobz.AddString("��Ӱ����");
	m_combobz.AddString("��ױ����");
	m_combobz.AddString("ѡƬ����");

	CString m_money1 = dindanarray.ElementAt(0).ElementAt(1);
	m_taoxijiage = dindanarray.ElementAt(0).ElementAt(8);
	CString m_payed4 = dindanarray.ElementAt(0).ElementAt(19);
	CString m_payed5 = dindanarray.ElementAt(0).ElementAt(20);
	m_sum1.Format("%f", atof(m_taoxijiage) + atof(m_payed4));
	m_sum2.Format("%f", atof(m_payed5) + atof(m_money1));
	m_sum3.Format("%f", atof(m_sum1) - atof(m_sum2));
	ConvertToPrice(m_sum1);
	ConvertToPrice(m_sum2);
	ConvertToPrice(m_sum3);
	UpdateData(false);

	if (atoi(g_cominfoarray.ElementAt(0).ElementAt(115)))
		m_List1.SetHeadings("id,0;���,55;����,90;������,70;�տ���,70;��ע,90;�տ���Ŀ,90;֧����ʽ,70;�ӵ���,80");
	else
		m_List1.SetHeadings("id,0;���,60;����,90;������,70;�տ���,70;��ע,90;�տ���Ŀ,90;֧����ʽ,90");
	m_List1.LoadColumnInfo(115);

	m_List2.SetHeadings("id,0;�������,100;����,100;¼��,100;������Ʒ,100");
	m_List2.LoadColumnInfo(123);

	for (i = 0; i < m_List1array.GetSize(); i++)
	{
		if (m_List1array.ElementAt(i).ElementAt(9) != "")
		{
			CString discount = "(��" + m_List1array.ElementAt(i).ElementAt(9) + "��)";
			m_List1array.ElementAt(i).SetAt(6, m_List1array.ElementAt(i).ElementAt(6) + discount);
		}
	}
	FillGrid();


	m_bInit = 1;

	if (m_mode == 5)
	{
		SetWindowText("�ͻ���������");
		GetDlgItem(IDC_EDIT1)->EnableWindow(0);
		GetDlgItem(IDC_COMBO1)->EnableWindow(0);
		GetDlgItem(IDOK)->EnableWindow(0);
		GetDlgItem(IDC_EDIT4)->EnableWindow(0);
		GetDlgItem(IDC_EDIT6)->EnableWindow(0);
		GetDlgItem(IDOK2)->EnableWindow(0);
		GetDlgItem(IDC_BUTTON1)->EnableWindow(0);
		GetDlgItem(IDC_BUTdel)->EnableWindow(0);
		GetDlgItem(IDC_BUTdel4)->EnableWindow(0);
	}
	return TRUE;  
}

void TakeMoney3::OnOK()
{
	UpdateData();
	if (m_money.IsEmpty())
	{
		AfxMessageBox("���ϲ�ȫ!", MB_ICONINFORMATION);
		return;
	}
	if (m_item.IsEmpty())
	{
		AfxMessageBox("�տ���Ŀ����Ϊ��,�����Ϸ�������Ʒ�ı�����ѡȡ!", MB_ICONINFORMATION);
		return;
	}
	int pos;
	pos = m_comboren.GetCurSel();
	if (pos == -1)
	{
		AfxMessageBox("���ϲ�ȫ!", MB_ICONINFORMATION);
		return;
	}
	m_comboren.GetLBText(pos, m_ren);

	pos = m_combobz.GetCurSel();
	if (pos == -1)
	{
		AfxMessageBox("��ѡ����ȷ�Ķ������!", MB_ICONINFORMATION);
		return;
	}
	m_combobz.GetLBText(pos, m_bz);
	switch (pos)
	{
	case 0:
		m_mode = 5;
		break;
	case 1:
		m_mode = 1;
		break;
	case 2:
		m_mode = 6;
		break;
	case 3:
		m_mode = 2;
		break;
	}

	if (!CheckDateOK(m_time1))return;
	BOOL bexist1 = 0;
	BOOL bexist2 = 0;
	if (bexist1 == 0)
	{
		for (int i = 0; i < m_List1array.GetSize(); i++)
		{
			if (m_List1array.ElementAt(i).ElementAt(1) == m_money)
			{
				bexist1 = 1;
				break;
			}
		}
	}
	if (bexist2 == 0)
	{
		for (int i = 0; i < m_List1array.GetSize(); i++)
		{
			if (m_List1array.ElementAt(i).ElementAt(5) == m_bz)
			{
				bexist2 = 1;
				break;
			}
		}
	}
	if (bexist1 && bexist2)
	{
		if (AfxMessageBox("�������Ƶļ�¼, ȷ��û���ظ���? �Ƿ����?", MB_YESNO | MB_ICONINFORMATION) != IDYES)
			return;
	}
	SelPayType seltype;
	seltype.m_paymoney = m_money;
	if (seltype.DoModal() != IDOK)return;
	CString paytype, branch;
	if (seltype.m_radio1 == 0)
		paytype = "�ֽ�";
	else if (seltype.m_radio1 == 1)
		paytype = "POS��ˢ��";
	else if (seltype.m_radio1 == 2)
		paytype = "��ֵ���ۿ�";
	else if (seltype.m_radio1 == 3)
		paytype = "���ֶһ�";
	else if (seltype.m_radio1 == 4)
		paytype = "����ת��";
#if JEFF_TEST_ON
	else if (seltype.m_radio1 == 5)
		paytype = "����ȯ";
#endif
	branch = seltype.m_branch;

	CString localbranch = GetNameFromDomain(g_domain);

	if (branch == "" || branch == g_branchname || (g_branchname == ""&&branch == localbranch))
	{
		CString jdd;
		if (atoi(g_cominfoarray.ElementAt(0).ElementAt(115)))
		{
			SelExpendType dlg;
			dlg.m_mode = 3;
			if (dlg.DoModal() == IDOK)
				jdd = dlg.m_sel;
		}

		CString sql, sql2;
		sql.Format("insert into dindanbukuan([id],[money],[ren],[date],[bz],[ren2],[kind],[item],[paytype],[jdd],[discount],[time])values('%s','%s','%s','%s','%s','%s','%d','%s','%s','%s','%s','curtimereplace')", m_strOrderNumber, m_money, m_ren, m_time1, m_bz, m_ren2, m_mode, m_item, paytype, jdd, seltype.m_discount);
		if (g_nYearpos != -1)
		{
			sql.Format("insert into dindanbukuan([autoid],[id],[money],[ren],[date],[bz],[ren2],[kind],[item],[paytype],[jdd],[discount],[time])values(%d,'%s','%s','%s','%s','%s','%s','%d','%s','%s','%s','%s','curtimereplace')", atoi(CTime::GetCurrentTime().Format("%Y%m%d%H%M%S")), m_strOrderNumber, m_money, m_ren, m_time1, m_bz, m_ren2, m_mode, m_item, paytype, jdd, seltype.m_discount);
		}

		if (paytype == "��ֵ���ۿ�")
		{
			CString ss = m_money;
			CString m_money = ss;
			if (seltype.m_bChildMoneyCard)
			{
				sql += "###insert into [membercard3childusereg]([memberno],[dindanid],[money],[date])values('" + seltype.m_cardno + "','" + m_strOrderNumber + "','" + m_money + "','" + g_date + "')";
				sql += "###refresh balance memberreg4" + seltype.m_parentno + ";" + seltype.m_cardno;
			}
			else
			{
				if (atof(seltype.m_discount) != 0.0)
					m_money.Format("%d", int(0.5 + atof(m_money)*atof(seltype.m_discount) / 10.0));
				sql += "###insert into [membercard3usereg]([memberno],[dindanid],[money],[date])values('" + seltype.m_cardno + "','" + m_strOrderNumber + "','" + m_money + "','" + g_date + "')";
				sql += "###refresh balance memberreg3"; sql += seltype.m_cardno;
			}
			if (atoi(g_cominfoarray.ElementAt(0).ElementAt(122)))
			{
				CString content, timestamp;
				CString m_phone = seltype.m_phone;;
				content.Format("%s����,������ʹ���ֽ�����%sԪ,��%dԪ", seltype.m_name, m_money, seltype.m_money - atoi(m_money));
				timestamp = "msgtimestamp";
				if (CheckPhoneType(m_phone) != -1 && CheckBadWords(content, 0))
				{
					int count = GetLengthEx(content) / MSG_LENGTH;
					if (GetLengthEx(content) % MSG_LENGTH)
						count++;
					CString scount;
					scount.Format("%d", count);
#if JEFF_TEST_ON
					CString sql2 = _T("");
					sql2.Format(INSERT_SENDREG, _T("16"), m_phone, content, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("ϵͳ�Զ�����"));
					sql += _T("###") + sql2;
#else
					CString sql2 = "###insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + content + "','" + timestamp + "','" + scount + "','0','0','0','ϵͳ�Զ�����')";
					sql += sql2;
#endif
				}
			}
		}
		else if (paytype == "���ֶһ�")
		{
			CString point;
			float rate = atof(g_cominfoarray.ElementAt(0).ElementAt(38)) / 100.0;
			point.Format("%d", (int)(atof(m_money)*GetPointScale2() / rate));
			sql += "###insert into [memberreg2]([memberno],[dindanid],[money],[point],[date])values('" + seltype.m_cardno + "','" + m_strOrderNumber + "','" + m_money + "','" + point + "','" + g_date + "')";
			sql += "###refresh balance memberreg2";
			sql += seltype.m_cardno;
			if (atoi(g_cominfoarray.ElementAt(0).ElementAt(122)))
			{
				CString content, timestamp;
				CString m_phone = seltype.m_phone;;

				float rate = atof(g_cominfoarray.ElementAt(0).ElementAt(38)) / 100.0;
				int point = (int)(atof(m_money) / rate + 0.5);

				content.Format("%s����,������ʹ�û���%d��,��%d��", seltype.m_name, point, seltype.m_point - point);
				timestamp = "msgtimestamp";
				if (CheckPhoneType(m_phone) != -1 && CheckBadWords(content, 0))
				{
					int count = GetLengthEx(content) / MSG_LENGTH;
					if (GetLengthEx(content) % MSG_LENGTH)
						count++;
					CString scount;
					scount.Format("%d", count);
#if JEFF_TEST_ON
					CString sql2 = _T("");
					sql2.Format(INSERT_SENDREG, _T("16"), m_phone, content, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("ϵͳ�Զ�����"));
					sql += _T("###") + sql2;
#else
					CString sql2 = "###insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + content + "','" + timestamp + "','" + scount + "','0','0','0','ϵͳ�Զ�����')";
					sql += sql2;
#endif
				}
			}
		}

		sql += "###update dindan set [memberno]='" + m_memberno + "' where [id]='" + m_strOrderNumber + "'";
		if ((!m_memberno.IsEmpty()) && paytype != "���ֶһ�")
		{
			CString date = g_date;
			sql += "###insert into memberreg([memberno],[dindanid],[money],[date],[type])values('" + m_memberno + "','" + m_strOrderNumber + "','" + m_money + "','" + date + "','���ѻ���')";
		}
		sql2 = "###" + m_strOrderNumber + "$$$" + m_memberno;
		sql += sql2;
		g_sendhead.bsql = 1;
		g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;

		AfxMessageBox("����ɹ�!", MB_ICONINFORMATION);
		GetData();
	}
	else
	{
		CString sql3;
		BOOL g_bBranchModifyBak = g_bBranchModify;
		CString g_branchnameBak = g_branchname;
		CString g_branchipBak = g_branchip;
		CString curbranch;
		if (g_branchname != "")
			curbranch = g_branchname;
		else
		{
			curbranch = localbranch;
		}
		CString m_id2 = curbranch + m_strOrderNumber;

		CString jdd;
		if (atoi(g_cominfoarray.ElementAt(0).ElementAt(115)))
		{
			SelExpendType dlg;
			dlg.m_mode = 3;
			if (dlg.DoModal() == IDOK)
				jdd = dlg.m_sel;
		}

		CString sql, sql2;
		sql.Format("insert into dindanbukuan([id],[money],[ren],[date],[bz],[ren2],[kind],[item],[paytype],[jdd],[discount],[time])values('%s','%s','%s','%s','%s','%s','%d','%s','%s','%s','%s','curtimereplace')", m_strOrderNumber, m_money, m_ren, m_time1, m_bz, m_ren2, m_mode, m_item, paytype, jdd, seltype.m_discount);
		if (g_nYearpos != -1)
		{
			sql.Format("insert into dindanbukuan([autoid],[id],[money],[ren],[date],[bz],[ren2],[kind],[item],[paytype],[jdd],[discount],[time])values(%d,'%s','%s','%s','%s','%s','%s','%d','%s','%s','%s','%s','curtimereplace')", atoi(CTime::GetCurrentTime().Format("%Y%m%d%H%M%S")), m_strOrderNumber, m_money, m_ren, m_time1, m_bz, m_ren2, m_mode, m_item, paytype, jdd, seltype.m_discount);
		}

		if (paytype == "��ֵ���ۿ�")
		{
			CString ss = m_money;
			CString m_money = ss;
			if (seltype.m_bChildMoneyCard)
			{
				sql3 += "###insert into [membercard3childusereg]([memberno],[dindanid],[money],[date])values('" + seltype.m_cardno + "','" + m_id2 + "','" + m_money + "','" + g_date + "')";
				sql3 += "###refresh balance memberreg4" + seltype.m_parentno + ";" + seltype.m_cardno;
			}
			else
			{
				if (atof(seltype.m_discount) != 0.0)
					m_money.Format("%d", int(0.5 + atof(m_money)*atof(seltype.m_discount) / 10.0));
				sql3 += "###insert into [membercard3usereg]([memberno],[dindanid],[money],[date])values('" + seltype.m_cardno + "','" + m_id2 + "','" + m_money + "','" + g_date + "')";
				sql3 += "###refresh balance memberreg3"; sql3 += seltype.m_cardno;
			}
			if (atoi(g_cominfoarray.ElementAt(0).ElementAt(122)))
			{
				CString content, timestamp;
				CString m_phone = seltype.m_phone;;
				content.Format("%s����,������ʹ���ֽ�����%sԪ,��%dԪ", seltype.m_name, m_money, seltype.m_money - atoi(m_money));
				timestamp = "msgtimestamp";
				if (CheckPhoneType(m_phone) != -1 && CheckBadWords(content, 0))
				{
					int count = GetLengthEx(content) / MSG_LENGTH;
					if (GetLengthEx(content) % MSG_LENGTH)
						count++;
					CString scount;
					scount.Format("%d", count);
#if JEFF_TEST_ON
					CString sql2 = _T("");
					sql2.Format(INSERT_SENDREG, _T("16"), m_phone, content, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("ϵͳ�Զ�����"));
					sql3 += _T("###") + sql2;
#else
					CString sql2 = "###insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + content + "','" + timestamp + "','" + scount + "','0','0','0','ϵͳ�Զ�����')";
					sql3 += sql2;
#endif
				}
			}
		}
		else if (paytype == "���ֶһ�")
		{
			CString point;
			float rate = atof(g_cominfoarray.ElementAt(0).ElementAt(38)) / 100.0;
			point.Format("%d", (int)(atof(m_money)*GetPointScale2() / rate));
			sql3 += "###insert into [memberreg2]([memberno],[dindanid],[money],[point],[date])values('" + seltype.m_cardno + "','" + m_id2 + "','" + m_money + "','" + point + "','" + g_date + "')";
			sql3 += "###refresh balance memberreg2";
			sql3 += seltype.m_cardno;
			if (atoi(g_cominfoarray.ElementAt(0).ElementAt(122)))
			{
				CString content, timestamp;
				CString m_phone = seltype.m_phone;;

				float rate = atof(g_cominfoarray.ElementAt(0).ElementAt(38)) / 100.0;
				int point = (int)(atof(m_money) / rate + 0.5);

				content.Format("%s����,������ʹ�û���%d��,��%d��", seltype.m_name, point, seltype.m_point - point);
				timestamp = "msgtimestamp";
				if (CheckPhoneType(m_phone) != -1 && CheckBadWords(content, 0))
				{
					int count = GetLengthEx(content) / MSG_LENGTH;
					if (GetLengthEx(content) % MSG_LENGTH)
						count++;
					CString scount;
					scount.Format("%d", count);
#if JEFF_TEST_ON
					CString sql2 = _T("");
					sql2.Format(INSERT_SENDREG, _T("16"), m_phone, content, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("ϵͳ�Զ�����"));
					sql3 += _T("###") + sql2;
#else
					CString sql2 = "###insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + content + "','" + timestamp + "','" + scount + "','0','0','0','ϵͳ�Զ�����')";
					sql3 += sql2;
#endif
				}
			}
		}

		sql += "###update dindan set [memberno]='" + m_memberno + "' where [id]='" + m_strOrderNumber + "'";
		if ((!m_memberno.IsEmpty()) && paytype != "���ֶһ�")
		{
			CString date = g_date;
			sql3 += "###insert into memberreg([memberno],[dindanid],[money],[date],[type])values('" + m_memberno + "','" + m_id2 + "','" + m_money + "','" + date + "','���ѻ���')";
		}
		sql2 = "###" + m_strOrderNumber + "$$$" + m_memberno;
		sql += sql2;
		sql3 += sql2;

		g_pMainWnd->OnDisconnect();
		g_branchip = GetIP(branch);
		g_pMainWnd->OnDisconnect();
		g_branchname = branch;
		g_bBranchModify = 1;
		g_sendhead.bsql = 1;   sql3.TrimLeft("###");
		g_pMainWnd->ProcessChatMessageRequest2(sql3); if (g_bSendOK == 0)return;
		g_pMainWnd->OnDisconnect();
		g_bBranchModify = g_bBranchModifyBak;
		g_branchname = g_branchnameBak;
		g_branchip = g_branchipBak;

		g_sendhead.bsql = 1;
		g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
		AfxMessageBox("����ɹ�!", MB_ICONINFORMATION);
		GetData();
	}
	//	CDialog::OnOK();
}


void TakeMoney3::OnLButtonDown(UINT nFlags, CPoint point)
{
	// TODO: Add your message handler code here and/or call default
	CDialog::OnLButtonDown(nFlags, point);
}

void TakeMoney3::GetData()
{
	g_sendhead.bsql = 0;
	g_sendhead.code[0] = 93;
	g_sendhead.code[1] = 38;
	g_sendhead.code[2] = 11;
	g_sendhead.code[3] = 68;
	g_sendhead.tabcount = 4;
	CString filter = "id='" + m_strOrderNumber + "';id='" + m_strOrderNumber + "';id='" + m_strOrderNumber + "';memberno='" + m_memberno + "'";
	g_pMainWnd->ProcessChatMessageRequest2(filter);
	if (g_bSendOK == 0)return;
	CArray<CStringArray, CStringArray>dindanarray;
	CArray<CStringArray, CStringArray>memberarray;
	DataToArray(&m_List1array, &m_List2array, &dindanarray, &memberarray);
	for (int i = 0; i < m_List1array.GetSize(); i++)
	{
		if (m_List1array.ElementAt(i).ElementAt(9) != "")
		{
			CString discount = "(��" + m_List1array.ElementAt(i).ElementAt(9) + "��)";
			m_List1array.ElementAt(i).SetAt(6, m_List1array.ElementAt(i).ElementAt(6) + discount);
		}
	}
	FillGrid();
	if (memberarray.GetSize())
		m_membermoney = memberarray.ElementAt(0).ElementAt(9);
	CString m_money1 = dindanarray.ElementAt(0).ElementAt(1);
	m_taoxijiage = dindanarray.ElementAt(0).ElementAt(8);
	CString m_payed4 = dindanarray.ElementAt(0).ElementAt(19);
	CString m_payed5 = dindanarray.ElementAt(0).ElementAt(20);
	m_sum1.Format("%f", atof(m_taoxijiage) + atof(m_payed4));
	m_sum2.Format("%f", atof(m_payed5) + atof(m_money1));
	m_sum3.Format("%f", atof(m_sum1) - atof(m_sum2));
	ConvertToPrice(m_sum1);
	ConvertToPrice(m_sum2);
	ConvertToPrice(m_sum3);
	UpdateData(false);

	CString sql;
	sql.Format("update [todaytake] set [arrearage]='%s' where [id]='%s'", m_sum3, m_strOrderNumber);
	g_sendhead.bsql = 1;
	g_bNoConnDlg = 1;
	g_pMainWnd->ProcessChatMessageRequest2(sql);
	g_bNoConnDlg = 0;
}

void TakeMoney3::FillGrid()
{
	m_List1.DeleteAllItems2();
	int ii = 0;
	m_List1.m_arLabels.SetSize(m_List1array.GetSize(), 1);
	int count = 0;

	for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
	{
		m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
	}

	m_List1.m_arLabels.SetSize(count, 1);
	ii = count;
	m_List1.m_LabelCount = ii;
	m_List1.SetItemCountEx(ii);

	{
		m_List2.DeleteAllItems2();
		int ii = 0;
		m_List2.m_arLabels.SetSize(m_List2array.GetSize(), 1);
		int count = 0;

		for (ii = 0; ii < m_List2.m_arLabels.GetSize(); ii++)
		{
			m_List2.m_arLabels.ElementAt(count++).Copy(m_List2array.ElementAt(ii));
		}

		m_List2.m_arLabels.SetSize(count, 1);
		ii = count;
		m_List2.m_LabelCount = ii;
		m_List2.SetItemCountEx(ii);
	}
}

BOOL TakeMoney3::PreTranslateMessage(MSG* pMsg)
{
	if (pMsg->message == WM_KEYDOWN)
	{
		switch (pMsg->wParam)
		{
		case VK_RETURN:
			return 1;
		case VK_DELETE:
		{
			if (GetFocus() == GetDlgItem(IDC_EDIT17))
			{
				m_instock = ""; m_instocklb = "";
				SetDlgItemText(IDC_EDIT17, "");
			}
		}
			return 1;
		}
	}
	return CDialog::PreTranslateMessage(pMsg);
}

void TakeMoney3::OnOk2()
{
	UpdateData();
	m_bz2.TrimLeft();
	m_money2.TrimLeft();
	if (m_money2.IsEmpty())
	{
		AfxMessageBox("���ϲ�ȫ!", MB_ICONINFORMATION);
		return;
	}
	if (m_bz2.IsEmpty())
	{
		AfxMessageBox("���ϲ�ȫ!", MB_ICONINFORMATION);
		return;
	}
	if (!CheckDateOK(m_time2))return;

	BOOL bexist1 = 0;
	if (bexist1 == 0)
	{
		for (int i = 0; i < m_List2array.GetSize(); i++)
		{
			if (m_List2array.ElementAt(i).ElementAt(1) == m_money2)
			{
				bexist1 = 1;
				break;
			}
		}
	}
	if (bexist1)
	{
		if (AfxMessageBox("�������Ƶļ�¼, ȷ��û���ظ���? �Ƿ����?", MB_YESNO | MB_ICONINFORMATION) != IDYES)
			return;
	}

	CString sql, sql2;
	sql.Format("insert into dindanbukuan2([id],[money],[date],[bz],[ren2],[kind])values('%s','%s','%s','%s','%s','%d')", m_strOrderNumber, m_money2, m_time2, m_bz2, m_ren3, m_mode + 1);

	if (g_nYearpos != -1)
	{
		sql.Format("insert into dindanbukuan2([autoid],[id],[money],[date],[bz],[ren2],[kind])values(%d,'%s','%s','%s','%s','%s','%d')", atoi(CTime::GetCurrentTime().Format("%Y%m%d%H%M%S")), m_strOrderNumber, m_money2, m_time2, m_bz2, m_ren3, m_mode + 1);
	}


	if (m_instock != "")
	{
		if (atoi(g_cominfoarray.ElementAt(0).ElementAt(131)))
		{
			CString name, lb, id;
			CStringArray namearray;
			CStringArray lbarray;

			int pos = m_instock.Find(",");
			if (pos != -1)
			{
				namearray.Add(m_instock.Left(pos));
				m_instock = m_instock.Right(m_instock.GetLength() - pos - 1);
				pos = m_instock.Find(",");
				while (pos != -1)
				{
					namearray.Add(m_instock.Left(pos));
					m_instock = m_instock.Right(m_instock.GetLength() - pos - 1);
					pos = m_instock.Find(",");
				}
				namearray.Add(m_instock);
			}
			else
			{
				namearray.Add(m_instock);
			}

			pos = m_instocklb.Find(",");
			if (pos != -1)
			{
				lbarray.Add(m_instocklb.Left(pos));
				m_instocklb = m_instocklb.Right(m_instocklb.GetLength() - pos - 1);
				pos = m_instocklb.Find(",");
				while (pos != -1)
				{
					lbarray.Add(m_instocklb.Left(pos));
					m_instocklb = m_instocklb.Right(m_instocklb.GetLength() - pos - 1);
					pos = m_instocklb.Find(",");
				}
				lbarray.Add(m_instocklb);
			}
			else
			{
				lbarray.Add(m_instocklb);
			}
			id = m_strOrderNumber + "(����)";
			for (int i = 0; i < namearray.GetSize(); i++)
			{
				name = namearray.ElementAt(i);
				lb = lbarray.ElementAt(i);
				sql += "$$$insert into storeinfo2([id],[type],[name],[count],[date],[clerk])values('" + id + "','" + lb + "','" + name + "','1','" + g_date + "','" + g_user.name + "')";
			}
		}
	}
	sql2 = "$$$" + m_strOrderNumber;
	sql += sql2;
	g_sendhead.bsql = 1;
	g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;

	AfxMessageBox("����ɹ�!", MB_ICONINFORMATION);
	GetData();
}

void TakeMoney3::OnButton1()	// ѡ��ť;
{
	SPBox dlg;
	if (dlg.DoModal() != IDOK)return;
	m_instock = ""; m_instocklb = "";
	for (int a = 0; a < dlg.m_spidarray.GetSize(); a++)
	{
		dlg.m_spid = dlg.m_lbarray.ElementAt(a);
		dlg.m_spname = dlg.m_spnamearray.ElementAt(a);
		BOOL bindindan = 0;
		for (int i = 0; i < sparray.GetSize(); i++)
		{
			if (dlg.m_spname == sparray.ElementAt(i).ElementAt(5))
			{
				bindindan = 1; break;
			}
		}
		if (bindindan)continue;
		if (m_instock == "")
		{
			m_instock += dlg.m_spname;
			m_instocklb += dlg.m_lb;
		}
		else
		{
			m_instock += "," + dlg.m_spname;
			m_instocklb += "," + dlg.m_lb;
		}
	}
	m_bz2 = m_instock;
	UpdateData(0);
}

void TakeMoney3::RefreshMoney()
{
}

void TakeMoney3::OnBUTdel()
{
	if (IsHasRights2new(49) == 0)return;
	// TODO: Add your control notification handler code here
	POSITION pos;
	pos = m_List1.GetFirstSelectedItemPosition();
	if (pos == NULL)
	{
		AfxMessageBox("����ѡ����Ҫɾ������Ŀ!", MB_ICONINFORMATION);
		return;
	}
	if (AfxMessageBox("�Ƿ�ɾ������Ŀ?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return;
	int iItem = m_List1.GetNextSelectedItem(pos);
	CString id = m_List1.GetItemText(iItem, 0);
	CString money = m_List1.GetItemText(iItem, 1);
	CString bz = m_List1.GetItemText(iItem, 2) + m_List1.GetItemText(iItem, 5) + m_List1.GetItemText(iItem, 6);
	CString sql;
	sql.Format("delete from dindanbukuan where [autoid]=%d", atol(id));
	sql += "%%%[money]='" + money + "' and [dindanid]='" + m_strOrderNumber + "'";
	sql += "###" + m_memberno;
	g_sendhead.bsql = 1;
	g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;

	sql = "###" + m_strOrderNumber;
	g_sendhead.bsql = 1;
	g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
	GetData();

	CString str;
	str = "ɾ������";
	str += m_name1;
	str += m_name2;
	str += m_strOrderNumber;
	str += "�տ�:";
	str += bz;
	str += money;

	WriteLog(str);

}

void TakeMoney3::OnBUTdel4()
{
	if (IsHasRights2new(49) == 0)return;
	// TODO: Add your control notification handler code here
	POSITION pos;
	pos = m_List2.GetFirstSelectedItemPosition();
	if (pos == NULL)
	{
		AfxMessageBox("����ѡ����Ҫɾ������Ŀ!", MB_ICONINFORMATION);
		return;
	}
	if (AfxMessageBox("�Ƿ�ɾ������Ŀ?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return;
	int iItem = m_List2.GetNextSelectedItem(pos);
	CString id = m_List2.GetItemText(iItem, 0);
	CString money = m_List2.GetItemText(iItem, 1);
	CString bz = m_List2.GetItemText(iItem, 2) + m_List2.GetItemText(iItem, 4);

	CString sql;
	sql.Format("delete from [dindanbukuan2] where [autoid]=%d", atol(id));
	CString sql2 = "$$$" + m_strOrderNumber;
	sql += sql2;

	g_sendhead.bsql = 1;
	g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
	GetData();

	CString str;
	str = "ɾ������";
	str += m_name1;
	str += m_name2;
	str += m_strOrderNumber;
	str += "����:";
	str += bz;
	str += money;

	WriteLog(str);
}

void TakeMoney3::OnButton2()
{
	if (IsHasRights2new(49) == 0)return;

	UpdateData();
	InputMemberno dlg; dlg.m_mode = 1;
	if (dlg.DoModal() == IDOK)
	{
		CString oldmemberno = m_memberno;
		m_memberno = dlg.m_memberno;
		if (m_memberno == oldmemberno)return;
		CString sql, sql2;
		sql += "update dindan set [memberno]='" + m_memberno + "' where [id]='" + m_strOrderNumber + "'";
		sql += "@@@update memberreg set [memberno]='" + m_memberno + "' where [dindanid]='" + m_strOrderNumber + "'";
		sql2 = "@@@" + m_memberno + "###" + oldmemberno;
		sql += sql2;
		g_sendhead.bsql = 1;
		g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
		UpdateData(false);
		m_memberno = dlg.m_memberno;
		g_sendhead.bsql = 0;
		g_sendhead.code[0] = 68;
		g_sendhead.tabcount = 1;
		CString filter = "memberno='" + m_memberno + "'";
		g_pMainWnd->ProcessChatMessageRequest2(filter);
		if (g_bSendOK == 0)return;
		CArray<CStringArray, CStringArray>memberarray;
		DataToArray(&memberarray);
		if (memberarray.GetSize())
			m_membermoney = memberarray.ElementAt(0).ElementAt(9);

		UpdateData(false);
		m_memberno = dlg.m_memberno;
	}
}

void TakeMoney3::OnButton12()	// ʹ�û�Ա����;
{
	if (atof(g_cominfoarray.ElementAt(0).ElementAt(38)) <= 0)
	{
		AfxMessageBox("����/���������!");
		return;
	}
	UpdateData();
	if (m_memberno.IsEmpty())
	{
		AfxMessageBox("���ֿ�����δ����!");
		return;
	}

	UseMemberCard dlg;
	dlg.m_memberno = m_memberno;
	dlg.m_id = m_strOrderNumber;
	dlg.m_point2 = m_membermoney;
	dlg.m_money2.Format("%0.2f", atof(m_membermoney)*(atof(g_cominfoarray.ElementAt(0).ElementAt(38)) / 100));
	if (dlg.DoModal() != IDOK)return;

	g_sendhead.bsql = 0;
	g_sendhead.code[0] = 11;
	g_sendhead.code[1] = 68;
	g_sendhead.tabcount = 2;
	CString filter = "id='" + m_strOrderNumber + "';memberno='" + m_memberno + "'";
	g_pMainWnd->ProcessChatMessageRequest2(filter);
	if (g_bSendOK == 0)return;
	CArray<CStringArray, CStringArray>dindanarray;
	CArray<CStringArray, CStringArray>memberarray;
	DataToArray(&dindanarray, &memberarray);

	if (memberarray.GetSize())
		m_membermoney = memberarray.ElementAt(0).ElementAt(9);

	CString m_money1 = dindanarray.ElementAt(0).ElementAt(1);
	CString m_taoxijiage = dindanarray.ElementAt(0).ElementAt(8);
	CString m_payed4 = dindanarray.ElementAt(0).ElementAt(19);
	CString m_payed5 = dindanarray.ElementAt(0).ElementAt(20);
	m_sum1.Format("%f", atof(m_taoxijiage) + atof(m_payed4));
	m_sum2.Format("%f", atof(m_payed5) + atof(m_money1));
	m_sum3.Format("%f", atof(m_sum1) - atof(m_sum2));
	ConvertToPrice(m_sum1);
	ConvertToPrice(m_sum2);
	ConvertToPrice(m_sum3);
	UpdateData(false);
}

void TakeMoney3::OnDestroy()
{
	CDialog::OnDestroy();
}

void TakeMoney3::OnChangeEdit4()
{
	if (m_bInit == 0)return;
	UpdateData();
	SetDlgItemText(IDC_EDIT1, m_money2);
}

void TakeMoney3::OnChangeEdit6()
{
	if (m_bInit == 0)return;
	UpdateData();
	SetDlgItemText(IDC_EDITitem, m_bz2);
}

void TakeMoney3::OnClickList3(NMHDR* pNMHDR, LRESULT* pResult)
{
	POSITION pos;
	pos = m_List2.GetFirstSelectedItemPosition();
	if (pos == NULL)
	{
		return;
	}
	int iItem;
	iItem = m_List2.GetNextSelectedItem(pos);
	SetDlgItemText(IDC_EDITitem, m_List2.GetItemText(iItem, 4));
	*pResult = 0;
}

void TakeMoney3::OnButton6() //��ӡ��ť*���ڲ���
{
	// TODO: Add your control notification handler code here
	float fmoney = 0;
	CStringArray itemarray;
#ifndef ZHIAI_VERSION
	POSITION pos;
	pos = m_List1.GetFirstSelectedItemPosition();
	if (pos == NULL)
	{
		AfxMessageBox("����ѡ����Ҫ�򵥵���Ŀ!", MB_ICONINFORMATION);
		return;
	}
	int iItem;
	CStringArray array;
	array.Add("");													// 1.null
	array.Add(g_cominfoarray.ElementAt(0).ElementAt(48));			// 2.����ͷ
	array.Add("NO." + m_strOrderNumber);								// 3.������
	CString str = "��ַ:" + g_cominfoarray.ElementAt(0).ElementAt(12);
	str += "   �绰:" + g_cominfoarray.ElementAt(0).ElementAt(11);
	array.Add(str);												// 4.��˾��Ϣ
	CString name;
	if (!m_name1.IsEmpty())
		name = m_name1 + ",";
	name += m_name2;
	name.TrimRight(",");
	CString phone;
	if (!m_phone1.IsEmpty())
		phone = m_phone1 + ",";
	phone += m_phone2; phone.TrimRight(",");
	array.Add("�ͻ�����:" + name);									// 5.�ͻ�����;

	if (IsHasRights2new(31) == 0)
		array.Add("");
	else
		array.Add("��ϵ�绰:" + phone);								// 6.�ͻ��绰

	CString date;
	date.Format("����:%s��%s��%s��", g_date.Mid(0, 4), g_date.Mid(5, 2), g_date.Mid(8, 2));
	array.Add(date);												// 7.��������	
	array.Add(" �� �� �� Ŀ ");									// 8.���ֶ�1
	// array.Add(" ֧����ʽ ");										// 8.1Ԥ���ֶ�	// �ɲ�������ӣ�ֱ����PrintReciept_01���;
#if 1 // Jeff ��ʾ��ӡ֧����ʽ;
	array.Add(" ֧����ʽ ");
#endif
	array.Add(" ��  ��  ");										// 9.���ֶ�2
	array.Add(" ������  ");										// 10.���ֶ�3

	/****************�������ֶ���,����м�¼����*********************/
	int		count = 0;
	float	money = 0;
	BOOL	bHasAll = 0;
	while (pos)
	{
		count++;
		if (count > 4) break; //Jeff ��pos�޹�,ѭ��4��;4�κ�array.GetSize()=26
		iItem = m_List1.GetNextSelectedItem(pos);//Jeff ���ֻ��ѡ��4����¼����ӡ;

		// a.�����<�տ���Ŀ>��¼
		if (m_List1.GetItemText(iItem, 5) == "ԤԼ�տ�" || m_List1.GetItemText(iItem, 5) == "ԤԼ����")
		{
#ifdef LYFZ_VERSION
			CString temp = m_List1.GetItemText(iItem, 5);
			if (temp == "ԤԼ�տ�")
				temp="��������";
			else
				temp="��������";
			array.Add (temp);					
#else
			if (0)//m_List1.GetItemText (iItem,  5)=="ԤԼ�տ�" && atof(m_sum3)>1.0)
				array.Add("����" + m_List1.GetItemText(iItem, 6));
			else
				array.Add(m_List1.GetItemText(iItem, 5) + m_List1.GetItemText(iItem, 6));
#endif
		}
		else array.Add(m_List1.GetItemText(iItem, 6));

#if 1	// ��ʾ��ӡ֧����ʽ;
		array.Add(m_List1.GetItemText(iItem, 7));	// add by Jeff:����֧����ʽ;
#endif

		// b.�����<���>��¼
		array.Add(m_List1.GetItemText(iItem, 1));
		money += atof(m_List1.GetItemText(iItem, 1));
		// c.�����<������>��¼
		array.Add(m_List1.GetItemText(iItem, 3));

		CString sItem = m_List1.GetItemText(iItem, 6);
		if (sItem == "") bHasAll = 1;
		if (::FindArray(&itemarray, sItem) == -1)
		{
			itemarray.Add(sItem);
			for (int a = 0; a < m_List2.GetItemCount(); a++)
			{
				if (m_List2.GetItemText(a, 4) == sItem)
					fmoney += atof(m_List2.GetItemText(a, 1));
			}
		}
	}
	//while(array.GetSize()<22) array.Add ("");// Jeff del;
	while (array.GetSize() < 27) array.Add(""); // ��ʾ��ӡ֧����ʽ;
	CString smoney;
	smoney.Format("%0.1f", fmoney);
	if (fmoney < 1 || bHasAll)
		smoney = m_sum1;

	if (atoi(g_cominfoarray.ElementAt(0).ElementAt(87)))//��
	{
		str = "�������          Ӧ��:" + smoney;
		smoney.Format("%0.1f", money);
		str += "       ʵ��:" + smoney;
		str += "       Ƿ��:" + m_sum3;
	}
	else
	{
		str = "�������             Ӧ��:" + smoney;
		smoney.Format("%0.1f", money);
		str += "          ʵ��:" + smoney;
		str += "          Ƿ��:" + m_sum3;
	}

	array.Add(str);

	smoney.Format("%f", money);
	if (atoi(g_cominfoarray.ElementAt(0).ElementAt(87)))//��
	{
		str.Format("�ϼ������(��д):         %s �f  %s Ǫ  %s ��  %s ʰ  %s Ԫ", \
			GetHMoney(GetW(smoney)), GetHMoney(GetK(smoney)), GetHMoney(GetB(smoney)), GetHMoney(GetS(smoney)), GetHMoney(GetG(smoney)));
	}
	else
	{
		str.Format("�ϼ������(��д):                %s �f     %s Ǫ     %s ��     %s ʰ     %s Ԫ", \
			GetHMoney(GetW(smoney)), GetHMoney(GetK(smoney)), GetHMoney(GetB(smoney)), GetHMoney(GetS(smoney)), GetHMoney(GetG(smoney)));
	}
	array.Add(str);

	array.Add(g_cominfoarray.ElementAt(0).ElementAt(120));
	//	array.Add ("��������ѽ��ڹ��ҷ��ɷ��������������ˡ���˻�,�����Ʊ��ܴ˵�");

	array.Add("����:" + m_ren + "  ����:" + g_user.name);
	array.Add("�˿�ǩ��:");
	array.Add("");//��\r\nһ\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��\r\n��");
	g_pMainWnd->PrintReceipt_02(&array);	// Jeff ��Ҫ��ʾ֧����ʽ;
#else//zhiai
	POSITION pos;
	pos = m_List1.GetFirstSelectedItemPosition();
	if(pos==NULL)
	{
		AfxMessageBox("����ѡ����Ҫ�򵥵���Ŀ!", MB_ICONINFORMATION);
		return;
	}
	int iItem;
	CStringArray array;
	array.Add ("��Ŀ����");
	array.Add ("����");
	array.Add ("���");
	array.Add ("������");
	array.Add ("Ƿ��");
	int count=0;
	float money=0;
	while (pos)
	{
		count++;
		if(count>5)break;
		iItem = m_List1.GetNextSelectedItem(pos);
		if(m_List1.GetItemText (iItem,  5)=="ԤԼ�տ�" || m_List1.GetItemText (iItem,  5)=="ԤԼ����")
		{

			if(m_List1.GetItemText (iItem,  5)=="ԤԼ�տ�")
				array.Add ("����");
			else
				array.Add (m_List1.GetItemText (iItem,  5));

			array.Add ("1");
			array.Add (m_taoxijiage);
			array.Add (m_List1.GetItemText (iItem,  3));
			CString str;
			str.Format ("%f", atof(m_taoxijiage)-GetPayed1());
			ConvertToPrice(str);
			array.Add (str);
		}
		else
		{
			array.Add (m_List1.GetItemText (iItem,  6));
			array.Add ("1");
			array.Add (GetNeedPay(m_List1.GetItemText (iItem,  6)));	
			array.Add (m_List1.GetItemText (iItem,  3));
			CString str;
			//		str.Format ("%f", atof(GetNeedPay(m_List1.GetItemText (iItem,  6)))-atof(m_List1.GetItemText (iItem,  1)));
			str.Format ("%f", atof(GetNeedPay(m_List1.GetItemText (iItem,  6)))-GetPayed(m_List1.GetItemText (iItem,  6)));
			ConvertToPrice(str);
			array.Add (str);
		}

		money+=atof(m_List1.GetItemText (iItem,  1));
	}
	while(array.GetSize ()<30)
		array.Add ("");
	g_pMainWnd->PrintReceipt3(m_strOrderNumber, &array, money);
#endif
}

CString TakeMoney3::GetNeedPay(CString name)
{
	CString sItem;
	for (int i = 0; i < m_List2.GetItemCount(); i++)
	{
		if (m_List2.GetItemText(i, 4) == name)
			return m_List2.GetItemText(i, 1);
	}
	return "0";
}

float TakeMoney3::GetPayed(CString name)
{
	float sum = 0;;
	for (int i = 0; i < m_List1.GetItemCount(); i++)
	{
		if (m_List1.GetItemText(i, 6) == name)
			sum += atof(m_List1.GetItemText(i, 1));
	}
	return sum;
}

float TakeMoney3::GetPayed1()
{
	float fret = 0;
	for (int i = 0; i < m_List1.GetItemCount(); i++)
	{
		if (m_List1.GetItemText(i, 5) == "ԤԼ�տ�" || m_List1.GetItemText(i, 5) == "ԤԼ����")
			fret += atof(m_List1.GetItemText(i, 1));
	}
	return fret;
}

void TakeMoney3::OnButton13()	// ���ð�ť;
{      
	SPLBDlg dlg;
	dlg.m_mode = 6;
	dlg.DoModal();
	g_sendhead.bsql = 0;
	g_sendhead.code[0] = 160;
	g_sendhead.tabcount = 1;
	g_pMainWnd->ProcessChatMessageRequest2(1);
	if (g_bSendOK == 0)return;
	CArray<CStringArray, CStringArray>expendtypearray;
	DataToArray(&expendtypearray);
	m_combobz.ResetContent();
	for (int i = 0; i < expendtypearray.GetSize(); i++)
	{
		m_combobz.AddString(expendtypearray.ElementAt(i).ElementAt(0));
	}
	m_combobz.AddString("��Ӱ����");
	m_combobz.AddString("��ױ����");
	m_combobz.AddString("ѡƬ����");
}

void TakeMoney3::OnButton24()	// ���İ�ť;
{
	Login2 dlg;
	dlg.m_mode = 3;
	if (dlg.DoModal() != IDOK)return;
	if (IsHasRightsnew2(49, dlg.m_rights) == 0)return;
	((CEdit*)GetDlgItem(IDC_EDIT2))->SetReadOnly(0);
}