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

299 lines
8.2 KiB
C++

// DLG_Agent_MmsPay.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Agent_MmsPay.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Agent_MmsPay dialog
#include "DLG_Agent_MmsPay_Modify.h"
DLG_Agent_MmsPay::DLG_Agent_MmsPay(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Agent_MmsPay::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_Agent_MmsPay)
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_MmsPay::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Agent_MmsPay)
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_MmsPay, CDialog)
//{{AFX_MSG_MAP(DLG_Agent_MmsPay)
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_MmsPay message handlers
BOOL DLG_Agent_MmsPay::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") , m_PayReq.lUsed );
m_strTotal.Format( _T("%d") ,m_PayReq.lTotal );
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_MmsPayData * pData = new ANS_Agent_MmsPayData;
*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_MmsPay::SetParam(ANS_Agent_MmsPay Pay, ANS_Agent_MmsPayData *pPayData)
{
m_PayReq = Pay;
m_pPayData = pPayData;
}
long DLG_Agent_MmsPay::GetCurrentSelected()
{
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndList.GetNextSelectedItem(pos);
}
return -1;
}
void DLG_Agent_MmsPay::OnAgentPayAdd()
{
return ;
/*
DLG_Agent_MmsPay_Modify dlg(this);
if ( dlg.DoModal() == IDOK )
{
ANS_Agent_MmsPayData * pData = new ANS_Agent_MmsPayData;
*pData = dlg.GetParam();
pData->ucStatus = AGENT_MMSPAY_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_MmsPay::OnAgentPaySee()
{
return ;
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
POSITION pos2 = pos;
ANS_Agent_MmsPayData * pData = m_Pay.GetNext( pos );
if (pData)
{
DLG_Agent_MmsPay_Modify dlg(this);
dlg.SetParam( *pData,false);
dlg.DoModal();
}
}
void DLG_Agent_MmsPay::OnDblclkAgentPayList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
OnAgentPaySee();
}
void DLG_Agent_MmsPay::OnOK()
{
CDialog::OnOK();
}