CorpSms/FBill.cpp

916 lines
23 KiB
C++
Raw Normal View History

2025-02-27 16:58:16 +08:00
// FBill.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "FBill.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFBill dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
#include "DLG_UserSelect.h"
CFBill::CFBill(CWnd* pParent /*=NULL*/)
: CDialog(CFBill::IDD, pParent)
{
//{{AFX_DATA_INIT(CFBill)
m_strUser = _T("");
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
m_lUserID = -1;
m_bGroup = false;
}
void CFBill::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFBill)
DDX_Control(pDX, IDC_BILL_LIST, m_E_List);
DDX_Control(pDX, IDC_BILL_QUERYMONTH, m_L_Month);
DDX_Control(pDX, IDC_BILL_SEL, m_B_Sel);
DDX_Control(pDX, IDC_BILL_S1, m_S_S1);
DDX_Text(pDX, IDC_BILL_USER, m_strUser);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFBill, CDialog)
//{{AFX_MSG_MAP(CFBill)
ON_WM_SIZE()
ON_BN_CLICKED(IDC_BILL_SEL, OnBillSel)
ON_BN_CLICKED(IDC_BILL_QUERY, OnBillQuery)
ON_BN_CLICKED(IDC_BILL_EXPORT, OnBillExport)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFBill message handlers
BOOL CFBill::OnInitDialog()
{
CDialog::OnInitDialog();
//ȡ<>ù<EFBFBD><C3B9>ò<EFBFBD><C3B2><EFBFBD>
//CMainFrame * pFrame = static_cast <CMainFrame *>((CMainFrame *)AfxGetMainWnd());
this->GetParent()->GetParentFrame();
m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame();
m_pSocket = &m_pMainFrame->m_Socket;
m_AdoRS.SetAdoConnection( &m_pMainFrame->m_adoConnection );
m_bInit = true;
//ֻ<>ܲ<EFBFBD>ǰ3<C7B0><33><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
SYSTEMTIME t; ::GetLocalTime(&t);
CString strTemp;
long lCount = 0;
long lMaxQueryMon = 12;
BOOL bQueryCurMon=true;
if ( bQueryCurMon) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
lMaxQueryMon = 13;
t.wMonth = t.wMonth +1;
if ( t.wMonth>12 )
{
t.wMonth = 1;
t.wYear++;
}
}
for ( int i=0 ; i<lMaxQueryMon ; i++ )
{
t.wMonth = t.wMonth-1;
if ( t.wMonth <=0 )
{
t.wYear --;
t.wMonth = 12;
}
/*
if ( bQueryCurMon )
{
if ( i==0 && t.wDay <=2 ) //2<>ź<EFBFBD><C5BA>ſ<EFBFBD><C5BF>Բ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
continue;
}
*/
strTemp.Format( _T("%04d<34><64>%02d<32>·<EFBFBD>") , t.wYear , t.wMonth );
int iTemp = m_L_Month.AddString(strTemp);
strTemp.Format( _T("%04d%02d") , t.wYear , t.wMonth );
m_L_Month.SetItemData(iTemp,_ttol(strTemp));
lCount ++;
}
m_L_Month.SetCurSel(0);
/*
m_tBegin.SetDate( t.wYear,t.wMonth,t.wDay ); //<2F><>ʼ
if ( t.wMonth == 1 ||
t.wMonth == 3 ||
t.wMonth == 5 ||
t.wMonth == 7 ||
t.wMonth == 8 ||
t.wMonth == 10 ||
t.wMonth == 12 )
{
t.wDay = 31;
}
else
if (t.wMonth == 2 )
t.wDay = 28;
else
t.wDay = 30;
*/
//m_strUser = _T("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա"); //Ĭ<>ϲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ʵ<EFBFBD>
//m_lUserID = -1; //UserID = -1<><31>ʾ<EFBFBD><CABE>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
//Ĭ<>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//m_strUser = m_pMainFrame->m_pCurUser->szUser;
m_lUserID = m_pMainFrame->m_lUserID;
UpdateData(false);
#ifdef MOBSET_CARD_VER
m_B_Sel.ShowWindow(false);
#endif
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CFBill::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if ( m_bInit )
{
CRect rect;
m_S_S1.GetWindowRect(&rect);
m_E_List.MoveWindow( 0 , 0+rect.Height()+12 , cx,cy-rect.Height()-12);
}
}
BOOL CFBill::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
BOOL CFBill::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL CFBill::RefreshInfo()
{
//Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD>ѯ<EFBFBD>Լ<EFBFBD>
//û<>в<EFBFBD>ѯ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD>ֻ<EFBFBD>ܲ<EFBFBD>ѯ<EFBFBD>Լ<EFBFBD>
m_strUser = m_pMainFrame->m_pCurUser->szUser;
m_lUserID = m_pMainFrame->m_lUserID;
UpdateData(false);
/*
if ( !m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false ) )
{
//û<>в<EFBFBD>ѯ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD>ֻ<EFBFBD>ܲ<EFBFBD>ѯ<EFBFBD>Լ<EFBFBD>
m_strUser = m_pMainFrame->m_pCurUser->szUser;
m_lUserID = m_pMainFrame->m_lUserID;
UpdateData(false);
}
*/
return true;
}
void CFBill::OnBillSel()
{
if ( !m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false ) )
{
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>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
if ( !m_pMainFrame->GetUserPurview( PURVIEW_USER_MANAGER , false ) )
{
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>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
DLG_UserSelect dlg(this);
dlg.SetParam( this->m_pMainFrame,_T("Users"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա"),true );
if ( dlg.DoModal()==IDOK )
{
UpdateData(true);
m_lUserID = dlg.GetParam(m_strUser);
m_bGroup = dlg.m_bGroup;
UpdateData(false);
}
}
void CFBill::OnBillQuery()
{
UpdateData(true);
long lQuery= m_L_Month.GetItemData(m_L_Month.GetCurSel());
if ( lQuery<200912 )
{
MessageBox( _T("<EFBFBD><EFBFBD>ѯ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
long lYear = lQuery/100;
long lMon = lQuery%100;
long lDay = 31;
if ( lMon == 1 ||
lMon == 3 ||
lMon == 5 ||
lMon == 7 ||
lMon == 8 ||
lMon == 10 ||
lMon == 12 )
{
lDay = 31;
}
else
if (lMon == 2 )
if ( lYear%4 == 0 )
lDay = 29;
else
lDay = 28;
else
lDay = 30;
/*
REQ_Bill2 * pBill = new REQ_Bill2;memset(pBill,0,sizeof(REQ_Bill2));
pBill->lCorpID = m_pMainFrame->m_lCorpID; //<2F><>ҵID
pBill->lUserID = m_lUserID; //<2F><>ѯ<EFBFBD>û<EFBFBD>ID
pBill->tBegin.wYear = lYear;
pBill->tBegin.wMonth = lMon;
pBill->tBegin.wDay = 1;
pBill->tEnd.wYear = lYear;
pBill->tEnd.wMonth = lMon;
pBill->tEnd.wDay = lDay;
m_pMainFrame->SendFrame(SMSFUNC_BILL3,(BYTE*)pBill,sizeof(REQ_Bill));
*/
REQ_Bill4 * pBill = new REQ_Bill4;memset(pBill,0,sizeof(REQ_Bill4));
pBill->lCorpID = m_pMainFrame->m_lCorpID; //<2F><>ҵID
pBill->lUserID = m_lUserID; //<2F><>ѯ<EFBFBD>û<EFBFBD>ID
pBill->tBegin.wYear = (WORD)lYear;
pBill->tBegin.wMonth = (WORD)lMon;
2025-02-27 16:58:16 +08:00
pBill->tBegin.wDay = 1;
pBill->tEnd.wYear = (WORD)lYear;
pBill->tEnd.wMonth = (WORD)lMon;
pBill->tEnd.wDay = (WORD)lDay;
2025-02-27 16:58:16 +08:00
pBill->bJCB=false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*
if ( m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false )
&& m_lUserID==-1 ) //ֻ<>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʾ
{
pBill->bJCB = true;
}
*/
m_pMainFrame->SendFrame(SMSFUNC_BILL4,(BYTE*)pBill,sizeof(REQ_Bill4));
return ;
}
long CFBill::ProcessSocket(Socket_Head *pHead)
{
if ( pHead->lFuncType == SMSFUNC_BILL3 )
{
ANS_Bill3 * pBill = (ANS_Bill3 *)pHead->pFrame;
ANS_BillData3 * pData = (ANS_BillData3 *)(pHead->pFrame+sizeof(ANS_Bill3));
CString strTemp,strTemp2;
CString strHead;
CString strJCB;
#ifdef MOBSET_OEM
strHead += _T("\r\n\r\n <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʵ<EFBFBD>\r\n\r\n\r\n");
#else
strHead += _T("\r\n\r\n <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʵ<EFBFBD>\r\n\r\n\r\n");
#endif
strTemp.Format( _T(" <20><>ҵID:%d\r\n") , m_pMainFrame->m_lCorpID );
strHead += strTemp;
strTemp.Format( _T(" <20><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>:%s\r\n") , m_pMainFrame->m_Ans_Login.szCorpName );
strHead += strTemp;
m_L_Month.GetWindowText(strTemp2);
strTemp.Format( _T(" <20>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>:%s\r\n"),strTemp2);
strHead += strTemp;
strTemp.Format( _T(" <20>ʵ<EFBFBD><CAB5>û<EFBFBD>:%s\r\n\r\n\r\n") , m_strUser );
strHead += strTemp;
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ
long lSmsCount = 0;
long lSmsSFCount = 0;
CString strTab=_T(" <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>\r\n");
strTab+=_T(" =========================================\r\n");
for ( int i=0;i<pBill->lCount;i++)
{
strTemp=_T("δ֪");
switch( pData->lSmsType )
{
case SMSTYPE_SEND:
strTemp=_T("<EFBFBD><EFBFBD> <20><>");
break;
case SMSTYPE_ZF:
strTemp=_T("ת <20><>");
break;
case SMSTYPE_ALARM:
strTemp=_T("<EFBFBD>ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
break;
case SMSTYPE_EMAIL:
strTemp=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD>");
break;
case SMSTYPE_RECV:
strTemp=_T("<EFBFBD><EFBFBD> <20><>");
break;
case SMSTYPE_SP:
strTemp=_T("ʵ<EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD>");
break;
case SMSTYPE_SWT:
strTemp=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ");
break;
#ifdef SMSCENTER_ADC
case SMSTYPE_ADC:
strTemp=_T("ADCҵ<EFBFBD><EFBFBD>");
break;
#endif
}
strTemp2.Format( _T("%15s") , strTemp );
strTemp= strTemp2;
strTemp2.Format( _T(" %11d") , pData->lCount );
strTemp+= strTemp2;
strTemp2.Format( _T(" %11d") , pData->lSFCount );
strTemp+= strTemp2;
strTemp+=_T("\r\n");
strTab += strTemp;
lSmsCount += pData->lCount;
lSmsSFCount += pData->lSFCount;
pData++;
}
strTab+=_T(" -----------------------------------------\r\n");
strTemp2.Format( _T("%15s") , _T("<EFBFBD><EFBFBD>") );
strTemp= strTemp2;
strTemp2.Format( _T(" %11d") , lSmsCount );
strTemp+= strTemp2;
strTemp2.Format( _T(" %11d") , lSmsSFCount );
strTemp+= strTemp2;
strTemp+=_T("\r\n\r\n");
strTab += strTemp;
strHead += strTab;
if ( m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false )
&& m_lUserID==-1 ) //ֻ<>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʾ
{
strTemp.Format( _T("%13s") , _T("<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD>:"));
strJCB+= strTemp;
strTemp.Format( _T("%8d") , pBill->jcb.lOldCount);
strJCB+= strTemp;
strTemp.Format( _T("%17s") , _T("<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>:"));
strJCB+= strTemp;
strTemp.Format( _T("%8d") , pBill->jcb.lAddCount);
strJCB+= strTemp;
// strTemp.Format( _T("\r\n%15s") , "<22><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>:"));
// strJCB+= strTemp;
// strTemp.Format( _T("%8d") , lAllCount);
// strJCB+= strTemp;
strTemp.Format( _T("\r\n%13s") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strJCB+= strTemp;
strTemp.Format( _T("%8d") , pBill->jcb.lPresentCount);
strJCB+= strTemp;
strTemp.Format( _T("%17s") , _T("<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD>:"));
strJCB+= strTemp;
strTemp.Format( _T("%8d") , pBill->jcb.lUseCount);
strJCB+= strTemp;
strHead += strJCB;
strHead += _T("\r\n\r\n");
}
strTab = _T("\r\n\r\n");
if ( !m_bGroup )
{
strTemp.Format( _T("\r\n%25s") , _T("<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
if ( pBill->lSMSUsed == -100 )
strTemp=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n");
else
strTemp.Format( _T("%d\r\n") , pBill->lSMSUsed);
strTab+= strTemp;
}
if ( m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false ) )
{
#ifdef SMSCENTER_ADC
strTemp.Format( _T("%25s") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%d\r\n") , pBill->lCorpUsed);
strTab+= strTemp;
strTemp.Format( _T("%25s") , _T("ADC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%d\r\n") , pBill->lAdcCorpUsed);
strTab+= strTemp;
#else
strTemp.Format( _T("%25s") , _T("<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%d\r\n") , pBill->lCorpUsed);
strTab+= strTemp;
strTemp.Format( _T("%25s") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%04d.%02d.%02d\r\n") , pBill->tOvr.wYear,pBill->tOvr.wMonth,pBill->tOvr.wDay);
strTab+= strTemp;
if ( pBill->bQXT )
{
strTemp.Format( _T("\r\n\r\n%25s") , _T("<EFBFBD>ƶ<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>ۼƷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%d(<28><><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>)\r\n") , pBill->lQXT_SendAll);
strTab+= strTemp;
strTemp2.Format( _T("<EFBFBD>ƶ<EFBFBD>ҵ<EFBFBD><EFBFBD>%02d<32>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>:") , COleDateTime::GetCurrentTime().GetMonth() );
strTemp.Format( _T("%25s") ,strTemp2);
strTab+= strTemp;
strTemp.Format( _T("%d(<28><><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>)\r\n") , pBill->lQXT_SendMon);
strTab+= strTemp;
}
#endif
}
else
{
strTemp.Format( _T("%25s") , _T("<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTemp+=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>ѯ\r\n");
strTab+= strTemp;
}
strHead += strTab;
m_E_List.SetWindowText(strHead);
return true;
}
if ( pHead->lFuncType == SMSFUNC_BILL2 )
{
ANS_Bill2 * pBill = (ANS_Bill2 *)pHead->pFrame;
ANS_BillData * pData = (ANS_BillData *)(pHead->pFrame+sizeof(ANS_Bill2));
CString strTemp,strTemp2;
CString strHead;
CString strJCB;
#ifdef MOBSET_OEM
strHead += _T("\r\n\r\n <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʵ<EFBFBD>\r\n\r\n\r\n");
#else
strHead += _T("\r\n\r\n <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʵ<EFBFBD>\r\n\r\n\r\n");
#endif
strTemp.Format( _T(" <20><>ҵID:%d\r\n") , m_pMainFrame->m_lCorpID );
strHead += strTemp;
strTemp.Format( _T(" <20><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>:%s\r\n") , m_pMainFrame->m_Ans_Login.szCorpName );
strHead += strTemp;
m_L_Month.GetWindowText(strTemp2);
strTemp.Format( _T(" <20>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>:%s\r\n"),strTemp2);
strHead += strTemp;
strTemp.Format( _T(" <20>ʵ<EFBFBD><CAB5>û<EFBFBD>:%s\r\n\r\n\r\n") , m_strUser );
strHead += strTemp;
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ
long lSmsCount = 0;
long lSmsSFCount = 0;
CString strTab=_T(" <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>\r\n");
strTab+=_T(" =========================================\r\n");
for ( int i=0;i<pBill->lCount;i++)
{
strTemp=_T("δ֪");
switch( pData->lSmsType )
{
case SMSTYPE_SEND:
strTemp=_T("<EFBFBD><EFBFBD> <20><>");
break;
case SMSTYPE_ZF:
strTemp=_T("ת <20><>");
break;
case SMSTYPE_ALARM:
strTemp=_T("<EFBFBD>ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
break;
case SMSTYPE_EMAIL:
strTemp=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD>");
break;
case SMSTYPE_RECV:
strTemp=_T("<EFBFBD><EFBFBD> <20><>");
break;
case SMSTYPE_SP:
strTemp=_T("ʵ<EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD>");
break;
case SMSTYPE_SWT:
strTemp=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ");
break;
}
strTemp2.Format( _T("%15s") , strTemp );
strTemp= strTemp2;
strTemp2.Format( _T(" %11d") , pData->lCount );
strTemp+= strTemp2;
strTemp2.Format( _T(" %11d") , pData->lSFCount );
strTemp+= strTemp2;
strTemp+=_T("\r\n");
strTab += strTemp;
lSmsCount += pData->lCount;
lSmsSFCount += pData->lSFCount;
pData++;
}
strTab+=_T(" -----------------------------------------\r\n");
strTemp2.Format( _T("%15s") , _T("<EFBFBD><EFBFBD>") );
strTemp= strTemp2;
strTemp2.Format( _T(" %11d") , lSmsCount );
strTemp+= strTemp2;
strTemp2.Format( _T(" %11d") , lSmsSFCount );
strTemp+= strTemp2;
strTemp+=_T("\r\n\r\n");
strTab += strTemp;
strHead += strTab;
/*
strTemp.Format( _T("%13s") , _T("<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD>:"));
strJCB+= strTemp;
strTemp.Format( _T("%8d" , pBill->jcb.lOldCount);
strJCB+= strTemp;
strTemp.Format( _T("%17s") , _T("<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>:"));
strJCB+= strTemp;
strTemp.Format( _T("%8d") , pBill->jcb.lAddCount);
strJCB+= strTemp;
strTemp.Format( _T("\r\n%13s") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strJCB+= strTemp;
strTemp.Format( _T("%8d" , pBill->jcb.lPresentCount);
strJCB+= strTemp;
strTemp.Format( _T("%17s") , _T("<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD>:"));
strJCB+= strTemp;
strTemp.Format( _T("%8d") , pBill->jcb.lUseCount);
strJCB+= strTemp;
strHead += strJCB;
*/
strTab = _T("");
if ( !m_bGroup )
{
strTemp.Format( _T("\r\n\r\n\r\n%25s") , _T("<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
if ( pBill->lSMSUsed == -100 )
strTemp=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n");
else
strTemp.Format( _T("%8d\r\n") , pBill->lSMSUsed);
strTab+= strTemp;
}
if ( m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false ) )
{
strTemp.Format( _T("%25s") , _T("<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%d\r\n") , pBill->lCorpUsed);
strTab+= strTemp;
}
else
{
strTemp.Format( _T("%25s") , _T("<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTemp+=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>ѯ\r\n");
strTab+= strTemp;
}
strHead += strTab;
m_E_List.SetWindowText(strHead);
return true;
}
/*
if ( pHead->lFuncType == SMSFUNC_BILL2 )
{
ANS_Bill2 * pBill = (ANS_Bill2 *)pHead->pFrame;
ANS_BillData * pData = (ANS_BillData *)(pHead->pFrame+sizeof(ANS_Bill2));
m_wndList.DeleteAllItems();
char Buf[32];
char Buf2[32];
long lCount=0;
_stprintf(Buf , "%d" , m_pMainFrame->m_lCorpID );
m_wndList.InsertItem(0,"","<EFBFBD><EFBFBD>ҵID",Buf,"","");
m_wndList.InsertItem(1,"","<EFBFBD><EFBFBD>ѯ<EFBFBD>û<EFBFBD>",m_strUser,"");
m_L_Month.GetWindowText(Buf , sizeof(Buf));
m_wndList.InsertItem(2,"","<EFBFBD>ʵ<EFBFBD>ʱ<EFBFBD><EFBFBD>",Buf,"","");
long lSmsCount = 0;
long lSmsSFCount = 0;
for ( int i=0;i<pBill->lCount;i++)
{
_tcscpy( Buf , "δ֪" );
switch( pData->lSmsType )
{
case SMSTYPE_SEND:
_tcscpy(Buf , "<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" );
break;
case SMSTYPE_ZF:
_tcscpy(Buf , "ת <20><>" );
#ifdef MOBSET_CARD_VER
pData++;
continue;
#endif
break;
case SMSTYPE_ALARM:
_tcscpy(Buf , "<EFBFBD>ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" );
break;
case SMSTYPE_EMAIL:
_tcscpy(Buf , "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD>" );
break;
case SMSTYPE_RECV:
_tcscpy(Buf , "<EFBFBD><EFBFBD> <20><>" );
#ifdef MOBSET_CARD_VER
pData++;
continue;
#endif
break;
case SMSTYPE_SP:
_tcscpy(Buf , "ʵ<EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD>" );
break;
case SMSTYPE_SWT:
_tcscpy(Buf , "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ" );
break;
}
lCount = m_wndList.GetItemCount();
m_wndList.InsertItem( lCount , _itot(lCount+1,Buf2,10),0); //<2F><><EFBFBD><EFBFBD>
m_wndList.SetItemText( lCount ,1 , Buf ); //<2F><><EFBFBD><EFBFBD>
m_wndList.SetItemText( lCount ,2 , _itot(pData->lCount,Buf,10)); //<2F><><EFBFBD><EFBFBD>
m_wndList.SetItemText( lCount ,3 , _itot(pData->lSFCount,Buf,10)); //<2F><><EFBFBD><EFBFBD>
lSmsCount += pData->lCount;
lSmsSFCount += pData->lSFCount;
pData++;
}
lCount = m_wndList.GetItemCount();
m_wndList.InsertItem( lCount , "",0); //<2F>ϼ<EFBFBD>
m_wndList.SetItemText( lCount,1, "<EFBFBD><EFBFBD> <20><>"); //<2F>ϼ<EFBFBD>
m_wndList.SetItemText( lCount,2, _itot(lSmsCount,Buf,10)); //<2F>ϼ<EFBFBD>
m_wndList.SetItemText( lCount,3, _itot(lSmsSFCount,Buf,10)); //<2F>ϼ<EFBFBD>
lCount++;
m_wndList.InsertItem(lCount, "" , 0 );
if ( !m_bGroup )
{
lCount++;
m_wndList.InsertItem( lCount , "",0); //<2F>ϼ<EFBFBD>
m_wndList.SetItemText( lCount,1, "<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); //<2F>ϼ<EFBFBD>
//m_wndList.SetItemText( lCount,2, _itot(lSmsCount,Buf,10)); //<2F>ϼ<EFBFBD>
if ( pBill->lSMSUsed == -100 )
m_wndList.SetItemText( lCount,3, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); //<2F>ϼ<EFBFBD>
else
m_wndList.SetItemText( lCount,3, _itot(pBill->lSMSUsed,Buf,10)); //<2F>ϼ<EFBFBD>
}
if ( m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false ) )
{
lCount++;
m_wndList.InsertItem( lCount , "",0); //<2F>ϼ<EFBFBD>
m_wndList.SetItemText( lCount,1, "<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); //<2F>ϼ<EFBFBD>
//m_wndList.SetItemText( lCount,2, _itot(lSmsCount,Buf,10)); //<2F>ϼ<EFBFBD>
if ( pBill->lCorpUsed == -100 )
m_wndList.SetItemText( lCount,3, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); //<2F>ϼ<EFBFBD>
else
m_wndList.SetItemText( lCount,3, _itot(pBill->lCorpUsed,Buf,10)); //<2F>ϼ<EFBFBD>
}
return true;
}
*/
return false;
}
void CFBill::OnOK()
{
return ;
CDialog::OnOK();
}
void CFBill::OnCancel()
{
return ;
CDialog::OnCancel();
}
void CFBill::OnBillExport()
{
#define FILE_FILTER_TEXT \
TEXT("txt<EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD> (*.txt)\0*.txt\0")\
TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> (*.*)\0*.*;\0\0")
CString strFileName;
TCHAR szFile[ 256 ];
TCHAR szFileB[ 256 ];
*szFileB = NULL;
_stprintf( szFile , _T("Bill.txt") );
OPENFILENAME sOpen;
sOpen.lStructSize = sizeof( sOpen );
sOpen.hwndOwner = this->m_hWnd ;
sOpen.Flags = OFN_EXPLORER|OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY;
sOpen.lpstrFilter = FILE_FILTER_TEXT;
sOpen.lpstrDefExt = _T("txt");
sOpen.lpstrCustomFilter = NULL;
sOpen.nMaxCustFilter = 0;
sOpen.lpstrFile = szFile;
sOpen.nMaxFile = sizeof( szFile );
sOpen.lpstrFileTitle = szFileB;
sOpen.nMaxFileTitle = sizeof( szFileB );
sOpen.lpstrInitialDir = NULL;
sOpen.lpstrTitle = _T("ѡ<EFBFBD>񵼳<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>");
if ( !::GetSaveFileName( &sOpen ) )
{
return ;
}
strFileName = sOpen.lpstrFile;
CFile fTalk;
if ( !fTalk.Open( strFileName , CFile::modeReadWrite|CFile::modeCreate ) )
{
TCHAR Buf[512];
_stprintf( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , strFileName );
MessageBox( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
return ;
}
CString strMsg;
m_E_List.GetWindowText(strMsg);
#ifdef _UNICODE
CStringA strMsgA = CW2A(strMsg);
fTalk.Write( strMsgA , strMsgA.GetLength() );
#else
fTalk.Write( strMsg , strMsg.GetLength() );
#endif
fTalk.Close();
}
BOOL CFBill::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame)
{
CString str;
if ( pHead->lFuncType == SMSFUNC_BILL4 )
{
ANS_Bill4 * pBill = (ANS_Bill4 *)pFrame;
ANS_BillData4 * pData = (ANS_BillData4 *)(pFrame+sizeof(ANS_Bill4));
CString strTemp,strTemp2;
CString strHead;
CString strJCB;
#ifdef MOBSET_OEM
strHead += _T("\r\n\r\n ҵ<><D2B5><EFBFBD>ʵ<EFBFBD>\r\n\r\n\r\n");
#else
strHead += _T("\r\n\r\n <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>ʵ<EFBFBD>\r\n\r\n\r\n");
#endif
strTemp.Format( _T(" <20><>ҵID:%d\r\n") , m_pMainFrame->m_lCorpID );
strHead += strTemp;
strTemp.Format( _T(" <20><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>:%s\r\n") , pBill->szCorpName);
strHead += strTemp;
m_L_Month.GetWindowText(strTemp2);
strTemp.Format( _T(" <20>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>:%s\r\n"),strTemp2);
strHead += strTemp;
strTemp.Format( _T(" <20>ʵ<EFBFBD><CAB5>û<EFBFBD>:%s\r\n") , m_strUser );
strHead += strTemp;
strTemp.Format( _T(" <20><>ѯʱ<D1AF><CAB1>:%04d-%02d-%02d\r\n\r\n\r\n") , pBill->tQuery.wYear,pBill->tQuery.wMonth,pBill->tQuery.wDay );
strHead += strTemp;
long lSmsCount = 0;
long lSmsSFCount = 0;
CString strTab=strHead+_T(" ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
if ( pBill->bJCB )
{
strTab+= _T(" <20><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD>");
}
strTab += _T("\r\n");
strTab+=_T(" ==================================");
if ( pBill->bJCB )
{
strTab+= _T("===========================================");
}
strTab += _T("\r\n");
for ( int i=0;i<pBill->lCount;i++)
{
strTemp2.Format( _T("%8s") , pData->szFuncType );
strTemp= strTemp2;
strTemp2.Format( _T("%21d") , pData->lSendCount );
strTemp+= strTemp2;
if ( pBill->bJCB )
{
strTemp2.Format( _T("%16d") , pData->jcb.lOldCount );
strTemp+= strTemp2;
strTemp2.Format( _T("%16d") , pData->jcb.lAddCount );
strTemp+= strTemp2;
strTemp2.Format( _T("%16d") , pData->jcb.lUseCount );
strTemp+= strTemp2;
}
strTemp+=_T("\r\n");
strTab += strTemp;
pData ++;
}
strTab+=_T(" ----------------------------------");
if ( pBill->bJCB )
{
strTab+=_T("-------------------------------------------");
}
strTab +=_T("\r\n\r\n");
if ( m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false ) )
{
#ifdef SMSCENTER_ADC
strTemp.Format( _T("%20s") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%d<><64>\r\n") , pBill->lCorpUsed);
strTab+= strTemp;
strTemp.Format( _T("%20s") , _T("ADC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%d<><64>\r\n") , pBill->lAdcCorpUsed);
strTab+= strTemp;
#else
strTemp.Format( _T("%20s") , _T("<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%d<><64>\r\n") , pBill->lSMSCorpUsed);
strTab+= strTemp;
strTemp.Format( _T("%20s") , _T("<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%d<><64>\r\n") , pBill->lMMSCorpUsed);
strTab+= strTemp;
strTemp.Format( _T("%20s") , _T("<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%04d.%02d.%02d\r\n") , pBill->tOvr.wYear,pBill->tOvr.wMonth,pBill->tOvr.wDay);
strTab+= strTemp;
if ( pBill->bQXT )
{
strTemp.Format( _T("\r\n\r\n%20s") , _T("<EFBFBD>ƶ<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>ۼƷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
strTemp.Format( _T("%d<><64>(<28><><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>)\r\n") , pBill->lQXT_SendAll);
strTab+= strTemp;
strTemp2.Format( _T("<EFBFBD>ƶ<EFBFBD>ҵ<EFBFBD><EFBFBD>%02d<32>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>:") , COleDateTime::GetCurrentTime().GetMonth() );
strTemp.Format( _T("%20s") ,strTemp2);
strTab+= strTemp;
strTemp.Format( _T("%d<><64>(<28><><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>)\r\n") , pBill->lQXT_SendMon);
strTab+= strTemp;
}
#endif
}
else
{
strTemp.Format( _T("%20s") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTemp+=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>ѯ\r\n");
strTab+= strTemp;
}
strTemp+=_T("\r\n");
if ( !m_bGroup )
{
strTemp.Format( _T("\r\n%20s") , _T("<EFBFBD><EFBFBD>ǰ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
if ( pBill->lSMSUsed == -100 )
strTemp=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n");
else
strTemp.Format( _T("%d<><64>\r\n") , pBill->lSMSUsed);
strTab+= strTemp;
strTemp.Format( _T("%20s") , _T("<EFBFBD><EFBFBD>ǰ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"));
strTab+= strTemp;
if ( pBill->lSMSUsed == -100 )
strTemp=_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n");
else
strTemp.Format( _T("%d<><64>\r\n") , pBill->lMMSUsed);
strTab+= strTemp;
}
m_E_List.SetWindowText(strTab);
return true;
}
return false;
}