// DLG_Setup_SZGJ_GetMsg.cpp : implementation file
//

#include "stdafx.h"
#include "corpsms.h"
#include "DLG_Setup_SZGJ_GetMsg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include "DLG_Send.h"
/////////////////////////////////////////////////////////////////////////////
// DLG_Setup_SZGJ_GetMsg dialog


DLG_Setup_SZGJ_GetMsg::DLG_Setup_SZGJ_GetMsg(CWnd* pParent /*=NULL*/)
	: CDialog(DLG_Setup_SZGJ_GetMsg::IDD, pParent)
{
	//{{AFX_DATA_INIT(DLG_Setup_SZGJ_GetMsg)
	m_D_Date = COleDateTime::GetCurrentTime();
	m_strMsg = _T("");
	//}}AFX_DATA_INIT
	m_bRefresh2 = false;

	m_pDlg = (DLG_Send *)pParent;
	memset(&m_Setup,0,sizeof(m_Setup));
}


void DLG_Setup_SZGJ_GetMsg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DLG_Setup_SZGJ_GetMsg)
	DDX_Control(pDX, IDC_SETUP_SZGJ_GETMSG_CARNO, m_E_CarNo);
	DDX_Control(pDX, IDC_SETUP_SZGJ_GETMSG_MSG, m_E_Msg);
	DDX_Control(pDX, IDC_SETUP_SZGJ_GETMSG_CD, m_C_CD);
	DDX_DateTimeCtrl(pDX, IDC_SETUP_SZGJ_GETMSG_DATE, m_D_Date);
	DDX_Text(pDX, IDC_SETUP_SZGJ_GETMSG_MSG, m_strMsg);
	DDV_MaxChars(pDX, m_strMsg, 500);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(DLG_Setup_SZGJ_GetMsg, CDialog)
	//{{AFX_MSG_MAP(DLG_Setup_SZGJ_GetMsg)
	ON_CBN_SELCHANGE(IDC_SETUP_SZGJ_GETMSG_CD, OnSelchangeSetupSzgjGetmsgCd)
	ON_NOTIFY(DTN_DATETIMECHANGE, IDC_SETUP_SZGJ_GETMSG_DATE, OnDatetimechangeSetupSzgjGetmsgDate)
	ON_WM_DESTROY()
	ON_NOTIFY(DTN_CLOSEUP, IDC_SETUP_SZGJ_GETMSG_DATE, OnCloseupSetupSzgjGetmsgDate)
	ON_NOTIFY(NM_KILLFOCUS, IDC_SETUP_SZGJ_GETMSG_DATE, OnKillfocusSetupSzgjGetmsgDate)
	ON_BN_CLICKED(IDOK2, OnOk2)
	ON_BN_CLICKED(IDC_SETUP_SZGJ_GETMSG_CARNO_GET, OnSetupSzgjGetmsgCarnoGet)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DLG_Setup_SZGJ_GetMsg message handlers

BOOL DLG_Setup_SZGJ_GetMsg::OnInitDialog() 
{
	CDialog::OnInitDialog();
/*	

	//�������ݿ��ļ���
	m_strNameCD = m_Setup.szSZGJPath;
	m_strNameCD = m_strNameCD+"\\";
	m_strNameCD = m_strNameCD+MOBSET_SZGJ_CD;

	m_strNameLine = m_Setup.szSZGJPath;
	m_strNameLine = m_strNameLine+"\\";
	m_strNameLine = m_strNameLine+MOBSET_SZGJ_LINE;

	m_strNameJE = m_Setup.szSZGJPath;
	m_strNameJE = m_strNameJE+"\\";
	m_strNameJE = m_strNameJE+MOBSET_SZGJ_JE;

	m_strNameJE2 = m_Setup.szSZGJPath;
	m_strNameJE2 = m_strNameJE2+"\\";
	m_strNameJE2 = m_strNameJE2+MOBSET_SZGJ_JE2;

	Dbf dbf;
	CString strTemp;
	if ( !dbf.Use(m_strNameCD) )
	{
		strTemp.Format( "�����ݿ�:%sʧ�ܣ�����·�����ã�" , m_strNameCD );
		MessageBox( strTemp , "����" , MB_ICONWARNING );
		return true;
	}

	m_bRefresh2  = true;
	char szTemp[256]={0};
	long lItem = 0;
	long lRecNum = dbf.RecNum();
	for ( int i=0 ; i<lRecNum;i++ )
	{
		dbf.GoTo(i+1);
		if ( !dbf.IsDelete() )
		{
			dbf.GetRecField( szTemp , "CDNAME" );
			long lItem2 = m_C_CD.AddString( szTemp );
			m_C_CD.SetItemData( lItem2 , (DWORD_PTR)(i+1) );
			lItem++;
		}
	}
	dbf.Close();

	m_bRefresh2 = false;

	if ( lItem>0 )
	{
		m_C_CD.SetCurSel(0);
		RefreshMsg();
	}

	m_E_CarNo.LimitText( 10 );
*/	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void DLG_Setup_SZGJ_GetMsg::OnSelchangeSetupSzgjGetmsgCd() 
{
	RefreshMsg();
}

void DLG_Setup_SZGJ_GetMsg::OnDatetimechangeSetupSzgjGetmsgDate(NMHDR* pNMHDR, LRESULT* pResult) 
{
	*pResult = 0;


}

void DLG_Setup_SZGJ_GetMsg::RefreshMsg()
{
	if ( m_bRefresh2 )
		return ;

	if ( !UpdateData(true) )
		return ;

	//����ȡ����ID
	long lItem = m_C_CD.GetCurSel();
	if ( lItem < 0 )
		return ;
	CString strTemp = GetCDJEMsg(lItem);
	m_E_Msg.SetWindowText( strTemp );
}

void DLG_Setup_SZGJ_GetMsg::OnDestroy() 
{
	m_bRefresh2 = true;

	CDialog::OnDestroy();
}

void DLG_Setup_SZGJ_GetMsg::SetParam(SM_Setup setup)
{
	m_Setup = setup;
}

void DLG_Setup_SZGJ_GetMsg::OnOK() 
{
	if(!UpdateData(true))
		return ;
	
	if ( m_strMsg.GetLength()<=0)
	{
		MessageBox( _T("û����Ϣ���ݣ���ѡ�񳵶ӻ������������ݣ�"),_T("����"),MB_ICONWARNING );
		return ;
	}
	CDialog::OnOK();
}

void DLG_Setup_SZGJ_GetMsg::OnCloseupSetupSzgjGetmsgDate(NMHDR* pNMHDR, LRESULT* pResult) 
{
	*pResult = 0;

	RefreshMsg();
}

void DLG_Setup_SZGJ_GetMsg::OnKillfocusSetupSzgjGetmsgDate(NMHDR* pNMHDR, LRESULT* pResult) 
{
	
	*pResult = 0;

	RefreshMsg();
}

void DLG_Setup_SZGJ_GetMsg::OnOk2() 
{
/*
	if ( m_bRefresh2 )
		return ;

	if ( !UpdateData(true) )
		return ;

	CString strTemp;
	char    szCDID[32]={0};
	char    szCDName[256]={0};
	char    szCDMaster[256]={0};
	char    szCDMobile[256]={0};
	Dbf dbf2;
	BOOL b = dbf2.Use( m_strNameCD );
	if (!b )
	{
		strTemp.Format( _T("�����ݿ�:%sʧ�ܣ�����·�����ã�") , m_strNameCD );
		MessageBox( strTemp , _T("����") , MB_ICONWARNING );
		return ;
	}

	//����·��
	Dbf dbf;
	b = dbf.Use( m_strNameLine );
	if (!b )
	{
		dbf2.Close();
		strTemp.Format( "�����ݿ�:%sʧ�ܣ�����·�����ã�" , m_strNameLine );
		MessageBox( strTemp , "����" , MB_ICONWARNING );
		return ;
	}

	//ȡѡ�������
	CString strDate;
	strDate.Format( "%04d%02d%02d" , m_D_Date.GetYear(),m_D_Date.GetMonth(),m_D_Date.GetDay());

	//�򿪽���
	Dbf dbfje;
	b = dbfje.Use( m_strNameJE );
	if (!b )
	{
		dbf2.Close();
		dbf.Close();
		strTemp.Format( "�����ݿ�:%sʧ�ܣ�����·�����ã�" , m_strNameJE );
		MessageBox( strTemp , "����" , MB_ICONWARNING );
		return ;
	}
	long lcdcount = dbf2.RecNum();
	long ljecount = dbfje.RecNum();

	for ( int k=0 ; k<lcdcount; k++ )
	{
		dbf2.GoTo(k+1);
		if ( dbf2.IsDelete() )
			continue;

		dbf2.GetRecField(szCDID     ,"CDID");
		dbf2.GetRecField(szCDName   ,"CDNAME");
		dbf2.GetRecField(szCDMaster ,"CDMASTER");
		dbf2.GetRecField(szCDMobile ,"CDMOBILE");

		//���Ҵ˳��Ӷ�Ӧ����·������
		CString strMsg;
		strMsg.Format( "%s%02d��%02d�գ�",szCDName,m_D_Date.GetMonth(),m_D_Date.GetDay());
		float   fTotal=0.0f;
		char szTemp[64]={0};
		char szTemp2[64]={0};
		char szLineNo[64]={0};
		long lCount = dbf.RecNum();
		long lItem = 0;
		for ( int i=0 ; i<lCount;i++ )
		{
			dbf.GoTo(i+1);
			if ( !dbf.IsDelete() )
			{
				dbf.GetRecField(szTemp,"CDID");
				if ( !_tcscmp(szTemp , szCDID ) )
				{
					dbf.GetRecField(szLineNo,"LINENO");
					float fNoTotal=0.0f;
					for ( int j=0 ; j<ljecount;j++ )
					{
						dbfje.GoTo(j+1);
						if ( !dbfje.IsDelete() )
						{
							dbfje.GetRecField(szTemp,"LINENO");
							dbfje.GetRecField(szTemp2,"INDATE");
							if ( !_tcscmp(szLineNo,szTemp) &&
								!_tcscmp(strDate,szTemp2) )
							{
								float fNo=0.0f;
								dbfje.GetRecField(szTemp,"YRJE");
								fNo = atof(szTemp)/100.0f;
								fNoTotal += fNo;
							}
						}
					}
					strTemp.Format( "%s·%dԪ��",szLineNo,(long)(fNoTotal+0.5f) );
					strMsg += strTemp;
					lItem++;
				}
			}
		}

		Send_User user={0};
		_tcscpy(user.szName , szCDName);
		_tcscpy(user.szNickName,szCDMaster);
		_tcscpy(user.szMobile,szCDMobile);
		_tcscpy(user.szBZ,strMsg);
		m_pDlg->AddUser(user);
	}
	dbf.Close();
	dbfje.Close();
	dbf2.Close();

	m_strMsg = "\"%Memo%\"";
	UpdateData(false);
	CDialog::OnOK();
*/
	return ;
}

CString DLG_Setup_SZGJ_GetMsg::GetCDJEMsg(long lItem)
{
	CString strTemp;
	CString strMsg;

/*
	char    szCDName[256]={0};
	//ȡ����ID��
	long lRec = m_C_CD.GetItemData(lItem);
	char szCDID[64]={0};
	Dbf dbf;
	BOOL b = dbf.Use( m_strNameCD );
	if (!b )
	{
		strTemp.Format( "�����ݿ�:%sʧ�ܣ�����·�����ã�" , m_strNameCD );
		MessageBox( strTemp , "����" , MB_ICONWARNING );
		return CString("");
	}
	dbf.GoTo(lRec);
	dbf.GetRecField(szCDID,"CDID" );
	dbf.GetRecField(szCDName,"CDNAME" );
	
	dbf.Close();

	if ( _tcslen(szCDID)<=0 )
		return CString("");

	//����·��
	b = dbf.Use( m_strNameLine );
	if (!b )
	{
		strTemp.Format( "�����ݿ�:%sʧ�ܣ�����·�����ã�" , m_strNameLine );
		MessageBox( strTemp , "����" , MB_ICONWARNING );
		return CString("");
	}

	//ȡѡ�������
	CString strDate;
	strDate.Format( "%04d%02d%02d" , m_D_Date.GetYear(),m_D_Date.GetMonth(),m_D_Date.GetDay());

	//�򿪽���
	Dbf dbfje;
	b = dbfje.Use( m_strNameJE );
	if (!b )
	{
		strTemp.Format( "�����ݿ�:%sʧ�ܣ�����·�����ã�" , m_strNameJE );
		MessageBox( strTemp , "����" , MB_ICONWARNING );
		return CString("");
	}
	long ljecount = dbfje.RecNum();
	//���Ҵ˳��Ӷ�Ӧ����·������
	strMsg.Format( "%s%02d��%02d�գ�",szCDName,m_D_Date.GetMonth(),m_D_Date.GetDay());
	float   fTotal=0.0f;
	char szTemp[64]={0};
	char szTemp2[64]={0};
	char szLineNo[64]={0};
	long lCount = dbf.RecNum();
	lItem = 0;
	for ( int i=0 ; i<lCount;i++ )
	{
		dbf.GoTo(i+1);
		if ( !dbf.IsDelete() )
		{
			dbf.GetRecField(szTemp,"CDID");
			if ( !_tcscmp(szTemp , szCDID ) )
			{
				dbf.GetRecField(szLineNo,"LINENO");
				float fNoTotal=0.0f;
				for ( int j=0 ; j<ljecount;j++ )
				{
					dbfje.GoTo(j+1);
					if ( !dbfje.IsDelete() )
					{
						dbfje.GetRecField(szTemp,"LINENO");
						dbfje.GetRecField(szTemp2,"INDATE");
						if ( !_tcscmp(szLineNo,szTemp) &&
							 !_tcscmp(strDate,szTemp2) )
						{
							float fNo=0.0f;
							dbfje.GetRecField(szTemp,"YRJE");
							fNo = atof(szTemp)/100.0f;
							fNoTotal += fNo;
						}
					}
				}
				strTemp.Format( "%s·%dԪ��",szLineNo,(long)(fNoTotal+0.5f) );
				//strTemp.Format( "%s-��%.2f��",szLineNo,fNoTotal );
				strMsg += strTemp;
				lItem++;
			}
		}
	}
	dbf.Close();
*/
	return CString(strMsg);
}

void DLG_Setup_SZGJ_GetMsg::OnSetupSzgjGetmsgCarnoGet() 
{
/*
	char szCarNo[32]={0};
	m_E_CarNo.GetWindowText(szCarNo,sizeof(szCarNo));

	if ( _tcslen(szCarNo)<=0)
	{
		MessageBox("��ѯ֮ǰ��������Ҫ��ѯ�ij��ƺţ�", "����",MB_ICONWARNING );
		m_E_CarNo.SetFocus();
		return;
	}

	if ( !UpdateData(true) )
		return ;

	CString strTemp;
	//ȡѡ�������
	CString strDate;
	strDate.Format( "%04d%02d%02d" , m_D_Date.GetYear(),m_D_Date.GetMonth(),m_D_Date.GetDay());

	//�򿪽���2
	Dbf dbfje;
	BOOL b = dbfje.Use( m_strNameJE2 );
	if (!b )
	{
		strTemp.Format( "�����ݿ�:%sʧ�ܣ�����·�����ã�" , m_strNameJE2 );
		MessageBox( strTemp , "����" , MB_ICONWARNING );
		return ;
	}
	long ljecount = dbfje.RecNum();
	//���Ҵ˳��Ӷ�Ӧ����·������
	CString strMsg;
	float   fTotal =0.0f;
	float   fTotal2=0.0f;
	float   fTotal3=0.0f;
	char szTemp[64]={0};
	char szTemp2[64]={0};
	long lCount = dbfje.RecNum();
	for ( int i=0 ; i<lCount;i++ )
	{
		dbfje.GoTo(i+1);
		if ( !dbfje.IsDelete() )
		{
			dbfje.GetRecField(szTemp,"BUSNO");
			dbfje.GetRecField(szTemp2,"INDATE");
			if ( !_tcscmp(szCarNo,szTemp) &&
				!_tcscmp(strDate,szTemp2) )
			{
				float fNo=0.0f;
				dbfje.GetRecField(szTemp,"CURIN");
				fNo = atof(szTemp);
				fTotal += fNo;

				fNo=0.0f;
				dbfje.GetRecField(szTemp,"ICIN");
				fNo = atof(szTemp);
				fTotal2 += fNo;

				fNo=0.0f;
				dbfje.GetRecField(szTemp,"ICTRANS");
				fNo = atof(szTemp);
				fTotal3 += fNo;
			}
		}
	}
	dbfje.Close();

	strMsg.Format( "����%s��%02d��%02d������:%.2fԪ��%.2fԪ��%d��",szCarNo,m_D_Date.GetMonth(),m_D_Date.GetDay(),fTotal,fTotal2,(long)fTotal3);

	m_E_Msg.SetWindowText( strMsg );
*/
}