// DLG_Pay_TC.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "DLG_Pay_TC.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DLG_Pay_TC dialog #include "DLG_Corp_FuncPay.h" DLG_Pay_TC::DLG_Pay_TC(CWnd* pParent /*=NULL*/) : CDialog(DLG_Pay_TC::IDD, pParent) { //{{AFX_DATA_INIT(DLG_Pay_TC) m_lPer2 = 0.0f; m_strMsg = _T(""); m_lPer10 = 0.0f; m_lPer09 = 0.0f; m_lPer08 = 0.0f; m_lPer07 = 0.0f; m_lPer06 = 0.0f; m_lPer05 = 0.0f; m_lPerA = 0.0f; m_lPer1 = 0.0f; //}}AFX_DATA_INIT m_lAgentID = 0; m_pPayData = NULL; m_pAgentPayData = NULL; m_pFuncPayData = NULL; } void DLG_Pay_TC::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_Pay_TC) DDX_Control(pDX, IDC_C_PAY_TC_LIST, m_wndList); DDX_Text(pDX, IDC_C_PAY_TC_PER2, m_lPer2); DDV_MinMaxFloat(pDX, m_lPer2, 0.f, 100.f); DDX_Text(pDX, IDC_C_PAY_TC_MSG, m_strMsg); DDX_Text(pDX, IDC_C_PAY_TC_PER10, m_lPer10); DDV_MinMaxFloat(pDX, m_lPer10, 0.f, 100.f); DDX_Text(pDX, IDC_C_PAY_TC_PER09, m_lPer09); DDV_MinMaxFloat(pDX, m_lPer09, 0.f, 100.f); DDX_Text(pDX, IDC_C_PAY_TC_PER08, m_lPer08); DDV_MinMaxFloat(pDX, m_lPer08, 0.f, 100.f); DDX_Text(pDX, IDC_C_PAY_TC_PER07, m_lPer07); DDV_MinMaxFloat(pDX, m_lPer07, 0.f, 100.f); DDX_Text(pDX, IDC_C_PAY_TC_PER06, m_lPer06); DDV_MinMaxFloat(pDX, m_lPer06, 0.f, 100.f); DDX_Text(pDX, IDC_C_PAY_TC_PER05, m_lPer05); DDV_MinMaxFloat(pDX, m_lPer05, 0.f, 100.f); DDX_Text(pDX, IDC_C_PAY_TC_PERA, m_lPerA); DDV_MinMaxFloat(pDX, m_lPerA, 0.f, 100.f); DDX_Text(pDX, IDC_C_PAY_TC_PER1, m_lPer1); DDV_MinMaxFloat(pDX, m_lPer1, 0.f, 100.f); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DLG_Pay_TC, CDialog) //{{AFX_MSG_MAP(DLG_Pay_TC) ON_BN_CLICKED(IDC_C_PAY_TC_NOW, OnCPayTcNow) ON_BN_CLICKED(IDC_C_PAY_TC_COPY, OnCPayTcCopy) ON_BN_CLICKED(IDC_C_PAY_TC_NOW2, OnCPayTcNow2) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_Pay_TC message handlers void DLG_Pay_TC::OnOK() { // TODO: Add extra validation here CDialog::OnOK(); } void DLG_Pay_TC::OnCancel() { // TODO: Add extra cleanup here CDialog::OnCancel(); } BOOL DLG_Pay_TC::OnInitDialog() { CDialog::OnInitDialog(); //初始化List m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LIST) ); m_wndList.SubClassWindow2(); m_wndList.SetGridLines(true); m_lPer1 = 18.0f; m_lPer2 = 12.0f; m_lPerA=0.0f; m_lPer10=9.0f; m_lPer09=8.0f; m_lPer08=7.0f; m_lPer07=6.0f; m_lPer06=5.0f; m_lPer05=4.0f; UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void DLG_Pay_TC::OnCPayTcNow() { if ( !UpdateData(true) ) return ; if ( m_pAgentPayData ) OnCPayTcNow_Agent(); if ( m_pFuncPayData ) OnCPayTcNow_Func(); if ( !m_pPayData ) return ; if ( m_lAgentID==0 || m_lAgentID==-1 ) m_lAgentID=-10; m_wndList.ShowWindow(SW_HIDE); //加快显示速度 m_wndList.DeleteAllItems(); m_wndList.DeleteAllColumns(); m_wndList.SetHeadings(_T("序号,40;企业ID,70; 企业名称,120;充值时间,90;充值金额,90;业绩金额,90;单价,80;提成单价,80;提成比例,80;短信数量,80;计提比例,80;提成金额,90;")); POSITION pos = m_pPayData->GetHeadPosition(); POSITION pos2=0; int i=0; TCHAR Buf[128]={0}; CString strTemp2; double fTotal=0; double fTotal2=0; double fTCTotal=0; long lSms=0; long lPresent=0; long lSmsAll=0; while ( pos ) { pos2 = pos; ANS_Pay_SeeData * pData = m_pPayData->GetNext(pos); if ( pData ) { if ( (m_lAgentID == -10) || (m_lAgentID == -11 && pData->lAgentID <=0 ) || (m_lAgentID == -12 && pData->lAgentID >0 ) || (m_lAgentID == pData->lAgentID ) ) { strTemp2.Format( _T("%3d") , i+1 ); //序号 m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%d") , pData->lCorpID ); //企业ID m_wndList.SetItemText(i,1,strTemp2); //插入列表 m_wndList.SetItemText(i,2,pData->szCorpName); //插入列表 strTemp2.Format( _T("%04d-%02d-%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay ); m_wndList.SetItemText(i,3,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , pData->fPrice ); //充值金额 m_wndList.SetItemText(i,4,strTemp2); //插入列表 if ( pData->lTCPer>0 && pData->lTCPer<100 ) { strTemp2.Format( _T("%10.2f") , (pData->fPrice*pData->lTCPer)/100.0f ); //业绩金额 fTotal2 += (pData->fPrice*pData->lTCPer)/100.0f; } else { strTemp2.Format( _T("%10.2f") , pData->fPrice ); //业绩金额 fTotal2 += pData->fPrice; } m_wndList.SetItemText(i,5,strTemp2); //插入列表 /* double l = 0.0f; if (pData->fPrice!=0 && pData->fPriceOne!=0 ) l=pData->fPrice/pData->fPriceOne; long a = long(l+0.5f); if ( a<0 ) a = long(l-0.5f); a = a+pData->lPresent; float fPriceOne=0.0f; if ( pData->fPrice !=0 ) fPriceOne = pData->fPrice/(float)(a); */ float fPriceOne = 0; if ( pData->fPrice!=0.0f && pData->lSMSCount!=0 ) fPriceOne = pData->fPrice/pData->lSMSCount; strTemp2.Format( _T("%8.4f") , fPriceOne ); //单价 m_wndList.SetItemText(i,6,strTemp2); //插入列表 //strTemp2.Format( _T("%8.4f") , fPriceOne-0.05f ); //提成单价 strTemp2.Format( _T("%8.4f") , fPriceOne-0.043f ); //提成单价 m_wndList.SetItemText(i,7,strTemp2); //插入列表 float lPer = 0.0f; COleDateTime tReg(pData->tRegTime); COleDateTime tPay(pData->tPayTime); if ( tReg.GetStatus()==0 && tPay.GetStatus()==0 && tPay-tReglSMSCount ); //短信数量 m_wndList.SetItemText(i,9,strTemp2); //插入列表 strTemp2.Format( _T("%6d%%") , pData->lTCPer ); //计提比例 m_wndList.SetItemText(i,10,strTemp2); //插入列表 //提成金额 //double dJC = (double)((fPriceOne-0.05f)*pData->lSMSCount*lPer*pData->lTCPer)/10000.0f; double dJC = (double)((fPriceOne-0.043f)*pData->lSMSCount*lPer*pData->lTCPer)/10000.0f; strTemp2.Format( _T("%10.4f") , dJC ); //提成金额 m_wndList.SetItemText(i,11,strTemp2); //插入列表 fTCTotal+=dJC; fTotal += pData->fPrice; lPresent += pData->lPresent; lSmsAll += pData->lSMSCount; i++; } } } strTemp2=_T(" 合计"); m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal ); m_wndList.SetItemText(i,4,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal2 ); m_wndList.SetItemText(i,5,strTemp2); //插入列表 strTemp2.Format( _T("%8d") , lSmsAll ); m_wndList.SetItemText(i,9,strTemp2); //插入列表 strTemp2.Format( _T("%10.4f") , fTCTotal ); m_wndList.SetItemText(i,11,strTemp2); //插入列表 m_wndList.ShowWindow(SW_SHOW); //加快显示速度 UpdateData(false); } void DLG_Pay_TC::SetParam(CPayData *pPay,CAgentPayData * pAgentPay,CFuncPayData * pFuncPay,long lAgentID) { m_pPayData = pPay; m_pAgentPayData=pAgentPay; m_pFuncPayData=pFuncPay; m_lAgentID = lAgentID; } void DLG_Pay_TC::OnCPayTcCopy() { DWORD dwTemp; CString str; static TCHAR BASED_CODE szFilter[] = _T("Excel CSV Files (*.csv)|*.txt|All Files (*.*)|*.*||"); CFileDialog dlg(TRUE,_T("CSV"),_T("TC.csv"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter); if (dlg.DoModal() == IDOK) { CString strFileName = dlg.GetPathName(); //打开创建错误的文件 HANDLE hLog = CreateFile( strFileName , GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL ); if ( !hLog ) { str.Format(_T("创建%s文件错误,请检查!") , strFileName ); MessageBox( str,_T("错误") , MB_ICONWARNING ); return ; } long lCCount = m_wndList.GetColumnCount(); long lRCount = m_wndList.GetItemCount(); for ( int i=0 ; iGetHeadPosition(); POSITION pos2=0; int i=0; TCHAR Buf[128]={0}; CString strTemp2; double fTotal=0; double fTotal2=0; double fTCTotal=0; long lSms=0; long lPresent=0; long lSmsAll=0; while ( pos ) { pos2 = pos; ANS_Pay_SeeData * pData = m_pPayData->GetNext(pos); if ( pData ) { if ( (m_lAgentID == -10) || (m_lAgentID == -11 && pData->lAgentID <=0 ) || (m_lAgentID == -12 && pData->lAgentID >0 ) || (m_lAgentID == pData->lAgentID ) ) { strTemp2.Format( _T("%3d") , i+1 ); //序号 m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%d") , pData->lCorpID ); //企业ID m_wndList.SetItemText(i,1,strTemp2); //插入列表 m_wndList.SetItemText(i,2,pData->szCorpName); //插入列表 strTemp2.Format( _T("%04d-%02d-%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay ); m_wndList.SetItemText(i,3,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , pData->fPrice ); //充值金额 m_wndList.SetItemText(i,4,strTemp2); //插入列表 if ( pData->lTCPer>0 && pData->lTCPer<100 ) { strTemp2.Format( _T("%10.2f") , (pData->fPrice*pData->lTCPer)/100.0f ); //业绩金额 fTotal2 += (pData->fPrice*pData->lTCPer)/100.0f; } else { strTemp2.Format( _T("%10.2f") , pData->fPrice ); //业绩金额 fTotal2 += pData->fPrice; } m_wndList.SetItemText(i,5,strTemp2); //插入列表 /* double l = 0.0f; if (pData->fPrice!=0 && pData->fPriceOne!=0 ) l=pData->fPrice/pData->fPriceOne; long a = long(l+0.5f); if ( a<0 ) a = long(l-0.5f); a = a+pData->lPresent; float fPriceOne=0.0f; float lPer=0; if ( pData->fPrice!=0 ) fPriceOne = pData->fPrice/(float)(a); */ float fPriceOne = 0; if ( pData->fPrice!=0.0f && pData->lSMSCount!=0 ) fPriceOne = pData->fPrice/pData->lSMSCount; strTemp2.Format( _T("%8.4f") , fPriceOne ); //单价 m_wndList.SetItemText(i,6,strTemp2); //插入列表 float lPer = GetPriceTC(fPriceOne); strTemp2.Format( _T("%8.2f%%") , lPer ); //提成比例 m_wndList.SetItemText(i,7,strTemp2); //插入列表 strTemp2.Format( _T("%8d") , pData->lSMSCount ); //短信数量 m_wndList.SetItemText(i,8,strTemp2); //插入列表 long lTCPer = pData->lTCPer; if ( m_lPerA>0 ) { lTCPer=(m_lPerA*pData->lTCPer/100.0f); } strTemp2.Format( _T("%6d%%") , lTCPer ); //计提比例 m_wndList.SetItemText(i,9,strTemp2); //插入列表 //提成金额 double dJC = pData->fPrice*(double)(lPer*lTCPer)/10000.0f; strTemp2.Format( _T("%10.4f") , dJC ); //提成金额 m_wndList.SetItemText(i,10,strTemp2); //插入列表 fTCTotal+=dJC; fTotal += pData->fPrice; lPresent += pData->lPresent; lSmsAll += pData->lSMSCount; i++; } } } strTemp2=_T(" 合计"); m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal ); m_wndList.SetItemText(i,4,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal2 ); m_wndList.SetItemText(i,5,strTemp2); //插入列表 strTemp2.Format( _T("%8d") , lSmsAll ); m_wndList.SetItemText(i,8,strTemp2); //插入列表 strTemp2.Format( _T("%10.4f") , fTCTotal ); m_wndList.SetItemText(i,10,strTemp2); //插入列表 m_wndList.ShowWindow(SW_SHOW); //加快显示速度 UpdateData(false); } float DLG_Pay_TC::GetPriceTC(float fPriceOne) { if ( fPriceOne >=0.10f ) return m_lPer10; if ( fPriceOne >=0.09f ) { return m_lPer09 + (m_lPer10-m_lPer09)*(fPriceOne - 0.09f)/(0.10f-0.09f) + 0.000005f; } if ( fPriceOne >=0.08f ) { return m_lPer08 + (m_lPer09-m_lPer08)*(fPriceOne - 0.08f)/(0.09f-0.08f) + 0.000005f; //return m_lPer08; } if ( fPriceOne >=0.07f ) { return m_lPer07 + (m_lPer08-m_lPer07)*(fPriceOne - 0.07f)/(0.08f-0.07f) + 0.000005f; //return m_lPer07; } if ( fPriceOne >=0.06f ) { return m_lPer06 + (m_lPer07-m_lPer06)*(fPriceOne - 0.06f)/(0.07f-0.06f) + 0.000005f; //return m_lPer06; } if ( fPriceOne >=0.05f ) { return m_lPer05 + (m_lPer06-m_lPer05)*(fPriceOne - 0.05f)/(0.06f-0.05f) + 0.000005f; //return m_lPer06; } return m_lPer05; } void DLG_Pay_TC::OnCPayTcNow_Agent() { if ( !UpdateData(true) ) return ; if ( !m_pAgentPayData ) return ; if ( m_lAgentID==0 || m_lAgentID==-1 ) m_lAgentID=-10; m_wndList.ShowWindow(SW_HIDE); //加快显示速度 m_wndList.DeleteAllItems(); m_wndList.DeleteAllColumns(); m_wndList.SetHeadings(_T("序号,40;代理商ID,70; 代理商名称,120;充值时间,90;充值金额,90;业绩金额,90;单价,80;提成单价,80;提成比例,80;短信数量,80;计提比例,80;提成金额,90;")); POSITION pos = m_pAgentPayData->GetHeadPosition(); POSITION pos2=0; int i=0; TCHAR Buf[128]={0}; CString strTemp2; double fTotal=0; double fTotal2=0; double fTCTotal=0; long lSms=0; long lPresent=0; long lSmsAll=0; while ( pos ) { pos2 = pos; ANS_AgentPay_SeeData * pData = m_pAgentPayData->GetNext(pos); if ( pData ) { if ( (m_lAgentID == -10) || (m_lAgentID == -11 && pData->lAgentID <=0 ) || (m_lAgentID == -12 && pData->lAgentID >0 ) || (m_lAgentID == pData->lAgentID ) ) { strTemp2.Format( _T("%3d") , i+1 ); //序号 m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%d") , pData->lAgentID ); //企业ID m_wndList.SetItemText(i,1,strTemp2); //插入列表 m_wndList.SetItemText(i,2,pData->szAgentName); //插入列表 strTemp2.Format( _T("%04d-%02d-%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay ); m_wndList.SetItemText(i,3,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , pData->fPrice ); //充值金额 m_wndList.SetItemText(i,4,strTemp2); //插入列表 if ( pData->lTCPer>0 && pData->lTCPer<100 ) { strTemp2.Format( _T("%10.2f") , (pData->fPrice*pData->lTCPer)/100.0f ); //业绩金额 fTotal2 += (pData->fPrice*pData->lTCPer)/100.0f; } else { strTemp2.Format( _T("%10.2f") , pData->fPrice ); //业绩金额 fTotal2 += pData->fPrice; } m_wndList.SetItemText(i,5,strTemp2); //插入列表 /* double l = 0.0f; if (pData->fPrice!=0 && pData->fPriceOne!=0 ) l=pData->fPrice/pData->fPriceOne; long a = long(l+0.5f); if ( a<0 ) a = long(l-0.5f); a = a+pData->lPresent; float fPriceOne=0.0f; if ( pData->fPrice !=0 ) fPriceOne = pData->fPrice/(float)(a); */ float fPriceOne = 0; if ( pData->fPrice!=0.0f && pData->lSMSCount!=0 ) fPriceOne = pData->fPrice/pData->lSMSCount; strTemp2.Format( _T("%8.4f") , fPriceOne ); //单价 m_wndList.SetItemText(i,6,strTemp2); //插入列表 //strTemp2.Format( _T("%8.4f") , fPriceOne-0.05f ); //提成单价 strTemp2.Format( _T("%8.4f") , fPriceOne-0.043f ); //提成单价 m_wndList.SetItemText(i,7,strTemp2); //插入列表 float lPer = 0.0f; COleDateTime tReg(pData->tRegTime); COleDateTime tPay(pData->tPayTime); if ( tReg.GetStatus()==0 && tPay.GetStatus()==0 && tPay-tReglSMSCount ); //短信数量 m_wndList.SetItemText(i,9,strTemp2); //插入列表 strTemp2.Format( _T("%6d%%") , pData->lTCPer ); //计提比例 m_wndList.SetItemText(i,10,strTemp2); //插入列表 //提成金额 //double dJC = (double)((fPriceOne-0.05f)*pData->lSMSCount*lPer*pData->lTCPer)/10000.0f; double dJC = (double)((fPriceOne-0.043f)*pData->lSMSCount*lPer*pData->lTCPer)/10000.0f; strTemp2.Format( _T("%10.4f") , dJC ); //提成金额 m_wndList.SetItemText(i,11,strTemp2); //插入列表 fTCTotal+=dJC; fTotal += pData->fPrice; lPresent += pData->lPresent; lSmsAll += pData->lSMSCount; i++; } } } strTemp2=_T(" 合计"); m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal ); m_wndList.SetItemText(i,4,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal2 ); m_wndList.SetItemText(i,5,strTemp2); //插入列表 strTemp2.Format( _T("%8d") , lSmsAll ); m_wndList.SetItemText(i,9,strTemp2); //插入列表 strTemp2.Format( _T("%10.4f") , fTCTotal ); m_wndList.SetItemText(i,11,strTemp2); //插入列表 m_wndList.ShowWindow(SW_SHOW); //加快显示速度 UpdateData(false); /* if ( m_lAgentID==0 || m_lAgentID==-1 ) m_lAgentID=-10; m_wndList.ShowWindow(SW_HIDE); //加快显示速度 m_wndList.DeleteAllItems(); m_wndList.DeleteAllColumns(); m_wndList.SetHeadings(_T("序号,40;代理商ID,70; 代理商名称,120;充值时间,90;充值金额,90;单价,80;提成单价,80;提成比例,80;短信数量,80;计提比例,80;提成金额,90;")); POSITION pos = m_pAgentPayData->GetHeadPosition(); POSITION pos2=0; int i=0; TCHAR Buf[128]={0}; CString strTemp; CString strTemp2; double fTotal=0; double fTCTotal=0; long lSms=0; long lPresent=0; long lSmsAll=0; while ( pos ) { pos2 = pos; ANS_AgentPay_SeeData * pData = m_pAgentPayData->GetNext(pos); if ( pData ) { if ( (m_lAgentID == -10) || (m_lAgentID == -11 && pData->lAgentID <=0 ) || (m_lAgentID == -12 && pData->lAgentID >0 ) || (m_lAgentID == pData->lAgentID ) ) { strTemp2.Format( _T("%3d") , i+1 ); //序号 m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%d") , pData->lAgentID ); //企业ID m_wndList.SetItemText(i,1,strTemp2); //插入列表 m_wndList.SetItemText(i,2,pData->szAgentName); //插入列表 strTemp2.Format( _T("%04d-%02d-%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay ); m_wndList.SetItemText(i,3,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , pData->fJFPrice ); //充值金额 m_wndList.SetItemText(i,4,strTemp2); //插入列表 float fPriceOne=0.0f; if ( pData->fJFPrice !=0 ) fPriceOne = pData->fJFPrice/(pData->fPrice*10.0f); strTemp2.Format( _T("%8.4f") , fPriceOne ); //单价 m_wndList.SetItemText(i,5,strTemp2); //插入列表 strTemp2.Format( _T("%8.4f") , fPriceOne-0.05f ); //提成单价 m_wndList.SetItemText(i,6,strTemp2); //插入列表 float lPer = 0.0f; COleDateTime tReg(pData->tRegTime); COleDateTime tPay(pData->tPayTime); if ( tReg.GetStatus()==0 && tPay.GetStatus()==0 && tPay-tRegfPrice!=0 ) l = pData->fPrice/0.10f; long a = long(l+0.5f); if ( a<0 ) a = long(l-0.5f); lSms += a; strTemp2.Format( _T("%8d") , a ); //短信数量 m_wndList.SetItemText(i,8,strTemp2); //插入列表 float lTCPer = 100.0f; if ( m_lPerA>0 ) lTCPer = m_lPerA; strTemp2.Format( _T("%10d%%") , lTCPer ); //计提比例 strTemp += strTemp2; strTemp2.Format( _T("%7.2f%%") , lTCPer ); //计提比例 m_wndList.SetItemText(i,9,strTemp2); //插入列表 //提成金额 double dJC = (double)((fPriceOne-0.05f)*a*lPer*lTCPer)/10000.0f; strTemp2.Format( _T("%10.4f") , dJC ); //提成金额 m_wndList.SetItemText(i,10,strTemp2); //插入列表 fTCTotal+=dJC; fTotal += pData->fJFPrice; i++; } } } strTemp2=_T(" 合计"); m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal ); m_wndList.SetItemText(i,4,strTemp2); //插入列表 strTemp2.Format( _T("%8d") , lSms ); m_wndList.SetItemText(i,8,strTemp2); //插入列表 strTemp2.Format( _T("%10.4f") , fTCTotal ); m_wndList.SetItemText(i,10,strTemp2); //插入列表 m_wndList.ShowWindow(SW_SHOW); //加快显示速度 UpdateData(false); */ } void DLG_Pay_TC::OnCPayTcNow2_Agent() { if ( !UpdateData(true) ) return ; if ( !m_pAgentPayData ) return ; if ( m_lAgentID==0 || m_lAgentID==-1 ) m_lAgentID=-10; m_wndList.ShowWindow(SW_HIDE); //加快显示速度 m_wndList.DeleteAllItems(); m_wndList.DeleteAllColumns(); m_wndList.SetHeadings(_T("序号,40;企业ID,70; 企业名称,120;充值时间,90;充值金额,90;业绩金额,90;单价,80;提成比例,80;短信数量,80;计提比例,80;提成金额,90;")); POSITION pos = m_pAgentPayData->GetHeadPosition(); POSITION pos2=0; int i=0; TCHAR Buf[128]={0}; CString strTemp2; double fTotal=0; double fTotal2=0; double fTCTotal=0; long lSms=0; long lPresent=0; long lSmsAll=0; while ( pos ) { pos2 = pos; ANS_AgentPay_SeeData * pData = m_pAgentPayData->GetNext(pos); if ( pData ) { if ( (m_lAgentID == -10) || (m_lAgentID == -11 && pData->lAgentID <=0 ) || (m_lAgentID == -12 && pData->lAgentID >0 ) || (m_lAgentID == pData->lAgentID ) ) { strTemp2.Format( _T("%3d") , i+1 ); //序号 m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%d") , pData->lAgentID ); //企业ID m_wndList.SetItemText(i,1,strTemp2); //插入列表 m_wndList.SetItemText(i,2,pData->szAgentName); //插入列表 strTemp2.Format( _T("%04d-%02d-%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay ); m_wndList.SetItemText(i,3,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , pData->fPrice ); //充值金额 m_wndList.SetItemText(i,4,strTemp2); //插入列表 if ( pData->lTCPer>0 && pData->lTCPer<100 ) { strTemp2.Format( _T("%10.2f") , (pData->fPrice*pData->lTCPer)/100.0f ); //业绩金额 fTotal2 += (pData->fPrice*pData->lTCPer)/100.0f; } else { strTemp2.Format( _T("%10.2f") , pData->fPrice ); //业绩金额 fTotal2 += pData->fPrice; } m_wndList.SetItemText(i,5,strTemp2); //插入列表 /* double l = 0.0f; if (pData->fPrice!=0 && pData->fPriceOne!=0 ) l=pData->fPrice/pData->fPriceOne; long a = long(l+0.5f); if ( a<0 ) a = long(l-0.5f); a = a+pData->lPresent; float fPriceOne=0.0f; float lPer=0; if ( pData->fPrice!=0 ) fPriceOne = pData->fPrice/(float)(a); */ float fPriceOne = 0; if ( pData->fPrice!=0.0f && pData->lSMSCount!=0 ) fPriceOne = pData->fPrice/pData->lSMSCount; float lPer = GetPriceTC(fPriceOne); strTemp2.Format( _T("%8.4f") , fPriceOne ); //单价 m_wndList.SetItemText(i,6,strTemp2); //插入列表 strTemp2.Format( _T("%8.2f%%") , lPer ); //提成比例 m_wndList.SetItemText(i,7,strTemp2); //插入列表 strTemp2.Format( _T("%8d") , pData->lSMSCount ); //短信数量 m_wndList.SetItemText(i,8,strTemp2); //插入列表 long lTCPer = pData->lTCPer; if ( m_lPerA>0 ) { lTCPer=(m_lPerA*pData->lTCPer/100.0f); } strTemp2.Format( _T("%6d%%") , lTCPer ); //计提比例 m_wndList.SetItemText(i,9,strTemp2); //插入列表 //提成金额 double dJC = pData->fPrice*(double)(lPer*lTCPer)/10000.0f; strTemp2.Format( _T("%10.4f") , dJC ); //提成金额 m_wndList.SetItemText(i,10,strTemp2); //插入列表 fTCTotal+=dJC; fTotal += pData->fPrice; lPresent += pData->lPresent; lSmsAll += pData->lSMSCount; i++; } } } strTemp2=_T(" 合计"); m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal ); m_wndList.SetItemText(i,4,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal2 ); m_wndList.SetItemText(i,5,strTemp2); //插入列表 strTemp2.Format( _T("%8d") , lSmsAll ); m_wndList.SetItemText(i,8,strTemp2); //插入列表 strTemp2.Format( _T("%10.4f") , fTCTotal ); m_wndList.SetItemText(i,10,strTemp2); //插入列表 m_wndList.ShowWindow(SW_SHOW); //加快显示速度 UpdateData(false); /* m_wndList.ShowWindow(SW_HIDE); //加快显示速度 m_wndList.DeleteAllItems(); m_wndList.DeleteAllColumns(); m_wndList.SetHeadings(_T("序号,40;代理商ID,70; 代理商名称,120;充值时间,90;充值金额,90;单价,80;提成比例,80;短信数量,80;计提比例,80;提成金额,90;")); POSITION pos = m_pAgentPayData->GetHeadPosition(); POSITION pos2=0; int i=0; TCHAR Buf[128]={0}; CString strTemp2; double fTotal=0; double fTCTotal=0; long lSms=0; long lPresent=0; long lSmsAll=0; while ( pos ) { pos2 = pos; ANS_AgentPay_SeeData * pData = m_pAgentPayData->GetNext(pos); if ( pData ) { if ( (m_lAgentID == -10) || (m_lAgentID == -11 && pData->lAgentID <=0 ) || (m_lAgentID == -12 && pData->lAgentID >0 ) || (m_lAgentID == pData->lAgentID ) ) { strTemp2.Format( _T("%3d") , i+1 ); //序号 m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%d") , pData->lAgentID ); //企业ID m_wndList.SetItemText(i,1,strTemp2); //插入列表 m_wndList.SetItemText(i,2,pData->szAgentName); //插入列表 strTemp2.Format( _T("%04d-%02d-%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay ); m_wndList.SetItemText(i,3,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , pData->fJFPrice ); //充值金额 m_wndList.SetItemText(i,4,strTemp2); //插入列表 float fPriceOne=0.0f; if ( pData->fJFPrice !=0 ) fPriceOne = pData->fJFPrice/(pData->fPrice*10.0f); strTemp2.Format( _T("%8.4f") , fPriceOne ); //单价 m_wndList.SetItemText(i,5,strTemp2); //插入列表 float lPer = GetPriceTC(fPriceOne); strTemp2.Format( _T("%8.2f%%") , lPer ); //提成比例 m_wndList.SetItemText(i,6,strTemp2); //插入列表 double l = 0; if ( pData->fPrice!=0 ) l = pData->fPrice/0.10f; long a = long(l+0.5f); if ( a<0 ) a = long(l-0.5f); lSms += a; strTemp2.Format( _T("%8d") , a ); //短信数量 m_wndList.SetItemText(i,7,strTemp2); //插入列表 float lTCPer =100.0f; if ( m_lPerA>0 ) lTCPer=m_lPerA; strTemp2.Format( _T("%7.2f%%") , lTCPer ); //计提比例 m_wndList.SetItemText(i,8,strTemp2); //插入列表 //提成金额 double dJC = pData->fJFPrice*(double)(lPer*lTCPer)/10000.0f; strTemp2.Format( _T("%10.4f") , dJC ); //提成金额 m_wndList.SetItemText(i,9,strTemp2); //插入列表 fTCTotal+=dJC; fTotal += pData->fJFPrice; lSms += a; i++; } } } strTemp2=_T(" 合计"); m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal ); m_wndList.SetItemText(i,4,strTemp2); //插入列表 strTemp2.Format( _T("%8d") , lSms ); m_wndList.SetItemText(i,7,strTemp2); //插入列表 strTemp2.Format( _T("%10.4f") , fTCTotal ); m_wndList.SetItemText(i,9,strTemp2); //插入列表 m_wndList.ShowWindow(SW_SHOW); //加快显示速度 UpdateData(false); */ } void DLG_Pay_TC::OnCPayTcNow_Func() { if ( !UpdateData(true) ) return ; if ( !m_pFuncPayData ) return ; if ( m_lAgentID==0 || m_lAgentID==-1 ) m_lAgentID=-10; m_wndList.ShowWindow(SW_HIDE); //加快显示速度 m_wndList.DeleteAllItems(); m_wndList.DeleteAllColumns(); m_wndList.SetHeadings(_T("序号,40;企业ID,70; 企业名称,120;开通时间,90;充值金额,90;业绩金额,90; 功 能,80;类 型,80;提成比例,80;计提比例,80;提成金额,90;")); POSITION pos = m_pFuncPayData->GetHeadPosition(); POSITION pos2=0; int i=0; TCHAR Buf[128]={0}; CString strTemp2; double fTotal=0; double fTotal2=0; double fTCTotal=0; while ( pos ) { pos2 = pos; ANS_FuncPay_SeeData * pData = m_pFuncPayData->GetNext(pos); if ( pData ) { if ( (m_lAgentID == -10) || (m_lAgentID == -11 && pData->lAgentID <=0 ) || (m_lAgentID == -12 && pData->lAgentID >0 ) || (m_lAgentID == pData->lAgentID ) ) { strTemp2.Format( _T("%3d") , i+1 ); //序号 m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%d") , pData->lCorpID ); //企业ID m_wndList.SetItemText(i,1,strTemp2); //插入列表 m_wndList.SetItemText(i,2,pData->szCorpName); //插入列表 strTemp2.Format( _T("%04d-%02d-%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay ); m_wndList.SetItemText(i,3,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , pData->fPrice ); //充值金额 m_wndList.SetItemText(i,4,strTemp2); //插入列表 if ( pData->lTCPer>0 && pData->lTCPer<100 ) { strTemp2.Format( _T("%10.2f") , (pData->fPrice*pData->lTCPer)/100.0f ); //业绩金额 fTotal2 += (pData->fPrice*pData->lTCPer)/100.0f; } else { strTemp2.Format( _T("%10.2f") , pData->fPrice ); //业绩金额 fTotal2 += pData->fPrice; } m_wndList.SetItemText(i,5,strTemp2); //插入列表 m_wndList.SetItemText(i,6,DLG_Corp_FuncPay::GetFuncToTxt(pData->lFuncID)); if ( pData->lType==0 ) m_wndList.SetItemText( i , 7 , _T(" 关闭") ); else m_wndList.SetItemText( i , 7 , _T(" 开通") ); float lPer = 0.0f; lPer = m_lPer1; strTemp2.Format( _T("%6.2f%%") , lPer ); //提成比例 m_wndList.SetItemText(i,8,strTemp2); //插入列表 float lTCPer = pData->lTCPer; if ( m_lPerA>0 ) { lTCPer=(m_lPerA*pData->lTCPer/100.0f); } strTemp2.Format( _T("%6.2f%%") , lTCPer ); //提成比例 m_wndList.SetItemText(i,9,strTemp2); //插入列表 //提成金额 double dJC = (double)(pData->fPrice*lPer*lTCPer)/10000.0f; strTemp2.Format( _T("%10.4f") , dJC ); //提成金额 m_wndList.SetItemText(i,10,strTemp2); //插入列表 fTCTotal+=dJC; fTotal += pData->fPrice; i++; } } } strTemp2=_T(" 合计"); m_wndList.InsertItem(i,strTemp2,0); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal ); m_wndList.SetItemText(i,4,strTemp2); //插入列表 strTemp2.Format( _T("%10.2f") , fTotal2 ); m_wndList.SetItemText(i,5,strTemp2); //插入列表 strTemp2.Format( _T("%10.4f") , fTCTotal ); m_wndList.SetItemText(i,10,strTemp2); //插入列表 m_wndList.ShowWindow(SW_SHOW); //加快显示速度 UpdateData(false); }