SmsManager/DLG_Corp_Pay.cpp

781 lines
22 KiB
C++
Raw Normal View History

2025-01-14 10:46:18 +08:00
// DLG_Corp_Pay.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Corp_Pay.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_Pay dialog
#include "DLG_Corp_Pay_Modify.h"
#include "DLG_Corp_FP.h"
DLG_Corp_Pay::DLG_Corp_Pay(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Corp_Pay::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_Corp_Pay)
m_strSMSNum = _T("");
m_strCorpName = _T("");
m_strSMSUsed = _T("");
m_strTotal = _T("");
//}}AFX_DATA_INIT
m_lModifyCount = 0;
memset( &m_PayReq , 0 , sizeof(m_PayReq) );
m_pPayData = NULL;
m_pMemberData = NULL;
m_lModifyType = 0;
m_bCommend = true;
m_bSOS = false;
m_pMainFrame = NULL;
memset(&m_corp,0,sizeof(m_corp));
}
void DLG_Corp_Pay::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Corp_Pay)
DDX_Control(pDX, IDC_CORP_PAY_LIST, m_wndList);
DDX_Text(pDX, IDC_CORP_PAY_SMSNUM, m_strSMSNum);
DDX_Text(pDX, IDC_CORP_PAY_CORPNAME, m_strCorpName);
DDX_Text(pDX, IDC_CORP_PAY_SMSUSED, m_strSMSUsed);
DDX_Text(pDX, IDC_CORP_PAY_TOTAL, m_strTotal);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_Corp_Pay, CDialog)
//{{AFX_MSG_MAP(DLG_Corp_Pay)
ON_BN_CLICKED(IDC_CORP_PAY_ADD, OnCorpPayAdd)
ON_NOTIFY(NM_DBLCLK, IDC_CORP_PAY_LIST, OnDblclkCorpPayList)
ON_BN_CLICKED(IDC_CORP_PAY_SEE, OnCorpPaySee)
ON_BN_CLICKED(IDC_CORP_PAY_ZX, OnCorpPayZx)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_CORP_PAY_MODIFY, &DLG_Corp_Pay::OnBnClickedCorpPayModify)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_Pay message handlers
BOOL DLG_Corp_Pay::OnInitDialog()
{
CDialog::OnInitDialog();
m_strCorpName = m_PayReq.szCorpName;
m_strSMSNum = m_PayReq.szSMSNum;
m_strSMSUsed.Format( _T("%d") , m_PayReq.lSmsUsed );
m_strTotal.Format( _T("%.2f") , m_PayReq.fTotal );
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_CORP) );
m_wndList.SubClassWindow2();
#ifdef SMSCENTER_ADC
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>,80;ADC״̬,80;<3B><>ֵ<EFBFBD><D6B5>ʽ,80;<3B><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,80; С<><D0A1>,70; <20><><EFBFBD><EFBFBD>,70; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70;Ԥ<><D4A4>Ʊ,55;Ӧ<><D3A6>,55;<3B><><EFBFBD><EFBFBD>,55;<3B>ɱ<EFBFBD>,55;<3B><>ֵʱ<D6B5><CAB1>,130;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B>տ<EFBFBD>ʱ<EFBFBD><CAB1>,130; <20><>Ʊ,80;<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><> ע,130;ADC<44><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,130;ADC<44><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;"));
GetDlgItem(IDC_CORP_PAY_ZX)->ShowWindow(SW_SHOW);
#else
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B><>ֵ<EFBFBD><D6B5>ʽ,80;<3B><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,80; С<><D0A1>,70; <20><><EFBFBD><EFBFBD>,70; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70;Ԥ<><D4A4>Ʊ,55;Ӧ<><D3A6>,55;<3B><><EFBFBD><EFBFBD>,55;<3B>ɱ<EFBFBD>,55;<3B><>ֵʱ<D6B5><CAB1>,130;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B>տ<EFBFBD>ʱ<EFBFBD><CAB1>,130; <20><>Ʊ,80;<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><> ע,130;"));
#endif
m_wndList.SetGridLines(true);
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
//#ifndef SMSMANAGER_KF
POSITION pos;
TCHAR Buf[32];
CString str;
for ( int ii = 0 ; ii< m_PayReq.lCount ; ii++ )
{
if ( m_bSOS ) //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3>£<EFBFBD><C2A3>ǿ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>ʾ
{
if ( m_pPayData[ii].bFP!=1 &&m_pPayData[ii].bFP!=2 )
{
continue;
}
}
ANS_Corp_PayData * pData = new ANS_Corp_PayData;
*pData = m_pPayData[ii];
pos = m_Pay.AddTail( pData );
int i=m_wndList.GetItemCount();
_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 , 1 , pData->szPayMan );
m_wndList.SetItemText( i , iIndex++ , pData->szCreateUser );
#ifdef SMSCENTER_ADC
if ( pData->lPayType ==1 )
m_wndList.SetItemText( i , iIndex++ , _T("ADC<EFBFBD><EFBFBD>ֵ") );
else
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׳<EFBFBD>ֵ") );
if ( pData->lPayType ==1 )
{
switch( pData->lAdcStatus )
{
case 1:
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
break;
case 2:
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD>ѳ<EFBFBD>ֵ") );
break;
case 3:
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>") );
break;
case 4:
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD>Ѻ˷<EFBFBD>Ʊ") );
break;
default:
m_wndList.SetItemText( i , iIndex++ , _T("δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
}
}
else
{
iIndex++;
}
#endif
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 );
double l = 0.0f;
if ( pData->fPrice!=0 || pData->fPriceOne!=0 )
l = pData->fPrice/pData->fPriceOne;
long a = long(l+0.5f);
if ( l< 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("%8d") , pData->lBalance); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_wndList.SetItemText( i , iIndex++ , Buf );
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("<EFBFBD><EFBFBD>") );
else
iIndex++;
if ( pData->bTest )
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD><EFBFBD>") );
else
iIndex++;
if ( pData->bCB )
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD><EFBFBD>") );
else
iIndex++;
_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);
_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 = DLG_Corp_FP::GetFPType2(pData->bFP);
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;
}
switch( pData->lLPType )
{
case 1:
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>") );
break;
case 2:
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD>ֽ<EFBFBD>") );
break;
case 3:
m_wndList.SetItemText(i, iIndex++, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
break;
case 4:
m_wndList.SetItemText(i, iIndex++, _T("ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
break;
case 5:
m_wndList.SetItemText(i, iIndex++, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ"));
break;
case 0:
default:
m_wndList.SetItemText( i , iIndex++ , _T("<EFBFBD><EFBFBD>") );
break;
}
str.Format( _T("%.2f") , pData->fLPPrice );
m_wndList.SetItemText( i , iIndex++ , str);
str = _T(""); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for ( int j=0 ; j<m_PayReq.lMemberCount ; j++ )
{
if ( pData->lLXRID == m_pMemberData[j].lLXRID )
{
str = m_pMemberData[j].szName;
break;
}
}
m_wndList.SetItemText( i , iIndex++ , str);
str.Format( _T("%d") , pData->lCommend_VipInt ); //<2F>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD>
m_wndList.SetItemText( i , iIndex++ , str);
if ( pData->lCommend_VipInt>0 )
m_bCommend = false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_wndList.SetItemText( i , iIndex++ , pData->szBZ);
#ifdef SMSCENTER_ADC
m_wndList.SetItemText( i , iIndex++ , pData->szAdcProcessUser );
_stprintf( Buf , _T("%04d.%02d.%02d") , pData->tAdcPayTime.wYear,pData->tAdcPayTime.wMonth,pData->tAdcPayTime.wDay);
m_wndList.SetItemText( i , iIndex++ , Buf);
#endif
if ( m_bSOS ) //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>ʾ
{
COleDateTime t1(pData->tPayTime);
if ( t1.GetStatus() == COleDateTime::valid)
{
if ( COleDateTime::GetCurrentTime() - t1 >= COleDateTimeSpan(365,0,0,0) )
break;
}
}
}
//#endif
#ifndef SMSCENTER_ADC
if ( m_lModifyType == -1 )
{
GetDlgItem(IDC_CORP_PAY_ADD)->EnableWindow(false);
}
#endif
#ifdef SMSMANAGER_KF
GetDlgItem(IDC_CORP_PAY_SMSUSED_S1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAY_SMSUSED)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAY_TOTAL_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAY_TOTAL)->ShowWindow(SW_HIDE);
#endif
if ( m_bSOS )
{
GetDlgItem(IDC_CORP_PAY_SMSUSED_S1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAY_SMSUSED)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAY_TOTAL_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAY_TOTAL)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAY_SEE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_PAY_ZX)->ShowWindow(SW_HIDE);
m_wndList.SetColumnWidth(1,0);
m_wndList.SetColumnWidth(2,0);
m_wndList.SetColumnWidth(4,0);
m_wndList.SetColumnWidth(5,0);
m_wndList.SetColumnWidth(9,0);
m_wndList.SetColumnWidth(10,0);
m_wndList.SetColumnWidth(11,0);
m_wndList.SetColumnWidth(12,0);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
for ( int i=16;i<=23;i++ )
{
m_wndList.SetColumnWidth(i,0);
}
m_wndList.GetHeaderCtrl()->EnableWindow(false);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_Corp_Pay::SetParam(ANS_Corp_Pay Pay, ANS_Corp_PayData *pPayData,ANS_Corp_MemberData * pMemberData,long lModifyType,ANS_Corp_SeeData corp)
{
m_PayReq = Pay;
m_pPayData = pPayData;
m_pMemberData=pMemberData;
m_lModifyType=lModifyType;
m_corp = corp;
}
void DLG_Corp_Pay::OnCorpPayAdd()
{
if ( m_lModifyType == 1 )
{
int iRet=MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
if ( iRet != IDYES )
return ;
}
DLG_Corp_Pay_Modify dlg(this);
CString str;
dlg.SetCorpData(m_PayReq,m_pMemberData,m_bCommend,m_corp);
dlg.m_bSOS = m_bSOS;
if ( dlg.DoModal() == IDOK )
{
ANS_Corp_PayData * pData = new ANS_Corp_PayData;
*pData = dlg.GetParam();
pData->ucStatus = CORP_PAY_ADD;
pData->bYS = true; //Ĭ<><C4AC>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>Ӧ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ij<DEB8><C4B3><EFBFBD><EFBFBD><EFBFBD>
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>
int iIndex=1;
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 , iIndex++ , pData->szPayMan );
#ifdef SMSCENTER_ADC
if ( pData->lPayType ==1 )
m_wndList.SetItemText( 0 , iIndex++ , _T("ADC<EFBFBD><EFBFBD>ֵ") );
else
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׳<EFBFBD>ֵ") );
if ( pData->lPayType ==1 )
{
switch( pData->lAdcStatus )
{
case 1:
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
break;
case 2:
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD>ѳ<EFBFBD>ֵ") );
break;
case 3:
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>") );
break;
default:
m_wndList.SetItemText( 0 , iIndex++ , _T("δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
}
}
else
{
iIndex++;
}
#endif
m_wndList.SetItemText( 0 , iIndex++ , pData->szPayMode );
_stprintf( Buf , _T("%8.2f") , pData->fPrice );
m_wndList.SetItemText( 0 , iIndex++ , Buf );
_stprintf( Buf , _T("%8.4f") , pData->fPriceOne);
m_wndList.SetItemText( 0 , iIndex++ , Buf );
double l = 0.0f;
if (pData->fPrice!=0 && pData->fPriceOne!=0 )
l=pData->fPrice/pData->fPriceOne;
long a = long(l+0.5f);
if ( l< 0 )
a = long(l-0.5f);
_stprintf( Buf , _T("%8d") , a);
m_wndList.SetItemText( 0 , iIndex++ , Buf );
_stprintf( Buf , _T("%8d") , pData->lPresent);
m_wndList.SetItemText( 0 , iIndex++ , Buf );
_stprintf( Buf , _T("%8d") , pData->lSMSCount);
m_wndList.SetItemText( 0 , iIndex++ , Buf );
iIndex++; //<2F><><EFBFBD><EFBFBD>
switch(pData->lYSType )
{
case 0:
default:
iIndex++;
break;
case 1:
m_wndList.SetItemText( 0 , iIndex++ , _T(" <20><>") );
break;
case 2:
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
break;
}
if ( pData->bYS )
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD><EFBFBD>") );
else
iIndex++;
if ( pData->bTest )
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD><EFBFBD>") );
else
iIndex++;
if ( pData->bCB )
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD><EFBFBD>") );
else
iIndex++;
_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 , 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( 0 , iIndex++ , Buf);
iIndex++;
if ( pData->bFP )
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD><EFBFBD>") );
else
iIndex++;
iIndex++;
iIndex++;
switch( pData->lLPType )
{
case 1:
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>") );
break;
case 2:
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD>ֽ<EFBFBD>") );
break;
case 3:
m_wndList.SetItemText(0, iIndex++, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
break;
case 4:
m_wndList.SetItemText(0, iIndex++, _T("ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
break;
case 5:
m_wndList.SetItemText(0, iIndex++, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ"));
break;
case 0:
default:
m_wndList.SetItemText( 0 , iIndex++ , _T("<EFBFBD><EFBFBD>") );
break;
}
str.Format( _T("%.2f") , pData->fLPPrice );
m_wndList.SetItemText( 0 , iIndex++ , str);
str = _T(""); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for ( int i=0 ; i<m_PayReq.lMemberCount ; i++ )
{
if ( pData->lLXRID == m_pMemberData[i].lLXRID )
{
str = m_pMemberData[i].szName;
break;
}
}
m_wndList.SetItemText( 0 , iIndex++ , str);
str.Format( _T("%d") , pData->lCommend_VipInt ); //<2F>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD>
m_wndList.SetItemText( 0 , iIndex++ , str);
m_wndList.SetItemText( 0 , iIndex++ , pData->szBZ);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef SMSCENTER_ADC
if ( pData->lPayType ==0 && pData->lYSType ==0 ) //<2F><><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#else
if ( pData->lYSType ==0 ) //<2F><>Ԥ<EFBFBD><D4A4><EFBFBD>IJż<C4B2>
#endif
{
m_PayReq.fTotal += pData->fPrice;
m_PayReq.lTotalSms += pData->lSMSCount;
m_PayReq.lSmsUsed += pData->lSMSCount;
m_strSMSUsed.Format( _T("%d") , m_PayReq.lSmsUsed );
m_strTotal.Format( _T("%.2f") , m_PayReq.fTotal );
}
this->UpdateData(false);
}
}
void DLG_Corp_Pay::OnOK()
{
CDialog::OnOK();
}
void DLG_Corp_Pay::OnDblclkCorpPayList(NMHDR* pNMHDR, LRESULT* pResult)
{
OnCorpPaySee();
*pResult = 0;
}
void DLG_Corp_Pay::OnCorpPaySee()
{
if ( m_bSOS )
{
return ;
}
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
TCHAR Buf[128]={0};
CString str;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
POSITION pos2 = pos;
ANS_Corp_PayData * pData = m_Pay.GetNext( pos );
if (pData)
{
DLG_Corp_Pay_Modify dlg(this);
dlg.SetCorpData(m_PayReq,m_pMemberData,m_bCommend,m_corp);
#ifndef SMSMANAGER_KF
if ( this->m_PayReq.lCorpID == 100152 && pData->ucStatus ==0 && COleDateTime::GetCurrentTime()-COleDateTime(pData->tPayTime)<COleDateTimeSpan(60,0,0,0)) //<2F>´<EFBFBD><C2B4>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>
{
dlg.SetParam( *pData,2);
float fPriceCE = 0;
long lSmsCountCE=0;
if ( dlg.DoModal() == IDOK )
{
ANS_Corp_PayData * pData2 = new ANS_Corp_PayData;
*pData2 = dlg.GetParam();
pData2->ucStatus = CORP_PAY_MODIFY;
m_lModifyCount ++; //<2F><>Ҫ<EFBFBD>޸ĵļ<C4B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
fPriceCE = pData2->fPrice - pData->fPrice;
lSmsCountCE= pData2->lSMSCount - pData->lSMSCount;
pData2->fPriceOne = fPriceCE; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pData2->lPresent = lSmsCountCE;
str.Format( _T("\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%.2f") , pData->fPrice);
_tcscat(pData2->szBZ , str );
*pData = * pData2;
delete pData2;
//POSITION pos = m_Pay.AddTail( pData2 );
#ifdef SMSCENTER_ADC
_stprintf( Buf , _T("%8.2f") , pData->fPrice );
m_wndList.SetItemText( lItem , 5 , Buf );
_stprintf( Buf , _T("%8d") , pData->lSMSCount);
m_wndList.SetItemText( lItem , 9 , Buf );
#else
_stprintf( Buf , _T("%8.2f") , pData->fPrice );
m_wndList.SetItemText( lItem , 3 , Buf );
_stprintf( Buf , _T("%8d") , pData->lSMSCount);
m_wndList.SetItemText( lItem , 7 , Buf );
#endif
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef SMSCENTER_ADC
if ( pData->lPayType ==0 && pData->lYSType ==0 ) //<2F><><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#else
if ( pData->lYSType ==0 ) //<2F><>Ԥ<EFBFBD><D4A4><EFBFBD>IJż<C4B2>
#endif
{
m_PayReq.fTotal += fPriceCE;
m_PayReq.lTotalSms += lSmsCountCE;
m_PayReq.lSmsUsed += lSmsCountCE;
m_strSMSUsed.Format( _T("%d") , m_PayReq.lSmsUsed );
m_strTotal.Format( _T("%.2f") , m_PayReq.fTotal );
}
this->UpdateData(false);
}
}
else
{
dlg.SetParam( *pData,false);
dlg.DoModal();
}
#else
dlg.SetParam( *pData,false);
dlg.DoModal();
#endif
}
}
long DLG_Corp_Pay::GetCurrentSelected()
{
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndList.GetNextSelectedItem(pos);
}
return -1;
}
void DLG_Corp_Pay::OnCorpPayZx()
{
#ifdef SMSCENTER_ADC
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
POSITION pos2 = pos;
ANS_Corp_PayData * pData = m_Pay.GetNext( pos );
if (pData && pData->lPayType==1 && pData->lAdcStatus<=0)
{
CString str;
ANS_Corp_PayData * pData2 = new ANS_Corp_PayData;
memset(pData2 , 0 , sizeof(ANS_Corp_PayData));
*pData2 = *pData;
pData2->ucStatus = CORP_PAY_ZX;
pData2->lPayID = pData->lPayID;
m_lModifyCount ++; //<2F><>Ҫ<EFBFBD>޸ĵļ<C4B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
POSITION pos = m_Pay.AddTail( pData2 );
m_wndList.SetItemText(lItem , 3 , _T("ע <20><>"));
}
#endif
}
void DLG_Corp_Pay::OnBnClickedCorpPayModify()
{
if (m_bSOS)
{
return;
}
long lItem = GetCurrentSelected();
if (lItem < 0)
return;
CString str,str2;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
POSITION pos2 = pos;
ANS_Corp_PayData* pData = m_Pay.GetNext(pos);
if (pData && m_pMainFrame)
{
DLG_Corp_Pay_Modify dlg(this);
dlg.SetCorpData(m_PayReq, m_pMemberData, m_bCommend, m_corp);
#ifndef SMSMANAGER_KF
BOOL bAllowModify = false;
if (m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD, false)) //ֻ<>л<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
{
if (pData->ucStatus == 0 && COleDateTime::GetCurrentTime() - COleDateTime(pData->tPayTime) < COleDateTimeSpan(180, 0, 0, 0)) //<2F>´<EFBFBD><C2B4>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>
bAllowModify = true;
}
else
{
if (pData->ucStatus == 0 && pData->bYS && COleDateTime::GetCurrentTime() - COleDateTime(pData->tPayTime) < COleDateTimeSpan(180, 0, 0, 0)) //<2F>´<EFBFBD><C2B4>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>
bAllowModify = true;
}
if (bAllowModify)
{
dlg.SetParam(*pData, 2);
if (dlg.DoModal() == IDOK)
{
ANS_Corp_PayData* pData2 = new ANS_Corp_PayData;
*pData2 = dlg.GetParam();
BOOL bChange = false;
SYSTEMTIME t; GetLocalTime(&t);
if (_tcscmp(pData2->szPayMode, pData->szPayMode) != 0)
{
if (!bChange)
str.Format(_T("%s\r\n%s<><73>%04d.%02d.%02d<32>޸<EFBFBD>"), pData->szBZ,m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay);
bChange = true;
str2.Format(_T("\r\n%s->%s"), pData->szPayMode,pData2->szPayMode);
str.Append(str2);
m_wndList.SetItemText(lItem, 2, pData->szPayMode);
}
if (pData->bTest != pData2->bTest)
{
if (!bChange)
str.Format(_T("%s\r\n%s<><73>%04d.%02d.%02d<32>޸<EFBFBD>"), pData->szBZ, m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay);
bChange = true;
str2.Format(_T("\r\n<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>%d->%d"), pData->bTest, pData2->bTest);
str.Append(str2);
}
if (pData->tYSTime.wYear!= pData2->tYSTime.wYear || pData->tYSTime.wMonth != pData2->tYSTime.wMonth || pData->tYSTime.wDay != pData2->tYSTime.wDay )
{
if (!bChange)
str.Format(_T("%s\r\n%s<><73>%04d.%02d.%02d<32>޸<EFBFBD>"), pData->szBZ, m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay);
bChange = true;
str2.Format(_T("\r\n<EFBFBD>տ<EFBFBD>ʱ<EFBFBD><EFBFBD>%04d.%02d.%02d->%04d.%02d.%02d"), pData->tYSTime.wYear, pData->tYSTime.wMonth, pData->tYSTime.wDay, pData2->tYSTime.wYear, pData2->tYSTime.wMonth, pData2->tYSTime.wDay);
str.Append(str2);
}
if (pData->lLPType != pData2->lLPType)
{
if (!bChange)
str.Format(_T("%s\r\n%s<><73>%04d.%02d.%02d<32>޸<EFBFBD>"), pData->szBZ, m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay);
bChange = true;
str2.Format(_T("\r\n<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>%d->%d"), pData->lLPType, pData2->lLPType);
str.Append(str2);
}
if (pData->lLXRID != pData2->lLXRID)
{
if (!bChange)
str.Format(_T("%s\r\n%s<><73>%04d.%02d.%02d<32>޸<EFBFBD>"), pData->szBZ, m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay);
bChange = true;
str2.Format(_T("\r\n<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d->%d"), pData->lLXRID, pData2->lLXRID);
str.Append(str2);
}
if (pData->fLPPrice != pData2->fLPPrice)
{
if (!bChange)
str.Format(_T("%s\r\n%s<><73>%04d.%02d.%02d<32>޸<EFBFBD>"), pData->szBZ, m_pMainFrame->m_Setup.szUser, t.wYear, t.wMonth, t.wDay);
bChange = true;
str2.Format(_T("\r\n<EFBFBD><EFBFBD>Ʒ<EFBFBD>۸<EFBFBD><EFBFBD><EFBFBD>%.0f->%.0f"), pData->fLPPrice, pData2->fLPPrice);
str.Append(str2);
}
if (bChange)
{
if (str.GetLength() > 200)
str = str.Left(200);
_tcscpy(pData2->szBZ, str);
pData2->ucStatus = CORP_PAY_MODIFY;
m_lModifyCount++; //<2F><>Ҫ<EFBFBD>޸ĵļ<C4B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
*pData = *pData2;
}
delete pData2;
//POSITION pos = m_Pay.AddTail( pData2 );
}
}
else
{
dlg.SetParam(*pData, false);
dlg.DoModal();
}
#else
dlg.SetParam(*pData, false);
dlg.DoModal();
#endif
}
}