// DLG_C_YYSPay_See.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "DLG_C_YYSPay_See.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DLG_C_YYSPay_See dialog DLG_C_YYSPay_See::DLG_C_YYSPay_See(CWnd* pParent /*=NULL*/) : CDialog(DLG_C_YYSPay_See::IDD, pParent) { //{{AFX_DATA_INIT(DLG_C_YYSPay_See) m_strName = _T(""); m_strPayTime = _T(""); m_strType = _T(""); m_strCJPrice = _T(""); m_strPayPer = _T(""); m_strPrice = _T(""); m_strXFPrice = _T(""); //}}AFX_DATA_INIT memset(&m_Pay,0,sizeof(m_Pay)); } void DLG_C_YYSPay_See::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_C_YYSPay_See) DDX_Text(pDX, IDD_C_MONPAY_SEE_NAME, m_strName); DDX_Text(pDX, IDD_C_MONPAY_SEE_PAYTIME, m_strPayTime); DDX_Text(pDX, IDD_C_MONPAY_SEE_TYPE, m_strType); DDX_Text(pDX, IDD_C_YYSPAY_SEE_CJPRICE, m_strCJPrice); DDV_MaxChars(pDX, m_strCJPrice, 16); DDX_Text(pDX, IDD_C_YYSPAY_SEE_PAYPER, m_strPayPer); DDV_MaxChars(pDX, m_strPayPer, 16); DDX_Text(pDX, IDD_C_YYSPAY_SEE_PRICE, m_strPrice); DDV_MaxChars(pDX, m_strPrice, 16); DDX_Text(pDX, IDD_C_YYSPAY_SEE_XFPRICE, m_strXFPrice); DDV_MaxChars(pDX, m_strXFPrice, 16); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DLG_C_YYSPay_See, CDialog) //{{AFX_MSG_MAP(DLG_C_YYSPay_See) ON_EN_CHANGE(IDD_C_YYSPAY_SEE_XFPRICE, OnChangeCYyspaySeeXfprice) ON_EN_CHANGE(IDD_C_YYSPAY_SEE_CJPRICE, OnChangeCYyspaySeeCjprice) ON_EN_CHANGE(IDD_C_YYSPAY_SEE_PAYPER, OnChangeCYyspaySeePayper) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_C_YYSPay_See message handlers BOOL DLG_C_YYSPay_See::OnInitDialog() { CDialog::OnInitDialog(); m_strName.Format( _T("%d-%s") , m_Pay.lCorpID,m_Pay.szCorpName ); m_strPayTime.Format( _T("%04d年%02d月") , m_Pay.tPayTime.wYear,m_Pay.tPayTime.wMonth); if ( m_Pay.lPayType==0 ) { m_strType = _T("企信通酬金90%" ); ((CEdit *)GetDlgItem(IDD_C_YYSPAY_SEE_PAYPER))->SetReadOnly(true); } if ( m_Pay.lPayType==1 ) { m_strType = _T("MAS酬金90%" ); ((CEdit *)GetDlgItem(IDD_C_YYSPAY_SEE_PAYPER))->SetReadOnly(true); } if ( m_Pay.lPayType==2 ) { m_strType = _T("企信通酬金10%" ); ((CEdit *)GetDlgItem(IDD_C_YYSPAY_SEE_PAYPER))->SetReadOnly(false); } if (m_Pay.lPayType==3 ) { m_strType = _T("MAS酬金10%" ); ((CEdit *)GetDlgItem(IDD_C_YYSPAY_SEE_PAYPER))->SetReadOnly(false); } m_strXFPrice.Format( _T("%.2f") , m_Pay.fXFPrice ); m_strCJPrice.Format( _T("%.2f") , m_Pay.fCJPrice ); m_strPayPer.Format( _T("%.2f") , m_Pay.fPayPer ); m_strPrice.Format( _T("%.2f") , m_Pay.fPrice ); UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void DLG_C_YYSPay_See::SetParam(ANS_Corp_YYSPayData pay) { m_Pay = pay; } ANS_Corp_YYSPayData DLG_C_YYSPay_See::GetParam() { return m_Pay; } void DLG_C_YYSPay_See::OnChangeCYyspaySeeXfprice() { if ( !UpdateData(true) ) return ; m_Pay.fXFPrice = _tstof(m_strXFPrice); m_Pay.fCJPrice = m_Pay.fXFPrice * 0.30f+0.005f; //默认酬金是30% m_Pay.fCJPrice = (long(m_Pay.fCJPrice*100.0f))/100.0f; m_strCJPrice.Format( _T("%.2f") , m_Pay.fCJPrice ); float fPer=0.90f; if (m_Pay.lPayType==2 || m_Pay.lPayType==3 ) fPer=0.10f; m_Pay.fPrice = m_Pay.fCJPrice*fPer*(m_Pay.fPayPer/100.0f)+0.005f; m_Pay.fPrice = (long(m_Pay.fPrice*100.0f))/100.0f; m_strPrice.Format( _T("%.2f") , m_Pay.fPrice ); UpdateData(false); } void DLG_C_YYSPay_See::OnChangeCYyspaySeeCjprice() { if ( !UpdateData(true) ) return ; m_Pay.fCJPrice = _tstof(m_strCJPrice); float fPer=0.90f; if (m_Pay.lPayType==2 || m_Pay.lPayType==3 ) fPer=0.10f; m_Pay.fPrice = m_Pay.fCJPrice*fPer*(m_Pay.fPayPer/100.0f)+0.005f; m_Pay.fPrice = (long(m_Pay.fPrice*100.0f))/100.0f; m_strPrice.Format( _T("%.2f") , m_Pay.fPrice ); UpdateData(false); } void DLG_C_YYSPay_See::OnChangeCYyspaySeePayper() { if ( !UpdateData(true) ) return ; m_Pay.fCJPrice = _tstof(m_strCJPrice); m_Pay.fPayPer = _tstof(m_strPayPer); float fPer=0.90f; if (m_Pay.lPayType==2 || m_Pay.lPayType==3 ) fPer=0.10f; m_Pay.fPrice = m_Pay.fCJPrice*fPer*(m_Pay.fPayPer/100.0f)+0.005f; m_Pay.fPrice = (long(m_Pay.fPrice*100.0f))/100.0f; m_strPrice.Format( _T("%.2f") , m_Pay.fPrice ); UpdateData(false); } void DLG_C_YYSPay_See::OnOK() { if( !UpdateData(true)) return ; m_Pay.fXFPrice = _tstof(m_strXFPrice); m_Pay.fCJPrice = _tstof(m_strCJPrice); m_Pay.fPayPer = _tstof(m_strPayPer); m_Pay.fPrice = _tstof(m_strPrice); if ( m_Pay.fXFPrice*0.5f < m_Pay.fCJPrice ) { int iRet=MessageBox( _T("消费金额与酬金金额比例不合理!是否继续?") , _T("错误") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 ); if (iRet != IDYES) { GetDlgItem(IDD_C_YYSPAY_SEE_XFPRICE)->SetFocus(); return ; } } if ( m_Pay.fPayPer < 50.0f ) { int iRet=MessageBox( _T("酬金发放比例不合理!是否继续?") , _T("错误") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 ); if (iRet != IDYES) { GetDlgItem(IDD_C_YYSPAY_SEE_PAYPER)->SetFocus(); return ; } } float fPer=0.90f; if (m_Pay.lPayType==2 || m_Pay.lPayType==3 ) fPer=0.10f; double fTemp=m_Pay.fCJPrice*fPer*(m_Pay.fPayPer/100.0f)+0.005f; fTemp = (long(fTemp*100.0f))/100.0f; if ( fTemp != m_Pay.fPrice ) { int iRet=MessageBox( _T("总酬金与应收酬金不符!是否继续?") , _T("错误") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 ); if (iRet != IDYES) { GetDlgItem(IDD_C_YYSPAY_SEE_PRICE)->SetFocus(); return ; } } CDialog::OnOK(); }