// 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(); //取得共用参数 //CMainFrame * pFrame = static_cast ((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; //只能查前3个月的数据 SYSTEMTIME t; ::GetLocalTime(&t); CString strTemp; long lCount = 0; long lMaxQueryMon = 12; BOOL bQueryCurMon=true; if ( bQueryCurMon) //允许查询当月数据 { lMaxQueryMon = 13; t.wMonth = t.wMonth +1; if ( t.wMonth>12 ) { t.wMonth = 1; t.wYear++; } } for ( int i=0 ; im_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() { //默认是先查询自己 //没有查询帐单的权限,只能查询自己 m_strUser = m_pMainFrame->m_pCurUser->szUser; m_lUserID = m_pMainFrame->m_lUserID; UpdateData(false); /* if ( !m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false ) ) { //没有查询帐单的权限,只能查询自己 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("对不起,由于你没有查询帐单的权限,不能查询其它用户帐单!") , _T("错误") , MB_ICONWARNING ); return ; } if ( !m_pMainFrame->GetUserPurview( PURVIEW_USER_MANAGER , false ) ) { MessageBox( _T("对不起,由于你没有帐号管理权限,不能查询其它用户帐单!") , _T("错误") , MB_ICONWARNING ); return ; } DLG_UserSelect dlg(this); dlg.SetParam( this->m_pMainFrame,_T("Users"),_T("所有人员"),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("查询月份有误,请改正!") , _T("错误") , 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; //企业ID pBill->lUserID = m_lUserID; //查询用户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; //企业ID pBill->lUserID = m_lUserID; //查询用户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; pBill->bJCB=false; //不查结存表 /* if ( m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false ) && m_lUserID==-1 ) //只有查询所有用户时才显示 { 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 短信用户帐单\r\n\r\n\r\n"); #else strHead += _T("\r\n\r\n 短信易用户帐单\r\n\r\n\r\n"); #endif strTemp.Format( _T(" 企业ID:%d\r\n") , m_pMainFrame->m_lCorpID ); strHead += strTemp; strTemp.Format( _T(" 企业名称:%s\r\n") , m_pMainFrame->m_Ans_Login.szCorpName ); strHead += strTemp; m_L_Month.GetWindowText(strTemp2); strTemp.Format( _T(" 帐单日期:%s\r\n"),strTemp2); strHead += strTemp; strTemp.Format( _T(" 帐单用户:%s\r\n\r\n\r\n") , m_strUser ); strHead += strTemp; //查询发送明细 long lSmsCount = 0; long lSmsSFCount = 0; CString strTab=_T(" 类 型 短信数量 计费数量\r\n"); strTab+=_T(" =========================================\r\n"); for ( int i=0;ilCount;i++) { strTemp=_T("未知"); switch( pData->lSmsType ) { case SMSTYPE_SEND: strTemp=_T("发 送"); break; case SMSTYPE_ZF: strTemp=_T("转 发"); break; case SMSTYPE_ALARM: strTemp=_T("日程提醒"); break; case SMSTYPE_EMAIL: strTemp=_T("短信邮差"); break; case SMSTYPE_RECV: strTemp=_T("接 收"); break; case SMSTYPE_SP: strTemp=_T("实用短信"); break; case SMSTYPE_SWT: strTemp=_T("短信商务通"); break; #ifdef SMSCENTER_ADC case SMSTYPE_ADC: strTemp=_T("ADC业务"); 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("共") ); 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 ) //只有查询所有用户时才显示 { strTemp.Format( _T("%13s") , _T("上期结存:")); strJCB+= strTemp; strTemp.Format( _T("%8d") , pBill->jcb.lOldCount); strJCB+= strTemp; strTemp.Format( _T("%17s") , _T("本期存入:")); strJCB+= strTemp; strTemp.Format( _T("%8d") , pBill->jcb.lAddCount); strJCB+= strTemp; // strTemp.Format( _T("\r\n%15s") , "本期使用:")); // strJCB+= strTemp; // strTemp.Format( _T("%8d") , lAllCount); // strJCB+= strTemp; strTemp.Format( _T("\r\n%13s") , _T("本期赠送:")); strJCB+= strTemp; strTemp.Format( _T("%8d") , pBill->jcb.lPresentCount); strJCB+= strTemp; strTemp.Format( _T("%17s") , _T("本期结存:")); 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("用户可用余额:")); strTab+= strTemp; if ( pBill->lSMSUsed == -100 ) strTemp=_T("无限制\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("短信易可用余额:")); strTab+= strTemp; strTemp.Format( _T("%d\r\n") , pBill->lCorpUsed); strTab+= strTemp; strTemp.Format( _T("%25s") , _T("ADC可用余额:")); strTab+= strTemp; strTemp.Format( _T("%d\r\n") , pBill->lAdcCorpUsed); strTab+= strTemp; #else strTemp.Format( _T("%25s") , _T("企业可用余额:")); strTab+= strTemp; strTemp.Format( _T("%d\r\n") , pBill->lCorpUsed); strTab+= strTemp; strTemp.Format( _T("%25s") , _T("短信有效期:")); 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("移动业务累计发送量:")); strTab+= strTemp; strTemp.Format( _T("%d(仅供参考)\r\n") , pBill->lQXT_SendAll); strTab+= strTemp; strTemp2.Format( _T("移动业务%02d月发送量:") , COleDateTime::GetCurrentTime().GetMonth() ); strTemp.Format( _T("%25s") ,strTemp2); strTab+= strTemp; strTemp.Format( _T("%d(仅供参考)\r\n") , pBill->lQXT_SendMon); strTab+= strTemp; } #endif } else { strTemp.Format( _T("%25s") , _T("企业可用余额:")); strTemp+=_T("需管理员查询\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 短信用户帐单\r\n\r\n\r\n"); #else strHead += _T("\r\n\r\n 短信易用户帐单\r\n\r\n\r\n"); #endif strTemp.Format( _T(" 企业ID:%d\r\n") , m_pMainFrame->m_lCorpID ); strHead += strTemp; strTemp.Format( _T(" 企业名称:%s\r\n") , m_pMainFrame->m_Ans_Login.szCorpName ); strHead += strTemp; m_L_Month.GetWindowText(strTemp2); strTemp.Format( _T(" 帐单日期:%s\r\n"),strTemp2); strHead += strTemp; strTemp.Format( _T(" 帐单用户:%s\r\n\r\n\r\n") , m_strUser ); strHead += strTemp; //查询发送明细 long lSmsCount = 0; long lSmsSFCount = 0; CString strTab=_T(" 类 型 短信数量 计费数量\r\n"); strTab+=_T(" =========================================\r\n"); for ( int i=0;ilCount;i++) { strTemp=_T("未知"); switch( pData->lSmsType ) { case SMSTYPE_SEND: strTemp=_T("发 送"); break; case SMSTYPE_ZF: strTemp=_T("转 发"); break; case SMSTYPE_ALARM: strTemp=_T("日程提醒"); break; case SMSTYPE_EMAIL: strTemp=_T("短信邮差"); break; case SMSTYPE_RECV: strTemp=_T("接 收"); break; case SMSTYPE_SP: strTemp=_T("实用短信"); break; case SMSTYPE_SWT: strTemp=_T("短信商务通"); 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("共") ); 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("上期结存:")); strJCB+= strTemp; strTemp.Format( _T("%8d" , pBill->jcb.lOldCount); strJCB+= strTemp; strTemp.Format( _T("%17s") , _T("本期存入:")); strJCB+= strTemp; strTemp.Format( _T("%8d") , pBill->jcb.lAddCount); strJCB+= strTemp; strTemp.Format( _T("\r\n%13s") , _T("本期赠送:")); strJCB+= strTemp; strTemp.Format( _T("%8d" , pBill->jcb.lPresentCount); strJCB+= strTemp; strTemp.Format( _T("%17s") , _T("本期结存:")); 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("用户可用余额:")); strTab+= strTemp; if ( pBill->lSMSUsed == -100 ) strTemp=_T("无限制\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("企业可用余额:")); strTab+= strTemp; strTemp.Format( _T("%d\r\n") , pBill->lCorpUsed); strTab+= strTemp; } else { strTemp.Format( _T("%25s") , _T("企业可用余额:")); strTemp+=_T("需管理员查询\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,"","企业ID",Buf,"",""); m_wndList.InsertItem(1,"","查询用户",m_strUser,""); m_L_Month.GetWindowText(Buf , sizeof(Buf)); m_wndList.InsertItem(2,"","帐单时段",Buf,"",""); long lSmsCount = 0; long lSmsSFCount = 0; for ( int i=0;ilCount;i++) { _tcscpy( Buf , "未知" ); switch( pData->lSmsType ) { case SMSTYPE_SEND: _tcscpy(Buf , "成功发送" ); break; case SMSTYPE_ZF: _tcscpy(Buf , "转 发" ); #ifdef MOBSET_CARD_VER pData++; continue; #endif break; case SMSTYPE_ALARM: _tcscpy(Buf , "日程提醒" ); break; case SMSTYPE_EMAIL: _tcscpy(Buf , "短信邮差" ); break; case SMSTYPE_RECV: _tcscpy(Buf , "接 收" ); #ifdef MOBSET_CARD_VER pData++; continue; #endif break; case SMSTYPE_SP: _tcscpy(Buf , "实用短信" ); break; case SMSTYPE_SWT: _tcscpy(Buf , "短信商务通" ); break; } lCount = m_wndList.GetItemCount(); m_wndList.InsertItem( lCount , _itot(lCount+1,Buf2,10),0); //序号 m_wndList.SetItemText( lCount ,1 , Buf ); //类型 m_wndList.SetItemText( lCount ,2 , _itot(pData->lCount,Buf,10)); //数量 m_wndList.SetItemText( lCount ,3 , _itot(pData->lSFCount,Buf,10)); //数量 lSmsCount += pData->lCount; lSmsSFCount += pData->lSFCount; pData++; } lCount = m_wndList.GetItemCount(); m_wndList.InsertItem( lCount , "",0); //合计 m_wndList.SetItemText( lCount,1, "合 计"); //合计 m_wndList.SetItemText( lCount,2, _itot(lSmsCount,Buf,10)); //合计 m_wndList.SetItemText( lCount,3, _itot(lSmsSFCount,Buf,10)); //合计 lCount++; m_wndList.InsertItem(lCount, "" , 0 ); if ( !m_bGroup ) { lCount++; m_wndList.InsertItem( lCount , "",0); //合计 m_wndList.SetItemText( lCount,1, "用户可用余额"); //合计 //m_wndList.SetItemText( lCount,2, _itot(lSmsCount,Buf,10)); //合计 if ( pBill->lSMSUsed == -100 ) m_wndList.SetItemText( lCount,3, "无限制"); //合计 else m_wndList.SetItemText( lCount,3, _itot(pBill->lSMSUsed,Buf,10)); //合计 } if ( m_pMainFrame->GetUserPurview( PURVIEW_SEEBILL , false ) ) { lCount++; m_wndList.InsertItem( lCount , "",0); //合计 m_wndList.SetItemText( lCount,1, "企业可用余额"); //合计 //m_wndList.SetItemText( lCount,2, _itot(lSmsCount,Buf,10)); //合计 if ( pBill->lCorpUsed == -100 ) m_wndList.SetItemText( lCount,3, "无限制"); //合计 else m_wndList.SetItemText( lCount,3, _itot(pBill->lCorpUsed,Buf,10)); //合计 } 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文本文件 (*.txt)\0*.txt\0")\ TEXT("所有文件 (*.*)\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("选择导出帐单的文件"); if ( !::GetSaveFileName( &sOpen ) ) { return ; } strFileName = sOpen.lpstrFile; CFile fTalk; if ( !fTalk.Open( strFileName , CFile::modeReadWrite|CFile::modeCreate ) ) { TCHAR Buf[512]; _stprintf( Buf , _T("创建文件:%s\n产生错误!") , strFileName ); MessageBox( Buf , _T("错误") , 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 业务帐单\r\n\r\n\r\n"); #else strHead += _T("\r\n\r\n 短信易业务帐单\r\n\r\n\r\n"); #endif strTemp.Format( _T(" 企业ID:%d\r\n") , m_pMainFrame->m_lCorpID ); strHead += strTemp; strTemp.Format( _T(" 企业名称:%s\r\n") , pBill->szCorpName); strHead += strTemp; m_L_Month.GetWindowText(strTemp2); strTemp.Format( _T(" 帐单日期:%s\r\n"),strTemp2); strHead += strTemp; strTemp.Format( _T(" 帐单用户:%s\r\n") , m_strUser ); strHead += strTemp; strTemp.Format( _T(" 查询时间:%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(" 业务类型 业务数量"); if ( pBill->bJCB ) { strTab+= _T(" 上期结存 本期新增 本期结存"); } strTab += _T("\r\n"); strTab+=_T(" =================================="); if ( pBill->bJCB ) { strTab+= _T("==========================================="); } strTab += _T("\r\n"); for ( int i=0;ilCount;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("短信易可用余额:")); strTab+= strTemp; strTemp.Format( _T("%d条\r\n") , pBill->lCorpUsed); strTab+= strTemp; strTemp.Format( _T("%20s") , _T("ADC可用余额:")); strTab+= strTemp; strTemp.Format( _T("%d条\r\n") , pBill->lAdcCorpUsed); strTab+= strTemp; #else strTemp.Format( _T("%20s") , _T("当前企业短信余额:")); strTab+= strTemp; strTemp.Format( _T("%d条\r\n") , pBill->lSMSCorpUsed); strTab+= strTemp; strTemp.Format( _T("%20s") , _T("当前企业彩信余额:")); strTab+= strTemp; strTemp.Format( _T("%d条\r\n") , pBill->lMMSCorpUsed); strTab+= strTemp; strTemp.Format( _T("%20s") , _T("企业有效期:")); 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("移动业务累计发送量:")); strTab+= strTemp; strTemp.Format( _T("%d条(仅供参考)\r\n") , pBill->lQXT_SendAll); strTab+= strTemp; strTemp2.Format( _T("移动业务%02d月发送量:") , COleDateTime::GetCurrentTime().GetMonth() ); strTemp.Format( _T("%20s") ,strTemp2); strTab+= strTemp; strTemp.Format( _T("%d条(仅供参考)\r\n") , pBill->lQXT_SendMon); strTab+= strTemp; } #endif } else { strTemp.Format( _T("%20s") , _T("  当前企业可用余额:")); strTemp+=_T("需管理员查询\r\n"); strTab+= strTemp; } strTemp+=_T("\r\n"); if ( !m_bGroup ) { strTemp.Format( _T("\r\n%20s") , _T("当前用户短信余额:")); strTab+= strTemp; if ( pBill->lSMSUsed == -100 ) strTemp=_T("无限制\r\n"); else strTemp.Format( _T("%d条\r\n") , pBill->lSMSUsed); strTab+= strTemp; strTemp.Format( _T("%20s") , _T("当前用户彩信余额:")); strTab+= strTemp; if ( pBill->lSMSUsed == -100 ) strTemp=_T("无限制\r\n"); else strTemp.Format( _T("%d条\r\n") , pBill->lMMSUsed); strTab+= strTemp; } m_E_List.SetWindowText(strTab); return true; } return false; }