// DLG_Corp_Pay_Modify.cpp : implementation file
//

#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Corp_Pay_Modify.h"

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

/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_Pay_Modify dialog


DLG_Corp_Pay_Modify::DLG_Corp_Pay_Modify(CWnd* pParent /*=NULL*/)
	: CDialog(DLG_Corp_Pay_Modify::IDD, pParent)
{
	//{{AFX_DATA_INIT(DLG_Corp_Pay_Modify)
	m_strBZ = _T("");
	m_tOvrTime = COleDateTime::GetCurrentTime();
	m_strPayMode = _T("");
	m_strPayName = _T("");
	m_strPresent = _T("");
	m_strPrice = _T("");
	m_strPriceOne = _T("");
	m_strSMSCount = _T("");
	m_strPayTime = _T("");
	m_strCreateUser = _T("");
	m_bTest = FALSE;
	m_bYS = FALSE;
	m_lPayType = -1;
	m_bFP = FALSE;
	m_strLPPrice = _T("");
	m_lLPType = -1;
	m_lYSType = -1;
	m_lCommend_Vipint = 0;
	//}}AFX_DATA_INIT
	memset( &m_Pay , 0 , sizeof(m_Pay) );
	memset(&m_CorpData , 0 , sizeof(m_CorpData));
	m_pMemberData = NULL;
	m_bAdd = true;
	m_bCommend = true;
	m_tYSTime = COleDateTime::GetCurrentTime();
	m_bSOS = false;
	memset(&m_corp,0,sizeof(m_corp));
}


void DLG_Corp_Pay_Modify::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DLG_Corp_Pay_Modify)
	DDX_Control(pDX, IDC_CORP_PAYMODIFY_COMMEND, m_B_Commend);
	DDX_Control(pDX, IDC_CORP_PAYMODIFY_PAYMODE, m_L_PayMode);
	DDX_Control(pDX, IDC_CORP_PAYMODIFY_LXRID, m_L_LXRID);
	DDX_Control(pDX, IDC_CORP_PAYMODIFY_PRICE, m_L_Price);
	DDX_Control(pDX, IDC_CORP_PAYMODIFY_LPPRICE, m_L_LPPrice);
	DDX_Text(pDX, IDC_CORP_PAYMODIFY_BZ, m_strBZ);
	DDV_MaxChars(pDX, m_strBZ, 250);
	DDX_DateTimeCtrl(pDX, IDC_CORP_PAYMODIFY_OVRTIME, m_tOvrTime);
	DDX_CBString(pDX, IDC_CORP_PAYMODIFY_PAYMODE, m_strPayMode);
	DDV_MaxChars(pDX, m_strPayMode, 16);
	DDX_Text(pDX, IDC_CORP_PAYMODIFY_PAYNAME, m_strPayName);
	DDV_MaxChars(pDX, m_strPayName, 16);
	DDX_Text(pDX, IDC_CORP_PAYMODIFY_PRESEND, m_strPresent);
	DDV_MaxChars(pDX, m_strPresent, 16);
	DDX_Text(pDX, IDC_CORP_PAYMODIFY_PRICE, m_strPrice);
	DDV_MaxChars(pDX, m_strPrice, 16);
	DDX_Text(pDX, IDC_CORP_PAYMODIFY_PRICEONE, m_strPriceOne);
	DDV_MaxChars(pDX, m_strPriceOne, 16);
	DDX_Text(pDX, IDC_CORP_PAYMODIFY_SMSCOUNT, m_strSMSCount);
	DDV_MaxChars(pDX, m_strSMSCount, 16);
	DDX_Text(pDX, IDC_CORP_PAYMODIFY_PAYTIME, m_strPayTime);
	DDX_Text(pDX, IDC_CORP_PAYMODIFY_CREATEUSER, m_strCreateUser);
	DDX_Check(pDX, IDC_CORP_PAYMODIFY_TEST, m_bTest);
	DDX_Check(pDX, IDC_CORP_PAYMODIFY_YS, m_bYS);
	DDX_CBIndex(pDX, IDC_CORP_PAYMODIFY_PAYTYPE, m_lPayType);
	DDX_Check(pDX, IDC_CORP_PAYMODIFY_FP, m_bFP);
	DDX_CBString(pDX, IDC_CORP_PAYMODIFY_LPPRICE, m_strLPPrice);
	DDV_MaxChars(pDX, m_strLPPrice, 8);
	DDX_CBIndex(pDX, IDC_CORP_PAYMODIFY_LPTYPE, m_lLPType);
	DDX_CBIndex(pDX, IDC_CORP_PAYMODIFY_YSTYPE, m_lYSType);
	DDX_Text(pDX, IDC_CORP_PAYMODIFY_COMMEND_VIPINT, m_lCommend_Vipint);
	//}}AFX_DATA_MAP
	DDX_DateTimeCtrl(pDX, IDC_CORP_PAYMODIFY_YSTIME, m_tYSTime);
}


BEGIN_MESSAGE_MAP(DLG_Corp_Pay_Modify, CDialog)
	//{{AFX_MSG_MAP(DLG_Corp_Pay_Modify)
	ON_EN_CHANGE(IDC_CORP_PAYMODIFY_PRICE, OnChangeCorpPaymodifyPrice)
	ON_EN_CHANGE(IDC_CORP_PAYMODIFY_PRICEONE, OnChangeCorpPaymodifyPriceone)
	ON_EN_CHANGE(IDC_CORP_PAYMODIFY_PRESEND, OnChangeCorpPaymodifyPresend)
	ON_EN_CHANGE(IDC_CORP_PAYMODIFY_LPPRICE, OnChangeCorpPaymodifyLpprice)

	ON_CBN_SELCHANGE(IDC_CORP_PAYMODIFY_PAYTYPE, OnSelchangeCorpPaymodifyPaytype)
	ON_CBN_SELCHANGE(IDC_CORP_PAYMODIFY_PRICE, OnSelchangeCorpPaymodifyPrice)
	ON_CBN_EDITCHANGE(IDC_CORP_PAYMODIFY_PRICE, OnEditchangeCorpPaymodifyPrice)
	ON_WM_TIMER()
	ON_CBN_SELCHANGE(IDC_CORP_PAYMODIFY_PAYMODE, OnSelchangeCorpPaymodifyPaymode)
	ON_BN_CLICKED(IDC_CORP_PAYMODIFY_COMMEND, OnCorpPaymodifyCommend)
	ON_CBN_SELCHANGE(IDC_CORP_PAYMODIFY_LPPRICE, OnSelchangeCorpPaymodifyLpprice)
	ON_CBN_EDITCHANGE(IDC_CORP_PAYMODIFY_LPPRICE, OnEditchangeCorpPaymodifyLpprice)
	//}}AFX_MSG_MAP
	ON_BN_CLICKED(IDOK, &DLG_Corp_Pay_Modify::OnBnClickedOk)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_Pay_Modify message handlers

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

#ifndef SMSCENTER_ADC
		GetDlgItem(IDC_CORP_PAYMODIFY_PAYTYPE)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_CORP_PAYMODIFY_PAYTYPE_S)->ShowWindow(SW_HIDE);
#endif
#ifdef SMSCENTER_NX	
	m_L_PayMode.ResetContent();
	m_L_PayMode.AddString(_T("�ֽ�"));
	m_L_PayMode.AddString(_T("����1"));
	m_L_PayMode.AddString(_T("����2"));
	m_L_PayMode.AddString(_T("����3"));
	m_L_PayMode.AddString(_T("����4"));
	m_L_PayMode.AddString(_T("����5"));
	m_L_PayMode.AddString(_T("����6"));
	m_L_PayMode.AddString(_T("����7"));
	m_L_PayMode.AddString(_T("����8"));
	m_L_PayMode.AddString(_T("����9"));
	m_L_PayMode.SetCurSel(0);

	//GetDlgItem(IDC_CORP_PAYMODIFY_PAYMODE)->ShowWindow(SW_HIDE);
	//GetDlgItem(IDC_CORP_PAYMODIFY_PAYMODE_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_YS)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_TEST)->ShowWindow(SW_HIDE);
	//GetDlgItem(IDC_CORP_PAYMODIFY_FP)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_YSTYPE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_YSTYPE_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LP_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LPTYPE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LPTYPE_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LXRID)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LXRID_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LPPRICE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LPPRICE_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_COMMEND_VIPINT)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_COMMEND)->ShowWindow(SW_HIDE);

	GetDlgItem(IDC_CORP_PAYMODIFY_FP)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_YSTIME)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_YSTIME_S)->ShowWindow(SW_HIDE);
#endif

	if ( m_bAdd==1 )  //���������
	{
		m_tYSTime.SetStatus(COleDateTime::null);
		//GetDlgItem(IDC_CORP_PAYMODIFY_YSTIME)->ShowWindow(SW_SHOW);
		//GetDlgItem(IDC_CORP_PAYMODIFY_YSTIME_S)->ShowWindow(SW_SHOW);
		SYSTEMTIME t;
		GetLocalTime(&t);
		COleDateTime ot(t);  //ȡ�õ���ʱ��
		t.wYear+=1; //�����������1��
#ifdef SMSCENTER_NX
		t.wYear += 4; //�����������5��
#endif
		m_tOvrTime.SetDateTime(t.wYear,t.wMonth,t.wDay,t.wHour,t.wMinute,t.wSecond);
		UpdateData(false);
		m_bYS = true;   //�������г�ֵ������Ӧ��
		m_lYSType = 0;  //Ԥ������
//		m_tOvrTime.SetStatus( COleDateTime::valid  );  //û�й���ʱ��
		//m_strPriceOne = _T("0.10");  //Ĭ�Ϸ���Ϊ0.10
		m_strPriceOne.Format( _T("%.4f") , m_CorpData.fPriceOne );
		m_strPayMode = _T("Ӧ��");
		if ( m_CorpData.bYJ )
		{
			m_strPayMode = _T("�½�");
			m_strPrice=_T("0");
			GetDlgItem(IDC_CORP_PAYMODIFY_PRICE)->EnableWindow(false);  //�½�IJ���������
		}

		m_strPayTime.Format( _T("%04d.%02d.%02d %02d:%02d") , ot.GetYear(),ot.GetMonth(),ot.GetDay(),ot.GetHour(),ot.GetMinute() );

#ifdef SMSMANAGER_KF
		m_bYS = true;
		GetDlgItem(IDC_CORP_PAYMODIFY_YS)->EnableWindow(false);
		GetDlgItem(IDC_CORP_PAYMODIFY_PRESEND)->EnableWindow(false);
		GetDlgItem(IDC_CORP_PAYMODIFY_YSTIME)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_CORP_PAYMODIFY_YSTIME_S)->ShowWindow(SW_HIDE);
#endif
#ifdef SMSCENTER_ADC
		m_lPayType =1 ;  //Ĭ�ϳ�ֵADC
		m_strPrice=_T("6000");
#else
		m_lPayType =0 ;  //Ĭ�ϳ�ֵ������
#endif
	}
	else
	{
#ifdef SMSCENTER_ADC
		m_lPayType = m_Pay.lPayType;
#endif
		m_strPayName = m_Pay.szPayMan;
		m_strPayMode = m_Pay.szPayMode;
		m_strPrice.Format( _T("%.2f"),m_Pay.fPrice );
		m_strPriceOne.Format( _T("%.4f"),m_Pay.fPriceOne );
		m_strPresent.Format( _T("%d") , m_Pay.lPresent );
		m_strSMSCount.Format( _T("%d") , m_Pay.lSMSCount );
		COleDateTime tt(m_Pay.tOvrTime);
		if ( tt.GetStatus() == 0 )
			m_tOvrTime.SetDateTime( m_Pay.tOvrTime.wYear , m_Pay.tOvrTime.wMonth,m_Pay.tOvrTime.wDay,m_Pay.tOvrTime.wHour,m_Pay.tOvrTime.wMinute,m_Pay.tOvrTime.wSecond);
		else
			m_tOvrTime.SetStatus( COleDateTime::null );
		COleDateTime tt2(m_Pay.tYSTime);
		if ( tt2.GetStatus() == 0 )
			m_tYSTime.SetDateTime( m_Pay.tYSTime.wYear , m_Pay.tYSTime.wMonth,m_Pay.tYSTime.wDay,m_Pay.tYSTime.wHour,m_Pay.tYSTime.wMinute,m_Pay.tYSTime.wSecond);
		else
			m_tYSTime.SetStatus( COleDateTime::null );
		m_strBZ = m_Pay.szBZ;
		m_strCreateUser = m_Pay.szCreateUser;
		m_strPayTime.Format( _T("%04d.%02d.%02d %02d:%02d"),m_Pay.tPayTime.wYear,m_Pay.tPayTime.wMonth,m_Pay.tPayTime.wDay,m_Pay.tPayTime.wHour,m_Pay.tPayTime.wMinute );
		m_bYS   =m_Pay.bYS;
		m_bTest =m_Pay.bTest;
		m_bFP   =m_Pay.bFP;
		m_lLPType =  m_Pay.lLPType;
		m_lYSType =  m_Pay.lYSType;;  //Ԥ������
		m_strLPPrice.Format ( _T("%.2f") , m_Pay.fLPPrice );
		m_lCommend_Vipint = m_Pay.lCommend_VipInt;

		GetDlgItem(IDC_CORP_PAYMODIFY_PAYTYPE)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_PAYNAME)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_PAYMODE)->EnableWindow( false );
		//if ( m_bAdd==2 ) 
		//	GetDlgItem(IDC_CORP_PAYMODIFY_PRICE)->EnableWindow( true );
		//else
			GetDlgItem(IDC_CORP_PAYMODIFY_PRICE)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_PRESEND)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_SMSCOUNT)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_OVRTIME)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_YS)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_TEST)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_FP)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_LPTYPE)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_LXRID)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_LPPRICE)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_YSTYPE)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_COMMEND)->EnableWindow( false );
		GetDlgItem(IDC_CORP_PAYMODIFY_YSTIME)->EnableWindow( false );
		
		//GetDlgItem(IDC_CORP_PAYMODIFY_BZ)->EnableWindow( false );
		CEdit * pEdit =(CEdit * )GetDlgItem(IDC_CORP_PAYMODIFY_BZ);
		pEdit->SetReadOnly(true);


#ifndef SMSMANAGER_KF
		if (m_bAdd == 2)
		{
			GetDlgItem(IDC_CORP_PAYMODIFY_PAYMODE)->EnableWindow(true);
			GetDlgItem(IDC_CORP_PAYMODIFY_TEST)->EnableWindow(true);
			GetDlgItem(IDC_CORP_PAYMODIFY_YSTIME)->EnableWindow(true);
			GetDlgItem(IDC_CORP_PAYMODIFY_LPTYPE)->EnableWindow(true);
			GetDlgItem(IDC_CORP_PAYMODIFY_LXRID)->EnableWindow(true);
			GetDlgItem(IDC_CORP_PAYMODIFY_LPPRICE)->EnableWindow(true);
		}
#endif
	}
	//���ӻ�Ա
	long lSel=-1;
	for ( int i=0 ; i<m_CorpData.lMemberCount ; i++ )
	{
		int iItem = m_L_LXRID.AddString(CString(m_pMemberData[i].szName) );
		m_L_LXRID.SetItemData(iItem , m_pMemberData[i].lLXRID );
		if (m_bAdd != 1)
		{
			if ( m_pMemberData[i].lLXRID == m_Pay.lLXRID )
				lSel = i;
		}
	}
	if (m_bAdd!=1 && m_CorpData.lMemberCount>0 )
		m_L_LXRID.SetCurSel(lSel);


	this->UpdateData( false );

#ifdef SMSCENTER_ADC
	if ( m_bAdd )
	{
		OnSelchangeCorpPaymodifyPaytype();
		OnSelchangeCorpPaymodifyPrice();
	}
#endif

#ifdef SMSMANAGER_KF
	GetDlgItem(IDC_CORP_PAYMODIFY_FP)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_YSTYPE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_YSTYPE_S)->ShowWindow(SW_HIDE);
#endif
	if ( !m_bCommend )
	{
		GetDlgItem(IDC_CORP_PAYMODIFY_COMMEND)->EnableWindow( false );
	}

	if (m_bSOS)
	{
	GetDlgItem(IDC_CORP_PAYMODIFY_PAYMODE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_PAYMODE_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_YS)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_TEST)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_FP)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_YSTYPE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_YSTYPE_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LP_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LPTYPE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LPTYPE_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LXRID)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LXRID_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LPPRICE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_LPPRICE_S)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_COMMEND_VIPINT)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_COMMEND)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE_S)->ShowWindow(SW_HIDE);
	
	}
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}


ANS_Corp_PayData DLG_Corp_Pay_Modify::GetParam()
{
	return m_Pay;
}

void DLG_Corp_Pay_Modify::OnChangeCorpPaymodifyPrice() 
{
	ResetSMSUsed();
}
void DLG_Corp_Pay_Modify::OnChangeCorpPaymodifyLpprice()
{
	//SetTimer(1, 10, NULL);
	ResetSMSUsed();
}


void DLG_Corp_Pay_Modify::OnChangeCorpPaymodifyPriceone() 
{
	ResetSMSUsed();
}

void DLG_Corp_Pay_Modify::OnChangeCorpPaymodifyPresend() 
{
	ResetSMSUsed();
}

void DLG_Corp_Pay_Modify::ResetSMSUsed()
{
	UpdateData( true );

	m_Pay.fPrice = _tstof( m_strPrice );
	m_Pay.fPriceOne = _tstof( m_strPriceOne );
	if ( m_Pay.fPriceOne <= 0 )
	{
		m_Pay.lSMSCount = 0;
	}
	else
	{
		m_Pay.lPresent = _ttol( m_strPresent );
		double l = m_Pay.fPrice/m_Pay.fPriceOne;
		long a = long(l+0.5f);
		if ( l< 0 )
			a = long(l-0.5f);
		m_Pay.lSMSCount = (long)a + m_Pay.lPresent;
	}

	m_strSMSCount.Format( _T("%d") , m_Pay.lSMSCount );

	m_Pay.fLPPrice = _tstof( m_strLPPrice );

	if ( m_B_Commend.GetCheck() )
	{
		float fPriceOne2 = (m_Pay.fPrice-m_Pay.fLPPrice)/(float)m_Pay.lSMSCount;
		m_lCommend_Vipint = (long)(((fPriceOne2*100.0f-6.0f)/20.0f)*m_Pay.fPrice + 0.5f);
		if (m_Pay.fPrice>=1000.0f && m_lCommend_Vipint<300 )
			m_lCommend_Vipint = 300;

	}
	else
	{
		m_lCommend_Vipint = 0;
	}


#ifdef SMSCENTER_ADC
	if (m_lPayType ==1 )  //��ֵADC������Ƿ�Ϊ�ײ�ֵ
	{
		BOOL bOK =false;
		if ( m_Pay.fPrice==20.0f && m_Pay.lSMSCount==200 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==100.0f && m_Pay.lSMSCount==1000 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==500.0f && m_Pay.lSMSCount==5000 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==1000.0f && m_Pay.lSMSCount==12500 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==2000.0f && m_Pay.lSMSCount==28000 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==4000.0f && m_Pay.lSMSCount==66000 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==6000.0f && m_Pay.lSMSCount==120000 )
			bOK = true;
		if ( !bOK )
		{
			MessageBox( _T("ADCԤ���ѱ������ײͷ�ʽ���֣���������") , _T("����") , MB_ICONWARNING );
			return ;
		}
	}
#endif

	this->UpdateData( false );


}

void DLG_Corp_Pay_Modify::SetParam(ANS_Corp_PayData pay, BOOL bAdd)
{
	m_Pay = pay;
	m_bAdd = bAdd;
}

void DLG_Corp_Pay_Modify::OnSelchangeCorpPaymodifyPaytype() 
{
	UpdateData(true);
	
	if ( m_lPayType == 1 )
	{
		((CEdit*)GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE))->SetReadOnly(false);
		((CEdit*)GetDlgItem(IDC_CORP_PAYMODIFY_PRESEND))->SetReadOnly(true);

		m_strPriceOne.Format( _T("%.4f") , m_CorpData.fPriceOne );
		((CEdit*)GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE))->SetWindowText(m_strPriceOne);

	}
	else
	{
		((CEdit*)GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE))->SetReadOnly(false);
		((CEdit*)GetDlgItem(IDC_CORP_PAYMODIFY_PRESEND))->SetReadOnly(false);

	}
}

void DLG_Corp_Pay_Modify::OnSelchangeCorpPaymodifyPrice() 
{
	SetTimer(1 , 10 , NULL );
}

void DLG_Corp_Pay_Modify::OnEditchangeCorpPaymodifyPrice() 
{
	ResetSMSUsed();
}

void DLG_Corp_Pay_Modify::OnTimer(UINT_PTR nIDEvent) 
{
	CDialog::OnTimer(nIDEvent);

	switch( nIDEvent )
	{
	case 1:	
		 KillTimer(nIDEvent);

#ifdef SMSCENTER_ADC
		UpdateData(true);

		switch(_ttol(m_strPrice))
		{
		case 20:
			m_strPriceOne = _T("0.10");
			m_strPresent = _T("");
			break;
		case 100:
			m_strPriceOne = _T("0.10");
			m_strPresent = _T("");
			break;
		case 500:
			m_strPriceOne = _T("0.10");
			m_strPresent = _T("");
			break;
		case 1000:
			m_strPriceOne = _T("0.08");
			m_strPresent = _T("");
			break;
		case 2000:
			m_strPriceOne = _T("0.0714");
			m_strPresent = _T("-11");
			break;
		case 4000:
			m_strPriceOne = _T("0.0606");
			m_strPresent = _T("-7");
			break;
		case 6000:
			m_strPriceOne = _T("0.05");
			m_strPresent = _T("");
			break;
		}
		UpdateData(false);
#endif
		 ResetSMSUsed();
		 break;
	case 2:
		KillTimer(nIDEvent);
		UpdateData(true);
		
		CEdit * pEdit = (CEdit *)GetDlgItem(IDC_CORP_PAYMODIFY_PAYMODE);
		CString strPayMode;
		pEdit->GetWindowText(strPayMode);
		
		COleDateTime ot = COleDateTime::GetCurrentTime();  //ȡ�õ���ʱ��
		if ( strPayMode == CString(_T("����")) )
		{
			//�����������1��
			ot += COleDateTimeSpan(7,0,0,0);
			
			
			m_tOvrTime.SetDateTime(ot.GetYear(),ot.GetMonth(),ot.GetDay(),ot.GetHour(),ot.GetHour(),ot.GetSecond());
		}
		else
		{
			//�����������1��
			m_tOvrTime.SetDateTime(ot.GetYear()+1,ot.GetMonth(),ot.GetDay(),ot.GetHour(),ot.GetHour(),ot.GetSecond());
		}
		UpdateData(false);
		break;
		
	}
}

void DLG_Corp_Pay_Modify::SetCorpData(ANS_Corp_Pay pay,ANS_Corp_MemberData * pMemberData,BOOL bCommend,ANS_Corp_SeeData corp)
{
	m_CorpData=pay;
	m_pMemberData = pMemberData;
	m_bCommend=bCommend;
	m_corp = corp;
}

void DLG_Corp_Pay_Modify::OnSelchangeCorpPaymodifyPaymode() 
{
	if ( !m_bAdd )
		return ;
	SetTimer(2 , 10 , NULL );
	
}

void DLG_Corp_Pay_Modify::OnCorpPaymodifyCommend() 
{
	MessageBox( _T("ֻ���DZ��Ƽ��û����״γ�ֵʱ����ʹ�ô˹��ܣ���ע�⣡"),_T("ע��") , MB_ICONWARNING) ;
	this->ResetSMSUsed();
}

void DLG_Corp_Pay_Modify::OnSelchangeCorpPaymodifyLpprice() 
{
	//SetTimer(1, 10, NULL);
	//ResetSMSUsed();
}

void DLG_Corp_Pay_Modify::OnEditchangeCorpPaymodifyLpprice() 
{
	//SetTimer(1, 100, NULL);
	//ResetSMSUsed();

	//UpdateData(true);
	//UpdateData(false);
}



void DLG_Corp_Pay_Modify::OnBnClickedOk() 
{
	//����������ӣ�ֱ�ӷ���
	if ( m_bAdd<=0 )
	{
		CDialog::OnCancel();
		return ;
	}

	this->UpdateData( true );

/*
	if ( m_strPayName.GetLength() <= 0 )
	{
		MessageBox( _T("��ֵ����������Ϊ�գ�������!") , _T("����") , MB_ICONWARNING );
		GetDlgItem(IDC_CORP_PAYMODIFY_PAYNAME)->SetFocus();
		return ;
	}
*/

	_tcscpy( m_Pay.szPayMan , m_strPayName );
	_tcscpy( m_Pay.szPayMode , m_strPayMode );
	_tcscpy( m_Pay.szBZ  , m_strBZ );
	m_Pay.fPrice = _tstof( m_strPrice );
	m_Pay.fPriceOne = _tstof( m_strPriceOne );
	if ( m_Pay.fPriceOne <= 0 )
	{
		MessageBox( _T("���ŷ��ʲ���С���㣬��������ȷ�ķ���!") , _T("����") , MB_ICONWARNING );
		GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE)->SetFocus();
		return ;
	}

	if ( m_lLPType>0 /* && m_bAdd != 2*/ )  //��ѡ����Ʒ����
	{
		m_Pay.lLXRID = 0;
		if ( m_L_LXRID.GetCurSel() >=0 )
		{
			m_Pay.lLXRID = m_L_LXRID.GetItemData(m_L_LXRID.GetCurSel());
		}
		if ( m_Pay.lLXRID<=0 )
		{
			MessageBox( _T("�˴γ�ֵѡ����������Ʒ��������ҵû�����û�Ա����������ҵ��ϵ�������û�Ա��") ,_T("����") , MB_ICONWARNING );
			return ;
		}
		m_Pay.fLPPrice = _tstof( m_strLPPrice );
		if ( m_Pay.fLPPrice<=0.0f || m_Pay.fLPPrice>100000.0f )
		{
			MessageBox( _T("��������ȷ����Ʒ��ֵ�� ") ,_T("����") ,MB_ICONWARNING );
			GetDlgItem(IDC_CORP_PAYMODIFY_LPPRICE)->SetFocus();
			return ;
		}
		m_Pay.lLPType = m_lLPType;
	}
	else
	{
		m_Pay.lLPType = 0;
		m_Pay.lLXRID = 0;
		m_Pay.fLPPrice = 0.0f;
	}

	if (m_lYSType == 1 && m_strPayMode != CString(_T("Ԥ��Ʊ")) ||
		m_lYSType == 0 && m_strPayMode == CString(_T("Ԥ��Ʊ")))
	{
		MessageBox(_T("Ԥ��Ʊ�������ֵ��ʽ��ƥ�䣡"), _T("����"), MB_ICONWARNING);
		GetDlgItem(IDC_CORP_PAYMODIFY_YSTYPE)->SetFocus();
		return;
	}

	if( m_lYSType==2 )
	{
		MessageBox(_T("�³�ֵ��Ԥ��Ʊ���Ͳ���ѡ���ϣ�") , _T("����") , MB_ICONWARNING);
		GetDlgItem(IDC_CORP_PAYMODIFY_YSTYPE)->SetFocus();
		return ;
	}

	if ( m_tYSTime.GetStatus() == COleDateTime::valid) 
	{
		if ( m_tYSTime > COleDateTime::GetCurrentTime())
		{
			MessageBox(_T("����ʱ�䲻�ܴ��ڵ��죡)") , _T("����") , MB_ICONWARNING);
			GetDlgItem(IDC_CORP_PAYMODIFY_YSTIME)->SetFocus();
			return ;
		}
		if (m_bAdd == 2 && (COleDateTime(m_Pay.tPayTime) > m_tYSTime) && ((COleDateTime(m_Pay.tPayTime) - m_tYSTime) > COleDateTimeSpan(30, 0, 0,0))) //�������޸��տ�ʱ��ȳ�ֵʱ����ǰ1����
		{
			MessageBox(_T("�տ�ʱ�䲻�����ȳ�ֵʱ����ǰ30�գ�"), _T("����"), MB_ICONWARNING);
			GetDlgItem(IDC_CORP_PAYMODIFY_YSTIME)->SetFocus();
			return;
		}
		m_tYSTime.GetAsSystemTime(m_Pay.tYSTime);
	}
	else
	{
		memset(&m_Pay.tYSTime, 0, sizeof(m_Pay.tYSTime));
	}

	m_Pay.lPresent = _ttol( m_strPresent );
	double l = m_Pay.fPrice/m_Pay.fPriceOne;
	long a = long(l+0.5f);
	if ( a<0 )
		a = long(l-0.5f);
	m_Pay.lSMSCount = (long)a + m_Pay.lPresent;
	m_Pay.bYS = m_bYS;
	m_Pay.bTest=m_bTest;
	m_Pay.bFP  =m_bFP;
	m_Pay.lYSType = m_lYSType;

	SYSTEMTIME t;GetSystemTime(&t);
	COleDateTime ot(t);
	if ( m_tOvrTime.GetStatus() == 0 && m_tOvrTime < ot )
	{
		MessageBox( _T("�������ڲ���С�ڽ��죬�����!") , _T("����") , MB_ICONWARNING );
		GetDlgItem(IDC_CORP_PAYMODIFY_OVRTIME)->SetFocus();
		return ;
	}
#ifdef SMSMANAGER_KF
	if ( m_Pay.fPrice==0.0f && m_Pay.lPresent==0 && (m_tOvrTime.GetStatus() != COleDateTime::valid || m_tOvrTime-COleDateTime::GetCurrentTime()>COleDateTimeSpan(15,0,0,0)) )  //�ͷ��ģ����û�г�ֵ�����������ڹ���
	{
		MessageBox( _T("�������ڲ��ܹ��������!") , _T("����") , MB_ICONWARNING );
		GetDlgItem(IDC_CORP_PAYMODIFY_OVRTIME)->SetFocus();
		return ;
	}
#endif
#ifndef SMSCENTER_NX
	if ( m_Pay.lPresent!=0 && m_strBZ.GetLength()<=4 )
	{
		MessageBox( _T("�����Ͷ��ţ�����ע��ԭ��!") , _T("����") , MB_ICONWARNING );
		GetDlgItem(IDC_CORP_PAYMODIFY_BZ)->SetFocus();
		return ;
	}
#endif
	if ( m_B_Commend.GetCheck() )
	{
		float fPriceOne2 = (m_Pay.fPrice-m_Pay.fLPPrice)/(float)m_Pay.lSMSCount;
		m_lCommend_Vipint = (long)(((fPriceOne2*100.0f-6.0f)/20.0f)*m_Pay.fPrice + 0.5f);
		if (m_Pay.fPrice>=1000.0f &&  m_lCommend_Vipint<300 )
			m_lCommend_Vipint = 300;

#ifndef SMSCENTER_NX
#ifndef SMSMANAGER_KF
		//�¿ͻ�����ʾ�Ƿ�Ϊ�Ƽ��û�
		if ( m_CorpData.lCount>0 )
		{
			int iRet = MessageBox( _T("��Ϊ�ͻ����״γ�ֵ������ѡ�������Ƽ��ͻ���Ҫ���ͳ�ֵ���֣�\r\n������") , _T("��ʾ") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
			if ( iRet!=IDYES )
				return ;
		}
#endif
#endif
	}
	else
	{
		m_lCommend_Vipint = 0;
#ifndef SMSCENTER_NX
#ifndef SMSMANAGER_KF
		//�¿ͻ�����ʾ�Ƿ�Ϊ�Ƽ��û�
		if ( m_CorpData.lCount<=0 )
		{
			int iRet = MessageBox( _T("��Ϊ�ͻ���һ�γ�ֵ����ȷ���Ƿ�Ϊ�Ƽ��ͻ����Ƿ���Ҫ���ͳ�ֵ���֣�\r\n������") , _T("��ʾ") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
			if ( iRet!=IDYES )
				return ;
		}
#endif
#endif
	}
	m_Pay.lCommend_VipInt = m_lCommend_Vipint; //vip����

	::GetLocalTime( &m_Pay.tPayTime );
	if ( m_tOvrTime.GetStatus() == 0 )
		m_tOvrTime.GetAsSystemTime( m_Pay.tOvrTime );
	else
		memset(&m_Pay.tOvrTime,0,sizeof(m_Pay.tOvrTime));
	
#ifndef SMSCENTER_NX
	if ( !m_CorpData.bYJ && m_strPayMode != CString(_T("����")) && (m_Pay.fPrice==0.0f || m_Pay.lSMSCount==0) )  //�����½�Ŀͻ����������ڡ���Ҫ�жϽ���Ƿ�Ϊ0
	{
		int iRet = MessageBox( _T("һ�������ڻ����Ͳ�������ֵ���Ϊ0��\r\n�����ֵΪ���ڣ����ڳ�ֵ��ʽ��ֱ��ѡ��\"����\"��ϵͳ�Զ���������һ���ڡ�\r\n�Ƿ��ֹ�����ֵ��ʽ�޸ij����ڣ��粻�����ڣ��������޸Ķ�����Ч�ڡ�") , _T("����") , MB_ICONQUESTION|MB_YESNO );
		if ( iRet==IDYES )
		{
			GetDlgItem(IDC_CORP_PAYMODIFY_PAYMODE)->SetFocus();
#ifdef SMSMANAGER_KF
			m_L_PayMode.SelectString(0,_T("����"));
			OnSelchangeCorpPaymodifyPaymode();
#endif
			return; 
		}
		else
		{
			m_Pay.tOvrTime = m_corp.tOvr;
		}
	}
#endif

#ifdef SMSCENTER_ADC
	if (m_lPayType ==1 )  //��ֵADC������Ƿ�Ϊ�ײ�ֵ
	{
		BOOL bOK =false;
		if ( m_Pay.fPrice==20.0f && m_Pay.lSMSCount==200 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==100.0f && m_Pay.lSMSCount==1000 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==500.0f && m_Pay.lSMSCount==5000 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==1000.0f && m_Pay.lSMSCount==12500 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==2000.0f && m_Pay.lSMSCount==28000 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==4000.0f && m_Pay.lSMSCount==66000 )
			bOK = true;
		if ( !bOK && m_Pay.fPrice==6000.0f && m_Pay.lSMSCount==120000 )
			bOK = true;
		if ( !bOK )
		{
			MessageBox( _T("ADCԤ���ѱ������ײͷ�ʽ���֣���������") , _T("����") , MB_ICONWARNING );
			return ;
		}
	}
	m_Pay.lPayType = m_lPayType;   //��ֵ��ʽ
	m_Pay.lAdcStatus =0;           //ADC״̬,0-δ������1-�Ѵ�ӡ,2-�ѳ�ֵ

	//m_Pay.tAdcPrintTime;              //ADC��ֵ��ӡʱ��
	//m_Pay.tAdcPayTime;             //Adcʵ�ʳ�ֵʱ��
	//m_Pay.szAdcProcessUser;        //adcҵ���������
#endif


	CDialog::OnOK();
}