// DLG_Agent_Pay.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "DLG_Agent_Pay.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DLG_Agent_Pay dialog #include "DLG_Agent_Pay_Modify.h" DLG_Agent_Pay::DLG_Agent_Pay(CWnd* pParent /*=NULL*/) : CDialog(DLG_Agent_Pay::IDD, pParent) { //{{AFX_DATA_INIT(DLG_Agent_Pay) m_strAgentName = _T(""); m_strTotal = _T(""); m_strUsed = _T(""); //}}AFX_DATA_INIT m_lModifyCount = 0; memset( &m_PayReq , 0 , sizeof(m_PayReq) ); m_pPayData = NULL; } void DLG_Agent_Pay::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_Agent_Pay) DDX_Control(pDX, IDC_AGENT_PAY_LIST, m_wndList); DDX_Text(pDX, IDC_AGENT_PAY_AGENTNAME, m_strAgentName); DDX_Text(pDX, IDC_AGENT_PAY_TOTAL, m_strTotal); DDX_Text(pDX, IDC_AGENT_PAY_USED, m_strUsed); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DLG_Agent_Pay, CDialog) //{{AFX_MSG_MAP(DLG_Agent_Pay) ON_BN_CLICKED(IDC_AGENT_PAY_ADD, OnAgentPayAdd) ON_BN_CLICKED(IDC_AGENT_PAY_SEE, OnAgentPaySee) ON_NOTIFY(NM_DBLCLK, IDC_AGENT_PAY_LIST, OnDblclkAgentPayList) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_Agent_Pay message handlers BOOL DLG_Agent_Pay::OnInitDialog() { CDialog::OnInitDialog(); m_strAgentName = m_PayReq.szAgentName; //m_strUsed.Format( _T("%.2f") , m_PayReq.fUsed ); //m_strTotal.Format( _T("%.2f") , m_PayReq.fTotal ); m_strUsed.Format( _T("%d") , (long)(m_PayReq.fUsed*10.0f) ); m_strTotal.Format( _T("%d") ,(long)(m_PayReq.fTotal*10.0f) ); this->UpdateData(false); //初始化List m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_AGENT) ); m_wndList.SubClassWindow2(); //m_wndList.SetHeadings(_T("序号,50; 缴费者,80;缴费方式,80;缴费金额,80; 单价,80; 小计,70; 赠送,70; 短信量,70;预开票,55;应收,55;测试,55;缴费时间,130;过期时间,130;收款时间,130;发票,55;发票状态,80;开票时间,130;赠送礼品,80;礼品价值,80;接受人,80;推荐积分,80 备 注;200")); #ifdef MANAGER_VER_YWY m_wndList.SetHeadings(_T("序号,50; 出单人,80;缴费方式,80;缴费金额,80; 单价,80; 小计,70; 赠送,70; 短信量,70;缴费时间,130;过期时间,130;预开票,55;应收,55;测试,55;收款时间,130;发票,55;发票状态,80;开票时间,130; 备 注,200;")); #else m_wndList.SetHeadings(_T("序号,50; 出单人,80;缴费方式,80;缴费金额,80; 单价,80; 小计,70; 赠送,70; 短信量,70;缴费时间,130;过期时间,130; 备注,200;")); #endif m_wndList.SetGridLines(true); m_wndList.SetImageList(&m_Image,LVSIL_SMALL); POSITION pos; TCHAR Buf[32]; for ( int i = 0 ; i< m_PayReq.lCount ; i++ ) { ANS_Agent_PayData * pData = new ANS_Agent_PayData; *pData = m_pPayData[i]; pos = m_Pay.AddTail( pData ); _stprintf( Buf , _T("%d") , i+1 ); m_wndList.InsertItem( i , Buf , 0 ); //Item为0的原因是倒转显示 m_wndList.SetItemData( i , (DWORD)pos); int iIndex=1; m_wndList.SetItemText( i , iIndex++ , pData->szPayMan ); m_wndList.SetItemText( i , iIndex++ , pData->szPayMode ); _stprintf( Buf , _T("%8.2f") , pData->fPrice ); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%8.4f") , pData->fPriceOne); m_wndList.SetItemText( i , iIndex++ , Buf ); long a=0; if ( pData->fPrice!=0 && pData->fPriceOne!=0 ) { double l = pData->fPrice/pData->fPriceOne; a = long(l+0.5f); if ( a<0 ) a = long(l-0.5f); } _stprintf( Buf , _T("%8d") , a); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%8d") , pData->lPresent); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%8d") , pData->lSMSCount); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay,pData->tPayTime.wHour,pData->tPayTime.wMinute ); m_wndList.SetItemText( i , iIndex++ , Buf); _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tOvrTime.wYear,pData->tOvrTime.wMonth,pData->tOvrTime.wDay,pData->tOvrTime.wHour,pData->tOvrTime.wMinute ); m_wndList.SetItemText( i , iIndex++ , Buf); #ifdef MANAGER_VER_YWY switch(pData->lYSType ) { case 0: default: iIndex++; break; case 1: m_wndList.SetItemText( i , iIndex++ , _T(" 是") ); break; case 2: m_wndList.SetItemText( i , iIndex++ , _T("作废") ); break; } if ( pData->bYS ) m_wndList.SetItemText( i , iIndex++ , _T(" 是") ); else iIndex++; if ( pData->bTest ) m_wndList.SetItemText( i , iIndex++ , _T(" 是") ); else iIndex++; _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tYSTime.wYear,pData->tYSTime.wMonth,pData->tYSTime.wDay,pData->tYSTime.wHour,pData->tYSTime.wMinute ); m_wndList.SetItemText( i , iIndex++ , Buf); if ( pData->bFP>0 ) { CString strType; switch (pData->bFP) { case 0: strType = _T("无需发票"); break; case 1: strType = _T("地税发票"); break; case 2: strType = _T("增值税普票"); break; case 3: strType = _T("移动发票"); break; case 4: strType = _T("增值税专票"); break; case 5: strType = _T("无需发票已报税"); break; } m_wndList.SetItemText( i , iIndex++ , strType ); switch(pData->lFPStatus) { case 0: default: m_wndList.SetItemText( i , iIndex++ , _T("未开票") ); break; case 1: m_wndList.SetItemText( i , iIndex++ , _T("已开票") ); break; case 2: m_wndList.SetItemText( i , iIndex++ , _T("已寄出") ); break; } if ( pData->lFPStatus>0 ) { _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tFPTime.wYear,pData->tFPTime.wMonth,pData->tFPTime.wDay,pData->tFPTime.wHour,pData->tFPTime.wMinute ); m_wndList.SetItemText( i , iIndex++ , Buf); } else { iIndex++; } } else { iIndex+=3; } #endif m_wndList.SetItemText( i , iIndex , pData->szBZ); } #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) GetDlgItem(IDC_AGENT_PAY_TOTAL)->ShowWindow(SW_HIDE); GetDlgItem(IDC_AGENT_PAY_TOTAL_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_Agent_Pay::SetParam(ANS_Agent_Pay Pay, ANS_Agent_PayData *pPayData) { m_PayReq = Pay; m_pPayData = pPayData; } long DLG_Agent_Pay::GetCurrentSelected() { POSITION pos = m_wndList.GetFirstSelectedItemPosition(); if ( pos ) { return m_wndList.GetNextSelectedItem(pos); } return -1; } void DLG_Agent_Pay::OnAgentPayAdd() { return ; /* DLG_Agent_Pay_Modify dlg(this); if ( dlg.DoModal() == IDOK ) { ANS_Agent_PayData * pData = new ANS_Agent_PayData; *pData = dlg.GetParam(); pData->ucStatus = AGENT_PAY_ADD; m_lModifyCount ++; //需要修改的记录增加 POSITION pos = m_Pay.AddTail( pData ); long lCount = m_wndList.GetItemCount(); TCHAR Buf[32]; _stprintf( Buf, _T("%d") , lCount +1 ); //设置新的数据 m_wndList.InsertItem( 0 , Buf , 0); //Item为0的原因是倒转显示 m_wndList.SetItemData( 0, (DWORD)pos ); m_wndList.SetItemText( 0 , 1 , pData->szPayMan ); m_wndList.SetItemText( 0 , 2 , pData->szPayMode ); _stprintf( Buf , _T("%8.2f") , pData->fPrice ); m_wndList.SetItemText( 0 , 3 , Buf ); _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay,pData->tPayTime.wHour,pData->tPayTime.wMinute ); m_wndList.SetItemText( 0 , 4 , Buf); //增加数据 m_PayReq.fTotal += pData->fPrice; m_PayReq.fUsed += pData->fPrice; m_strUsed.Format( _T("%.2f") , m_PayReq.fUsed ); m_strTotal.Format( _T("%.2f") , m_PayReq.fTotal ); this->UpdateData(false); } */ } void DLG_Agent_Pay::OnAgentPaySee() { return ; long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_Agent_PayData * pData = m_Pay.GetNext( pos ); if (pData) { DLG_Agent_Pay_Modify dlg(this); dlg.SetParam( *pData,false); dlg.DoModal(); } } void DLG_Agent_Pay::OnDblclkAgentPayList(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; OnAgentPaySee(); } void DLG_Agent_Pay::OnOK() { CDialog::OnOK(); }