AgentManager/DLG_Agent_MmsPay_Modify.cpp
2025-01-22 15:45:17 +08:00

223 lines
6.2 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// DLG_Agent_MmsPay_Modify.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Agent_MmsPay_Modify.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Agent_MmsPay_Modify dialog
DLG_Agent_MmsPay_Modify::DLG_Agent_MmsPay_Modify(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Agent_MmsPay_Modify::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_Agent_MmsPay_Modify)
m_strCreateUser = _T("");
m_strPayMode = _T("");
m_strPayName = _T("");
m_strPayTime = _T("");
m_strBZ = _T("");
m_strPresent = _T("");
m_strPrice = _T("");
m_strPriceOne = _T("");
m_bTest = FALSE;
m_bYS = FALSE;
m_strSmsCount = _T("");
//}}AFX_DATA_INIT
memset( &m_Pay , 0 , sizeof(m_Pay) );
m_bAdd = true;
m_bTest2= false;
}
void DLG_Agent_MmsPay_Modify::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Agent_MmsPay_Modify)
DDX_Text(pDX, IDC_AGENT_PAYMODIFY_CREATEUSER, m_strCreateUser);
DDX_CBString(pDX, IDC_AGENT_PAYMODIFY_PAYMODE, m_strPayMode);
DDV_MaxChars(pDX, m_strPayMode, 16);
DDX_Text(pDX, IDC_AGENT_PAYMODIFY_PAYNAME, m_strPayName);
DDV_MaxChars(pDX, m_strPayName, 16);
DDX_Text(pDX, IDC_AGENT_PAYMODIFY_PAYTIME, m_strPayTime);
DDX_Text(pDX, IDC_AGENT_PAYMODIFY_BZ, m_strBZ);
DDV_MaxChars(pDX, m_strBZ, 250);
DDX_Text(pDX, IDC_AGENT_PAYMODIFY_PRESEND, m_strPresent);
DDV_MaxChars(pDX, m_strPresent, 16);
DDX_Text(pDX, IDC_AGENT_PAYMODIFY_JFPRICE, m_strPrice);
DDV_MaxChars(pDX, m_strPrice, 16);
DDX_Text(pDX, IDC_AGENT_PAYMODIFY_PRICEONE, m_strPriceOne);
DDV_MaxChars(pDX, m_strPriceOne, 16);
DDX_Check(pDX, IDC_AGENT_PAYMODIFY_TEST, m_bTest);
DDX_Check(pDX, IDC_AGENT_PAYMODIFY_YS, m_bYS);
DDX_Text(pDX, IDC_AGENT_PAYMODIFY_SMSCOUNT, m_strSmsCount);
DDV_MaxChars(pDX, m_strSmsCount, 16);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_Agent_MmsPay_Modify, CDialog)
//{{AFX_MSG_MAP(DLG_Agent_MmsPay_Modify)
ON_EN_CHANGE(IDC_AGENT_PAYMODIFY_JFPRICE, OnChangeAgentPaymodifyJfprice)
ON_EN_CHANGE(IDC_AGENT_PAYMODIFY_PRICEONE, OnChangeAgentPaymodifyPriceone)
ON_EN_CHANGE(IDC_AGENT_PAYMODIFY_PRESEND, OnChangeAgentPaymodifyPresend)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, &DLG_Agent_MmsPay_Modify::OnBnClickedOk)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Agent_MmsPay_Modify message handlers
ANS_Agent_MmsPayData DLG_Agent_MmsPay_Modify::GetParam()
{
return m_Pay;
}
void DLG_Agent_MmsPay_Modify::SetParam(ANS_Agent_MmsPayData pay, BOOL bAdd)
{
m_Pay = pay;
m_bAdd = bAdd;
}
BOOL DLG_Agent_MmsPay_Modify::OnInitDialog()
{
CDialog::OnInitDialog();
if ( m_bAdd ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
COleDateTime ot = COleDateTime::GetCurrentTime(); //ȡ<>õ<EFBFBD><C3B5><EFBFBD>ʱ<EFBFBD><CAB1>
m_strPayMode = _T("<EFBFBD>ֽ<EFBFBD>");
m_strPriceOne = _T("0.10"); //Ĭ<>Ϸ<EFBFBD><CFB7><EFBFBD>Ϊ0.10
m_strPayTime.Format( _T("%04d.%02d.%02d %02d:%02d") , ot.GetYear(),ot.GetMonth(),ot.GetDay(),ot.GetHour(),ot.GetMinute() );
}
else
{
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 );
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 );
GetDlgItem(IDC_AGENT_PAYMODIFY_PAYNAME)->EnableWindow( false );
GetDlgItem(IDC_AGENT_PAYMODIFY_PAYMODE)->EnableWindow( false );
GetDlgItem(IDC_AGENT_PAYMODIFY_JFPRICE)->EnableWindow( false );
GetDlgItem(IDC_AGENT_PAYMODIFY_PRICEONE)->EnableWindow( false );
GetDlgItem(IDC_AGENT_PAYMODIFY_PRESEND)->EnableWindow( false );
GetDlgItem(IDC_AGENT_PAYMODIFY_SMSCOUNT)->EnableWindow( false );
GetDlgItem(IDC_AGENT_PAYMODIFY_YS)->EnableWindow( false );
GetDlgItem(IDC_AGENT_PAYMODIFY_TEST)->EnableWindow( false );
CEdit * pEdit =(CEdit * )GetDlgItem(IDC_AGENT_PAYMODIFY_BZ);
pEdit->SetReadOnly(true);
}
if ( m_bTest2 )
{
m_bTest = true;
GetDlgItem(IDC_AGENT_PAYMODIFY_TEST)->EnableWindow( false );
}
this->UpdateData( false );
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_Agent_MmsPay_Modify::OnBnClickedOk()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>
if ( !m_bAdd )
CDialog::OnCancel();
this->UpdateData( true );
/*
if ( m_strPayName.GetLength() <= 0 )
{
MessageBox( _T("<22>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<22><><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDC_AGENT_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("<EFBFBD><EFBFBD><EFBFBD>ŷ<EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDC_AGENT_PAYMODIFY_PRICEONE)->SetFocus();
return ;
}
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;
::GetLocalTime( &m_Pay.tPayTime );
CDialog::OnOK();
}
void DLG_Agent_MmsPay_Modify::OnChangeAgentPaymodifyJfprice()
{
ResetSMSUsed();
}
void DLG_Agent_MmsPay_Modify::OnChangeAgentPaymodifyPriceone()
{
ResetSMSUsed();
}
void DLG_Agent_MmsPay_Modify::OnChangeAgentPaymodifyPresend()
{
ResetSMSUsed();
}
void DLG_Agent_MmsPay_Modify::ResetSMSUsed()
{
this->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 );
this->UpdateData( false );
}
BOOL DLG_Agent_MmsPay_Modify::SetTest(BOOL bTest)
{
m_bTest2 = bTest;
return m_bTest2;
}