// C_DZ.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "C_DZ.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CC_DZ dialog #include "MainFrm.h" #include "ProcessSocket.h" CC_DZ::CC_DZ(CWnd* pParent /*=NULL*/) : CDialog(CC_DZ::IDD, pParent) { //{{AFX_DATA_INIT(CC_DZ) m_tBegin = COleDateTime::GetCurrentTime(); m_tEnd = COleDateTime::GetCurrentTime(); //}}AFX_DATA_INIT m_bInit = false; m_bRefresh = false; } void CC_DZ::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CC_DZ) DDX_Control(pDX, IDC_C_DZ_LIST, m_wndList); DDX_Control(pDX, IDC_C_DZ_S1, m_S_S1); DDX_DateTimeCtrl(pDX, IDC_C_DZ_TBEGIN, m_tBegin); DDX_DateTimeCtrl(pDX, IDC_C_DZ_TEND, m_tEnd); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CC_DZ, CDialog) //{{AFX_MSG_MAP(CC_DZ) ON_WM_SIZE() ON_BN_CLICKED(IDC_C_DZ_QUERY, OnCTcQuery) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CC_DZ message handlers void CC_DZ::Close() { } BOOL CC_DZ::RefreshInfo() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) ) { return false; } if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE) ) { return false; } m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME,NULL,0); //取代理信息 return true; } BOOL CC_DZ::ReHide() { ShowWindow( SW_HIDE ); return true; } BOOL CC_DZ::ReShow(BOOL bRefresh) { ShowWindow( SW_SHOW ); if ( bRefresh || !m_bRefresh ) { RefreshInfo(); } return true; } BOOL CC_DZ::ProcessSocket(Socket_Head *pHead) { CString strTemp; if ( pHead->lFuncType == SMSFUNC_DZTAB ) { ANS_DZTab * pTab = (ANS_DZTab *)pHead->pFrame; ANS_DZTabData * pData = (ANS_DZTabData *)(pHead->pFrame+sizeof(ANS_DZTab)); m_wndList.ShowWindow(SW_HIDE); //加快显示速度 m_wndList.DeleteAllItems(); TCHAR Buf[32]; CString strTemp; long lCount=0; long lOldCount =0; long lAddCount =0; long lSendCount=0; long lUseCount =0; COleDateTime t; for ( int i=0;ilCount;i++) { //m_wndList.SetHeadings(_T("序号,50; 类 型,90;上期余额,100;本期新增,100;本期使用,100;本期余额,100;")); m_wndList.InsertItem(i,_itot(i+1,Buf,10),0); m_wndList.SetItemText(i,1,pData->szMemo); strTemp.Format( _T("%10d") , pData->lOldCount ); m_wndList.SetItemText(i,2,strTemp); strTemp.Format( _T("%10d") , pData->lAddCount ); m_wndList.SetItemText(i,3,strTemp); strTemp.Format( _T("%10d") , pData->lSendCount ); m_wndList.SetItemText(i,4,strTemp); strTemp.Format( _T("%10d") , pData->lUseCount ); m_wndList.SetItemText(i,5,strTemp); lOldCount += pData->lOldCount; lAddCount += pData->lAddCount; lSendCount += pData->lSendCount; lUseCount += pData->lUseCount; pData++; } lCount = m_wndList.GetItemCount(); m_wndList.InsertItem( lCount , _T(""),0); //合计 m_wndList.SetItemText(lCount,1, _T("合 计")); //合计 strTemp.Format( _T("%10d") , lOldCount ); m_wndList.SetItemText(i,2,strTemp); strTemp.Format( _T("%10d") , lAddCount ); m_wndList.SetItemText(i,3,strTemp); strTemp.Format( _T("%10d") , lSendCount ); m_wndList.SetItemText(i,4,strTemp); strTemp.Format( _T("%10d") , lUseCount ); m_wndList.SetItemText(i,5,strTemp); m_wndList.ShowWindow(SW_SHOW); //加快显示速度 return true; } return false; } BOOL CC_DZ::OnInitDialog() { CDialog::OnInitDialog(); //取得共用参数 //CMainFrame * pFrame = static_cast ((CMainFrame *)AfxGetMainWnd()); this->GetParent()->GetParentFrame(); m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame(); m_pSocket = &m_pMainFrame->m_Socket; //初始化List m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5); // m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_TAB) ); m_wndList.SubClassWindow2(); m_wndList.SetHeadings(_T("序号,50; 类 型,90;上期余额,100;本期新增,100;本期使用,100;本期余额,100;")); m_wndList.SetGridLines(true); m_wndList.SetImageList(&m_Image,LVSIL_SMALL); m_bInit = true; /* //默认取上月的内容 SYSTEMTIME t; ::GetLocalTime(&t); t.wDay = 1;//从1号起 t.wMonth = t.wMonth-1; if ( t.wMonth <=0 ) { t.wMonth = 12; t.wYear = t.wYear-1; } m_tBegin.SetDate( t.wYear,t.wMonth,t.wDay ); //起始 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_tEnd.SetDate( t.wYear,t.wMonth,t.wDay );//结束 */ COleDateTime t = COleDateTime::GetCurrentTime(); COleDateTimeSpan tSpan2(3,0,0,0); t = t-tSpan2; m_tBegin.SetDate( t.GetYear(),t.GetMonth(),1 ); //起始 m_tEnd.SetDate( t.GetYear(),t.GetMonth(),t.GetDay() );//结束 UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CC_DZ::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); if ( m_bInit ) { CRect rect; m_S_S1.GetWindowRect(&rect); m_wndList.MoveWindow( 0 , 0+rect.Height()+5 , cx,cy-rect.Height()-5); } } void CC_DZ::OnCTcQuery() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) ) { return ; } if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE) ) { return ; } MessageBox(_T("对帐查询功能已转移到\"帐单查询\"功能中,请移步!\r\n帐单查询->自有客户->结存表->立即查询") , _T("信息") , MB_ICONWARNING ); return ; UpdateData(true); if ( m_tEnd < m_tBegin ) { MessageBox( _T("查询结束日期不能小于起始日期,请改正!") , _T("错误") , MB_ICONWARNING ); return ; } COleDateTime tNow = COleDateTime::GetCurrentTime(); COleDateTimeSpan tSpan2(3,0,0,0); if ( tNow - m_tEnd < tSpan2 ) { MessageBox( _T("因为状态报告回复时间有延迟,帐单只能查询到前三天的!") ,_T("提示"), MB_ICONWARNING); return ; } REQ_DZTab * pTab = new REQ_DZTab;memset(pTab,0,sizeof(REQ_DZTab)); m_tBegin.GetAsSystemTime( pTab->tBegin ); m_tEnd.GetAsSystemTime( pTab->tEnd ); m_pMainFrame->SendFrame(SMSFUNC_DZTAB,(BYTE*)pTab,sizeof(REQ_DZTab)); return ; }