AgentManager/DLG_Agent_Pay.cpp

300 lines
8.1 KiB
C++
Raw Normal View History

2025-01-22 15:45:17 +08:00
// 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);
//<2F><>ʼ<EFBFBD><CABC>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("<22><><EFBFBD><EFBFBD>,50; <20>ɷ<EFBFBD><C9B7><EFBFBD>,80;<3B>ɷѷ<C9B7>ʽ,80;<3B>ɷѽ<C9B7><D1BD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,80; С<><D0A1>,70; <20><><EFBFBD><EFBFBD>,70; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70;Ԥ<><D4A4>Ʊ,55;Ӧ<><D3A6>,55;<3B><><EFBFBD><EFBFBD>,55;<3B>ɷ<EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B>տ<EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B><>Ʊ,55;<3B><>Ʊ״̬,80;<3B><>Ʊʱ<C6B1><CAB1>,130;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ,80;<3B><>Ʒ<EFBFBD><C6B7>ֵ,80;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD>,80 <20><> ע;200"));
#ifdef MANAGER_VER_YWY
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B>ɷѷ<C9B7>ʽ,80;<3B>ɷѽ<C9B7><D1BD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,80; С<><D0A1>,70; <20><><EFBFBD><EFBFBD>,70; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70;<3B>ɷ<EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;Ԥ<><D4A4>Ʊ,55;Ӧ<><D3A6>,55;<3B><><EFBFBD><EFBFBD>,55;<3B>տ<EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B><>Ʊ,55;<3B><>Ʊ״̬,80;<3B><>Ʊʱ<C6B1><CAB1>,130; <20><> ע,200;"));
#else
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B>ɷѷ<C9B7>ʽ,80;<3B>ɷѽ<C9B7><D1BD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,80; С<><D0A1>,70; <20><><EFBFBD><EFBFBD>,70; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70;<3B>ɷ<EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130; <20><>ע,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<CEAA><30>ԭ<EFBFBD><D4AD><EFBFBD>ǵ<EFBFBD>ת<EFBFBD><D7AA>ʾ
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(" <20><>") );
break;
case 2:
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
break;
}
if ( pData->bYS )
m_wndList.SetItemText( i , iIndex++ , _T(" <20><>") );
else
iIndex++;
if ( pData->bTest )
m_wndList.SetItemText( i , iIndex++ , _T(" <20><>") );
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("<EFBFBD><EFBFBD><EFBFBD>跢Ʊ");
break;
case 1:
strType = _T("<EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD>Ʊ");
break;
case 2:
strType = _T("<EFBFBD><EFBFBD>ֵ˰<EFBFBD><EFBFBD>Ʊ");
break;
case 3:
strType = _T("<EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD>Ʊ");
break;
case 4:
strType = _T("<EFBFBD><EFBFBD>ֵ˰רƱ");
break;
case 5:
strType = _T("<EFBFBD><EFBFBD><EFBFBD>跢Ʊ<EFBFBD>ѱ<EFBFBD>˰");
break;
}
m_wndList.SetItemText( i , iIndex++ , strType );
switch(pData->lFPStatus)
{
case 0:
default:
m_wndList.SetItemText( i , iIndex++ , _T("δ<EFBFBD><EFBFBD>Ʊ") );
break;
case 1:
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD>ѿ<EFBFBD>Ʊ") );
break;
case 2:
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD>Ѽij<EFBFBD>") );
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 ++; //<2F><>Ҫ<EFBFBD>޸ĵļ<C4B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
POSITION pos = m_Pay.AddTail( pData );
long lCount = m_wndList.GetItemCount();
TCHAR Buf[32];
_stprintf( Buf, _T("%d") , lCount +1 );
//<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
m_wndList.InsertItem( 0 , Buf , 0); //ItemΪ0<CEAA><30>ԭ<EFBFBD><D4AD><EFBFBD>ǵ<EFBFBD>ת<EFBFBD><D7AA>ʾ
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);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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();
}