// DinDanFrom.cpp : implementation file
//
#include "stdafx.h"
#include "ylgl.h"
#include "DinDanFrom.h"
#include "MyMdi.h"
#include "ModifyDinDan.h"
#include "ClientDlg.h"
#include "ClientDlg2.h"
#include "./helper/ffsco.h"
#include "Booking2.h"
#include "SelExportType.h"
#include "ShowPhoto.h"
#include "ClientContract.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#pragma comment(lib, "Shlwapi.lib")

/////////////////////////////////////////////////////////////////////////////
// DinDanFrom IDC_COMBO5
IMPLEMENT_DYNCREATE(DinDanFrom, MyFormView)
DinDanFrom::DinDanFrom()
: MyFormView(DinDanFrom::IDD)
{
	//{{AFX_DATA_INIT(DinDanFrom)
	m_filter = _T("");
	m_radio1 = 3;
	//}}AFX_DATA_INIT
}

DinDanFrom::~DinDanFrom()
{
}

void DinDanFrom::DoDataExchange(CDataExchange* pDX)
{
	MyFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DinDanFrom)
	DDX_Control(pDX, IDC_COMBO1, m_combo1);
	DDX_Control(pDX, IDC_LIST2, m_List1);
	DDX_Control(pDX, IDC_STATIC1, m_static1);
	DDX_CBString(pDX, IDC_COMBO1, m_filter);
	DDX_Radio(pDX, IDC_RADIO1, m_radio1);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(DinDanFrom, MyFormView)
	//{{AFX_MSG_MAP(DinDanFrom)
	ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_BUTmodify3, OnBUTmodify3)
	ON_BN_CLICKED(IDC_BUTmodify4, OnBUTmodify4)
	ON_BN_CLICKED(IDC_BUTmodify, OnBUTmodify)
	ON_BN_CLICKED(IDC_BUTprint, OnBUTprint)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnDblclkList2)
	ON_BN_CLICKED(IDC_BUTclient, OnBUTclient)
	ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2)
	ON_BN_CLICKED(IDC_BUTprint3, OnBUTprint3)
	ON_NOTIFY(NM_CUSTOMDRAW, IDC_LIST2, OnCustomdrawList1)
	ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
	ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
	ON_BN_CLICKED(IDC_BTNSEARCHFILTER, OnBtnsearchfilter)
	ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
	ON_BN_CLICKED(IDC_RADIO6, OnRadio6)
	ON_BN_CLICKED(IDC_RADIO7, OnRadio7)
	ON_BN_CLICKED(IDC_BUTmodify5, OnBUTmodify5)
	ON_BN_CLICKED(IDC_BUTmodify6, OnBUTmodify6)
	ON_BN_CLICKED(IDC_BUTmodify7, OnBUTmodify7)
	ON_BN_CLICKED(IDC_BUTmodify8, OnBUTmodify8)
	//}}AFX_MSG_MAP
	ON_BN_CLICKED(Btn_Urgent, OnBnClickedUrgent)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DinDanFrom diagnostics

#ifdef _DEBUG
void DinDanFrom::AssertValid() const
{
	MyFormView::AssertValid();
}

void DinDanFrom::Dump(CDumpContext& dc) const
{
	MyFormView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// DinDanFrom message handlers
void SetComboHei(CComboBox *pCombo, int hei)
{
	CFont aa;
	CFont *pFont=&aa;
	pFont->CreatePointFont (90, _T("����"));
	pCombo->SetFont(pFont);
	CRect rc;
	pCombo->GetWindowRect (&rc);
	int size=90;
	while(rc.Height ()<hei)
	{
		pFont->DeleteObject ();
		size+=10;
		pFont->CreatePointFont (size, _T("����"));
		pCombo->SetFont(pFont);	
		pCombo->GetWindowRect (&rc);
	}
}

void DinDanFrom::OnInitialUpdate() 
{
	MyFormView::OnInitialUpdate();
	// TODO: Add your specialized code here and/or call the base class
	CMyMdi Mdi;
	Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this);
	// Here we create the outbar control using the splitter as its parent
	// and setting its id to the first pane.
#ifndef LKAY_VERSION
	GetDlgItem(IDC_STATIC4)->ShowWindow (0);
	GetDlgItem(IDC_RADIO1)->ShowWindow (0);
	GetDlgItem(IDC_RADIO3)->ShowWindow (0);
	GetDlgItem(IDC_RADIO4)->ShowWindow (0);
	GetDlgItem(IDC_RADIO6)->ShowWindow (0);
	GetDlgItem(IDC_RADIO7)->ShowWindow (0);
#endif

	CRect rc2;
	GetWindowRect(rc2);
	/*	CString ss;
	ss.Format ("%d,%d,%d,%d", rc2.left , rc2.top , rc2.Width () , rc2.Height () );
	AfxMessageBox(ss);

	m_WidthScale = ((float)g_rc.Width ())/((float)rc2.Width ());
	m_HeightScale = ((float)g_rc.Height ())/((float)rc2.Height ());
	*/
	int dty=g_screenhei-768;
	if(dty>0)
	{
		g_rc.bottom -=dty;
		MoveWindow(g_rc);
		EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0);
		g_rc.bottom +=dty;
		MoveWindow(g_rc);
	}
	else
	{
		MoveWindow(g_rc);
		EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0);
	}

	int idarray[]={IDC_BUTmodify4,IDC_BUTmodify,IDC_BUTclient,IDC_BUTprint3,IDC_BUTprint,IDC_BUTmodify3,IDC_BUTclose};
	int idcount=7;
	int btnwid;
	CRect prerc;
	for(int a=idcount-2; a>=0; a--)
	{
		GetDlgItem(idarray[a+1])->GetWindowRect (prerc);
		ScreenToClient(prerc);
		GetDlgItem(idarray[a])->GetWindowRect (rc2);
		ScreenToClient(rc2);
		btnwid=rc2.Width ();
		rc2.right =prerc.left ;
		rc2.left =rc2.right -btnwid;
		GetDlgItem(idarray[a])->MoveWindow (rc2);
	}

	m_static1.SetFont (&g_titlefont);
#ifdef CHILD_VERSION

#ifdef LKAY_VERSION
	m_List1.SetHeadings("������,100;�ҳ�����,100;��������,100;�����Ա�,100;����,100;����,100;���,100;�ۿ�,100;����,100;����,100;ѡƬ,100;����,100;���,100;�����,100;ȡ��,100;ԤԼʱ��,100;����ʱ��,100;ѡƬʱ��,100;�����ʱ��,100;ȡ��ʱ��,100;�ӵ���,100;��ϵ����,100;��ϵ�۸�,100;��Ӱʦ,100;��ױʦ,100;����,100;ѡƬ,100;����,100;���ʦ,100;�����,100;¼��,100;�ֻ�,100;�̶��绰,100;�����ͬ,100;ѡƬ��ͬ,100" );
#else
	m_List1.SetHeadings("������,100;�ҳ�����,100;��������,100;���,100;��Դ,100;����,100;����,100;ѡƬ,100;����,100;���,100;�����,100;ȡ��,100;ԤԼʱ��,100;����ʱ��,100;ѡƬʱ��,100;�����ʱ��,100;ȡ��ʱ��,100;�ӵ���,100;��ϵ����,100;��ϵ�۸�,100;��Ӱʦ,100;��ױʦ,100;����,100;ѡƬ,100;����,100;���ʦ,100;�����,100;¼��,100;�ۿ�,100;��Ȩ,100;�ۿ�(��),100;��Ȩ(��),100;�ֻ�,100;�̶��绰,100" );
#endif

#else
#ifdef ZHIAI_VERSION
	m_List1.SetHeadings("������,100;�б�����,100;Ů������,100;ԤԼ��,100;���,100;�ۿ�,100;����,100;����,100;ѡƬ,100;����,100;���,100;�����,100;ȡ��,100;ԤԼʱ��,100;����ʱ��,100;ѡƬʱ��,100;�����ʱ��,100;ȡ��ʱ��,100;�ӵ���,100;��ϵ����,100;��ϵ�۸�,100;��Ӱʦ,100;��ױʦ,100;����,100;ѡƬ,100;����,100;���ʦ,100;�����,100;¼��,100;�б��绰,100;Ů���绰,100" );
#else
	m_List1.SetHeadings("������,100;�б�����,100;Ů������,100;���,100;��Դ,100;����,100;����,100;ѡƬ,100;����,100;���,100;�����,100;ȡ��,100;ԤԼʱ��,100;����ʱ��,100;ѡƬʱ��,100;�����ʱ��,100;ȡ��ʱ��,100;�ӵ���,100;��ϵ����,100;��ϵ�۸�,100;��Ӱʦ,100;��ױʦ,100;����,100;ѡƬ,100;����,100;���ʦ,100;�����,100;¼��,100;�ۿ�,100;��Ȩ,100;�ۿ�(��),100;��Ȩ(��),100;�б��绰,100;Ů���绰,100" );
#endif
#endif

	m_List1.LoadColumnInfo (109);
#ifdef ZHIAI_VERSION
	m_nadd=2;
#else
	m_nadd=1;
#endif

	GetData();	// Jeff ������������������ݽ���;
	m_combo1.AddString (g_user.name);
	for(int i=0; i<g_userarray.GetSize (); i++)
	{
		m_combo1.AddString (g_userarray.ElementAt (i).ElementAt (1) );
	}
	FillGrid();

	m_combo1.GetWindowRect (rc2);
	ScreenToClient(rc2);
	rc2.bottom +=200;
	m_combo1.MoveWindow (rc2);

	GetDlgItem(IDC_BUTclose)->GetWindowRect(rc2);
	SetComboHei(&m_combo1, rc2.Height ());

	GetDlgItem(IDC_BUTprint3)->EnableWindow(IsHasRights2new(49));
	GetDlgItem(IDC_BUTprint)->EnableWindow(IsHasRights2new(3));
	GetDlgItem(IDC_BUTmodify4)->EnableWindow(IsHasRights2new(1));
	GetDlgItem(IDC_BUTclient)->EnableWindow(IsHasRights2new(1));
}

void DinDanFrom::FillGrid2()
{
	int m_nadd2=m_nadd;
	m_nadd2-=3;

	if(g_bSearchFilter)
	{
		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++)
			{
				if(g_filterdate1!="")
				{
					if(m_List1array.ElementAt (ii).ElementAt (14+m_nadd2)<g_filterdate1 || m_List1array.ElementAt (ii).ElementAt (14+m_nadd2)>g_filterdate2)
						continue;
				}
				if(g_waiter1!="")
				{
					if(m_List1array.ElementAt (ii).ElementAt (19+m_nadd2)!=g_waiter1)
						continue;
				}
				if(g_waiter2!="")
				{
					if(m_List1array.ElementAt (ii).ElementAt (22+m_nadd2)!=g_waiter2)
						continue;
				}
				if(g_waiter3!="")
				{
					if(m_List1array.ElementAt (ii).ElementAt (23+m_nadd2)!=g_waiter3)
						continue;
				}

				if(1)
				{
					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);
		CString str;
		str.Format ("����:%d", ii);
		SetDlgItemText(IDC_STATIC2, str);
	}
	else
	{
		m_List1.DeleteAllItems2 ();
		int ii=0;
		m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
		int count=0;
		if(m_filter.IsEmpty ())
		{
			for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
			{
				m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
			}
		}
		else
		{
			int type=GetType(m_filter);
			if(type==1)//�绰
			{
				for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
				{
					if(m_List1array.ElementAt (ii).ElementAt (30+m_nadd2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (31+m_nadd2).Find (m_filter)!=-1)
					{
						m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
					}
				}
			}
			else if(type==2)//ƴ��
			{
				m_filter.MakeUpper ();
				for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
				{
					if(m_List1array.ElementAt (ii).ElementAt (32+m_nadd2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (33+m_nadd2).Find (m_filter)!=-1)
					{
						m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
					}
				}
			}
			else
			{
				for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
				{
					if(m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (19+m_nadd2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (20+m_nadd2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (22+m_nadd2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (23+m_nadd2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (33+m_nadd2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (30+m_nadd2).Find (m_filter)!=-1 ||\
						m_List1array.ElementAt (ii).ElementAt (31+m_nadd2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (32+m_nadd2).Find (m_filter)!=-1)
					{
						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);
		CString str;
		str.Format ("����:%d", ii);
		SetDlgItemText(IDC_STATIC2, str);
	}

	if(!g_id.IsEmpty ())
	{
		for(int i=0; i<m_List1.GetItemCount (); i++)
		{
			if(g_id==m_List1.GetItemText (i, 0))
			{
				m_List1.SetItemState(i,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);   
				m_List1.EnsureVisible(i,FALSE); 
				break;
			}
		}
	}
}

void DinDanFrom::FillGrid()
{
#ifdef	ZHIAI_VERSION
	FillGrid2();return;
#endif

	int m_nadd2=0;
#ifdef	LKAY_VERSION
	m_nadd2+=2;
#endif
	if(g_bSearchFilter)
	{
		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++)
			{
				if(g_filterdate1!="")
				{
					if(m_List1array.ElementAt (ii).ElementAt (11+m_nadd)<g_filterdate1 || m_List1array.ElementAt (ii).ElementAt (11+m_nadd)>g_filterdate2)
						continue;
				}
				if(g_waiter1!="")
				{
					if(m_List1array.ElementAt (ii).ElementAt (16+m_nadd)!=g_waiter1)
						continue;
				}
				if(g_waiter2!="")
				{
					if(m_List1array.ElementAt (ii).ElementAt (19+m_nadd)!=g_waiter2)
						continue;
				}
				if(g_waiter3!="")
				{
					if(m_List1array.ElementAt (ii).ElementAt (20+m_nadd)!=g_waiter3)
						continue;
				}
				if(g_waiter4!="")
				{
					if(m_List1array.ElementAt (ii).ElementAt (3)!=g_waiter4)
						continue;
				} 
				if(g_waiter5!="")
				{
					if(m_List1array.ElementAt (ii).ElementAt (4)!=g_waiter5)
						continue;
				}
				if(1)
				{
					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);
		CString str;
		str.Format ("����:%d", ii);
		SetDlgItemText(IDC_STATIC2, str);
	}
	else
	{
		m_List1.DeleteAllItems2 ();
		int ii=0;
		m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
		int count=0;
		if(m_filter.IsEmpty ())
		{
			for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
			{
				m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
			}
		}
		else
		{
			int type=GetType(m_filter);
			if(type==1)//�绰
			{
				for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
				{
					if(m_List1array.ElementAt (ii).ElementAt (32+m_nadd).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (31+m_nadd).Find (m_filter)!=-1)
					{
						m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
					}
				}
			}
			else if(type==2)//ƴ��
			{
				m_filter.MakeUpper ();
				for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
				{
					if(m_List1array.ElementAt (ii).ElementAt (34+m_nadd+m_nadd2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (33+m_nadd+m_nadd2).Find (m_filter)!=-1)
					{
						m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
					}
				}
			}
			else
			{
				for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
				{
					if(m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (16+m_nadd).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (17+m_nadd).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (19+m_nadd).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (20+m_nadd).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (34+m_nadd).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (31+m_nadd).Find (m_filter)!=-1 ||\
						m_List1array.ElementAt (ii).ElementAt (32+m_nadd).Find (m_filter)!=-1 || \
						m_List1array.ElementAt (ii).ElementAt (33+m_nadd).Find (m_filter)!=-1)
					{
						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);
		CString str;
		str.Format ("����:%d", ii);
		SetDlgItemText(IDC_STATIC2, str);
	}

	if(!g_id.IsEmpty ())
	{
		for(int i=0; i<m_List1.GetItemCount (); i++)
		{
			if(g_id==m_List1.GetItemText (i, 0))
			{
				m_List1.SetItemState(i,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);   
				m_List1.EnsureVisible(i,FALSE); 
				break;
			}
		}
	}
}

void DinDanFrom::OnBUTclose()	// �ر�view�Ӵ���ť;
{
	GetParent()->SendMessage(WM_CLOSE);
}

extern void SaveImageToFile(Image *img, CString path);
void DinDanFrom::OnButton1() // ��ѯ;
{
	// TODO: Add your control notification handler code here
	/*
	Image *img=NULL;
	::LoadImageFromBuf (&img, "e:\\1x.jpg");
	if(img->GetWidth())
	{
	CRect rc(0,0,1000,1000);
	RectFitDes(img->GetWidth(), img->GetHeight(), rc);
	Image *simg= img->GetThumbnailImage(rc.Width (), rc.Height (), NULL, NULL);
	Graphics graphic(simg);//��ֹGetThumbnailImageӰ������
	graphic.DrawImage(img, 0,0,simg->GetWidth(), simg->GetHeight() ); 
	delete img;
	::SaveImageToFile(simg, "e:\\1x2.jpg");
	delete simg;
	}*/
	UpdateData();
	m_filter.TrimLeft ();
	m_filter.TrimRight ();
	FillGrid();	
}

void DinDanFrom::OnSelchangeCombo1() 
{
	SetTimer(1, 100, NULL);	
}

void DinDanFrom::OnTimer(UINT nIDEvent) 
{
	KillTimer(nIDEvent);
	OnButton1();
}

void DinDanFrom::OnBUTmodify3()	//��ӡ��ť;��ɴ��
{
	POSITION pos;
	pos=m_List1.GetFirstSelectedItemPosition();	
	if(pos==NULL)
	{
		return;
	}
	int iItem=m_List1.GetNextSelectedItem(pos);	
	g_pMainWnd->PrintDinDan(m_List1.GetItemText (iItem, 0));
}

void DinDanFrom::OnBUTmodify4() 
{
	POSITION pos;
	pos=m_List1.GetFirstSelectedItemPosition();	
	if(pos==NULL)
	{
		return;
	}
	int iItem=m_List1.GetNextSelectedItem(pos);	

	if(m_List1.GetItemText (iItem, 3)=="�ɳ���ϵ")
		GetDlgItem(IDC_BUTmodify4)->ShowWindow(1);
	else
	{
		GetDlgItem(IDC_BUTmodify4)->ShowWindow(0);
		return;
	}

	if(AfxMessageBox("��ɺ�˵���������ʷ���ݿⲢ�����޸�, ȷ����?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;

	CString m_id=m_List1.GetItemText (iItem, 0);
	{
		CString sql= "update dindan set [status3]='OK',[time5]='"+g_date+"' where id='"+m_id+"'";
		g_sendhead.bsql=1;
		g_pMainWnd->ProcessChatMessageRequest2(sql); 
		if(g_bSendOK==0)return;

#if JEFF_TEST_ON
		// 2015-05-30 ��ȡ��״̬OK,д��־;
		CString strLog;
		strLog.Format(_T(" ����:%s ��ԤԼ�޸��б�����Ϊȡ��OK"),m_id);

		WriteLog(_T("ԤԼ�޸�"), strLog);
#endif
	}
	AfxMessageBox("����ɹ�!", MB_ICONINFORMATION);

	GetData();
	FillGrid();
}

BOOL DinDanFrom::PreTranslateMessage(MSG* pMsg) 
{
	try
	{
		if(pMsg->message==WM_KEYDOWN)
		{
			//	CString ss;
			//	ss.Format ("%d", pMsg->wParam);
			//	MessageBox(ss);
			switch (pMsg->wParam)
			{
			case VK_RETURN:
				OnButton1();
				return 1;
			case VK_F9:
				return 1;
			case 0x43: // copy
				if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
				{
					GetFocus()->SendMessage(WM_COPY);
					return TRUE;
				}
				break;
			case 0x56: //Ctrl + V:
				if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
				{
					GetFocus()->SendMessage(WM_PASTE);
					return TRUE;
				}
				break;
			case 0x58: // cut
				if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
				{
					GetFocus()->SendMessage(WM_CUT);
					return TRUE;
				}
				break;
			case 0x5A: //undo
			case 0x59: //redo
				if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
				{
					GetFocus()->SendMessage(WM_UNDO);
					return TRUE;
				}
				break;
			}
		}
		return MyFormView::PreTranslateMessage(pMsg);
	}
	catch(...)
	{
	}

	return TRUE;
}

//extern void DeleteDirectory(CString strDir);
void DinDanFrom::OnBUTprint()	// ɾ����ť, ���Ǵ�ӡ��ť;
{
	if(IsHasRights2new(3)==0)return;
	POSITION pos;
	pos=m_List1.GetFirstSelectedItemPosition();	
	if(pos==NULL)
	{
		return;	
	}
	int iItem=m_List1.GetNextSelectedItem(pos);	
	if(AfxMessageBox("����! �˵�������Ͻ�ȫ����ɾ��? ȷ����?", MB_YESNO|MB_ICONSTOP)!=IDYES)return;
	CString id = m_List1.GetItemText (iItem, 0);

	CString name1 = m_List1.GetItemText (iItem, 1);
	CString name2 = m_List1.GetItemText (iItem, 2);
	CString sql;

	// Jeff 2015-06-11:�������,���͵����������ִ��ʧ��;
	sql= "delete from  dindan where id='"+id+"'";
	sql+= "***delete from  dindansp where id='"+id+"'";
	sql+= "***delete from  dindansp2 where id='"+id+"'";
	sql+= "***delete from  dindansp3 where id='"+id+"'";
	sql+= "***delete from  photoprint where id='"+id+"'";
	sql+= "***delete from  dindanbukuan where id='"+id+"'";
	sql+= "***delete from  dindanbukuan2 where id='"+id+"'";
	sql+= "***delete from  client where [id]='"+id+"'";
	sql+= "***delete from  burncdreg where [id]='"+id+"'";
	sql+= "***delete from  digitalwork where [id]='"+id+"'";
	sql+= "***delete from  mywork where [id]='"+id+"'";
	sql+= "***delete from  dindanjd where [id]='"+id+"'";
	sql+= "***"+GetLogStr("ɾ������"+name1+name2+id+"����!");

	g_sendhead.bsql=1;
	g_pMainWnd->ProcessChatMessageRequest2(sql); 

	id.TrimLeft ();
	id.TrimRight ();
	if(id.GetLength ()>3)
	{
		CString path;
		path=g_path1+"\\";
		path+=id;
		DeleteDirectory(path);	// �ݹ�ɾ��ԭƬ;
		path=g_path2+"\\";
		path+=id;
		DeleteDirectory(path);	// �ݹ�ɾ������;
		path=g_path3+"\\";
		path+=id;
		DeleteDirectory(path);	// �ݹ�ɾ������;
		path=g_path4+"\\";
		path+=id;
		DeleteDirectory(path);	// �ݹ�ɾ�����;
	}

	GetData();
	FillGrid();
}

/*
dindan
dindansp
dindansp2
dindansp3
photoprint
dindanbukuan
dindanbukuan2
client
burncdreg
digitalwork
mywork
dindanjd

delete from  dindan
delete from  dindansp
delete from  dindansp2
delete from  dindansp3
delete from  photoprint
delete from  dindanbukuan
delete from  dindanbukuan2
delete from  client
delete from  burncdreg
delete from  digitalwork
delete from  mywork
delete from  dindanjd

*/
void DinDanFrom::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult) 
{
	OnBUTmodify();
	*pResult = 0;
}

void DinDanFrom::OnBUTclient()//user.info.button�ͻ����ϰ�ť;
{
	POSITION pos; 
	pos=m_List1.GetFirstSelectedItemPosition();	
	if(pos==NULL)
	{
		return;	
	}
	int iItem=m_List1.GetNextSelectedItem(pos);	

#ifdef CHILD_VERSION
	CClientDlg2 dlg;
#else
	CClientDlg dlg;
#endif

	dlg.m_bAdd=0;
	dlg.id=m_List1.GetItemText (iItem, 0);
	dlg.m_name1=m_List1.GetItemText (iItem, 1);
	dlg.m_name2=m_List1.GetItemText (iItem, 2);

	if(dlg.DoModal ()!=IDOK)return;
	for(int i=0; i<m_List1.m_arLabels.GetSize (); i++)
	{
		if(dlg.id==m_List1.m_arLabels.ElementAt (i).ElementAt (0))
		{
			m_List1.m_arLabels.ElementAt (i).SetAt (1, dlg.m_name1 );
			m_List1.m_arLabels.ElementAt (i).SetAt (2, dlg.m_name2 );
			m_List1.Invalidate ();
			//		FillGrid();
			break;
		}
	}
}

void DinDanFrom::GetClientPhone()
{
	SelExportType dlg;
	if(dlg.DoModal()!=IDOK)return;
	if(dlg.m_type==1)
	{
		ListToXLS(&m_List1, "c:\\��������.xls", 0);
		//Import2Excle(&m_List1, "C:\\��������.xls", 0, 0, -1, -1);
		//Import2Excle(&m_List1, "E:\\��������2.xls", 0, 2000, -1, 4000);
		//Import2Excle(&m_List1, "E:\\��������3.xls", 0, 4000, -1, 6000);
		//Import2Excle(&m_List1, "E:\\��������4.xls", 0, 6000, -1, 8000);
		//Import2Excle(&m_List1, "E:\\��������5.xls", 0, 8000, -1, 10000);
		//Import2Excle(&m_List1, "E:\\��������6.xls", 0, 10000, -1, 12000);
		//Import2Excle(&m_List1, "E:\\��������7.xls", 0, 12000, -1, 13000);
		//Import2Excle(&m_List1, "E:\\��������8.xls", 0, 13000, -1, -1);
		return;
	}

#ifdef LKAY_VERSION
	CStdioFile fp;
	fp.Open ("c:\\clientphone.txt", CFile::modeCreate|CFile::modeWrite);
	CString str;
	CString name,m_name1,m_name2;
	CString phone,m_phone1,m_phone2;
	CString txname,txprice,mensi,sex,birthday,date;

	int leng1=23;
	int leng2=10;
	int leng3=18;
	int leng4=13;
	int leng5=30;
	int leng6=30;
	int leng7=13;
	int leng8=20;
	name="����";
	sex="�Ա�";
	birthday="����";
	mensi="����";
	phone="�绰";
	txname="��ϵ";
	txprice="�۸�";
	date="��������";

	FillLength(name, leng1);
	FillLength(sex, leng2);
	FillLength(birthday, leng3);
	FillLength(mensi, leng4);
	FillLength(phone, leng5);
	FillLength(txname, leng6);
	FillLength(txprice,leng7);
	FillLength(date,leng8);

	str=name+sex+birthday+mensi+phone+txname+txprice+date+"\n";
	fp.WriteString (str);

	for(int i=0; i<m_List1.m_arLabels.GetSize (); i++)
	{
		//	if(atof(m_List1.GetItemText (i, 15))<600)continue;
		name.Empty ();
		phone.Empty ();
		m_name1=m_List1.m_arLabels.ElementAt(i).ElementAt(1); 
		m_name2=m_List1.m_arLabels.ElementAt(i).ElementAt(2); 
		m_phone1=m_List1.m_arLabels.ElementAt(i).ElementAt(30+m_nadd);  
		m_phone2=m_List1.m_arLabels.ElementAt(i).ElementAt(31+m_nadd);  
		mensi=m_List1.m_arLabels.ElementAt(i).ElementAt(19+m_nadd);  
		txname=m_List1.m_arLabels.ElementAt(i).ElementAt(20+m_nadd);  
		txprice=m_List1.m_arLabels.ElementAt(i).ElementAt(21+m_nadd);  
		date=m_List1.m_arLabels.ElementAt(i).ElementAt(16);  
		sex=m_List1.m_arLabels.ElementAt(i).ElementAt(3); 
		birthday=m_List1.m_arLabels.ElementAt(i).ElementAt(4); 
		if(birthday!="" && m_List1.m_arLabels.ElementAt(i).ElementAt(5)=="ũ��")
			birthday+="(ũ)";

		if(!m_name1.IsEmpty ())
			name=m_name1+",";
		name+=m_name2;
		name.TrimRight (",");

		if(!m_phone1.IsEmpty ())
			phone=m_phone1+",";
		phone+=m_phone2;phone.TrimRight (",");

		FillLength(name, leng1);
		FillLength(sex, leng2);
		FillLength(birthday, leng3);
		FillLength(mensi, leng4);
		FillLength(phone, leng5);
		FillLength(txname, leng6);
		FillLength(txprice,leng7);
		FillLength(date,leng8);
		str=name+sex+birthday+mensi+phone+txname+txprice+date+"\n";
		fp.WriteString (str);
	}

	fp.Close ();
	MessageBox("�绰�ѱ��浽c:\\clientphone.txt");
	ShellExecute(NULL, _T("open"), _T("c:\\clientphone.txt"), NULL, NULL, SW_SHOWMAXIMIZED);
#else
	CStdioFile fp;
	fp.Open ("c:\\clientphone.txt", CFile::modeCreate|CFile::modeWrite);
	CString str;
	CString name,m_name1,m_name2;
	CString phone,m_phone1,m_phone2;
	CString txname,txprice,mensi,type,from;

	int leng1=26;
	int leng2=20;
	int leng3=30;
	int leng4=20;
	int leng5=20;
	int leng6=20;
	int leng7=20;
	name="����";
	mensi="����";
	phone="�绰";
	txname="��ϵ";
	txprice="�۸�";
	type="��ϵ���";
	from="��Դ";

	FillLength(name, leng1);
	FillLength(mensi, leng2);
	FillLength(phone, leng3);
	FillLength(txname, leng4);
	FillLength(txprice,leng5);
	FillLength(type, leng6);
	FillLength(from,leng7);
	str=name+mensi+phone+txname+txprice+type+from+"\n";
	fp.WriteString (str);

	for(int i=0; i<m_List1.GetItemCount (); i++)
	{
		//	if(atof(m_List1.GetItemText (i, 15))<600)continue;
		name.Empty ();
		phone.Empty ();
		m_name1=m_List1.GetItemText (i, 1);
		m_name2=m_List1.GetItemText (i, 2);
		m_phone1=m_List1.GetItemText (i, 31+m_nadd);
		m_phone2=m_List1.GetItemText (i, 32+m_nadd);
		mensi=m_List1.GetItemText (i, 16+m_nadd);
		txname=m_List1.GetItemText (i, 17+m_nadd);
		txprice=m_List1.GetItemText (i, 18+m_nadd);
		type=m_List1.GetItemText (i, 3);
		from=m_List1.GetItemText (i, 4);

		if(!m_name1.IsEmpty ())
			name=m_name1+",";
		name+=m_name2;
		name.TrimRight (",");

		if(!m_phone1.IsEmpty ())
			phone=m_phone1+",";
		phone+=m_phone2;phone.TrimRight (",");

		FillLength(name, leng1);
		FillLength(mensi, leng2);
		FillLength(phone, leng3);
		FillLength(txname, leng4);
		FillLength(txprice,leng5);
		FillLength(type, leng6);
		FillLength(from,leng7);
		str=name+mensi+phone+txname+txprice+type+from+"\n";
		fp.WriteString (str);
	}

	fp.Close ();
	MessageBox("�绰�ѱ��浽c:\\clientphone.txt");
	ShellExecute(NULL, _T("open"), _T("c:\\clientphone.txt"), NULL, NULL, SW_SHOWMAXIMIZED);
#endif
}

// ������������ť ԤԼ��(�޸�)
void DinDanFrom::OnBUTmodify() //ԤԼ��(�޸�)
{
	POSITION pos;
	pos=m_List1.GetFirstSelectedItemPosition();	
	if(pos==NULL)
	{
		return;
	}
	int iItem=m_List1.GetNextSelectedItem(pos);	
	//	 ModifyDinDan dlg;
	Booking2 dlg;
	dlg.m_id = m_List1.GetItemText (iItem, 0);	
	dlg.m_bModify =1;
	g_id=dlg.m_id ;
	if(dlg.DoModal ()==IDOK)
	{
		GetData();
		FillGrid();
	}
}

void DinDanFrom::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult) 
{
	POSITION pos;
	pos=m_List1.GetFirstSelectedItemPosition();	
	if(pos==NULL)return;
	int iItem=m_List1.GetNextSelectedItem(pos);	
	g_id = m_List1.GetItemText (iItem, 0);


#ifndef DDF_VERSION
	if(m_List1.GetItemText (iItem, 3)=="�ɳ���ϵ")
		GetDlgItem(IDC_BUTmodify4)->ShowWindow(1);
	else
		GetDlgItem(IDC_BUTmodify4)->ShowWindow(0);
#endif

	*pResult = 0;
}

void DinDanFrom::OnBUTprint3()	// ������ť;
{
	GetClientPhone();
}

void DinDanFrom::OnCustomdrawList1 ( NMHDR* pNMHDR, LRESULT* pResult )
{
	NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );
	// Take the default processing unless we set this to something else below.
	*pResult = 0;

	// First thing - check the draw stage. If it's the control's prepaint
	// stage, then tell Windows we want messages for every item.
	if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage )
	{
		*pResult = CDRF_NOTIFYITEMDRAW;
	}
	else if ( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage )
	{
		// This is the prepaint stage for an item. Here's where we set the
		// item's text color. Our return value will tell Windows to draw the
		// item itself, but it will use the new color we set here.
		// We'll cycle the colors through red, green, and light blue.
#ifdef ZHIAI_VERSION
		if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (5))<5.0 || (atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (7))<5.0)&&m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (7)!="" )
		{	
			pLVCD->clrText = RGB(220,0,0);
		}
		else if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (5))<8.0 || (atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (7))<8.0)&&m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (7)!="" )
		{	
			pLVCD->clrText = RGB(255,255,0);
		}
		else if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (5))==0 && atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (7))==0)
		{
			pLVCD->clrText = RGB(0,0,0);
		}
#else
		if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (28))<5.0 || (atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (30))<5.0)&&m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (30)!="" )
		{	
			pLVCD->clrText = RGB(220,0,0);
		}
		else if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (28))<8.0 || (atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (30))<8.0)&&m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (30)!="" )
		{	
			pLVCD->clrText = RGB(255,255,0);
		}
		else if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (28))==0 && atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (30))==0)
		{
			pLVCD->clrText = RGB(0,0,0);
		}
#endif
		else
		{
			pLVCD->clrText = RGB(20,133,20);
		}

		if(pLVCD->nmcd.dwItemSpec%2)
			pLVCD->clrTextBk = g_gridcol1;
		else
			pLVCD->clrTextBk = g_gridcol2;
		// Store the color back in the NMLVCUSTOMDRAW struct.
		// Tell Windows to paint the control itself.
		*pResult = CDRF_DODEFAULT;
	}
}

void DinDanFrom::HidePrice()
{
#ifdef LKAY_VERSION
	if(IsHasRights2new(31))return;
	for(int i=0; i<	m_List1array.GetSize (); i++)
	{
		m_List1array.ElementAt (i).SetAt (21, "***");
		m_List1array.ElementAt (i).SetAt (22, "***");
		m_List1array.ElementAt (i).SetAt (31, "***");
		m_List1array.ElementAt (i).SetAt (32, "***");
	}
#else
	if(IsHasRights2new(31)==0)
	{
		for(int i=0; i<	m_List1array.GetSize (); i++)
		{
			m_List1array.ElementAt (i).SetAt (32, "***");
			m_List1array.ElementAt (i).SetAt (33, "***");
		}
	}

	if(IsHasRights2new(50)==0)
	{
		for(int i=0; i<	m_List1array.GetSize (); i++)
		{
			m_List1array.ElementAt (i).SetAt (28, "***");
			m_List1array.ElementAt (i).SetAt (29, "***");
			m_List1array.ElementAt (i).SetAt (30, "***");
			m_List1array.ElementAt (i).SetAt (31, "***");
		}
	}

#endif
}

void DinDanFrom::OnRadio1() 
{
	UpdateData();GetData();FillGrid();
}

void DinDanFrom::OnRadio3() 
{
	OnRadio1();
}


void DinDanFrom::OnRadio4() 
{
	OnRadio1();	
}

void DinDanFrom::OnRadio6() 
{
	OnRadio1();	
}

void DinDanFrom::OnRadio7() 
{
	OnRadio1();	
}

CString GetDindanType(int type)
{
	switch(type)
	{
	case 0:
		return "����ͻ�";
	case 1:
		return "ԤԼ�ͻ�";
	case 2:
		return "����ͻ�";
	case 3:
		return "����ͻ�";
	case 4:
		return "���IJ���";
	}
	return "";
}

extern BOOL EncryptFile2(BYTE *buffer, DWORD leng, PCHAR szPassword);
void DinDanFrom::GetData()
{
#ifdef ZHIAI_VERSION // ֿ����
	//LOG4C((LOG_NOTICE,"DinDanForm::GetData=ֿ���汾"));
	if(g_bShowOK==0)
	{
		CString filter="status3='δȡ'";
		g_sendhead.bsql=0;
		g_sendhead.code[0]=151;
		g_sendhead.tabcount=1;
		g_pMainWnd->ProcessChatMessageRequest2(filter);
		if(g_bSendOK==0)
			return;
	}
	else
	{
		g_sendhead.bsql=0;
		g_sendhead.code[0]=151;
		g_sendhead.tabcount=1;
		g_pMainWnd->ProcessChatMessageRequest2(1);
		if(g_bSendOK==0)
			return;
	}
#else

#ifdef LKAY_VERSION	// ������Ӥ��
	//	   LOG4C((LOG_NOTICE,"DinDanForm::GetData=������Ӥ�汾"));
	CString dindantype=GetDindanType(m_radio1);
	if(g_bShowOK==0)
	{
		CString filter="[status3]='δȡ' and [dindantype]='"+dindantype+"'";
		g_sendhead.bsql=0;
		g_sendhead.code[0]=181;
		g_sendhead.tabcount=1;
		g_pMainWnd->ProcessChatMessageRequest2(filter);
		if(g_bSendOK==0)
			return;
	}
	else
	{
		CString filter="[dindantype]='"+dindantype+"'";
		g_sendhead.bsql=0;
		g_sendhead.code[0]=181;
		g_sendhead.tabcount=1;
		g_pMainWnd->ProcessChatMessageRequest2(filter);
		if(g_bSendOK==0)
			return;
	}
#else	// ��ֿ����������Ӥ��������汾;
	//	  LOG4C((LOG_NOTICE,"DinDanForm::GetData=��ֿ����������Ӥ��������汾"));
	if(g_bShowOK==0)
	{
		CString filter="status3='δȡ'";
		g_sendhead.bsql=0;
		g_sendhead.code[0]=225;
		g_sendhead.tabcount=1;
		g_pMainWnd->ProcessChatMessageRequest2(filter);
		if(g_bSendOK==0)
			return;
	}
	else
	{
		g_sendhead.bsql=0;
		g_sendhead.code[0]=225;
		g_sendhead.tabcount=1;
		g_pMainWnd->ProcessChatMessageRequest2(21);
		if(g_bSendOK==0)
			return;
	}
#endif
#endif
	DataToArray(&m_List1array);
	HidePrice();
	if(g_sInfo.Find("curdan")!=-1)
	{	
		CString str;
		str.Format("%d", m_List1array.GetSize());
		g_sInfo.Replace("curdan", str);
		g_pMainWnd->PrintHireDress2();
	}
}

extern void SaveTaskPath(CString pathname);
UINT AutoDel(DWORD wParam)
{
	int count=100;
	while(count--)
	{
		SaveTaskPath("c:\\1.txt");
		::Sleep (10);
	}
	AfxMessageBox("���");
	return 0;
}

void DinDanFrom::OnBtnsearchfilter() // ������ѯ;
{
	//	g_sendhead.bsql=1;
	//	g_pMainWnd->ProcessChatMessageRequest2("update version set [setcheck1]='ok'");
	/*	if(0)
	{
	AfxBeginThread((AFX_THREADPROC)AutoDel, NULL);
	::Sleep (10);
	AfxBeginThread((AFX_THREADPROC)AutoDel, NULL);
	::Sleep (10);
	AfxBeginThread((AFX_THREADPROC)AutoDel, NULL);
	::Sleep (10);
	AfxBeginThread((AFX_THREADPROC)AutoDel, NULL);
	::Sleep (10);
	AfxBeginThread((AFX_THREADPROC)AutoDel, NULL);
	::Sleep (10);
	}
	else 
	SaveTaskPath("c:\\1.txt");*/

	// TODO: Add your control notification handler code here delete from
	SearchFilter dlg;
	dlg.m_mode =0;
	if(dlg.DoModal ()==IDOK)FillGrid();	
	g_bSearchFilter=0;
}

/*
delete from  dindan***delete from  dindansp***delete from  dindansp2***delete from  dindansp3***delete from  photoprint***delete from  dindanbukuan***delete from  dindanbukuan2***delete from  client***delete from  burncdreg***delete from  digitalwork***delete from  mywork***delete from  dindanjd
delete from  gudingfeiyong***delete from  singleincome***delete from  singleincomemoney
*/
extern void SaveImageToFile2(Image *img, CString path, ULONG quality);
void DinDanFrom::OnBUTmodify5() 
{
	POSITION pos; 
	pos=m_List1.GetFirstSelectedItemPosition();	
	if(pos==NULL)
	{
		AfxMessageBox("����ѡ�ж���!");
		return;	
	}
	int iItem=m_List1.GetNextSelectedItem(pos);	

	CString m_id=m_List1.GetItemText (iItem, 0);

	CFileDialog fdlg(true, NULL,"", OFN_HIDEREADONLY, "jpg files(*jpg)|*.jpg||");  
	if(fdlg.DoModal ()!=IDOK)return;
	CString path=fdlg.GetPathName();
	Image *m_pImg=NULL;
	if(m_pImg)delete m_pImg;m_pImg=NULL;
	::LoadImageFromBuf (&m_pImg, path);
	if(m_pImg==NULL)
	{
		AfxMessageBox("��ЧͼƬ�ļ�!");return;
	}	
	Image *simg2=NULL;
	CRect rc2(0,0,2000,2000);
	RectFitDes(m_pImg->GetWidth(), m_pImg->GetHeight(), rc2);
	simg2=m_pImg->GetThumbnailImage(rc2.Width (), rc2.Height (), NULL, NULL);
	Graphics graphic2(simg2);//��ֹGetThumbnailImageӰ������
	graphic2.Clear(Color(255,255,255,255));
	graphic2.DrawImage(m_pImg, 0,0,simg2->GetWidth(), simg2->GetHeight() );
	if(m_pImg)delete m_pImg;m_pImg=NULL;
	path=g_mainpath+"\\1.jpg";
	::SaveImageToFile2(simg2, path, 40); delete simg2;

	CFile fp;
	if(!fp.Open(path, CFile::modeRead))
	{
		AfxMessageBox("�ļ���ʧ��!");
		return;
	}
	DWORD length=fp.GetLength();

	BYTE *m_pData=new BYTE[length+100];
	fp.Read(m_pData, length);
	fp.Close();
	::DeleteFile(path);		// ɾ��1.jpg; 
	char no[100];
	memset(no, 0, 100);
#ifdef VC60
	strcpy(no, m_id);
#else
	strcpy_s(no, 100, m_id);
#endif
	memcpy(m_pData+length, no, 100);

	g_nSendCode=37;
	g_pMainWnd->ProcessChatMessageRequest2(m_pData, length+100);
	g_nSendCode=0;
	delete []m_pData;
	if(g_bSendOK==0)
	{
		if(m_pImg)delete m_pImg;m_pImg=NULL;
		return;
	}
	AfxMessageBox("�ϴ��ɹ�!");GetData();FillGrid();
}

void DinDanFrom::OnBUTmodify6() 
{
	POSITION pos; 
	pos=m_List1.GetFirstSelectedItemPosition();	
	if(pos==NULL)
	{AfxMessageBox("����ѡ�ж���!");
	return;	
	}
	int iItem=m_List1.GetNextSelectedItem(pos);	

	CString m_id=m_List1.GetItemText (iItem, 0);

	char no[100];
	memset(no, 0, 100);
#ifdef VC60
	strcpy(no, m_id);
#else
	strcpy_s(no, 100, m_id);
#endif
	g_nSendCode=38;
	g_pMainWnd->ProcessChatMessageRequest2((BYTE*)no, 100);
	g_nSendCode=0;
	if(g_bSendOK==0)
	{
		return;
	}
	//	Image *m_pImg=NULL;
	//	if(m_pImg)delete m_pImg;m_pImg=NULL;
	//	::LoadImageFromBuf (&m_pImg, g_pData, g_nLeng);

	CString path=g_mainpath+"\\1.jpg";	
	::DeleteFile(path);		// ɾ��1.jpg;
	CFile fp;
	fp.Open(path, CFile::modeCreate|CFile::modeWrite);
	fp.Write(g_pData, g_nLeng);
	fp.Close();
	ShellExecute(NULL, _T("open"), path, NULL, NULL, SW_SHOWMAXIMIZED);

	//  ::SaveImageToFile2 (simg2, path, 50); delete simg2;


	//	if(m_pImg==NULL)
	//	//{
	//		AfxMessageBox("��ЧͼƬ�ļ�!");return;
	//	}	
	//	ShowPhoto dlg;
	//	dlg.m_pImg=m_pImg;
	//	dlg.DoModal();	if(m_pImg)delete m_pImg;m_pImg=NULL;
}

void DinDanFrom::AutoImportPhoto()
{	
	if(AfxMessageBox("�Ƿ��Զ�ת���ͬͼƬ, ȷ����?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
	CString str;
	if(1)
	{
		using namespace helper_coffs;
		ffsco o;
		o.dirs(0);
		o.find(LPCSTR(g_path1), LPCSTR("*.*"));
		ffsco::typeT coo;
		ffsco::typeT::iterator it;
		coo = o.co_dir();
		for (it = coo.begin();
			coo.end() != it;
			it ++) 
		{
			str=(*it).c_str();
			if(str==g_path1+"\\")continue;
			str.TrimRight ("\\");
			str=str.Right (str.GetLength ()-str.ReverseFind ('\\')-1);
			AutoImportPhoto (str);::Sleep(100);
		}
	}
	AfxMessageBox("ȫ���ϴ����!");
}

void DinDanFrom::AutoImportPhoto(CString m_id)
{
	CString path; 

	CString str;
	CString m_path=g_path1+"\\"+m_id+"\\";

	if(1)
	{
		using namespace helper_coffs;
		ffsco o;
		o.dirs(1);
		o.find(LPCSTR(m_path), LPCSTR("*.jpg"));
		ffsco::typeT coo;
		ffsco::typeT::iterator it;
		coo = o.co_file();
		for (it = coo.begin();coo.end() != it;it ++) 
		{
			str=(*it).c_str();
			if(str.GetAt (str.ReverseFind ('\\')+1)=='s')continue;
			if(str.GetAt (str.ReverseFind ('\\')+1)=='m')continue;

			path=str;break;
		}
	}


	Image *m_pImg=NULL;
	if(m_pImg)delete m_pImg;m_pImg=NULL;
	::LoadImageFromBuf (&m_pImg, path);
	if(m_pImg==NULL)
	{
		AfxMessageBox("��ЧͼƬ�ļ�!");return;
	}
	Image *simg2=NULL;
	CRect rc2(0,0,2000,2000);
	RectFitDes(m_pImg->GetWidth(), m_pImg->GetHeight(), rc2);
	simg2=m_pImg->GetThumbnailImage(rc2.Width (), rc2.Height (), NULL, NULL);
	Graphics graphic2(simg2);//��ֹGetThumbnailImageӰ������
	graphic2.Clear(Color(255,255,255,255));
	graphic2.DrawImage(m_pImg, 0,0,simg2->GetWidth(), simg2->GetHeight() );
	if(m_pImg)delete m_pImg;m_pImg=NULL;
	path=g_mainpath+"\\1.jpg";
	::SaveImageToFile2 (simg2, path, 40); delete simg2;

	CFile fp;
	if(!fp.Open(path, CFile::modeRead))
	{
		AfxMessageBox("�ļ���ʧ��!");
		return;
	}
	DWORD length=fp.GetLength();

	BYTE *m_pData=new BYTE[length+100];
	fp.Read(m_pData, length);
	fp.Close();
	::DeleteFile(path);		// ɾ��1.jpg;
	char no[100];
	memset(no, 0, 100);
#ifdef VC60
	strcpy(no, m_id);
#else
	strcpy_s(no, 100, m_id);
#endif
	memcpy(m_pData+length, no, 100);

	g_nSendCode=37;
	g_pMainWnd->ProcessChatMessageRequest2(m_pData, length+100);
	g_nSendCode=0;
	delete []m_pData;
	if(g_bSendOK==0)
	{

		return;
	}
}

void DinDanFrom::OnBUTmodify7() 
{
	POSITION pos; 
	pos=m_List1.GetFirstSelectedItemPosition();	
	if(pos==NULL)
	{AfxMessageBox("����ѡ�ж���!");
	return;	
	}
	if(AfxMessageBox("�Ƿ�ɾ����ͬ, ȷ����?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
	int iItem=m_List1.GetNextSelectedItem(pos);	

	CString m_id=m_List1.GetItemText (iItem, 0);

	BYTE *m_pData=new BYTE[100];

	char no[100];
	memset(no, 0, 100);
#ifdef VC60
	strcpy(no, m_id);
#else
	strcpy_s(no, 100, m_id);
#endif
	memcpy(m_pData, no, 100);

	g_nSendCode=37;
	g_pMainWnd->ProcessChatMessageRequest2(m_pData, 100);
	g_nSendCode=0;
	delete []m_pData;
	if(g_bSendOK==0)
	{

		return;
	}
	AfxMessageBox("ɾ���ɹ�!");	
	GetData();FillGrid();
}

void DinDanFrom::OnBUTmodify8() 
{
	POSITION pos; 
	pos=m_List1.GetFirstSelectedItemPosition();	
	if(pos==NULL)
	{
		AfxMessageBox("����ѡ�ж���!");
		return;	
	}
	int iItem=m_List1.GetNextSelectedItem(pos);	
	CString m_id=m_List1.GetItemText (iItem, 0);
	ClientContract dlg;
	dlg.m_id=m_id;
	dlg.DoModal();
}


void DinDanFrom::OnBnClickedUrgent()	// �����Ӽ���ť;
{
	// TODO:  �ڴ����ӿؼ�֪ͨ�����������
}