SmsManager/K_YWMsg.cpp

749 lines
21 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// TabDlg.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "K_YWMsg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CK_YWMsg dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
#include "DLG_K_YWMsg_See.h"
CK_YWMsg::CK_YWMsg(CWnd* pParent /*=NULL*/)
: CDialog(CK_YWMsg::IDD, pParent)
{
//{{AFX_DATA_INIT(CK_YWMsg)
m_tBegin = COleDateTime::GetCurrentTime();
m_tEnd = COleDateTime::GetCurrentTime();
m_lType = -1;
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
m_bQueryAll = false;
m_lQueryType = 0;
}
void CK_YWMsg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CK_YWMsg)
DDX_Control(pDX, IDC_USER_YWY, m_L_YWY);
DDX_Control(pDX, IDC_USER_KF, m_L_KF);
DDX_Control(pDX, IDC_TAB_S1, m_S_S1);
DDX_Control(pDX, IDC_TAB_LIST, m_wndList);
DDX_DateTimeCtrl(pDX, IDC_TAB_TBEGIN, m_tBegin);
DDX_DateTimeCtrl(pDX, IDC_TAB_TEND, m_tEnd);
DDX_CBIndex(pDX, IDC_TAB_TYPE, m_lType);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CK_YWMsg, CDialog)
//{{AFX_MSG_MAP(CK_YWMsg)
ON_WM_SIZE()
ON_BN_CLICKED(IDC_TAB_QUERY, OnTabQuery)
ON_NOTIFY(NM_RCLICK, IDC_TAB_LIST, OnRclickTabList)
ON_CBN_SELCHANGE(IDC_USER_KF, OnSelchangeUserKf)
ON_CBN_SELCHANGE(IDC_USER_YWY, OnSelchangeUserYwy)
ON_NOTIFY(NM_DBLCLK, IDC_TAB_LIST, OnDblclkTabList)
//}}AFX_MSG_MAP
ON_COMMAND(MENU_TAB_COPY , On_User_Copy )
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CK_YWMsg message handlers
BOOL CK_YWMsg::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
BOOL CK_YWMsg::OnInitDialog()
{
CDialog::OnInitDialog();
//È¡µÃ¹²ÓòÎÊý
//CMainFrame * pFrame = static_cast <CMainFrame *>((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;ÒµÎñÔ±,80; Ô·Ý,80;¶ÌÐÅ·¢ËÍ×ÜÁ¿,100;×ܿͻ§Êý,80;Õý³£¿Í»§Êý,80;ÐÂÔö¿Í»§Êý,80;Á÷ʧ¿Í»§Êý,80;Á÷ʧ·çÏÕ¿Í»§Êý,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 ); //Æðʼ
m_lType = 0; //ĬÈϲ鿴»ã×ܱí
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CK_YWMsg::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);
}
}
BOOL CK_YWMsg::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL CK_YWMsg::RefreshInfo()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE) )
{
return false;
}
m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME,NULL,0); //È¡´úÀíÐÅÏ¢
REQ_KF_Name * pName = new REQ_KF_Name;
memset(pName , 0 , sizeof(REQ_KF_Name));
m_pMainFrame->SendFrame(SMSFUNC_KF_NAME,(BYTE*)pName,sizeof(REQ_KF_Name));
return true;
}
BOOL CK_YWMsg::ProcessSocket(Socket_Head *pHead)
{
CString strTemp;
if ( pHead->lFuncType == SMSFUNC_YWMSG )
{
Close_YWMsg();
ANS_YWMsg * pTab = (ANS_YWMsg *)pHead->pFrame;
m_lQueryType = pTab->lType;
if ( pTab->lType == 0 )
{
ANS_YWMsgData * pData = (ANS_YWMsgData *)(pHead->pFrame+sizeof(ANS_YWMsg));
//m_wndList.SetHeadings(_T("ÐòºÅ,50;ÒµÎñÔ±,80; Ô·Ý,80;¶ÌÐÅ·¢ËÍ×ÜÁ¿,100;×ܿͻ§Êý,80;Õý³£¿Í»§Êý,80;ÐÂÔö¿Í»§Êý,80;Á÷ʧ¿Í»§Êý,80;Á÷ʧ·çÏÕ¿Í»§Êý,100;»Ø·Ã¿Í»§´ÎÊý,100;"));
long lSmsCount = 0;
long lUserCount=0;
long lHFCount = 0;
long lUserCount_All=0;
long lUserCount_Add=0;
long lUserCount_LS=0;
long lUserCount_LSFX=0;
TCHAR szBuf[32];
CString str;
m_wndList.DeleteAllItems();
for ( int i=0;i<pTab->lCount;i++)
{
ANS_YWMsgData * pNewData = new ANS_YWMsgData;
*pNewData = *pData;
POSITION pos = m_YWMsg.AddTail(pNewData);
m_wndList.InsertItem( i , _itot(i+1,szBuf,10),0); //ÐòºÅ
m_wndList.SetItemData(i , (DWORD_PTR)pos );
m_wndList.SetItemText( i ,1 , GetName_YWY(pData->lYWYID) ); //Ô·Ý
str.Format( _T("%04dÄê%02dÔÂ") , pData->tTJTime.wYear,pData->tTJTime.wMonth );
m_wndList.SetItemText( i ,2 , str ); //Ô·Ý
str.Format( _T("%d") , pData->lSmsCount );
m_wndList.SetItemText( i ,3 , str); //¶ÌÐÅ·¢ËÍ×ÜÁ¿
str.Format( _T("%d") , pData->lUserCount_All );
m_wndList.SetItemText( i ,4 , str); //×ܿͻ§Êý
str.Format( _T("%d") , pData->lUserCount );
m_wndList.SetItemText( i ,5 , str); //Õý³£¿Í»§ÊýÁ¿
str.Format( _T("%d") , pData->lUserCount_Add );
m_wndList.SetItemText( i ,6 , str); //ÐÂÔö¿Í»§ÊýÁ¿
str.Format( _T("%d") , pData->lUserCount_LS );
m_wndList.SetItemText( i ,7 , str); //Á÷ʧ¿Í»§ÊýÁ¿
str.Format( _T("%d") , pData->lUserCount_LSFX );
m_wndList.SetItemText( i ,8 , str); //Á÷ʧ·çÏÕ¿Í»§ÊýÁ¿
str.Format( _T("%d") , pData->lHFCount );
m_wndList.SetItemText( i ,9 , str); //»Ø·Ã¿Í»§´ÎÊý
lSmsCount += pData->lSmsCount;
lUserCount += pData->lUserCount;
lHFCount += pData->lHFCount;
lUserCount_All += pData->lUserCount_All;
lUserCount_Add += pData->lUserCount_Add;
lUserCount_LS += pData->lUserCount_LS;
lUserCount_LSFX+= pData->lUserCount_LSFX;
pData++;
}
long lCount = m_wndList.GetItemCount();
m_wndList.InsertItem( lCount , _T(""),0); //ºÏ¼Æ
m_wndList.SetItemText( lCount,1, _T("ºÏ ¼Æ")); //ºÏ¼Æ
m_wndList.SetItemText( lCount,3, _itot(lSmsCount,szBuf,10)); //ºÏ¼Æ
m_wndList.SetItemText( lCount,4, _itot(lUserCount_All,szBuf,10)); //ºÏ¼Æ
m_wndList.SetItemText( lCount,5, _itot(lUserCount,szBuf,10)); //ºÏ¼Æ
m_wndList.SetItemText( lCount,6, _itot(lUserCount_Add,szBuf,10)); //ºÏ¼Æ
m_wndList.SetItemText( lCount,7, _itot(lUserCount_LS,szBuf,10)); //ºÏ¼Æ
m_wndList.SetItemText( lCount,8, _itot(lUserCount_LSFX,szBuf,10)); //ºÏ¼Æ
m_wndList.SetItemText( lCount,9, _itot(lHFCount,szBuf,10)); //ºÏ¼Æ
}
if ( pTab->lType == 1 )
{
ANS_YWMsgData2 * pData = (ANS_YWMsgData2 *)(pHead->pFrame+sizeof(ANS_YWMsg));
//m_wndList.SetHeadings(_T("ÐòºÅ,50;»Ø·ÃÈË,100;ÆóÒµÃû³Æ,250; »Ø·ÃÎÊʱ¼ä,160;»Ø·ÃÄÚÈÝ,350;»Ø·ÃÈË,80;µ÷²é,60;·´À¡,80;"));
long lSmsCount = 0;
long lSmsSFCount=0;
TCHAR szBuf[32];
CString str;
m_wndList.DeleteAllItems();
long lHFCount=0;
long lSendSmsCount=0;
long lHFCount_1=0;
long lHFCount_2=0;
long lHFCount_3=0;
long lHFCount_0=0;
for ( int i=0;i<pTab->lCount;i++)
{
m_wndList.InsertItem( i , _itot(i+1,szBuf,10),0); //ÐòºÅ
m_wndList.SetItemText( i ,1 , pData->szCreateuser); //ÆóÒµÃû³Æ
str.Format( _T("%d - %s") , pData->lCorpID , pData->szCorpName );
m_wndList.SetItemText( i ,2 , str); //ÆóÒµÃû³Æ
str.Format( _T("%04d.%02d.%02d %02d.%02d") , pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay,pData->tCreateTime.wHour,pData->tCreateTime.wMinute);
m_wndList.SetItemText( i ,3 , str ); //»Ø·ÃÎÊʱ¼ä
m_wndList.SetItemText( i ,4 , pData->szMsg); //»Ø·ÃÄÚÈÝ
m_wndList.SetItemText( i ,5 , pData->szLXRName); //»Ø·ÃÄÚÈÝ
if ( pData->bSendSms )
{
lSendSmsCount ++;
m_wndList.SetItemText( i ,6 , _T(" ÊÇ") ); //»Ø·ÃÄÚÈÝ
if ( pData->lSmsRetType == 1 )
{
m_wndList.SetItemText( i ,7 , _T("ÂúÒâ") ); //»Ø·ÃÄÚÈÝ
lHFCount_1 ++;
}
if ( pData->lSmsRetType == 2 )
{
m_wndList.SetItemText( i ,7 , _T("Ò»°ã") ); //»Ø·ÃÄÚÈÝ
lHFCount_2 ++;
}
if ( pData->lSmsRetType == 3 )
{
m_wndList.SetItemText( i ,7 , _T("²»ÂúÒâ") ); //»Ø·ÃÄÚÈÝ
lHFCount_3 ++;
}
if (pData->lSmsRetType<1 || pData->lSmsRetType>3 )
{
lHFCount_0 ++;
}
}
lHFCount ++;
//lSmsCount += pData->lCount;
//lSmsSFCount += pData->lSFCount;
pData++;
}
long lCount = m_wndList.GetItemCount();
m_wndList.InsertItem( lCount , _T(""),0); //ºÏ¼Æ
m_wndList.SetItemText( lCount,1, _T("ͳ¼Æ")); //ºÏ¼Æ
str.Format(_T("×ÜÊý:%d") , lHFCount );
m_wndList.SetItemText( lCount,2,str); //ºÏ¼Æ
if (lSendSmsCount>0 && lHFCount>0 )
str.Format(_T("ÑûÇëµ÷ÑÐ:%d %.2f%%") , lSendSmsCount , ((float)lSendSmsCount/(float)lHFCount)*100.0f );
else
str=_T("ÑûÇëµ÷ÑÐ:0 0%");
m_wndList.SetItemText( lCount,3,str); //ºÏ¼Æ
if ((lHFCount_1+lHFCount_2+lHFCount_3)>0 && lHFCount>0 )
str.Format(_T("²ÎÓëµ÷ÑÐ:%d %.2f%%") , lHFCount_1+lHFCount_2+lHFCount_3 , ((float)(lHFCount_1+lHFCount_2+lHFCount_3)/(float)lHFCount)*100.0f );
else
str=_T("²ÎÓëµ÷ÑÐ:0 0%");
m_wndList.SetItemText( lCount,4,str); //ºÏ¼Æ
if (lHFCount_1>0 && lHFCount>0 )
str.Format(_T("ÂúÒâ:%d %.2f%%") , lHFCount_1, ((float)(lHFCount_1)/(float)lHFCount)*100.0f );
else
str=_T("ÂúÒâ:0 0%");
m_wndList.SetItemText( lCount,5,str); //ºÏ¼Æ
if (lHFCount_2>0 && lHFCount>0 )
str.Format(_T("Ò»°ã:%d %.2f%%") , lHFCount_2, ((float)(lHFCount_2)/(float)lHFCount)*100.0f );
else
str=_T("Ò»°ã:0 0%");
m_wndList.SetItemText( lCount,6,str); //ºÏ¼Æ
if (lHFCount_3>0 && lHFCount>0 )
str.Format(_T("²»ÂúÒâ:%d %.2f%%") , lHFCount_3, ((float)(lHFCount_3)/(float)lHFCount)*100.0f );
else
str=_T("²»ÂúÒâ:0 0%");
m_wndList.SetItemText( lCount,7,str); //ºÏ¼Æ
}
if ( pTab->lType == 2 )
{
ANS_YWMsgData3 * pData = (ANS_YWMsgData3 *)(pHead->pFrame+sizeof(ANS_YWMsg));
//m_wndList.SetHeadings(_T("ÐòºÅ,50;ÒµÎñÔ±,100;ÆóÒµID,80;ÆóÒµÃû³Æ,250; ×îºóµÇ¼,100;¼Ç¼Ô·Ý,100;µ¥¼Û,80;×ܽð¶î,80;¿ÉÓÃ,80;×Ü·¢ËÍ,80;ͨµÀ,80;"));
long lSmsCount = 0;
long lSmsSFCount=0;
TCHAR szBuf[32];
CString str;
m_wndList.DeleteAllItems();
for ( int i=0;i<pTab->lCount;i++)
{
m_wndList.InsertItem( i , _itot(i+1,szBuf,10),0); //ÐòºÅ
m_wndList.SetItemText( i ,1 , GetName_YWY(pData->lYWYID)); //ÆóÒµÃû³Æ
str.Format( _T("%d") , pData->lCorpID );
m_wndList.SetItemText( i ,2 , str); //ÆóÒµÃû³Æ
m_wndList.SetItemText( i ,3 , pData->szCorpName); //ÆóÒµÃû³Æ
str.Format( _T("%04d.%02d.%02d") , pData->tLastLogin.wYear,pData->tLastLogin.wMonth,pData->tLastLogin.wDay);
m_wndList.SetItemText( i ,4 , str ); //»Ø·ÃÎÊʱ¼ä
str.Format( _T("%04d.%02d") , pData->tProcessTime.wYear,pData->tProcessTime.wMonth);
m_wndList.SetItemText( i ,5 , str ); //»Ø·ÃÎÊʱ¼ä
str.Format( _T("%.4f") , pData->fPriceOne);
m_wndList.SetItemText( i ,6 , str ); //»Ø·ÃÎÊʱ¼ä
str.Format( _T("%.4f") , pData->fTotal);
m_wndList.SetItemText( i ,7 , str ); //×ܽð¶î
str.Format( _T("%d") , pData->lSmsUsed);
m_wndList.SetItemText( i ,8 , str ); //×ܽð¶î
str.Format( _T("%d") , pData->lSmsSendAll);
m_wndList.SetItemText( i ,9 , str ); //×ܽð¶î
m_wndList.SetItemText( i ,10 , pData->szSmsTD ); //»Ø·ÃÎÊʱ¼ä
//lSmsCount += pData->lCount;
//lSmsSFCount += pData->lSFCount;
pData++;
}
//lCount = m_wndList.GetItemCount();
//m_wndList.InsertItem( lCount , _T(""),0); //ºÏ¼Æ
//m_wndList.SetItemText( lCount,1, _T("ºÏ ¼Æ")); //ºÏ¼Æ
//m_wndList.SetItemText( lCount,2, _itot(lSmsCount,Buf,10)); //ºÏ¼Æ
//m_wndList.SetItemText( lCount,3, _itot(lSmsSFCount,Buf,10)); //ºÏ¼Æ
}
if ( pTab->lType == 3 )
{
ANS_YWMsgData4 * pData = (ANS_YWMsgData4 *)(pHead->pFrame+sizeof(ANS_YWMsg));
//m_wndList.SetHeadings(_T("ÐòºÅ,50;»Ø·ÃÈË,100;»Ø·ÃÊýÁ¿,100;"));;
long lHFCount = 0;
TCHAR szBuf[32];
CString str;
m_wndList.DeleteAllItems();
for ( int i=0;i<pTab->lCount;i++)
{
m_wndList.InsertItem( i , _itot(i+1,szBuf,10),0); //ÐòºÅ
m_wndList.SetItemText( i ,1 , pData->szCreateuser); //ÆóÒµÃû³Æ
m_wndList.SetItemText( i ,2 , _itot(pData->lHFCount,szBuf,10)); //»Ø·ÃÄÚÈÝ
lHFCount += pData->lHFCount;
pData++;
}
long lCount = m_wndList.GetItemCount();
m_wndList.InsertItem( lCount , _T(""),0); //ºÏ¼Æ
m_wndList.SetItemText( lCount,1, _T("ºÏ ¼Æ")); //ºÏ¼Æ
m_wndList.SetItemText( lCount,2, _itot(lHFCount,szBuf,10)); //ºÏ¼Æ
}
return true;
}
//ȡҵÎñÔ±ÐÅÏ¢
if (pHead->lFuncType == SMSFUNC_YWY_NAME)
{
ANS_YWY_Name * pYWY = (ANS_YWY_Name *)pHead->pFrame;
ANS_YWY_NameData * pData = (ANS_YWY_NameData *)(pHead->pFrame+sizeof(ANS_YWY_Name));
this->Close_YWY();
m_L_YWY.ResetContent();
long lItem;
CString strTemp;
lItem = m_L_YWY.AddString( _T("ËùÓÐÒµÎñÔ±") );
m_L_YWY.SetItemData( lItem , (DWORD_PTR)-10);
for ( int i=0;i<pYWY->lCount;i++ )
{
ANS_YWY_NameData * pNewData = new ANS_YWY_NameData;
*pNewData = *pData;
m_YWY.AddTail(pNewData);
strTemp.Format( _T("%d-%s"),pNewData->lYWYID,pNewData->szYWYName);
lItem = m_L_YWY.AddString( strTemp );
//m_L_Agent.SetItemData( lItem , (DWORD_PTR)pos);
m_L_YWY.SetItemData( lItem , (DWORD_PTR)pNewData->lYWYID);
pData ++;
}
m_L_YWY.SetCurSel(0);
return true;
}
//È¡¿Í·þÐÅÏ¢
if (pHead->lFuncType == SMSFUNC_KF_NAME)
{
ANS_KF_Name * pKF = (ANS_KF_Name *)pHead->pFrame;
ANS_KF_NameData * pData = (ANS_KF_NameData *)(pHead->pFrame+sizeof(ANS_KF_Name));
this->Close_KF();
m_L_KF.ResetContent();
long lItem;
CString strTemp;
lItem = m_L_KF.AddString( _T("ËùÓпͷþ") );
m_L_KF.SetItemData( lItem , (DWORD_PTR)-10);
for ( int i=0;i<pKF->lCount;i++ )
{
ANS_KF_NameData * pNewData = new ANS_KF_NameData;
*pNewData = *pData;
m_KF.AddTail(pNewData);
strTemp.Format( _T("%d-%s"),pNewData->lKFID,pNewData->szKFName);
lItem = m_L_KF.AddString( strTemp );
//m_L_Agent.SetItemData( lItem , (DWORD_PTR)pos);
m_L_KF.SetItemData( lItem , (DWORD_PTR)pNewData->lKFID);
pData ++;
}
m_L_KF.SetCurSel(0);
return true;
}
return false;
}
void CK_YWMsg::Close()
{
Close_Corp();
Close_YWY();
Close_KF();
Close_YWMsg();
}
void CK_YWMsg::OnTabQuery()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE) )
{
return ;
}
UpdateData(true);
if ( m_tEnd < m_tBegin )
{
MessageBox( _T("²éѯ½áÊøÈÕÆÚ²»ÄÜСÓÚÆðʼÈÕÆÚ£¬Çë¸ÄÕý!") , _T("´íÎó") , MB_ICONWARNING );
return ;
}
long lItem = m_L_YWY.GetCurSel();
long lYWYID=-1;
if ( lItem >= 0 )
{
lYWYID = m_L_YWY.GetItemData(lItem);
}
lItem = m_L_KF.GetCurSel();
long lKFID=-1;
if ( lItem >= 0 )
{
lKFID = m_L_KF.GetItemData(lItem);
}
if ( m_lType == 0 )
{
m_wndList.DeleteAllItems();
m_wndList.DeleteAllColumns();
//m_wndList.SetHeadings(_T("ÐòºÅ,50;ÒµÎñÔ±,80; Ô·Ý,80;Õý³£¿Í»§ÊýÁ¿,100;¶ÌÐÅ·¢ËÍ×ÜÁ¿,100;»Ø·Ã¿Í»§´ÎÊý,100;"));
m_wndList.SetHeadings(_T("ÐòºÅ,50;ÒµÎñÔ±,80; Ô·Ý,80;¶ÌÐÅ·¢ËÍ×ÜÁ¿,100;×ܿͻ§Êý,80;Õý³£¿Í»§Êý,80;ÐÂÔö¿Í»§Êý,80;Á÷ʧ¿Í»§Êý,80;Á÷ʧ·çÏÕ¿Í»§Êý,100;»Ø·Ã¿Í»§´ÎÊý,100;"));
REQ_YWMsg * pYWMsg = new REQ_YWMsg;memset(pYWMsg,0,sizeof(REQ_YWMsg));
m_tBegin.GetAsSystemTime( pYWMsg->tBegin );
m_tEnd.GetAsSystemTime( pYWMsg->tEnd );
pYWMsg->lType = m_lType;
pYWMsg->lYWYID= lYWYID;
pYWMsg->lKFID = 0;
m_pMainFrame->SendFrame(SMSFUNC_YWMSG,(BYTE*)pYWMsg,sizeof(REQ_YWMsg));
}
if ( m_lType == 1 )
{
m_wndList.DeleteAllItems();
m_wndList.DeleteAllColumns();
m_wndList.SetHeadings(_T("ÐòºÅ,50;»Ø·ÃÈË,100;ÆóÒµÃû³Æ,250; »Ø·ÃÎÊʱ¼ä,160;»Ø·ÃÄÚÈÝ,350;»Ø·ÃÈË,80;µ÷ÑÐ,60;·´À¡,80;"));
REQ_YWMsg * pYWMsg = new REQ_YWMsg;memset(pYWMsg,0,sizeof(REQ_YWMsg));
m_tBegin.GetAsSystemTime( pYWMsg->tBegin );
m_tEnd.GetAsSystemTime( pYWMsg->tEnd );
pYWMsg->lType = m_lType;
pYWMsg->lYWYID= lYWYID;
pYWMsg->lKFID = lKFID;
m_pMainFrame->SendFrame(SMSFUNC_YWMSG,(BYTE*)pYWMsg,sizeof(REQ_YWMsg));
}
if ( m_lType == 2 )
{
m_wndList.DeleteAllItems();
m_wndList.DeleteAllColumns();
m_wndList.SetHeadings(_T("ÐòºÅ,50;ÒµÎñÔ±,100;ÆóÒµID,80;ÆóÒµÃû³Æ,250; ×îºóµÇ¼,100;¼Ç¼Ô·Ý,100;µ¥¼Û,80;×ܽð¶î,80;¿ÉÓÃ,80;×Ü·¢ËÍ,80;ͨµÀ,80;"));
REQ_YWMsg * pYWMsg = new REQ_YWMsg;memset(pYWMsg,0,sizeof(REQ_YWMsg));
m_tBegin.GetAsSystemTime( pYWMsg->tBegin );
m_tEnd.GetAsSystemTime( pYWMsg->tEnd );
pYWMsg->lType = m_lType;
pYWMsg->lYWYID= lYWYID;
pYWMsg->lKFID = lKFID;
m_pMainFrame->SendFrame(SMSFUNC_YWMSG,(BYTE*)pYWMsg,sizeof(REQ_YWMsg));
}
if ( m_lType == 3 )
{
m_wndList.DeleteAllItems();
m_wndList.DeleteAllColumns();
m_wndList.SetHeadings(_T("ÐòºÅ,50;»Ø·ÃÈË,100;»Ø·ÃÊýÁ¿,100;"));
REQ_YWMsg * pYWMsg = new REQ_YWMsg;memset(pYWMsg,0,sizeof(REQ_YWMsg));
m_tBegin.GetAsSystemTime( pYWMsg->tBegin );
m_tEnd.GetAsSystemTime( pYWMsg->tEnd );
pYWMsg->lType = m_lType;
pYWMsg->lYWYID= lYWYID;
pYWMsg->lKFID = lKFID;
m_pMainFrame->SendFrame(SMSFUNC_YWMSG,(BYTE*)pYWMsg,sizeof(REQ_YWMsg));
}
return ;
}
void CK_YWMsg::OnRclickTabList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
ShowRMenu();
}
void CK_YWMsg::ShowRMenu()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB,false)) //ûÓв鿴ȨÏÞ
return ;
// if ( m_lQueryType==0 )
// {
CMenu menu;
menu.CreatePopupMenu();
//¸´ÖÆ
menu.AppendMenu(MF_STRING , MENU_TAB_COPY, _T(" ¸´ ÖÆ ") );
//ÏÔʾ²Ëµ¥
POINT pt ;
::GetCursorPos( &pt );
//this->ClientToScreen( &pt);
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
menu.DestroyMenu();
// }
}
void CK_YWMsg::On_User_Copy()
{
m_wndList.CopyToClipboard();
return ;
HGLOBAL hglbCopy;
LPTSTR lptstrCopy;
if (!OpenClipboard())
return ;
EmptyClipboard();
CString str,strTemp;
long lCount = m_wndList.GetItemCount();
for ( int i=0 ; i<lCount;i++ )
{
CString str1,str2,str3,str4,str5,str6;
str1=m_wndList.GetItemText(i,0);str1.TrimLeft();str1.TrimRight();str1.Replace( _T("\t") , _T("") );str1.Replace( _T("\r") , _T("") );str1.Replace( _T("\n") , _T("") );
str2=m_wndList.GetItemText(i,1);str2.TrimLeft();str2.TrimRight();str2.Replace( _T("\t") , _T("") );str2.Replace( _T("\r") , _T("") );str2.Replace( _T("\n") , _T("") );
str3=m_wndList.GetItemText(i,2);str3.TrimLeft();str3.TrimRight();str3.Replace( _T("\t") , _T("") );str3.Replace( _T("\r") , _T("") );str3.Replace( _T("\n") , _T("") );
str4=m_wndList.GetItemText(i,3);str4.TrimLeft();str4.TrimRight();str4.Replace( _T("\t") , _T("") );str4.Replace( _T("\r") , _T("") );str4.Replace( _T("\n") , _T("") );
str5=m_wndList.GetItemText(i,4);str5.TrimLeft();str5.TrimRight();str5.Replace( _T("\t") , _T("") );str5.Replace( _T("\r") , _T("") );str5.Replace( _T("\n") , _T("") );
str5=m_wndList.GetItemText(i,4);str6.TrimLeft();str6.TrimRight();str6.Replace( _T("\t") , _T("") );str6.Replace( _T("\r") , _T("") );str6.Replace( _T("\n") , _T("") );
strTemp.Format(_T("%s\t%s\t%s\t%s\t%s\t%s\r\n"),str1,str2,str3,str4,str5,str6);
str += strTemp;
}
hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (str.GetLength()+1)*sizeof(TCHAR));
if (hglbCopy == NULL)
{
CloseClipboard();
return ;
}
lptstrCopy = (LPTSTR)GlobalLock(hglbCopy);
_tcscpy(lptstrCopy,str);
GlobalUnlock(hglbCopy);
#ifdef _UNICODE
::SetClipboardData(CF_UNICODETEXT, hglbCopy);
#else
::SetClipboardData(CF_TEXT, hglbCopy);
#endif
CloseClipboard();
}
void CK_YWMsg::Close_Corp()
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
while (!m_Corp.IsEmpty())
{
ANS_Corp_NameData * pData = m_Corp.GetHead();
m_Corp.RemoveHead();
delete pData;
}
}
void CK_YWMsg::Close_YWY()
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
while (!m_YWY.IsEmpty())
{
ANS_YWY_NameData * pYWY = m_YWY.GetHead();
m_YWY.RemoveHead();
delete pYWY;
}
}
void CK_YWMsg::Close_KF()
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
while (!m_KF.IsEmpty())
{
ANS_KF_NameData * pKF = m_KF.GetHead();
m_KF.RemoveHead();
delete pKF;
}
}
CString CK_YWMsg::GetName_YWY(long lYWYID)
{
//ÒµÎñÔ±
CString strTemp=_T("ÎÞÒµÎñÔ±");
POSITION pos = m_YWY.GetHeadPosition();
POSITION pos2;
while (pos)
{
pos2=pos;
ANS_YWY_NameData * pYWY = m_YWY.GetNext( pos );
if ( pYWY->lYWYID == lYWYID )
{
strTemp = pYWY->szYWYName;
break;
}
}
return strTemp;
}
CString CK_YWMsg::GetName_KF(long lKFID)
{
//ÒµÎñÔ±
CString strTemp=_T("ÎÞ¿Í·þ");
POSITION pos = m_KF.GetHeadPosition();
POSITION pos2;
while (pos)
{
pos2=pos;
ANS_KF_NameData * pKF = m_KF.GetNext( pos );
if ( pKF->lKFID == lKFID )
{
strTemp = pKF->szKFName;
break;
}
}
return strTemp;
}
void CK_YWMsg::OnSelchangeUserYwy()
{
if ( m_L_YWY.GetCurSel()>0 )
m_L_KF.SetCurSel(0);
}
void CK_YWMsg::OnSelchangeUserKf()
{
if ( m_L_KF.GetCurSel()>0 )
m_L_YWY.SetCurSel(0);
}
void CK_YWMsg::Close_YWMsg()
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
while (!m_YWMsg.IsEmpty())
{
ANS_YWMsgData * pYWMsg = m_YWMsg.GetHead();
m_YWMsg.RemoveHead();
delete pYWMsg;
}
}
void CK_YWMsg::OnDblclkTabList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
if ( m_lQueryType==1 )
{
int iItem = m_wndList.GetFirstSelectedItem();
if ( iItem<0 )
{
return ;
}
DLG_K_YWMsg_See dlg(this);
dlg.m_strName = m_wndList.GetItemText(iItem , 1 );
dlg.m_strCorpName = m_wndList.GetItemText(iItem , 2 );
dlg.m_strTime = m_wndList.GetItemText(iItem , 3 );
dlg.m_strBZ = m_wndList.GetItemText(iItem , 4 );
dlg.DoModal();
}
}