SmsManager/DLG_Corp_FuncPay_Modify.cpp
2025-01-14 10:46:18 +08:00

382 lines
12 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_Corp_FuncPay_Modify.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Corp_FuncPay_Modify.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_FuncPay_Modify dialog
DLG_Corp_FuncPay_Modify::DLG_Corp_FuncPay_Modify(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Corp_FuncPay_Modify::IDD, pParent)
, m_tYSTime(COleDateTime::GetCurrentTime())
{
//{{AFX_DATA_INIT(DLG_Corp_FuncPay_Modify)
m_strBZ = _T("");
m_strPayMode = _T("");
m_strPayName = _T("");
m_strPrice = _T("");
m_strPayTime = _T("");
m_strCreateUser = _T("");
m_bTest = FALSE;
m_bYS = FALSE;
m_bFP = FALSE;
m_strPresent = _T("");
m_strPriceOne = _T("");
m_strSMSCount = _T("");
m_strTCPer = _T("");
//}}AFX_DATA_INIT
memset( &m_Pay , 0 , sizeof(m_Pay) );
m_bAdd = true;
}
void DLG_Corp_FuncPay_Modify::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Corp_FuncPay_Modify)
DDX_Text(pDX, IDC_CORP_PAYMODIFY_BZ, m_strBZ);
DDV_MaxChars(pDX, m_strBZ, 250);
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_PRICE, m_strPrice);
DDV_MaxChars(pDX, m_strPrice, 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_FUNC, m_lFuncID);
DDX_CBIndex(pDX, IDC_CORP_PAYMODIFY_TYPE, m_lType);
DDX_Check(pDX, IDC_CORP_PAYMODIFY_FP, m_bFP);
DDX_Text(pDX, IDC_CORP_PAYMODIFY_PRESEND, m_strPresent);
DDV_MaxChars(pDX, m_strPresent, 8);
DDX_Text(pDX, IDC_CORP_PAYMODIFY_PRICEONE, m_strPriceOne);
DDV_MaxChars(pDX, m_strPriceOne, 8);
DDX_Text(pDX, IDC_CORP_PAYMODIFY_SMSCOUNT, m_strSMSCount);
DDX_Text(pDX, IDC_CORP_PAYMODIFY_TCPER, m_strTCPer);
DDV_MaxChars(pDX, m_strTCPer, 8);
//}}AFX_DATA_MAP
DDX_DateTimeCtrl(pDX, IDC_CORP_PAYMODIFY_YSTIME, m_tYSTime);
DDX_Control(pDX, IDC_CORP_PAYMODIFY_PAYMODE, m_L_PayMode);
}
BEGIN_MESSAGE_MAP(DLG_Corp_FuncPay_Modify, CDialog)
//{{AFX_MSG_MAP(DLG_Corp_FuncPay_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_CBN_SELCHANGE(IDC_CORP_PAYMODIFY_FUNC, OnSelchangeCorpPaymodifyFunc)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, &DLG_Corp_FuncPay_Modify::OnBnClickedOk)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_FuncPay_Modify message handlers
BOOL DLG_Corp_FuncPay_Modify::OnInitDialog()
{
CDialog::OnInitDialog();
#ifdef SMSCENTER_NX
m_L_PayMode.ResetContent();
m_L_PayMode.AddString(_T("<EFBFBD>ֽ<EFBFBD>"));
m_L_PayMode.AddString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1"));
m_L_PayMode.AddString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2"));
m_L_PayMode.AddString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>3"));
m_L_PayMode.AddString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>4"));
m_L_PayMode.AddString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>5"));
m_L_PayMode.AddString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>6"));
m_L_PayMode.AddString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>7"));
m_L_PayMode.AddString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>8"));
m_L_PayMode.AddString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>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_TCPER_S2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAYMODIFY_TCPER_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAYMODIFY_TCPER)->ShowWindow(SW_HIDE);
#endif
if ( m_bAdd==1 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
m_bYS = true; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
m_strPayMode = _T("Ӧ<EFBFBD><EFBFBD>");
m_lFuncID = 2;
m_lType = 1;
m_strTCPer = _T("10");
m_tYSTime.SetStatus(COleDateTime::null);
COleDateTime ot=COleDateTime::GetCurrentTime();
m_strPayTime.Format( _T("%04d.%02d.%02d %02d:%02d") , ot.GetYear(),ot.GetMonth(),ot.GetDay(),ot.GetHour(),ot.GetMinute() );
UpdateData(false);
}
else
{
m_strPayName = m_Pay.szPayMan;
m_strPayMode = m_Pay.szPayMode;
m_strPrice.Format( _T("%.2f"),m_Pay.fPrice );
m_lFuncID = m_Pay.lFuncID;
m_lType = m_Pay.lType;
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_strPriceOne.Format( _T("%.4f"),m_Pay.fPriceOne );
m_strPresent.Format( _T("%d") , m_Pay.lPresent );
m_strSMSCount.Format( _T("%d") , m_Pay.lSMSCount );
m_strTCPer.Format( _T("%.2f") , m_Pay.fTC_Per );
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 );
GetDlgItem(IDC_CORP_PAYMODIFY_PAYNAME)->EnableWindow( false );
GetDlgItem(IDC_CORP_PAYMODIFY_PAYMODE)->EnableWindow( false );
GetDlgItem(IDC_CORP_PAYMODIFY_PRICE)->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_FUNC)->EnableWindow( false );
GetDlgItem(IDC_CORP_PAYMODIFY_TYPE)->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_TCPER)->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);
}
#endif
}
this->UpdateData( false );
OnSelchangeCorpPaymodifyFunc();
#ifdef SMSMANAGER_KF
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
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_Corp_FuncPay_Modify::OnBnClickedOk()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>
if ( m_bAdd<=0 )
{
CDialog::OnCancel();
return ;
}
this->UpdateData( true );
/*
if ( m_strPayName.GetLength() <= 0 )
{
MessageBox( _T("<22><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<22><><EFBFBD><EFBFBD>") , 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.lFuncID = m_lFuncID;
m_Pay.lType = m_lType;
m_Pay.bYS = m_bYS;
m_Pay.bTest=m_bTest;
m_Pay.bFP =m_bFP;
m_Pay.fTC_Per = _tstof( m_strTCPer);
::GetLocalTime( &m_Pay.tPayTime );
if ( m_Pay.lFuncID==14 || m_Pay.lFuncID==15 || m_Pay.lFuncID==16 ) //<2F><><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
{
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_CORP_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;
}
else
{
//<2F><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD>Ϊ10
m_Pay.fTC_Per=10.0f;
}
if ( m_Pay.fTC_Per>20.0f && m_Pay.fTC_Per<1.0f )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDC_CORP_PAYMODIFY_TCPER)->SetFocus();
return ;
}
if (m_tYSTime.GetStatus() == COleDateTime::valid)
{
if (m_tYSTime > COleDateTime::GetCurrentTime())
{
MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>죡)"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), 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))) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8>տ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ȳ<EFBFBD>ֵʱ<D6B5><CAB1><EFBFBD><EFBFBD>ǰ1<C7B0><31><EFBFBD><EFBFBD>
{
MessageBox(_T("<EFBFBD>տ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD>ֵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ30<EFBFBD>գ<EFBFBD>"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), 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));
}
#ifdef SMSMANAGER_KF
if ( m_Pay.lFuncID!=2 && m_Pay.lFuncID!=7 )
{
MessageBox( _T("<EFBFBD>ͷ<EFBFBD>ƽ̨Ŀǰֻ<EFBFBD>ܿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>νӿڼ<EFBFBD>RTXȨ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDC_CORP_PAYMODIFY_FUNC)->SetFocus();
return ;
}
if ( m_lType!=1 )
{
MessageBox( _T("<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_CORP_PAYMODIFY_TYPE)->SetFocus();
return ;
}
#endif
CDialog::OnOK();
}
ANS_Corp_FuncPayData DLG_Corp_FuncPay_Modify::GetParam()
{
return m_Pay;
}
void DLG_Corp_FuncPay_Modify::SetParam(ANS_Corp_FuncPayData pay, BOOL bAdd)
{
m_Pay = pay;
m_bAdd = bAdd;
}
void DLG_Corp_FuncPay_Modify::OnChangeCorpPaymodifyPrice()
{
ResetSMSUsed();
}
void DLG_Corp_FuncPay_Modify::OnChangeCorpPaymodifyPriceone()
{
ResetSMSUsed();
}
void DLG_Corp_FuncPay_Modify::OnChangeCorpPaymodifyPresend()
{
ResetSMSUsed();
}
void DLG_Corp_FuncPay_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 );
this->UpdateData( false );
}
void DLG_Corp_FuncPay_Modify::OnSelchangeCorpPaymodifyFunc()
{
UpdateData( true );
if ( m_lFuncID==14 || m_lFuncID==15 || m_lFuncID==16 )
{
GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_CORP_PAYMODIFY_PRESEND)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_CORP_PAYMODIFY_SMSCOUNT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_CORP_PAYMODIFY_TCPER)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE_S)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_CORP_PAYMODIFY_PRESEND_S)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_CORP_PAYMODIFY_SMSCOUNT_S)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_CORP_PAYMODIFY_TCPER_S)->ShowWindow(SW_SHOW);
}
else
{
GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAYMODIFY_PRESEND)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAYMODIFY_SMSCOUNT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAYMODIFY_TCPER)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAYMODIFY_PRICEONE_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAYMODIFY_PRESEND_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAYMODIFY_SMSCOUNT_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAYMODIFY_TCPER_S)->ShowWindow(SW_HIDE);
m_strTCPer = _T("10");
}
UpdateData( false );
}