SmsManager/K_Agent.cpp

3013 lines
90 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.

// K_Agent.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "K_Agent.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CK_Agent dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
#include "DLG_Agent_Modify.h"
#include "DLG_Agent_Pay.h"
#include "DLG_Agent_MmsPay.h"
#include "DLG_Corp_BZ.h"
#include "DLG_Corp_Oper_Open.h"
#include "DLG_Corp_Oper.h"
#include "DLG_Corp_Open_ChangeA.h"
#include "DLG_Corp_LXR.h"
#include "DLG_Corp_FP.h"
#include "DLG_Corp_SF.h"
#include "DLG_Corp_Extension.h"
#include "DLG_Corp_ExpiryRecycling.h"
CK_Agent::CK_Agent(CWnd* pParent /*=NULL*/)
: CDialog(CK_Agent::IDD, pParent)
{
//{{AFX_DATA_INIT(CK_Agent)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
m_pDlgFile = false;
m_pLXRDlg = NULL;
m_pFPDlg = NULL;
m_pSFDlg = NULL;
m_bModify = false;
m_pAnalyseDlg = NULL;
m_pTransferDlg = NULL;
m_lQueryType2 = 0; //Õý³£²éѯ
}
void CK_Agent::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CK_Agent)
DDX_Control(pDX, IDC_AGENT_YWYID, m_E_YWYID);
DDX_Control(pDX, IDC_AGENT_YWY, m_L_YWY);
DDX_Control(pDX, IDC_AGENT_AGENTID, m_E_AgentID);
DDX_Control(pDX, IDC_AGENT_S1, m_S_S1);
DDX_Control(pDX, IDC_AGENT_LIST, m_wndList);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CK_Agent, CDialog)
//{{AFX_MSG_MAP(CK_Agent)
ON_WM_SIZE()
ON_NOTIFY(NM_DBLCLK, IDC_AGENT_LIST, OnDblclkAgentList)
ON_NOTIFY(NM_RCLICK, IDC_AGENT_LIST, OnRclickAgentList)
ON_NOTIFY(LVN_KEYDOWN, IDC_AGENT_LIST, OnKeydownAgentList)
ON_BN_CLICKED(IDC_AGENT_QUERY, OnAgentQuery)
ON_BN_CLICKED(IDC_AGENT_QUERY2, OnAgentQuery2)
ON_CBN_SELCHANGE(IDC_AGENT_YWY, OnSelchangeAgentYwy)
//}}AFX_MSG_MAP
ON_COMMAND( MENU_AGENT_ADD , On_Agent_Add )
ON_COMMAND( MENU_AGENT_MODIFY , On_Agent_Modify )
ON_COMMAND( MENU_AGENT_DEL , On_Agent_Del )
ON_COMMAND( MENU_AGENT_JF , On_Agent_Pay )
ON_COMMAND( MENU_AGENT_MMSPAY , On_Agent_MmsPay )
ON_COMMAND( MENU_AGENT_REFRESH, On_Agent_Refresh )
ON_COMMAND( MENU_AGENT_BZ_MAN , On_Agent_BZ_Man )
ON_COMMAND( MENU_AGENT_BZ_YWY , On_Agent_BZ_YWY )
ON_COMMAND( MENU_AGENT_HS , On_Agent_HS )
ON_COMMAND( MENU_AGENT_PAYTOUSER , On_Agent_PayToUser )
ON_COMMAND( MENU_AGENT_FILE , On_Agent_File )
ON_COMMAND( MENU_AGENT_LXR , On_Agent_LXR )
ON_COMMAND( MENU_AGENT_FP , On_Agent_FP )
ON_COMMAND(MENU_AGENT_SF , On_Agent_SF)
ON_COMMAND(MENU_AGENT_ANALYSE, On_Agent_Analyse)
ON_COMMAND(MENU_AGENT_QUERYBAKAGENT, On_Agent_QueryBackAgent)
ON_COMMAND( MENU_AGENT_OPER_OPEN , On_User_Oper_Open )
ON_COMMAND( MENU_AGENT_OPER_CLOSE , On_User_Oper_Close )
ON_COMMAND( MENU_AGENT_OPER_YWY , On_User_Oper_YWY )
ON_COMMAND( MENU_AGENT_OPER_ADDCOUNT , On_User_Oper_AddCount )
ON_COMMAND( MENU_AGENT_OPER , On_User_Oper )
ON_COMMAND( MENU_AGENT_OPER_HTSEND , On_User_Oper_HTSend )
ON_COMMAND( MENU_AGENT_OPER_HTRECV , On_User_Oper_HTRecv )
ON_COMMAND( MENU_AGENT_OPER_REGTIME , On_User_Oper_RegTime )
ON_COMMAND( MENU_AGENT_OPER_PRICEONE , On_User_Oper_PriceOne )
ON_COMMAND( MENU_AGENT_OPER_MMSPRICEONE , On_User_Oper_MmsPriceOne )
ON_COMMAND( MENU_AGENT_OPER_TCPER , On_User_Oper_TCPer )
ON_COMMAND( MENU_AGENT_OPER_CLOSECLI , On_User_Oper_CloseCLI)
ON_COMMAND(MENU_AGENT_OPER_AGENTNAME, On_User_Oper_AgentName)
ON_COMMAND(MENU_AGENT_OPER_RESETPASSWD, On_User_Oper_ResetPasswd)
ON_COMMAND(MENU_AGENT_ASSIST_EXTENSION, On_User_Assist_Extension)
ON_COMMAND(MENU_AGENT_ASSIST_SMSTRANSFER, On_User_Assist_SmsTransfer)
ON_COMMAND(MENU_AGENT_ASSIST_MMSTRANSFER, On_User_Assist_MmsTransfer)
ON_COMMAND(MENU_AGENT_ASSIST_SMSMMSTRANSFER, On_User_Assist_SmsMmsTransfer)
ON_COMMAND(MENU_AGENT_ASSIST_EXPIRYRECYCLING, On_User_Assist_ExpiryRecycling)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CK_Agent message handlers
BOOL CK_Agent::RefreshInfo()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) )
{
return false;
}
//m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE,NULL,0);
m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME,NULL,0); //È¡´úÀíÐÅÏ¢
return true;
}
void CK_Agent::Close()
{
Close_Agent();
Close_YWY();
}
BOOL CK_Agent::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL CK_Agent::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
BOOL CK_Agent::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_AGENT) );
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_AGENT_DISABLE) );
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LOCK) );
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CORP2));
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CORP3));
m_wndList.SubClassWindow2();
//m_wndList.SetHeadings(_T("ÐòºÅ,50; ´úÀíÉÌÃû³Æ,180; µÇ¼Ãû,100; ID,60;¿ÉÓÃÓà¶î,90; ÐÅÓöî,90; ×ÜÁ¿,100;´´½¨Ê±¼ä,90;ÒµÎñÔ±,60;"));
#ifdef SMSMANAGER_KF
m_wndList.SetHeadings(_T("ÐòºÅ,50; ´úÀíÉÌÃû³Æ,180; µÇ¼Ãû,100; ID,60;¶ÌÐÅÓà¶î,90;²ÊÐÅÓà¶î,90;¹ýÆÚʱ¼ä,90;ÒµÎñÔ±,90; Ìáʾ,150;"));
#else
m_wndList.SetHeadings(_T("ÐòºÅ,50; ´úÀíÉÌÃû³Æ,180; µÇ¼Ãû,100; ID,60;¶ÌÐŵ¥¼Û,70;¶ÌÐÅÓà¶î,90;¶ÌÐÅ×ÜÁ¿,100;¶ÌÐųäÖµ,100;²ÊÐŵ¥¼Û,70;²ÊÐÅÓà¶î,90;²ÊÐÅ×ÜÁ¿,100;²ÊÐųäÖµ,100;ÕʺÅÊýÁ¿,90;×îºóµÇ¼,90;´´½¨Ê±¼ä,90;¹ýÆÚʱ¼ä,90;ÒµÎñÔ±,90;ºÏͬ¼Ä³ö,90;ºÏͬ»ØÊÕ,90; Ìáʾ,150;"));
#endif
m_wndList.SetGridLines(true);
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
m_bInit = true;
#ifdef SMSMANAGER_KF
GetDlgItem(IDC_AGENT_YWY_S1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_YWY)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_YWYID)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_QUERY2)->ShowWindow(SW_HIDE);
#endif
#if defined(SMSCENTER_NX) || defined(SMSCENTER_GDDX) || defined(SMSCENTER_GDYD_ADC)
GetDlgItem(IDC_AGENT_YWY_S1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_YWY)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_YWYID)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_QUERY2)->ShowWindow(SW_HIDE);
#endif
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CK_Agent::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_Agent::ProcessSocket(Socket_Head *pHead)
{
CString strTemp,str;
//È¡¹ýÂËÐÅÏ¢
if (pHead->lFuncType == SMSFUNC_AGENT_SEE||
pHead->lFuncType == SMSFUNC_AGENT_SEE3)
{
m_bRefresh = true; //ÒѾ­Ë¢Ð¹ý
m_wndList.ShowWindow(SW_HIDE); //¼Ó¿ìÏÔʾËÙ¶È
ANS_Agent_See * pSee = (ANS_Agent_See *)pHead->pFrame;
ANS_Agent_SeeData * pData = (ANS_Agent_SeeData *)(pHead->pFrame+sizeof(ANS_Agent_See));
if (pSee->lCount == -1)
{
MessageBox(_T("ȨÏÞ²»×ã»òÒѳ¬³öµ±Ìì²éѯ×ÜÁ¿£¡"), _T("´íÎó"), MB_ICONWARNING);
return true;
}
#ifdef SMSMANAGER_KF
if (pSee->lCount >= 3)
{
CString str;
str.Format(_T("²éѯ·µ»ØµÄ¼Ç¼Êý¹ý¶à£¬Ö»·µ»ØÇ°%dÌõ¼Ç¼¡£\r\n½¨ÒéʹÓøü¾«È·µÄ¹Ø¼ü×Ö²éѯ¡£"), pSee->lCount);
MessageBox(str, _T("Ìáʾ"), MB_ICONINFORMATION);
}
#endif
m_wndList.DeleteAllItems(); //ɾ³ýÔ­ÓеÄÄÚÈÝ
this->Close_Agent(); //¹Ø±ÕÔ­¶ÓÁÐ
for ( int i=0;i<pSee->lCount;i++ )
{
ANS_Agent_SeeData * pNewData = new ANS_Agent_SeeData;
*pNewData = *pData;
POSITION pos = m_Agent.AddTail(pNewData);
ReShowUser();
pData ++;
}
m_wndList.ShowWindow(SW_SHOW); //¼Ó¿ìÏÔʾËÙ¶È
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));
m_L_YWY.ResetContent(); //ɾ³ýÔ­ÒÑÓÐµÄÆóÒµ
this->Close_YWY(); //¹Ø±ÕÔ­¶ÓÁÐ
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_AGENT_ADD)
{
ANS_Agent_Add * pAdd = (ANS_Agent_Add *)pHead->pFrame;
ANS_Agent_SeeData * pData = (ANS_Agent_SeeData *)(pHead->pFrame+sizeof(ANS_Agent_Add));
if (pAdd->lCount == -14)
{
MessageBox(_T("Ìí¼ÓдúÀíÉ̲úÉú´íÎ󣺴úÀíÃû³ÆÒÑ´æÔÚ£¡"), _T("´íÎó"), MB_ICONWARNING);
}
if ( pAdd->lCount == 1 ) //µÈÓÚ1ʱ±íʾÐ޸ijɹ¦
{
long lCount = m_wndList.GetItemCount();
//ÉèÖÃеÄÊý¾Ý
TCHAR Buf[32];
_stprintf( Buf, _T("%d") , lCount +1 );
m_wndList.InsertItem( lCount , Buf , pData->lStatus );
long lTemp=1;
m_wndList.SetItemText(lCount,lTemp++,pData->szName);
m_wndList.SetItemText(lCount,lTemp++,pData->szLoginName);
strTemp.Format( _T("%d") , pData->lAgentID );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%5.2f"),pData->fPriceOne );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%10d"),long(pData->fUsed*10.0f) );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%10d"),long(pData->fTotal*10.0f) );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%.2f"),pData->fJFTotal );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%5.2f"),pData->fMmsPriceOne );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%10d"),pData->lMmsUsed );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%10d"),pData->lMmsTotal );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%.2f"),pData->fMmsJFTotal );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T(" %d/%d"),pData->lAddedCorp,pData->lAddCorpCount );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%04d.%02d.%02d") , pData->tLoginTime.wYear,pData->tLoginTime.wMonth,pData->tLoginTime.wDay);
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%04d.%02d.%02d") , pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay);
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format( _T("%6d"),pData->lYWYID );
m_wndList.SetItemText(lCount,lTemp++,strTemp);
ANS_Agent_SeeData * pData2 = new ANS_Agent_SeeData;
*pData2 = *pData;
POSITION pos = m_Agent.AddTail( pData2 );
m_wndList.SetItemData( lCount, (DWORD_PTR)pos );
//Èç¹û·µ»ØµÄÓû§ID´íÎó£¬ÔòÖØÐÂË¢ÐÂ
if ( pData->lAgentID <= 0 )
{
RefreshInfo();
}
}
return true;
}
//Ð޸ĹýÂËÐÅÏ¢
if (pHead->lFuncType == SMSFUNC_AGENT_MODIFY)
{
ANS_Agent_Modify * pModify = (ANS_Agent_Modify *)pHead->pFrame;
ANS_Agent_SeeData * pData = (ANS_Agent_SeeData *)(pHead->pFrame+sizeof(ANS_Agent_Modify));
SetLockItem( pModify->lItem , false ); //½âËø
if (pModify->lCount == -14)
{
MessageBox(_T("Ð޸ĴúÀíÉ̲úÉú´íÎ󣺴úÀíÃû³ÆÒÑ´æÔÚ£¡"), _T("´íÎó"), MB_ICONWARNING);
}
if ( pModify->lCount == 1 ) //µÈÓÚ1ʱ±íʾÐ޸ijɹ¦
{
POSITION pos = (POSITION)m_wndList.GetItemData(pModify->lItem);
ANS_Agent_SeeData * pData2 = m_Agent.GetNext( pos );
if ( pData2 )
{
*pData2 = *pData; //È¡µ½ÐµÄÊý¾Ý
//ÉèÖÃеÄÊý¾Ý
TCHAR Buf[32]={0};
int i = pModify->lItem;
long lTemp = 1;
m_wndList.SetItemText(i,lTemp++,pData->szName);
m_wndList.SetItemText(i,lTemp++,pData->szLoginName);
m_wndList.SetIconIndex(i,pData->lStatus );
lTemp++; //´úÀíÉÌID
strTemp.Format( _T("%5.2f"),pData->fPriceOne );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%10d"),long(pData->fUsed*10.0f) );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%10d"),long(pData->fTotal*10.0f) );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%.2f"),pData->fJFTotal );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%5.2f"),pData->fMmsPriceOne );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%10d"),pData->lMmsUsed );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%10d"),pData->lMmsTotal );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%.2f"),pData->fMmsJFTotal );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T(" %d/%d"),pData->lAddedCorp,pData->lAddCorpCount );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%04d.%02d.%02d") , pData->tLoginTime.wYear,pData->tLoginTime.wMonth,pData->tLoginTime.wDay);
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%04d.%02d.%02d") , pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay);
m_wndList.SetItemText(i,lTemp++,strTemp);
//strTemp.Format( _T("%6d"),pData->lYWYID );
//m_wndList.SetItemText(i,lTemp++,strTemp);
}
}
return true;
}
//ɾ³ý¹ýÂË´ÊÓï
if (pHead->lFuncType == SMSFUNC_AGENT_DEL)
{
ANS_Agent_Del * pDel = (ANS_Agent_Del *)pHead->pFrame;
ANS_Agent_DelData * pDelData = (ANS_Agent_DelData *)(pHead->pFrame+sizeof(ANS_Agent_Del));
POSITION pos,pos2;
ANS_Agent_SeeData * pSPData;
for ( int i = pDel->lCount-1 ; i>=0 ; i-- )
{
if ( pDelData[i].lAgentID ) //ɾ³ý³É¹¦
{
pos = (POSITION)m_wndList.GetItemData( pDelData[i].lItem );
pos2 = pos;
pSPData = m_Agent.GetNext( pos );
if ( pSPData->lAgentID == pDelData[i].lAgentID ) //IDÏàͬµÄ²Å¿Éɾ³ý
{
delete pSPData; //ÏÈɾ³ýÊý¾Ý
m_Agent.RemoveAt(pos2); //´ÓÁбíÖÐɾ³ý
m_wndList.DeleteItem(pDelData[i].lItem); //´ÓListCtrlÖÐɾ³ý
}
}
}
return true;
}
//²é¿´Ö§¸¶¼Ç¼
if (pHead->lFuncType == SMSFUNC_AGENT_PAY)
{
ANS_Agent_Pay * pPay = (ANS_Agent_Pay *)pHead->pFrame;
ANS_Agent_PayData * pData= (ANS_Agent_PayData *)(pHead->pFrame+sizeof(ANS_Agent_Pay));
ANS_Corp_MemberData * pMemberData= (ANS_Corp_MemberData *)(pHead->pFrame+sizeof(ANS_Agent_Pay)+sizeof(ANS_Agent_PayData)*pPay->lCount);
if ( pPay->lCount < 0 ) //ȨÏÞ²»×㣬·µ»Ø´íÎó
return true;
#ifndef SMSCENTER_NX
if ( pHead->lFrameLen == sizeof(ANS_Agent_Pay)+sizeof(ANS_Agent_PayData)*pPay->lCount+sizeof(ANS_Corp_MemberData)*pPay->lMemberCount+sizeof(ANS_Agent_Exp) ) //´øÀ©Õ¹Í·µÄ
{
ANS_Agent_Exp * pExp = (ANS_Agent_Exp *)(pHead->pFrame+sizeof(ANS_Agent_Pay)+sizeof(ANS_Agent_PayData)*pPay->lCount+sizeof(ANS_Corp_MemberData)*pPay->lMemberCount);
if ( pExp->lExpID == CORP_AGENT_EXP_ID&& !pExp->bOK)
{
str.Format(_T("%sȱÒÔÏÂ×ÊÁÏ£¬½¨Ò鲹ȫºóÔÙ³äÖµ£¬ÊÇ·ñ¼ÌÐø£¿\r\n%s") , pPay->szAgentName,pExp->szNoData);
int iRet=MessageBox(str,_T("Ìáʾ") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2);
if ( iRet != IDYES )
{
return true;
}
}
}
#endif
//È¡Óû§ÀàÐÍ
POSITION pos = (POSITION)m_wndList.GetItemData(pPay->lItem);
ANS_Agent_SeeData * pDataC = m_Agent.GetNext( pos );
if ( !pDataC )
return true;
DLG_Agent_Pay dlg(this);
dlg.SetParam( *pPay , pData , pMemberData, *pDataC );
dlg.m_bSOS = this->m_pMainFrame->m_bSOS;
dlg.m_pMainFrame = this->m_pMainFrame;
if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0 )
{
long lSize = sizeof(REQ_Agent_PayModify) + sizeof(ANS_Agent_PayData)*dlg.m_lModifyCount;
BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize );
REQ_Agent_PayModify * pModifySend = (REQ_Agent_PayModify*)pDataSend;
ANS_Agent_PayData * pPaySend = (ANS_Agent_PayData *)(pDataSend+sizeof(REQ_Agent_PayModify));
pModifySend->lAgentID = pPay->lAgentID;
pModifySend->lItem = pPay->lItem;
pModifySend->fTotal = dlg.m_PayReq.fTotal; //È¡µÃÐ޸ĺóµÄ×ܶî
pModifySend->fUsed= dlg.m_PayReq.fUsed;
// pModifySend->fJFTotal= dlg.m_PayReq.fJFTotal;
pModifySend->lCount = dlg.m_lModifyCount;
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
ANS_Agent_PayData * pPayTemp;
while (!dlg.m_Pay.IsEmpty())
{
pPayTemp = dlg.m_Pay.GetHead();
dlg.m_Pay.RemoveHead();
if (pPayTemp->ucStatus != 0 ) //²»Îª0,ÐèÒªÐÞ¸Ä
{
*pPaySend = *pPayTemp;
if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY,false) ) //²»ÊDzÆÎñ£¬²»ÄÜÖÃÓ¦ÊÕʱ¼ä
{
memset(&pPaySend->tYSTime,0,sizeof(pPaySend->tYSTime));
}
pPaySend ++;
}
delete pPayTemp;
}
m_pMainFrame->SendFrame( SMSFUNC_AGENT_PAYMODIFY , pDataSend , lSize );
}
else
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
ANS_Agent_PayData * pPayTemp;
while (!dlg.m_Pay.IsEmpty())
{
pPayTemp = dlg.m_Pay.GetHead();
dlg.m_Pay.RemoveHead();
delete pPayTemp;
}
}
return true;
}
//³äÖµ¼Ç¼ÐÞ¸Ä
if (pHead->lFuncType == SMSFUNC_AGENT_PAYMODIFY)
{
ANS_Agent_PayModify* pModify = (ANS_Agent_PayModify*)pHead->pFrame;
ANS_Agent_PayData * pData = (ANS_Agent_PayData *)(pHead->pFrame+sizeof(ANS_Agent_PayModify));
if ( pModify->lCount == -12 )
{
MessageBox( _T("Ìí¼Ó¶ÌÐÅʧ°Ü£¬ÄãµÄÐÅÓÃÓà¶î²»×㣡") , _T("´íÎó") , MB_ICONWARNING );
return true;
}
if ( pModify->lCount<0 )
{
MessageBox( _T("Ìí¼Ó¶ÌÐÅʧ°Ü£¬Î´ÖªÔ­Òò£¡") , _T("´íÎó") , MB_ICONWARNING );
return true;
}
if ( pModify->lItem >= 0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(pModify->lItem);
ANS_Agent_SeeData * pData2 = m_Agent.GetNext( pos );
if ( pData2 )
{
pData2->fTotal = pModify->fTotal;
pData2->fUsed = pModify->fUsed;
// pData2->fJFTotal = pModify->fJFTotal;
strTemp.Format( _T("%10d"),(long)(pData2->fUsed*10.0f) );
m_wndList.SetItemText(pModify->lItem,5,strTemp);
strTemp.Format( _T("%10d"),(long)(pData2->fTotal*10.0f) );
m_wndList.SetItemText(pModify->lItem,6,strTemp);
//strTemp.Format( _T("%.2f"),pData2->fJFTotal );
//m_wndList.SetItemText(pModify->lItem,7,strTemp);
}
}
return true;
}
//²é¿´±¸×¢
if (pHead->lFuncType == SMSFUNC_CORP_BZ_SEE)
{
ANS_Corp_BZ_See * pSee = (ANS_Corp_BZ_See *)pHead->pFrame;
ANS_Corp_BZ_Data * pSeeData = (ANS_Corp_BZ_Data *)(pHead->pFrame+sizeof(ANS_Corp_BZ_See));
DLG_Corp_BZ dlg(this);
dlg.SetParam(pSee , pSeeData );
if ( dlg.DoModal() == IDOK && pSee->lBZType ==0 ) //¹ÜÀíÔ±±¸×¢²ÅÄÜÐÂÔö
{
REQ_Corp_BZ_Add * pBZ = new REQ_Corp_BZ_Add;
memset( pBZ , 0 , sizeof(REQ_Corp_BZ_Add));
pBZ->lCorpID = pSee->lCorpID;
pBZ->lUserType = 1; //´úÀíÉ̱¸×¢
pBZ->lBZType = 0; //¹ÜÀíÔ±±¸×¢
_tcscpy( pBZ->szBZ , dlg.m_strBZ );
m_pMainFrame->SendFrame( SMSFUNC_CORP_BZ_ADD , (BYTE*)pBZ , sizeof(REQ_Corp_BZ_Add) ); //È¡ÁªÏµÈËÐÅÏ¢
}
return true;
}
//²é¿´²Ù×÷¼Ç¼
if (pHead->lFuncType == SMSFUNC_CORP_OPER_SEE)
{
ANS_Corp_Oper_See * pSee = (ANS_Corp_Oper_See *)pHead->pFrame;
ANS_Corp_Oper_Data * pSeeData = (ANS_Corp_Oper_Data *)(pHead->pFrame+sizeof(ANS_Corp_Oper_See));
DLG_Corp_Oper dlg(this);
dlg.SetParam(pSee , pSeeData );
dlg.DoModal();
return true;
}
//²é¿´Óû§¼Ç¼
if (pHead->lFuncType == SMSFUNC_CORP_FILE)
{
ANS_Corp_File * pFile = (ANS_Corp_File *)pHead->pFrame;
if ( pFile->lCount < 0 ) //ȨÏÞ²»×㣬·µ»Ø´íÎó
return true;
if ( pFile->ret.lReqType == 0 ) //²éѯÎļþÐÅÏ¢
{
ANS_Corp_FileData * pData = (ANS_Corp_FileData *)(pHead->pFrame+sizeof(ANS_Corp_File));
DLG_Corp_File dlg(this);
m_pDlgFile = &dlg;
dlg.SetParam( *pFile , pData , 1);
dlg.DoModal();
}
if ( pFile->ret.lReqType == 1 ) //Ìí¼Ó
{
if ( m_pDlgFile )
m_pDlgFile->ProcessSocket(pHead);
}
if ( pFile->ret.lReqType == 2 ) //ÐÞ¸Ä
{
if ( m_pDlgFile )
m_pDlgFile->ProcessSocket(pHead);
}
if ( pFile->ret.lReqType == 3 ) //ɾ³ý
{
if ( m_pDlgFile )
m_pDlgFile->ProcessSocket(pHead);
}
if ( pFile->ret.lReqType == 4 ) //ÉÏ´«
{
if ( m_pDlgFile )
m_pDlgFile->ProcessSocket(pHead);
}
if ( pFile->ret.lReqType == 5 ) //ÏÂÔØ
{
if ( m_pDlgFile )
m_pDlgFile->ProcessSocket(pHead);
}
return true;
}
//²é¿´ÁªÏµÈË
if (pHead->lFuncType == SMSFUNC_CORP_LXR)
{
ANS_Corp_LXR * pLXR = (ANS_Corp_LXR *)pHead->pFrame;
if (pLXR->lCount < 0) //ȨÏÞ²»×ã
return true;
ANS_Corp_LXRData * pData= (ANS_Corp_LXRData *)(pHead->pFrame+sizeof(ANS_Corp_LXR));
ANS_Corp_LXR_YWYData * pYWYData = (ANS_Corp_LXR_YWYData *)(pHead->pFrame + sizeof(ANS_Corp_LXR) + sizeof(ANS_Corp_LXRData)*pLXR->lCount);
DLG_Corp_LXR dlg(this);
m_pLXRDlg = &dlg;
dlg.SetParam( *pLXR , pData,1, pYWYData); //ÆóÒµÀàÐÍΪ:1(´úÀíÉÌ)
if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0)
{
long lSize = sizeof(REQ_Corp_LXRModify) + sizeof(ANS_Corp_LXRData)*dlg.m_lModifyCount;
BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize );
REQ_Corp_LXRModify * pModifySend = (REQ_Corp_LXRModify*)pDataSend;
ANS_Corp_LXRData * pLXRSend = (ANS_Corp_LXRData *)(pDataSend+sizeof(REQ_Corp_LXRModify));
pModifySend->lCorpID= pLXR->lCorpID;
pModifySend->lCount = dlg.m_lModifyCount;
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
ANS_Corp_LXRData * pLXRTemp;
while (!dlg.m_LXR.IsEmpty())
{
pLXRTemp = dlg.m_LXR.GetHead();
//pLXRTemp->lCorpType = 1; //Ç¿ÖÆÉèÖÃÆóÒµÀàÐÍΪ:0(´úÀíÉÌ)
dlg.m_LXR.RemoveHead();
if (pLXRTemp->ucStatus != 0 ) //²»Îª0,ÐèÒªÐÞ¸Ä
{
*pLXRSend = *pLXRTemp;
pLXRSend ++;
}
delete pLXRTemp;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_LXRMODIFY , pDataSend , lSize );
}
else
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
ANS_Corp_LXRData * pLXRTemp;
while (!dlg.m_LXR.IsEmpty())
{
pLXRTemp = dlg.m_LXR.GetHead();
dlg.m_LXR.RemoveHead();
delete pLXRTemp;
}
}
m_pLXRDlg = NULL;
return true;
}
//ÁªÏµÈËÐÞ¸Ä
if (pHead->lFuncType == SMSFUNC_CORP_LXRMODIFY)
{
return true;
}
if (pHead->lFuncType == SMSFUNC_CORP_SENDSMSNOW )
{
ANS_Corp_SendSmsNow * pSend = (ANS_Corp_SendSmsNow*)pHead->pFrame;
if ( pSend->bOK )
{
MessageBox( pSend->szMsg , _T("ÐÅÏ¢") , MB_ICONINFORMATION );
}
else
{
MessageBox( pSend->szMsg , _T("´íÎó") , MB_ICONWARNING );
}
return true;
}
if (pHead->lFuncType == SMSFUNC_CORP_OPER_ADD) //Ìí¼ÓÐÞ¸ÄÉèÖÃ
{
ANS_Corp_Oper_Add* pAdd = (ANS_Corp_Oper_Add*)pHead->pFrame;
if (pAdd->bOK)
{
OnAgentQuery(); //ÐÞ¸ÄÉèÖúóË¢ÐÂÊý¾Ý
switch (pAdd->data.lOperType)
{
case 43: //ÖØÖÃÃÜÂë
MessageBox(_T("ÒÑͨ¹ý¶ÌÐÅÏ·¢Á´½Ó£¬ÇëÌáÐѿͻ§²Ù×÷ÖØÖÃÃÜÂ룡"), _T("ÏûÏ¢"), MB_ICONINFORMATION | MB_OK);
break;
default:
if (_tcslen(pAdd->szErrMsg) > 0)
str = pAdd->szErrMsg;
else
str = _T("Ìí¼Ó²Ù×÷³É¹¦£¬ÇëµÈ´ýÊý¾ÝË¢ÐÂÑéÖ¤ºóÔÙ²Ù×÷ÏÂÒ»²½£¡");
MessageBox(str, _T("ÏûÏ¢"), MB_ICONINFORMATION | MB_OK);
break;
}
}
else
{
switch (pAdd->data.lOperType)
{
case 13:
case 15:
MessageBox(_T("ËùÊäÈëµÄºÏͬºÅ²»´æÔÚ»òÒÑ·ÖÅ䣬Çë¼ì²é£¡"), _T("´íÎó"), MB_ICONWARNING | MB_OK);
break;
case 18:
MessageBox(_T("¸ü¸Ä×ÓÕʺÅÇ©Ãûʧ°Ü£¬ÓпÉÄÜÆóÒµID»òµÇ¼Ãû´íÎó£¡"), _T("´íÎó"), MB_ICONWARNING | MB_OK);
break;
case 32:
switch (pAdd->lYWYID)
{
case -1:
MessageBox(_T("Ç¿ÖÆÌß³öÓû§Ê§°Ü£¬Óû§²»´æÔÚ£¡"), _T("´íÎó"), MB_ICONWARNING | MB_OK);
break;
case -2:
MessageBox(_T("Ç¿ÖÆÌß³öÓû§Ê§°Ü£¬Óû§Î´µÇ¼£¡"), _T("´íÎó"), MB_ICONWARNING | MB_OK);
break;
default:
MessageBox(_T("Ç¿ÖÆÌß³öÓû§Ê§°Ü£¬Î´Öª´íÎó£¡"), _T("´íÎó"), MB_ICONWARNING | MB_OK);
break;
}
break;
case 43: //ÖØÖÃÃÜÂë
MessageBox(_T("ÖØÖõǼÃÜÂëʧ°Ü£¬Çë¼ìµÇ¼ÃûÓëÊÖ»úºÅÂëÊÇ·ñÕýÈ·£¡"), _T("´íÎó"), MB_ICONWARNING | MB_OK);
break;
default:
if (_tcslen(pAdd->szErrMsg) > 0)
str = pAdd->szErrMsg;
else
str = _T("Ìí¼Ó²Ù×÷ʧ°Ü£¬Çë¼ì²é£¡");
MessageBox(str, _T("´íÎó"), MB_ICONWARNING | MB_OK);
break;
}
}
return true;
}
return false;
}
BOOL CK_Agent::isLockItem(long lItem, BOOL bShowWarning)
{
BOOL b = (m_wndList.GetIconIndex(lItem) == 2);
if ( b && bShowWarning )
{
MessageBox( _T("Õý¼±»Ëø¶¨£¬ÇëµÈ´ý·þÎñÆ÷·µ»ØºóÔÙ²Ù×÷!") , _T("Ëø¶¨ÖÐ") , MB_ICONINFORMATION );
}
return b;
}
void CK_Agent::SetLockItem(long lItem, BOOL bLock)
{
if ( bLock )
m_wndList.SetIconIndex( lItem , 2 );
else
m_wndList.SetIconIndex( lItem , 0 );
}
BOOL CK_Agent::FindAgentame(const TCHAR *pAgentName, POSITION exPos)
{
POSITION pos = m_Agent.GetHeadPosition();
POSITION pos2;
while (pos)
{
pos2 = pos;
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( pos2 != exPos )
{
if ( !_tcscmp( pData->szName , pAgentName ) )
return true;
}
}
return false;
}
void CK_Agent::OnDblclkAgentList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
#ifndef SMSMANAGER_KF
On_Agent_Modify();
#endif
}
void CK_Agent::OnRclickAgentList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
ShowRMenu();
}
void CK_Agent::OnKeydownAgentList(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
*pResult = 0;
}
void CK_Agent::ShowRMenu()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_FILT,false)) //ûÓв鿴ȨÏÞ
return ;
CMenu menu;
menu.CreatePopupMenu();
BOOL bLock = false;
ANS_Agent_SeeData * pData = NULL;
long lItem = this->GetCurrentSelected();
if ( lItem >= 0 && lItem<m_Agent.GetCount() )
{
bLock = isLockItem( lItem , false ); //È¡µÃÊÇ·ñÕýÔÚËø¶¨
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (LONG_PTR)pos >0 )
{
pData = m_Agent.GetNext( pos );
}
else
{
lItem = -1; //ûѡÖмǼ
}
}
else
{
lItem = -1; //ûѡÖмǼ
}
#ifndef SMSMANAGER_KF
//Ìí¼Ó
if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_ADD, false))
{
menu.AppendMenu(MF_STRING, MENU_AGENT_ADD, _T(" Ìí ¼Ó "));
}
else
{
//menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_AGENT_ADD, _T(" Ìí ¼Ó "));
}
//ÐÞ¸Ä
if ( lItem >=0 && !bLock && m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY, false))
{
menu.AppendMenu(MF_STRING , MENU_AGENT_MODIFY, _T(" ÐÞ ¸Ä ") );
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_MODIFY , _T(" ÐÞ ¸Ä ") );
}
//ɾ³ý
if ( lItem >=0 && !bLock && m_pMainFrame->GetUserPurview(PURVIEW_CORP_DEL, false) )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_AGENT_DEL, _T(" ɾ ³ý ") ); //Ôݲ»Ìṩɾ³ý¹¦ÄÜ
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_DEL , _T(" ɾ ³ý ") );
}
menu.AppendMenu(MF_SEPARATOR );
#endif
//³äÖµ
if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY,false)&&lItem >=0)
{
menu.AppendMenu(MF_STRING , MENU_AGENT_JF, _T(" ¶ÌÐųäÖµ... ") );
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_JF , _T(" ¶ÌÐųäÖµ... ") );
}
//³äÖµ
if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY,false)&&lItem >=0)
{
menu.AppendMenu(MF_STRING , MENU_AGENT_MMSPAY, _T(" ²ÊÐųäÖµ... ") );
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_MMSPAY , _T(" ²ÊÐųäÖµ... ") );
}
#ifndef SMSMANAGER_KF
//²é¿´Ö§¸¶¼Ç¼
if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY, false) && lItem >= 0)
#else
//if ( false )
if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY, false) && lItem >= 0)
#endif
{
CMenu MenuAssist;
MenuAssist.CreatePopupMenu();
if (lItem >= 0 && !bLock && pData)
{
MenuAssist.AppendMenu(MF_STRING, MENU_AGENT_ASSIST_EXTENSION, _T(" ´úÀíÉÌÑÓÆÚ "));
MenuAssist.AppendMenu(MF_SEPARATOR);
MenuAssist.AppendMenu(MF_STRING, MENU_AGENT_ASSIST_SMSTRANSFER, _T(" ¶ÌÐÅ»¥×ª "));
MenuAssist.AppendMenu(MF_STRING, MENU_AGENT_ASSIST_MMSTRANSFER, _T(" ²ÊÐÅ»¥×ª "));
MenuAssist.AppendMenu(MF_STRING, MENU_AGENT_ASSIST_SMSMMSTRANSFER, _T(" ¶Ì²Ê»¥×ª "));
MenuAssist.AppendMenu(MF_SEPARATOR);
if ( m_pMainFrame->GetUserPurview(PURVIEW_TAB, false))
{
MenuAssist.AppendMenu(MF_STRING, MENU_AGENT_ASSIST_EXPIRYRECYCLING, _T(" ¹ýÆÚ»ØÊÕ "));
}
}
//menu.AppendMenu(MF_SEPARATOR);
menu.AppendMenu(MF_STRING | MF_POPUP, (UINT_PTR)MenuAssist.GetSafeHmenu(), _T(" ÕËÎñ¸¨Öú²Ù×÷ "));
}
#if !defined(SMSCENTER_NX)
//Îļþ¹ÜÀí
if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY,false)&&lItem >=0 && m_pMainFrame->GetUserPurview(PURVIEW_TAB,false))
{
menu.AppendMenu(MF_STRING , MENU_AGENT_FILE, _T(" Îļþ¹ÜÀí... ") );
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_FILE , _T(" Îļþ¹ÜÀí... ") );
}
#endif
//²é¿´ÁªÏµÈË
#ifdef SMSMANAGER_KF
if ( lItem >=0 && m_pMainFrame->GetUserPurview(PURVIEW_SP,false) )
#else
if (lItem >=0)
#endif
{
menu.AppendMenu(MF_STRING , MENU_AGENT_LXR, _T(" ÁªÏµÈË... ") );
menu.AppendMenu(MF_STRING , MENU_AGENT_FP, _T(" ·¢Æ±Ì§Í·¹ÜÀí... ") );
menu.AppendMenu(MF_STRING , MENU_AGENT_SF, _T(" ¿ìµÝ¼ÄËͲéѯ... "));
}
// else
// {
// menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_LXR, _T(" ÁªÏµÈË... ") );
// }
//³äÖµ
if (m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD, false) && lItem >= 0)
{
menu.AppendMenu(MF_STRING, MENU_AGENT_ANALYSE, _T(" ´úÀíÉÌÊý¾Ý·ÖÎö... "));
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_MMSPAY , _T(" ²ÊÐųäÖµ... ") );
}
#if !defined(SMSMANAGER_KF) && !defined(SMSCENTER_NX)
menu.AppendMenu(MF_SEPARATOR );
//»ØÊÕËùÓжÌÐÅ
if ( lItem >=0 && !bLock && pData && pData->lType!=2 )
{
menu.AppendMenu(MF_STRING , MENU_AGENT_HS, _T(" »ØÊÕËùµÄ¶ÌÐÅ ") );
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_HS , _T(" »ØÊÕËùµÄ¶ÌÐÅ ") );
}
//ÍË¿î
if ( lItem >=0 && !bLock )
{
menu.AppendMenu(MF_STRING , MENU_AGENT_PAYTOUSER, _T(" ÍË¿î... ") );
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_PAYTOUSER , _T(" ÍË¿î... ") );
}
menu.AppendMenu(MF_SEPARATOR );
if ( lItem >=0 )
{
menu.AppendMenu(MF_STRING , MENU_AGENT_BZ_MAN, _T(" ¹ÜÀíÔ±±¸×¢ ") );
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_BZ_MAN , _T(" ¹ÜÀíÔ±±¸×¢ ") );
}
if ( lItem >=0 )
{
menu.AppendMenu(MF_STRING , MENU_AGENT_BZ_YWY, _T(" ÒµÎñÔ±±¸×¢ ") );
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_BZ_YWY , _T(" ÒµÎñÔ±±¸×¢ ") );
}
#endif
//ÒÔÏÂΪ²Ù×÷²Ëµ¥
if (lItem >=0)
{
CMenu MenuType;
MenuType.CreatePopupMenu();
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_OPEN , _T(" ¿ªÍ¨²Ù×÷ ") );
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_CLOSE , _T(" ¹Ø±Õ²Ù×÷ ") );
if (m_pMainFrame->GetUserPurview(PURVIEW_TAB, false))
{
MenuType.AppendMenu(MF_STRING, MENU_AGENT_OPER_AGENTNAME, _T(" ¸ü¸Ä´úÀíÉÌÃû³Æ "));
}
#ifndef SMSMANAGER_KF
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_ADDCOUNT, _T(" ¸ü¸ÄÔÊÐíÌí¼ÓÆóÒµÊýÁ¿ ") );
MenuType.AppendMenu(MF_STRING, MENU_AGENT_OPER_YWY, _T(" ¸ü¸Ä¿Í»§¾­Àí "));
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_REGTIME , _T(" ¸ü¸ÄÆóÒµ×¢²áʱ¼ä ") );
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_PRICEONE , _T(" ¸ü¸Ä¶ÌÐŵ¥¼Û ") );
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_MMSPRICEONE , _T(" ¸ü¸Ä²ÊÐŵ¥¼Û ") );
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_TCPER , _T(" ¸ü¸ÄÌá³É±ÈÀý ") );
#endif
if (m_pMainFrame->GetUserPurview(PURVIEW_TAB, false))
{
MenuType.AppendMenu(MF_STRING, MENU_AGENT_OPER_RESETPASSWD, _T(" ÖØÖôúÀíÉ̵ǼÃÜÂë "));
}
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_CLOSECLI, _T(" Ìß³öÓû§ "));
MenuType.AppendMenu(MF_SEPARATOR );
#ifdef SMSMANAGER_KF
if (m_pMainFrame->GetUserPurview(PURVIEW_SP,false) || m_pMainFrame->GetUserPurview(PURVIEW_TAB, false))
#endif
{
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_HTSEND , _T(" ¸ÄºÏͬ·¢³öʱ¼ä ") );
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_HTRECV , _T(" ¸ÄºÏͬ»ØÊÕʱ¼ä ") );
}
MenuType.AppendMenu(MF_SEPARATOR );
#ifdef SMSMANAGER_KF
if ( m_pMainFrame->GetUserPurview(PURVIEW_TAB,false) )
#else
if ( true )
#endif
MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER , _T(" ²Ù×÷¼Ç¼ ") );
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING|MF_POPUP,(UINT_PTR)MenuType.GetSafeHmenu(), _T(" ÆóÒµ²Ù×÷ ") );
}
#ifndef SMSMANAGER_KF
menu.AppendMenu(MF_SEPARATOR);
menu.AppendMenu(MF_STRING, MENU_AGENT_QUERYBAKAGENT, _T(" ²éѯÒÑÏú»§Êý¾Ý "));
#endif
#ifndef SMSMANAGER_KF
menu.AppendMenu(MF_SEPARATOR );
//Ë¢ÐÂ
menu.AppendMenu(MF_STRING , MENU_AGENT_REFRESH, _T(" ˢ Р") );
#endif
//ÏÔʾ²Ëµ¥
POINT pt ;
::GetCursorPos( &pt );
//this->ClientToScreen( &pt);
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
menu.DestroyMenu();
}
long CK_Agent::GetCurrentSelected()
{
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndList.GetNextSelectedItem(pos);
}
return -1;
}
void CK_Agent::On_Agent_Add()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) )
{
return ;
}
ANS_Agent_SeeData SPData={0};
::GetLocalTime(&SPData.tCreateTime);
#ifdef SMSCENTER_NX
SPData.lType = 1;
#endif
SPData.lReportPer = 75; //ÐÂÌí¼ÓÆóÒµµÄ״̬±¨¸æ·´À¡ÂÊ
SPData.fMmsPriceOne = 0.30; //ĬÈÏ·ÑÂÊ
SPData.fPriceOne = 0.10;//ĬÈÏ·ÑÂÊ
DLG_Agent_Modify dlg(this);
dlg.SetParam( SPData,0,true );
if ( dlg.DoModal() == IDOK )
{
long lSize = sizeof(REQ_Agent_Add)+sizeof(ANS_Agent_SeeData);
BYTE * pAddData = new BYTE[lSize];memset(pAddData,0,lSize);
REQ_Agent_Add * pAdd = (REQ_Agent_Add *)pAddData; //Í·
ANS_Agent_SeeData * pSPData = (ANS_Agent_SeeData *)(pAddData+sizeof(REQ_Agent_Add));
*pSPData = dlg.GetParam();
pAdd->lCount = 1;
m_pMainFrame->SendFrame( SMSFUNC_AGENT_ADD , pAddData , lSize );
}
}
void CK_Agent::On_Agent_Modify()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) )
{
return ;
}
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
if (isLockItem(lItem))
{
return ;
}
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (LONG_PTR)pos <0 )
return ;
POSITION pos2 = pos;
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if (pData)
{
DLG_Agent_Modify dlg(this);
dlg.SetParam( *pData,pos2,false);
if ( dlg.DoModal() == IDOK )
{
SetLockItem( lItem ,true);
long lSize = sizeof(REQ_Agent_Modify)+sizeof(ANS_Agent_SeeData);
BYTE * pModifyData = new BYTE[lSize];memset(pModifyData,0,lSize);
REQ_Agent_Modify * pModify = (REQ_Agent_Modify *)pModifyData; //Í·
ANS_Agent_SeeData * pSPData = (ANS_Agent_SeeData *)(pModifyData+sizeof(REQ_Agent_Modify));
*pSPData = dlg.GetParam();
pModify->lItem = lItem;
pModify->lCount = 1;
m_pMainFrame->SendFrame( SMSFUNC_AGENT_MODIFY , pModifyData , lSize );
}
}
}
void CK_Agent::On_Agent_Del()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) )
{
return ;
}
long lRet = MessageBox( _T("´Ë²Ù×÷½«»áɾ³ý´Ë´úÀíÉÌ£¬ÊÇ·ñ¼ÌÐø£¿") , _T("ÌáÎÊ") , MB_ICONQUESTION|MB_YESNOCANCEL|MB_DEFBUTTON2);
if ( lRet != IDYES )
return;
long lCount = m_wndList.GetSelectedCount();
long lSize = sizeof(REQ_Agent_Del)+sizeof(ANS_Agent_DelData)*lCount;
BYTE * pDelSend = new BYTE[lSize];memset(pDelSend,0,lSize);
REQ_Agent_Del * pDel = (REQ_Agent_Del *)pDelSend; //Í·
ANS_Agent_DelData * pDelData = (ANS_Agent_DelData *)(pDelSend+sizeof(REQ_Agent_Del));
pDel->lCount = lCount;
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
ANS_Agent_SeeData * pSPData;
POSITION pos2;
while(pos)
{
pDelData->lItem = m_wndList.GetNextSelectedItem(pos);
pos2 = (POSITION)m_wndList.GetItemData(pDelData->lItem);
pSPData = m_Agent.GetNext(pos2); //È¡µÃÁбíÖеÄpos
pDelData->lAgentID = pSPData->lAgentID;
pDelData ++;
}
m_pMainFrame->SendFrame( SMSFUNC_AGENT_DEL , pDelSend , lSize );
}
void CK_Agent::On_Agent_Pay()
{
#ifndef SMSMANAGER_KF
if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) )
{
return ;
}
#endif
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( !pData )
return ;
REQ_Agent_Pay * pPay = new REQ_Agent_Pay;
memset( pPay , 0 , sizeof(REQ_Agent_Pay));
_tcscpy( pPay->szAgentName , pData->szName );
pPay->fUsed = pData->fUsed;
pPay->fTotal = pData->fTotal;
pPay->lAgentID = pData->lAgentID;
pPay->bTest = pData->bTest;
pPay->fPriceOne= pData->fPriceOne;
pPay->lItem = lItem;
m_pMainFrame->SendFrame( SMSFUNC_AGENT_PAY , (BYTE*)pPay , sizeof(REQ_Agent_Pay) ); //È¡ÁªÏµÈËÐÅÏ¢
}
void CK_Agent::On_Agent_MmsPay()
{
#ifndef SMSMANAGER_KF
if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) )
{
return ;
}
#endif
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( !pData )
return ;
REQ_Agent_MmsPay * pPay = new REQ_Agent_MmsPay;
memset( pPay , 0 , sizeof(REQ_Agent_MmsPay));
_tcscpy( pPay->szAgentName , pData->szName );
pPay->lUsed = pData->lMmsUsed;
pPay->lTotal = pData->lMmsTotal;
pPay->fJFTotal = pData->fMmsJFTotal;
pPay->lAgentID = pData->lAgentID;
pPay->bTest = pData->bTest;
pPay->fPriceOne= pData->fMmsPriceOne;
pPay->lItem = lItem;
m_pMainFrame->SendFrame( SMSFUNC_AGENT_MMSPAY , (BYTE*)pPay , sizeof(REQ_Agent_Pay) ); //È¡ÁªÏµÈËÐÅÏ¢
}
void CK_Agent::On_Agent_File()
{
m_pDlgFile = NULL; //Îļþ¹ÜÀí´°¿ÚΪ¿Õ
if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY) )
{
return ;
}
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (LONG_PTR)pos <0 )
return ;
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
REQ_Corp_File * pFile = new REQ_Corp_File;
memset( pFile , 0 , sizeof(REQ_Corp_File));
pFile->lReqType = 0; //²éѯ
pFile->lCorpType= 1; //²éѯ´úÀíÉÌID
pFile->lCorpID = pData->lAgentID; //´úÀíÉÌID
_tcscpy(pFile->szCorpName , pData->szName ); //ÆóÒµÃû³Æ
m_pMainFrame->SendFrame( SMSFUNC_CORP_FILE , (BYTE*)pFile , sizeof(REQ_Corp_File) ); //È¡ÁªÏµÈËÐÅÏ¢
}
void CK_Agent::On_Agent_LXR()
{
#ifdef SMSMANAGER_KF
if (!m_pMainFrame->GetUserPurview(PURVIEW_SP,false))
#else
if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY) )
#endif
{
return ;
}
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
REQ_Corp_LXR * pLXR = new REQ_Corp_LXR;
memset( pLXR , 0 , sizeof(REQ_Corp_LXR));
_tcscpy( pLXR->szCorpName , pData->szName );
_stprintf( pLXR->szSMSNum ,_T("%d") , pData->lAgentID );
_tcscpy( pLXR->szAddress , pData->szAddress );
_tcscpy(pLXR->szPostCode, pData->szPostcode);
//_tcscpy( pLXR->szPostCode , pData->sz );
pLXR->lCorpID = pData->lAgentID;
pLXR->lCorpType=1; //²é´úÀíÆóÒµ
pLXR->lPayType = 0;//·Ç³äÖµ
pLXR->lPayID = 0; //³äÖµID
pLXR->fPrice = 0.0f; //³äÖµ½ð¶î
m_pMainFrame->SendFrame( SMSFUNC_CORP_LXR , (BYTE*)pLXR , sizeof(REQ_Corp_LXR) ); //È¡ÁªÏµÈËÐÅÏ¢
}
void CK_Agent::On_Agent_FP()
{
#ifdef SMSMANAGER_KF
if (!m_pMainFrame->GetUserPurview(PURVIEW_SP,false))
#else
if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY) )
#endif
{
return ;
}
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
REQ_Corp_FP * pFP = new REQ_Corp_FP;
memset( pFP , 0 , sizeof(REQ_Corp_FP));
_tcscpy( pFP->szCorpName , pData->szName );
_tcscpy( pFP->szAddress , pData->szAddress );
pFP->lCorpID = pData->lAgentID;
pFP->lYWYID = pData->lYWYID;
pFP->lCorpType=1; //²é´úÀíÆóÒµ
pFP->lPayType = 0;//·Ç³äÖµ
pFP->lPayID = 0; //³äÖµID
pFP->fPrice = 0.0f; //³äÖµ½ð¶î
m_pMainFrame->SendFrame( SMSFUNC_CORP_FP , (BYTE*)pFP , sizeof(REQ_Corp_FP) ); //È¡ÁªÏµÈËÐÅÏ¢
}
void CK_Agent::On_Agent_SF()
{
#ifdef SMSMANAGER_KF
if (!m_pMainFrame->GetUserPurview(PURVIEW_SP, false))
#else
if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY))
#endif
{
return;
}
long lItem = GetCurrentSelected();
if (lItem < 0)
return;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext(pos);
REQ_Corp_SF_See * pSF = new REQ_Corp_SF_See;
memset(pSF, 0, sizeof(REQ_Corp_SF_See));
_tcscpy(pSF->szCorpName, pData->szName);
_tcscpy(pSF->szAddress, pData->szAddress);
_tcscpy(pSF->szPostCode, pData->szPostcode);
pSF->lCorpID = pData->lAgentID;
pSF->lCorpType = 1; //²é´úÀíÉÌ
pSF->lPayType = 0;//·Ç³äÖµ
pSF->lPayID = 0; //³äÖµID
pSF->fPrice = 0.0f; //³äÖµ½ð¶î
m_pMainFrame->SendFrame(SMSFUNC_CORP_SF_SEE, (BYTE*)pSF, sizeof(REQ_Corp_SF_See)); //È¡ÁªÏµÈËÐÅÏ¢
}
void CK_Agent::On_Agent_Refresh()
{
RefreshInfo();
}
void CK_Agent::On_Agent_HS()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY) )
{
return ;
}
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( !pData )
return ;
if ( pData->lType ==2 ) //³¬¼¶´úÀíÉ̲»ÄÜ»ØÊÕ¡£
return ;
int iRet = MessageBox( _T("»ØÊÕ²Ù×÷½«»áÉæ¼°´úÀíÉÌËùÓÐÕʺţ¬Ò»°ãÖ»ÔÚÍË¿îʱʹÓã¬ÇëÉ÷ÖØ£¡") , _T("Ìáʾ") , MB_ICONWARNING|MB_YESNOCANCEL|MB_DEFBUTTON2);
if ( iRet != IDYES )
return ;
REQ_Corp_HSSms * pHSSms = new REQ_Corp_HSSms;
memset(pHSSms, 0 , sizeof(REQ_Corp_HSSms));
pHSSms->lItem = lItem;
pHSSms->lCorpID= pData->lAgentID;
_tcscpy(pHSSms->szCorpName , pData->szName );
pHSSms->lAgentID= pData->lAgentID;
pHSSms->lSmsUsed = (long)(pData->fUsed*0.10f);
pHSSms->lHSType = 3; //´úÀíÉÌËùÓÐÓû§»ØÊÕ¶ÌÐÅ
pHSSms->lUserType =1; //´úÀíÉÌÓû§
m_pMainFrame->SendFrame( SMSFUNC_CORP_HSSMS , (BYTE*)pHSSms , sizeof(REQ_Corp_HSSms) ); //È¡ÁªÏµÈËÐÅÏ¢
}
void CK_Agent::On_Agent_PayToUser()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY) )
{
return ;
}
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( !pData )
return ;
REQ_Corp_HSSms * pHSSms = new REQ_Corp_HSSms;
memset(pHSSms, 0 , sizeof(REQ_Corp_HSSms));
pHSSms->lItem = lItem;
pHSSms->lCorpID= pData->lAgentID;
_tcscpy(pHSSms->szCorpName , pData->szName );
pHSSms->lAgentID= pData->lAgentID;
pHSSms->lSmsUsed = (long)(pData->fUsed*0.10f);
pHSSms->lHSType = 1; //ÍË¿î²éѯ
pHSSms->lUserType =1; //´úÀíÉÌÓû§
m_pMainFrame->SendFrame( SMSFUNC_CORP_HSSMS , (BYTE*)pHSSms , sizeof(REQ_Corp_HSSms) ); //È¡ÁªÏµÈËÐÅÏ¢
}
void CK_Agent::On_User_Oper_Open()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
DLG_Corp_Oper_Open dlg(this);
dlg.SetParam_A(pData,true,this->m_pMainFrame->m_Setup.szUser);
if ( dlg.DoModal() == IDOK )
{
long lCount=m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet , 0 , lSize );
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet;
REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount-1;
_tcscpy(pAdd->data.szOperName , dlg.m_strOperName );
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd->data.lOperType=50; //ÆóÒµ¿ªÍ¨
_tcscpy( pAdd->data.szBZ , dlg.m_strBZ );
for ( int i=0 ; i<pAdd->lCorpCount ; i++ )
{
lItem = m_wndList.GetFirstSelectedItem(lItem);
if ( lItem >=0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( pData )
{
_tcscpy(pAdd2->data.szOperName , dlg.m_strOperName );
pAdd2->data.lCorpID = pData->lAgentID;
pAdd2->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd2->data.lOperType=50; //ÆóÒµ¿ªÍ¨
_tcscpy( pAdd2->data.szBZ , dlg.m_strBZ );
}
}
pAdd2 ++;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper_Close()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
DLG_Corp_Oper_Open dlg(this);
dlg.SetParam_A(pData,false,this->m_pMainFrame->m_Setup.szUser);
if ( dlg.DoModal() == IDOK )
{
long lCount=m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet , 0 , lSize );
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet;
REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount-1;
_tcscpy(pAdd->data.szOperName , dlg.m_strOperName );
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd->data.lOperType = 51; //ÆóÒµ¹Ø±Õ
_tcscpy( pAdd->data.szBZ , dlg.m_strBZ );
for ( int i=0 ; i<pAdd->lCorpCount ; i++ )
{
lItem = m_wndList.GetFirstSelectedItem(lItem);
if ( lItem >=0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( pData )
{
_tcscpy(pAdd2->data.szOperName , dlg.m_strOperName );
pAdd2->data.lCorpID = pData->lAgentID;
pAdd2->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd2->data.lOperType = 51; //ÆóÒµ¹Ø±Õ
_tcscpy( pAdd2->data.szBZ , dlg.m_strBZ );
}
}
pAdd2 ++;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper_CloseCLI()
{
long lItem = m_wndList.GetFirstSelectedItem();
if (lItem < 0)
return;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext(pos);
DLG_Corp_Oper_Open dlg(this);
dlg.SetParam_A(pData, 3, this->m_pMainFrame->m_Setup.szUser);
if (dlg.DoModal() == IDOK)
{
long lCount = m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount - 1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet, 0, lSize);
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*)pDataRet;
REQ_Corp_Oper_Add * pAdd2 = (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount - 1;
_tcscpy(pAdd->data.szOperName, dlg.m_strOperName);
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType = 1; //´úÀíÉ̲Ù×÷
pAdd->data.lOperType = 32; //¹Ø±Õ¿Í»§¶Ë
_tcscpy(pAdd->data.szBZ, dlg.m_strBZ);
for (int i = 0; i<pAdd->lCorpCount; i++)
{
lItem = m_wndList.GetFirstSelectedItem(lItem);
if (lItem >= 0)
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext(pos);
if (pData)
{
_tcscpy(pAdd2->data.szOperName, dlg.m_strOperName);
pAdd2->data.lCorpID = pData->lAgentID;
pAdd2->data.lUserType = 1; //´úÀíÉ̲Ù×÷
pAdd->data.lOperType = 32; //¹Ø±Õ¿Í»§¶Ë
_tcscpy(pAdd2->data.szBZ, dlg.m_strBZ);
}
}
pAdd2++;
}
m_pMainFrame->SendFrame(SMSFUNC_CORP_OPER_ADD, (BYTE*)pDataRet, lSize); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper_AgentName()
{
long lItem = m_wndList.GetFirstSelectedItem();
if (lItem < 0)
return;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData* pData = m_Agent.GetNext(pos);
DLG_Corp_Open_ChangeA dlg(this);
dlg.SetParam(*pData, 61); //¸ü¸Ä´úÀíÉÌÃû³Æ
if (dlg.DoModal() == IDOK && _tcscmp(pData->szName, dlg.m_AgentData.szName))
{
long lCount = m_wndList.GetSelectedItemCount();
lCount = 1; //´ËÏîÐÞ¸ÄÖ»ÄÜ1¶Ô1
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add) * (lCount - 1);
BYTE* pDataRet = new BYTE[lSize];
memset(pDataRet, 0, lSize);
REQ_Corp_Oper_Add* pAdd = (REQ_Corp_Oper_Add*)pDataRet;
REQ_Corp_Oper_Add* pAdd2 = (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount - 1;
_tcscpy(pAdd->data.szOperName, dlg.m_strOperName);
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType = 1; //ÆóÒµ²Ù×÷
pAdd->data.lOperType = 61; //¸ü¸Ä´úÀíÉÌÃû³Æ
_tcscpy(pAdd->data.szBZ, dlg.m_strBZ);
_stprintf(pAdd->data.szOperMsg, _T("%s ->%s"), pData->szName, dlg.m_AgentData.szName);
_tcscpy(pAdd->szCMName,dlg.m_AgentData.szName); //ÐèÒª¸ÄµÄÊý¾Ý
for (int i = 0; i < pAdd->lCorpCount; i++)
{
lItem = m_wndList.GetFirstSelectedItem(lItem);
if (lItem >= 0)
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData* pData = m_Agent.GetNext(pos);
if (pData)
{
_tcscpy(pAdd2->data.szOperName, dlg.m_strOperName);
pAdd2->data.lCorpID = pData->lAgentID;
pAdd2->data.lUserType = 1; //ÆóÒµ²Ù×÷
pAdd2->data.lOperType = 61; //¸ü¸Ä´úÀíÉÌÃû³Æ
_tcscpy(pAdd2->data.szBZ, dlg.m_strBZ);
_stprintf(pAdd2->data.szOperMsg, _T("%s ->%s"), pData->szName, dlg.m_AgentData.szName);
_tcscpy(pAdd2->szCMName, dlg.m_AgentData.szName); //ÐèÒª¸ÄµÄÊý¾Ý
}
}
pAdd2++;
}
m_pMainFrame->SendFrame(SMSFUNC_CORP_OPER_ADD, (BYTE*)pDataRet, lSize); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper_ResetPasswd()
{
long lItem = m_wndList.GetFirstSelectedItem();
if (lItem < 0)
return;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData* pData = m_Agent.GetNext(pos);
DLG_Corp_Open_ChangeA dlg(this);
dlg.SetParam(*pData, 62); //ÖØÖôúÀíÉ̵ǼÃÜÂë
if (dlg.DoModal() == IDOK)
{
long lCount = m_wndList.GetSelectedItemCount();
lCount = 1; //´ËÏîÐÞ¸ÄÖ»ÄÜ1¶Ô1
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add) * (lCount - 1);
BYTE* pDataRet = new BYTE[lSize];
memset(pDataRet, 0, lSize);
REQ_Corp_Oper_Add* pAdd = (REQ_Corp_Oper_Add*)pDataRet;
REQ_Corp_Oper_Add* pAdd2 = (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount - 1;
_tcscpy(pAdd->data.szOperName, dlg.m_strOperName);
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType = 1; //´úÀíÉÌ
pAdd->data.lOperType = 62; //ÖØÖôúÀíÉ̵ǼÃÜÂë
_tcscpy(pAdd->data.szBZ, dlg.m_strBZ);
_tcscpy(pAdd->szHTNum, pData->szLoginName); //µÇ¼Ãû
if (_tcslen(pAdd->szHTNum) <= 0) //Èç¹ûûÓеǼÃû£¬Ä¬ÈϲÉÓôúÀíÉÌIDΪµÇ¼Ãû¡£
_stprintf(pAdd->szHTNum, _T("%d"), pData->lAgentID);
_stprintf(pAdd->data.szOperMsg, _T("ÖØÖôúÀíÉ̵ǼÃÜÂ룬µÇ¼Õ˺ţº%s"), pAdd->szHTNum);
m_pMainFrame->SendFrame(SMSFUNC_CORP_OPER_ADD, (BYTE*)pDataRet, lSize); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper_YWY()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
DLG_Corp_Open_ChangeA dlg(this);
dlg.SetParam(*pData,3);
if ( dlg.DoModal() == IDOK && pData->lYWYID!= dlg.m_AgentData.lYWYID )
{
long lCount=m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet , 0 , lSize );
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet;
REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount-1;
_tcscpy(pAdd->data.szOperName , dlg.m_strOperName );
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd->data.lOperType=53; //¸ü¸ÄÒµÎñÔ±
_tcscpy( pAdd->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd->data.szOperMsg, _T("%s(%d)->%s(%d)"),GetName_YWY(pData->lYWYID),pData->lYWYID,GetName_YWY(dlg.m_AgentData.lYWYID),dlg.m_AgentData.lYWYID);
pAdd->lYWYID = dlg.m_AgentData.lYWYID; //ÐèÒª¸ÄµÄРID
for ( int i=0 ; i<pAdd->lCorpCount ; i++ )
{
lItem = m_wndList.GetFirstSelectedItem(lItem);
if ( lItem >=0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( pData )
{
_tcscpy(pAdd2->data.szOperName , dlg.m_strOperName );
pAdd2->data.lCorpID = pData->lAgentID;
pAdd2->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd2->data.lOperType=53; //¸ü¸ÄÒµÎñÔ±
_tcscpy( pAdd2->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd2->data.szOperMsg, _T("%s(%d)->%s(%d)"),GetName_YWY(pData->lYWYID),pData->lYWYID,GetName_YWY(dlg.m_AgentData.lYWYID),dlg.m_AgentData.lYWYID);
pAdd2->lYWYID = dlg.m_AgentData.lYWYID; //ÐèÒª¸ÄµÄРID
}
}
pAdd2 ++;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper()
{
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
REQ_Corp_Oper_See * pBZ = new REQ_Corp_Oper_See;
memset( pBZ , 0 , sizeof(REQ_Corp_Oper_See));
pBZ->lCorpID = pData->lAgentID;
pBZ->lUserType = 1; //²é´úÀíÉÌ
_tcscpy( pBZ->szName , pData->szName );
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_SEE , (BYTE*)pBZ , sizeof(REQ_Corp_Oper_See) ); //È¡ÁªÏµÈËÐÅÏ¢
}
void CK_Agent::On_User_Oper_HTSend()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
DLG_Corp_Open_ChangeA dlg(this);
dlg.SetParam(*pData,5);
if ( dlg.DoModal() == IDOK && memcmp(&pData->lHT_Send,&dlg.m_AgentData.lHT_Send,sizeof(pData->lHT_Send)) )
{
long lCount=m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet , 0 , lSize );
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet;
REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount-1;
_tcscpy(pAdd->data.szOperName , dlg.m_strOperName );
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd->data.lOperType=55; //¸ü¸ÄºÏͬ¼Ä³öʱ¼ä
_tcscpy( pAdd->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd->data.szOperMsg, _T("%04d.%02d.%02d -> %04d.%02d.%02d"),pData->lHT_Send.lYear,pData->lHT_Send.lMon,pData->lHT_Send.lDay,dlg.m_AgentData.lHT_Send.lYear,dlg.m_AgentData.lHT_Send.lMon,dlg.m_AgentData.lHT_Send.lDay);
pAdd->lHTDate = dlg.m_AgentData.lHT_Send; //ÐèÒª¸ÄµÄРID
for ( int i=0 ; i<pAdd->lCorpCount ; i++ )
{
lItem = m_wndList.GetFirstSelectedItem(lItem);
if ( lItem >=0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( pData )
{
_tcscpy(pAdd2->data.szOperName , dlg.m_strOperName );
pAdd2->data.lCorpID = pData->lAgentID;
pAdd2->data.lUserType=1 ; //ÆóÒµ²Ù×÷
pAdd2->data.lOperType=55; //¸ü¸ÄºÏͬ¼Ä³öʱ¼ä
_tcscpy( pAdd2->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd2->data.szOperMsg, _T("%04d.%02d.%02d -> %04d.%02d.%02d"),pData->lHT_Send.lYear,pData->lHT_Send.lMon,pData->lHT_Send.lDay,dlg.m_AgentData.lHT_Send.lYear,dlg.m_AgentData.lHT_Send.lMon,dlg.m_AgentData.lHT_Send.lDay);
pAdd2->lHTDate = dlg.m_AgentData.lHT_Send; //ÐèÒª¸ÄµÄРID
}
}
pAdd2 ++;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper_HTRecv()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
DLG_Corp_Open_ChangeA dlg(this);
dlg.SetParam(*pData,6);
if ( dlg.DoModal() == IDOK && memcmp(&pData->lHT_Recv,&dlg.m_AgentData.lHT_Recv,sizeof(pData->lHT_Recv)) )
{
long lCount=m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet , 0 , lSize );
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet;
REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount-1;
_tcscpy(pAdd->data.szOperName , dlg.m_strOperName );
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd->data.lOperType=56; //¸ü¸ÄºÏͬ»ØÊÕʱ¼ä
_tcscpy( pAdd->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd->data.szOperMsg, _T("%04d.%02d.%02d -> %04d.%02d.%02d"),pData->lHT_Recv.lYear,pData->lHT_Recv.lMon,pData->lHT_Recv.lDay,dlg.m_AgentData.lHT_Recv.lYear,dlg.m_AgentData.lHT_Recv.lMon,dlg.m_AgentData.lHT_Recv.lDay);
pAdd->lHTDate = dlg.m_AgentData.lHT_Recv; //ÐèÒª¸ÄµÄРID
for ( int i=0 ; i<pAdd->lCorpCount ; i++ )
{
lItem = m_wndList.GetFirstSelectedItem(lItem);
if ( lItem >=0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( pData )
{
_tcscpy(pAdd2->data.szOperName , dlg.m_strOperName );
pAdd2->data.lCorpID = pData->lAgentID;
pAdd2->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd2->data.lOperType=56; //¸ü¸ÄºÏͬ»ØÊÕʱ¼ä
_tcscpy( pAdd2->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd2->data.szOperMsg, _T("%04d.%02d.%02d -> %04d.%02d.%02d"),pData->lHT_Recv.lYear,pData->lHT_Recv.lMon,pData->lHT_Recv.lDay,dlg.m_AgentData.lHT_Recv.lYear,dlg.m_AgentData.lHT_Recv.lMon,dlg.m_AgentData.lHT_Recv.lDay);
pAdd2->lHTDate = dlg.m_AgentData.lHT_Recv; //ÐèÒª¸ÄµÄРID
}
}
pAdd2 ++;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper_RegTime()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
DLG_Corp_Open_ChangeA dlg(this);
dlg.SetParam(*pData,7);
if ( dlg.DoModal() == IDOK && memcmp(&pData->tCreateTime,&dlg.m_AgentData.tCreateTime,sizeof(pData->tCreateTime)) )
{
long lCount=m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet , 0 , lSize );
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet;
REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount-1;
_tcscpy(pAdd->data.szOperName , dlg.m_strOperName );
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd->data.lOperType=57; //¸ü¸ÄºÏͬ»ØÊÕʱ¼ä
_tcscpy( pAdd->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd->data.szOperMsg, _T("%04d.%02d.%02d -> %04d.%02d.%02d"),pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay,dlg.m_AgentData.tCreateTime.wYear,dlg.m_AgentData.tCreateTime.wMonth,dlg.m_AgentData.tCreateTime.wDay);
pAdd->lHTDate.lYear = dlg.m_AgentData.tCreateTime.wYear; //ÐèÒª¸ÄµÄРID
pAdd->lHTDate.lMon = dlg.m_AgentData.tCreateTime.wMonth; //ÐèÒª¸ÄµÄРID
pAdd->lHTDate.lDay = dlg.m_AgentData.tCreateTime.wDay; //ÐèÒª¸ÄµÄРID
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper_PriceOne()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
DLG_Corp_Open_ChangeA dlg(this);
dlg.SetParam(*pData,58); //Ð޸ĶÌÐŵ¥¼Û
if ( dlg.DoModal() == IDOK && pData->fPriceOne != dlg.m_AgentData.fPriceOne )
{
long lCount=m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet , 0 , lSize );
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet;
REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount-1;
_tcscpy(pAdd->data.szOperName , dlg.m_strOperName );
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd->data.lOperType=58; //Ð޸ĶÌÐŵ¥¼Û
_tcscpy( pAdd->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd->data.szOperMsg, _T("%.4f -> %.4f"),pData->fPriceOne,dlg.m_AgentData.fPriceOne);
pAdd->fPriceOne = dlg.m_AgentData.fPriceOne; //ÐèÒª¸ÄµÄРID
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper_MmsPriceOne()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
DLG_Corp_Open_ChangeA dlg(this);
dlg.SetParam(*pData,60); //Ð޸IJÊÐŵ¥¼Û
if ( dlg.DoModal() == IDOK && pData->fMmsPriceOne != dlg.m_AgentData.fPriceOne )
{
long lCount=m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet , 0 , lSize );
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet;
REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount-1;
_tcscpy(pAdd->data.szOperName , dlg.m_strOperName );
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType=1 ; //´úÀíÉ̲Ù×÷
pAdd->data.lOperType=60; //Ð޸ĶÌÐŵ¥¼Û
_tcscpy( pAdd->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd->data.szOperMsg, _T("%.4f -> %.4f"),pData->fMmsPriceOne,dlg.m_AgentData.fPriceOne);
pAdd->fPriceOne = dlg.m_AgentData.fPriceOne; //ÐèÒª¸ÄµÄРID
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Oper_AddCount()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
DLG_Corp_Open_ChangeA dlg(this);
dlg.SetParam(*pData,4); //¸ü¸ÄÔÊÐíÌí¼ÓÆóÒµÊýÁ¿
if ( dlg.DoModal() == IDOK && pData->lAddCorpCount!=dlg.m_AgentData.lAddCorpCount )
{
long lCount=m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet , 0 , lSize );
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet;
REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount-1;
_tcscpy(pAdd->data.szOperName , dlg.m_strOperName );
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType=1 ; //ÆóÒµ²Ù×÷
pAdd->data.lOperType=54; //¸ü¸ÄÔÊÐíÌí¼ÓÆóÒµÊýÁ¿
_tcscpy( pAdd->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd->data.szOperMsg, _T("%d ->%d "),pData->lAddCorpCount,dlg.m_AgentData.lAddCorpCount);
pAdd->lAddressCount = dlg.m_AgentData.lAddCorpCount; //ÐèÒª¸ÄµÄÊý¾Ý
for ( int i=0 ; i<pAdd->lCorpCount ; i++ )
{
lItem = m_wndList.GetFirstSelectedItem(lItem);
if ( lItem >=0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( pData )
{
_tcscpy(pAdd2->data.szOperName , dlg.m_strOperName );
pAdd2->data.lCorpID = pData->lAgentID;
pAdd2->data.lUserType=1 ; //ÆóÒµ²Ù×÷
pAdd2->data.lOperType=54; //¸ü¸ÄÔÊÐíÌí¼ÓÆóÒµÊýÁ¿
_tcscpy( pAdd2->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd2->data.szOperMsg, _T("%d ->%d "),pData->lAddCorpCount,dlg.m_AgentData.lAddCorpCount);
pAdd2->lAddressCount = dlg.m_AgentData.lAddCorpCount; //ÐèÒª¸ÄµÄÊý¾Ý
}
}
pAdd2 ++;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_Agent_BZ_Man()
{
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
REQ_Corp_BZ_See * pBZ = new REQ_Corp_BZ_See;
memset( pBZ , 0 , sizeof(REQ_Corp_BZ_See));
pBZ->lCorpID = pData->lAgentID;
pBZ->lUserType = 1; //²é´úÀíÉ̱¸×¢
pBZ->lBZType = 0; //²é¹ÜÀíÔ±±¸×¢
_tcscpy( pBZ->szName , pData->szName );
m_pMainFrame->SendFrame( SMSFUNC_CORP_BZ_SEE , (BYTE*)pBZ , sizeof(REQ_Corp_BZ_See) ); //È¡ÁªÏµÈËÐÅÏ¢
}
void CK_Agent::On_Agent_BZ_YWY()
{
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
REQ_Corp_BZ_See * pBZ = new REQ_Corp_BZ_See;
memset( pBZ , 0 , sizeof(REQ_Corp_BZ_See));
pBZ->lCorpID = pData->lAgentID;
pBZ->lUserType = 1; //²é´úÀíÉ̱¸×¢
pBZ->lBZType = 1; //²éÒµÎñÔ±±¸×¢
_tcscpy( pBZ->szName , pData->szName );
m_pMainFrame->SendFrame( SMSFUNC_CORP_BZ_SEE , (BYTE*)pBZ , sizeof(REQ_Corp_BZ_See) ); //È¡ÁªÏµÈËÐÅÏ¢
}
BOOL CK_Agent::FindLoginName(const TCHAR *pLoginName, POSITION exPos)
{
POSITION pos = m_Agent.GetHeadPosition();
POSITION pos2;
while (pos)
{
pos2 = pos;
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( pos2 != exPos )
{
if ( !_tcscmp( pData->szLoginName , pLoginName ) )
return true;
}
}
return false;
}
void CK_Agent::Close_Agent()
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
while (!m_Agent.IsEmpty())
{
ANS_Agent_SeeData * pData = m_Agent.GetHead();
m_Agent.RemoveHead();
delete pData;
}
}
void CK_Agent::Close_YWY()
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
while (!m_YWY.IsEmpty())
{
ANS_YWY_NameData * pData = m_YWY.GetHead();
m_YWY.RemoveHead();
delete pData;
}
}
BOOL CK_Agent::PreTranslateMessage(MSG* pMsg)
{
if ( pMsg->hwnd == m_E_AgentID && pMsg->message == WM_KEYDOWN )
{
if ( pMsg->wParam == 13 ) //»Ø³µ¼ü
{
this->OnAgentQuery();
return true;
}
}
if ( pMsg->hwnd == m_E_YWYID && pMsg->message == WM_KEYDOWN )
{
if ( pMsg->wParam == 13 ) //»Ø³µ¼ü
{
this->OnAgentQuery2();
return true;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
void CK_Agent::OnAgentQuery()
{
CString strFind;
m_E_AgentID.GetWindowText(strFind);
if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE,false) )
{
if ( _ttol(strFind)<100000 || _ttol(strFind)>900000 )
{
#ifdef SMSMANAGER_KF
if ( strFind.GetLength()<2 )
#else
#ifndef SMSCENTER_ADC
if ( strFind.GetLength()<4 )
#else
if ( false )
#endif
#endif
{
MessageBox( _T("²éѯÊäÈëµÄÄÚÈݹýÉÙ£¬ÇëÖØÊ䣡") , _T("´íÎó") , MB_ICONWARNING );
GetDlgItem(IDC_AGENT_AGENTID)->SetFocus();
return ;
}
}
}
REQ_Agent_See3 * pSee = new REQ_Agent_See3;
memset( pSee , 0 , sizeof(REQ_Agent_See3));
_tcscpy( pSee->szQuery , strFind );
pSee->lQueryType = 0; //Õý³£²éѯ
m_lQueryType2 = 0; //Õý³£²éѯ
m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE3,(BYTE*)pSee,sizeof(REQ_Agent_See3)); //È¡ÆóÒµÐÅÏ¢
return ;
/*
CString strFind;
m_E_AgentID.GetWindowText(strFind);
if ( strFind.GetLength()>0 )
{
long lSel = this->GetCurrentSelected();
long lCount = m_wndList.GetItemCount();
m_wndList.UnSelectAllItems();
for ( int i=lSel+1 ; i<lCount ; i++ )
{
CString str = m_wndList.GetItemText(i,1);
CString str2= m_wndList.GetItemText(i,2);
if ( str.Find(strFind)>=0 ||
str2.Find(strFind)>=0)
{
m_wndList.SelectItem(i,false);
//m_wndList.SelectItem(i);
m_wndList.EnsureVisible(i,true);
return ;
}
}
for ( i=0 ; i<lSel ; i++ )
{
CString str = m_wndList.GetItemText(i,1);
CString str2= m_wndList.GetItemText(i,2);
if ( str.Find(strFind)>=0 ||
str2.Find(strFind)>=0)
{
m_wndList.SelectItem(i);
m_wndList.EnsureVisible(i,true);
return ;
}
}
}
*/
}
void CK_Agent::OnAgentQuery2()
{
CString strTemp;
CString strFind;
m_E_YWYID.GetWindowText(strFind);
if ( strFind.GetLength()<=0 )
return ;
long lSel = m_L_YWY.GetCurSel();
long lCount = m_L_YWY.GetCount();
for ( int i=lSel+1 ; i<lCount ; i++ )
{
m_L_YWY.GetLBText(i,strTemp);
if ( strTemp.Find(strFind)>=0 )
{
m_L_YWY.SetCurSel(i);
OnSelchangeAgentYwy();
return ;
}
}
for ( i=0 ; i<lSel ; i++ )
{
m_L_YWY.GetLBText(i,strTemp);
if ( strTemp.Find(strFind)>=0 )
{
m_L_YWY.SetCurSel(i);
OnSelchangeAgentYwy();
return ;
}
}
}
void CK_Agent::OnSelchangeAgentYwy()
{
ReShowUser();
}
void CK_Agent::ReShowUser()
{
long lItem = m_L_YWY.GetCurSel();
long lYWYID=-10;
if ( lItem >= 0 )
{
lYWYID = m_L_YWY.GetItemData(lItem);
}
m_wndList.ShowWindow(SW_HIDE);
m_wndList.DeleteAllItems(); //ɾ³ýÔ­ÓеÄÄÚÈÝ
double dUsed=0.0f;
double dTotal=0.0f;
CString strTemp;
POSITION pos = m_Agent.GetHeadPosition();
POSITION pos2=0;
int i=0;
while ( pos )
{
pos2 = pos;
ANS_Agent_SeeData * pData = m_Agent.GetNext(pos);
if ( pData )
{
if (lYWYID <=0 || lYWYID == pData->lYWYID)
{
//m_wndList.SetHeadings(_T("ÐòºÅ,50; ´úÀíÉÌÃû³Æ,180; µÇ¼Ãû,100; ID,60;¿ÉÓÃÓà¶î,90; ×ÜÁ¿,100;ÕʺÅÊýÁ¿,90;×îºóµÇ¼,90;´´½¨Ê±¼ä,90;ÒµÎñÔ±,60;"));
long lTemp=1;
strTemp.Format(_T("%d") , i+1 );
m_wndList.InsertItem( i , strTemp , pData->lStatus );
m_wndList.SetItemData( i , (DWORD_PTR)pos2 ); //´æPos
m_wndList.SetItemText(i,lTemp++,pData->szName);
m_wndList.SetItemText(i,lTemp++,pData->szLoginName);
strTemp.Format( _T("%d") , pData->lAgentID );
m_wndList.SetItemText(i,lTemp++,strTemp);
#ifndef SMSMANAGER_KF
strTemp.Format( _T("%.4f"),pData->fPriceOne ); //¶ÌÐŵ¥¼Û
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%10d"),long(pData->fUsed*10.0f) );
m_wndList.SetItemText(i,lTemp++,strTemp);
#else
strTemp= _T("<= 0");
if ( long(pData->fUsed*10.0f)>100 )
{
strTemp= _T("> 100");
}
if ( long(pData->fUsed*10.0f)<=100 && long(pData->fUsed*10.0f)>0 )
{
strTemp = _T("< 100");
}
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp= _T("<= 0");
if ( pData->lMmsUsed>100 )
{
strTemp= _T("> 100");
}
if ( pData->lMmsUsed<=100 && pData->lMmsUsed>0 )
{
strTemp = _T("< 100");
}
m_wndList.SetItemText(i,lTemp++,strTemp);
#endif
#ifndef SMSMANAGER_KF
strTemp.Format( _T("%10d"),long(pData->fTotal*10.0f) );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%.2f"),pData->fJFTotal );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%5.2f"),pData->fMmsPriceOne );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%10d"),pData->lMmsUsed );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%10d"),pData->lMmsTotal );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%.2f"),pData->fMmsJFTotal );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T(" %d/%d"),pData->lAddedCorp,pData->lAddCorpCount );
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%04d.%02d.%02d") , pData->tLoginTime.wYear,pData->tLoginTime.wMonth,pData->tLoginTime.wDay);
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%04d.%02d.%02d") , pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay);
m_wndList.SetItemText(i,lTemp++,strTemp);
#endif
strTemp.Format( _T("%04d.%02d.%02d") , pData->tOvrTime.wYear,pData->tOvrTime.wMonth,pData->tOvrTime.wDay);
m_wndList.SetItemText(i,lTemp++,strTemp);
m_wndList.SetItemText(i,lTemp++,GetName_YWY(pData->lYWYID));
#ifndef SMSMANAGER_KF
strTemp.Format( _T("%04d.%02d.%02d") , pData->lHT_Send.lYear,pData->lHT_Send.lMon,pData->lHT_Send.lDay);
m_wndList.SetItemText(i,lTemp++,strTemp);
strTemp.Format( _T("%04d.%02d.%02d") , pData->lHT_Recv.lYear,pData->lHT_Recv.lMon,pData->lHT_Recv.lDay);
m_wndList.SetItemText(i,lTemp++,strTemp);
#endif
//Åж϶ÌÐÅÁ¿
long lSmsFZ = pData->lSmUsed;
if (lSmsFZ <= 0) lSmsFZ = 2000;
long lIconIndex = 0;
CString strNotify;
if (long(pData->fUsed*10.0f) <= lSmsFZ)
{
lIconIndex = 3;
strNotify = _T("¶ÌÐÅÁ¿µÍ");
}
if (long(pData->fUsed*10.0f) <= lSmsFZ / 2) //¶ÌÐÅÁ¿¼«¶È²»×ã
{
lIconIndex = 4;
strNotify = _T("¶ÌÐÅÁ¿¼«µÍ");
}
//ÅжϹýÆÚ
CString strNotify2;
long lIconIndex2 = 0;
COleDateTime tOvr(pData->tOvrTime);
if (tOvr.GetStatus() == COleDateTime::valid)
{
if (tOvr - COleDateTime::GetCurrentTime() < COleDateTimeSpan(30 * 3, 0, 0, 0)) //¿ì¹ýÆÚ
{
lIconIndex2 = 3;
strNotify2 = _T("¿ì¹ýÆÚ");
}
if (tOvr <= COleDateTime::GetCurrentTime()) //ÒѹýÆÚ
{
lIconIndex2 = 4;
strNotify2 = _T("ÒѹýÆÚ");
}
if (lIconIndex2 > lIconIndex) lIconIndex = lIconIndex2;
if (strNotify2.GetLength() > 0)
{
if (strNotify.GetLength() > 0)
strNotify = strNotify + CString(_T("£»")) + strNotify2;
else
strNotify = strNotify2;
}
}
strNotify2 = CString(_T(""));
lIconIndex2 = 0;
COleDateTime tUser(pData->tLoginTime);
if (tUser.GetStatus() != COleDateTime::valid)
tUser = COleDateTime(pData->tCreateTime);
if (tUser.GetStatus() == COleDateTime::valid)
{
COleDateTimeSpan tTemp = COleDateTime::GetCurrentTime() - tUser;
long lMon = tTemp.GetTotalDays() / 30;
if (lMon >= 3)
{
lIconIndex2 = 4;
strNotify2.Format(_T("³¬%dÔÂûµÇ¼"), lMon);
}
else
if (lMon >= 1)
{
lIconIndex2 = 3;
strNotify2.Format(_T("³¬%dÔÂûµÇ¼"), lMon);
}
if (lIconIndex2 > lIconIndex) lIconIndex = lIconIndex2;
if (strNotify2.GetLength() > 0)
{
if (strNotify.GetLength() > 0)
strNotify = strNotify + CString(_T("£»")) + strNotify2;
else
strNotify = strNotify2;
}
}
//ÉèÖþ¯¸æÍ¼±ê
if (pData->lStatus != 1 && lIconIndex > 0)
m_wndList.SetIconIndex(i, lIconIndex);
//ÏÔʾÌáʾÐÅÏ¢
m_wndList.SetItemText(i, lTemp++, strNotify);
dUsed += pData->fUsed;
dTotal += pData->fTotal;
i++;
}
}
}
#ifndef SMSMANAGER_KF
m_wndList.InsertItem(i,_T(""),5 );
m_wndList.SetItemData(i,-1);
i++;
m_wndList.InsertItem(i,_T("ºÏ¼Æ"),5);
m_wndList.SetItemText(i,1,_T(""));
m_wndList.SetItemData(i,-1);
TCHAR Buf[64]={0};
_stprintf( Buf,_T("%I64d"),(LONGLONG)(dUsed*10.0f) );
m_wndList.SetItemText(i,4,Buf);
_stprintf( Buf,_T("%I64d"),(LONGLONG)(dTotal*10.0f) );
m_wndList.SetItemText(i,6,Buf);
#endif
m_wndList.ShowWindow(SW_SHOW);
}
CString CK_Agent::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;
}
void CK_Agent::On_User_Oper_TCPer()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
DLG_Corp_Open_ChangeA dlg(this);
dlg.SetParam(*pData,59); //¸ü¸ÄÌá³É±ÈÀý
if ( dlg.DoModal() == IDOK && pData->lTCPer!=dlg.m_AgentData.lTCPer )
{
long lCount=m_wndList.GetSelectedItemCount();
long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1);
BYTE * pDataRet = new BYTE[lSize];
memset(pDataRet , 0 , lSize );
REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet;
REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add));
pAdd->lCorpCount = lCount-1;
_tcscpy(pAdd->data.szOperName , dlg.m_strOperName );
pAdd->data.lCorpID = pData->lAgentID;
pAdd->data.lUserType=1 ; //ÆóÒµ²Ù×÷
pAdd->data.lOperType=59; //¸ü¸ÄÌá³É±ÈÀý
_tcscpy( pAdd->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd->data.szOperMsg, _T("%d ->%d "),pData->lTCPer,dlg.m_AgentData.lTCPer);
pAdd->lAddressCount = dlg.m_AgentData.lTCPer; //ÐèÒª¸ÄµÄÊý¾Ý
for ( int i=0 ; i<pAdd->lCorpCount ; i++ )
{
lItem = m_wndList.GetFirstSelectedItem(lItem);
if ( lItem >=0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext( pos );
if ( pData )
{
_tcscpy(pAdd2->data.szOperName , dlg.m_strOperName );
pAdd2->data.lCorpID = pData->lAgentID;
pAdd2->data.lUserType=1 ; //ÆóÒµ²Ù×÷
pAdd2->data.lOperType=59; //¸ü¸ÄÌá³É±ÈÀý
_tcscpy( pAdd2->data.szBZ , dlg.m_strBZ );
_stprintf(pAdd2->data.szOperMsg, _T("%d ->%d "),pData->lTCPer,dlg.m_AgentData.lTCPer);
pAdd2->lAddressCount = dlg.m_AgentData.lTCPer; //ÐèÒª¸ÄµÄÊý¾Ý
}
}
pAdd2 ++;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //È¡ÁªÏµÈËÐÅÏ¢
}
}
BOOL CK_Agent::ProcessSocket(Socket_Head_Add *pHead,BYTE* pFrame)
{
CString strTemp;
CString str;
//²é¿´Ö§¸¶¼Ç¼
if (pHead->lFuncType == SMSFUNC_AGENT_MMSPAY)
{
ANS_Agent_MmsPay * pPay = (ANS_Agent_MmsPay *)pFrame;
ANS_Agent_MmsPayData * pData= (ANS_Agent_MmsPayData *)(pFrame+sizeof(ANS_Agent_MmsPay));
ANS_Corp_MemberData * pMemberData= (ANS_Corp_MemberData *)(pFrame+sizeof(ANS_Agent_MmsPay)+sizeof(ANS_Agent_MmsPayData)*pPay->lCount);
if ( pPay->lCount < 0 ) //ȨÏÞ²»×㣬·µ»Ø´íÎó
return true;
#ifndef SMSCENTER_NX
if ( pHead->lFrameLen == sizeof(ANS_Agent_MmsPay)+sizeof(ANS_Agent_MmsPayData)*pPay->lCount+sizeof(ANS_Corp_MemberData)*pPay->lMemberCount+sizeof(ANS_Agent_Exp) ) //´øÀ©Õ¹Í·µÄ
{
ANS_Agent_Exp * pExp = (ANS_Agent_Exp *)(pFrame+sizeof(ANS_Agent_MmsPay)+sizeof(ANS_Agent_MmsPayData)*pPay->lCount+sizeof(ANS_Corp_MemberData)*pPay->lMemberCount);
if ( pExp->lExpID == CORP_AGENT_EXP_ID&& !pExp->bOK)
{
str.Format(_T("%sȱÒÔÏÂ×ÊÁÏ£¬½¨Ò鲹ȫºóÔÙ³äÖµ£¬ÊÇ·ñ¼ÌÐø£¿\r\n%s") , pPay->szAgentName,pExp->szNoData);
int iRet=MessageBox(str,_T("Ìáʾ") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2);
if ( iRet != IDYES )
{
return true;
}
}
}
#endif
//È¡Óû§ÀàÐÍ
POSITION pos = (POSITION)m_wndList.GetItemData(pPay->lItem);
ANS_Agent_SeeData * pDataC = m_Agent.GetNext( pos );
if ( !pDataC )
return true;
DLG_Agent_MmsPay dlg(this);
dlg.SetParam( *pPay , pData , pMemberData,*pDataC );
dlg.m_bSOS = this->m_pMainFrame->m_bSOS;
dlg.m_pMainFrame = this->m_pMainFrame;
if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0 )
{
long lSize = sizeof(REQ_Agent_MmsPayModify) + sizeof(ANS_Agent_MmsPayData)*dlg.m_lModifyCount;
BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize );
REQ_Agent_MmsPayModify * pModifySend = (REQ_Agent_MmsPayModify*)pDataSend;
ANS_Agent_MmsPayData * pPaySend = (ANS_Agent_MmsPayData *)(pDataSend+sizeof(REQ_Agent_MmsPayModify));
pModifySend->lAgentID = pPay->lAgentID;
pModifySend->lItem = pPay->lItem;
pModifySend->lTotal = dlg.m_PayReq.lTotal; //È¡µÃÐ޸ĺóµÄ×ܶî
pModifySend->lUsed= dlg.m_PayReq.lUsed;
pModifySend->fJFTotal= dlg.m_PayReq.fJFTotal;
pModifySend->lCount = dlg.m_lModifyCount;
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
ANS_Agent_MmsPayData * pPayTemp;
while (!dlg.m_Pay.IsEmpty())
{
pPayTemp = dlg.m_Pay.GetHead();
dlg.m_Pay.RemoveHead();
if (pPayTemp->ucStatus != 0 ) //²»Îª0,ÐèÒªÐÞ¸Ä
{
*pPaySend = *pPayTemp;
if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY,false) ) //²»ÊDzÆÎñ£¬²»ÄÜÖÃÓ¦ÊÕʱ¼ä
{
memset(&pPaySend->tYSTime,0,sizeof(pPaySend->tYSTime));
}
pPaySend ++;
}
delete pPayTemp;
}
m_pMainFrame->SendFrame( SMSFUNC_AGENT_MMSPAYMODIFY , pDataSend , lSize );
}
else
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
ANS_Agent_MmsPayData * pPayTemp;
while (!dlg.m_Pay.IsEmpty())
{
pPayTemp = dlg.m_Pay.GetHead();
dlg.m_Pay.RemoveHead();
delete pPayTemp;
}
}
return true;
}
//³äÖµ¼Ç¼ÐÞ¸Ä
if (pHead->lFuncType == SMSFUNC_AGENT_MMSPAYMODIFY)
{
ANS_Agent_MmsPayModify* pModify = (ANS_Agent_MmsPayModify*)pFrame;
ANS_Agent_MmsPayData * pData = (ANS_Agent_MmsPayData *)(pFrame+sizeof(ANS_Agent_MmsPayModify));
if ( pModify->lCount == -12 )
{
MessageBox( _T("Ìí¼Ó¶ÌÐÅʧ°Ü£¬ÄãµÄÐÅÓÃÓà¶î²»×㣡") , _T("´íÎó") , MB_ICONWARNING );
return true;
}
if ( pModify->lCount<0 )
{
MessageBox( _T("Ìí¼Ó¶ÌÐÅʧ°Ü£¬Î´ÖªÔ­Òò£¡") , _T("´íÎó") , MB_ICONWARNING );
return true;
}
if ( pModify->lItem >= 0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(pModify->lItem);
ANS_Agent_SeeData * pData2 = m_Agent.GetNext( pos );
if ( pData2 )
{
pData2->lMmsTotal = pModify->lTotal;
pData2->lMmsUsed = pModify->lUsed;
pData2->fMmsJFTotal = pModify->fJFTotal;
strTemp.Format( _T("%10d"),pData2->lMmsUsed );
m_wndList.SetItemText(pModify->lItem,9,strTemp);
strTemp.Format( _T("%10d"),pData2->lMmsTotal );
m_wndList.SetItemText(pModify->lItem,10,strTemp);
strTemp.Format( _T("%.2f"),pData2->fMmsJFTotal );
m_wndList.SetItemText(pModify->lItem,11,strTemp);
}
}
return true;
}
//²é¿´ÁªÏµÈË
if (pHead->lFuncType == SMSFUNC_CORP_FP)
{
ANS_Corp_FP * pFP = (ANS_Corp_FP *)pFrame;
if (pFP->lCount < 0) //ȨÏÞ²»×ã
return true;
ANS_Corp_FPData * pData= (ANS_Corp_FPData *)(pFrame+sizeof(ANS_Corp_FP));
ANS_Corp_LXR_YWYData * pYWYData = (ANS_Corp_LXR_YWYData *)(pFrame + sizeof(ANS_Corp_FP) + sizeof(ANS_Corp_FPData)*pFP->lCount);
DLG_Corp_FP dlg(this);
m_pFPDlg = &dlg;
dlg.SetParam( *pFP , pData,1, pYWYData); //ÆóÒµÀàÐÍΪ:1(´úÀí)
if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0)
{
long lSize = sizeof(REQ_Corp_FPModify) + sizeof(ANS_Corp_FPData)*dlg.m_lModifyCount;
BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize );
REQ_Corp_FPModify * pModifySend = (REQ_Corp_FPModify*)pDataSend;
ANS_Corp_FPData * pFPSend = (ANS_Corp_FPData *)(pDataSend+sizeof(REQ_Corp_FPModify));
pModifySend->lCorpID= pFP->lCorpID;
pModifySend->lCount = dlg.m_lModifyCount;
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
ANS_Corp_FPData * pFPTemp;
while (!dlg.m_FP.IsEmpty())
{
pFPTemp = dlg.m_FP.GetHead();
//pFPTemp->lCorpType = 0; //Ç¿ÖÆÉèÖÃÆóÒµÀàÐÍΪ:0(ÆóÒµ)
dlg.m_FP.RemoveHead();
if (pFPTemp->ucStatus != 0 ) //²»Îª0,ÐèÒªÐÞ¸Ä
{
*pFPSend = *pFPTemp;
pFPSend ++;
}
delete pFPTemp;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_FPMODIFY , pDataSend , lSize );
}
else
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
ANS_Corp_FPData * pFPTemp;
while (!dlg.m_FP.IsEmpty())
{
pFPTemp = dlg.m_FP.GetHead();
dlg.m_FP.RemoveHead();
delete pFPTemp;
}
}
m_pFPDlg = NULL;
return true;
}
//ÁªÏµÈËÐÞ¸Ä
if (pHead->lFuncType == SMSFUNC_CORP_FPMODIFY)
{
return true;
}
if (pHead->lFuncType == SMSFUNC_CORP_SF_SEE)
{
ANS_Corp_SF_See * pSFSee = (ANS_Corp_SF_See *)pFrame;
if (pSFSee->lCount < 0) //ȨÏÞ²»×ã
return true;
ANS_Corp_SFData * pData = (ANS_Corp_SFData *)(pFrame + sizeof(ANS_Corp_SF_See));
ANS_Corp_LXR_YWYData * pYWYData = (ANS_Corp_LXR_YWYData *)(pFrame + sizeof(ANS_Corp_LXR) + sizeof(ANS_Corp_LXRData)*pSFSee->lCount);
DLG_Corp_SF dlg(this);
dlg.SetParam(pSFSee, pData, pYWYData); //ÆóÒµÀàÐÍΪ:0(ÆóÒµ)
m_pSFDlg = &dlg;
dlg.DoModal();
m_pSFDlg = NULL;
return true;
}
if (pHead->lFuncType == SMSFUNC_CORP_SF_ADD ||
pHead->lFuncType == SMSFUNC_CORP_SF_CANCEL ||
pHead->lFuncType == SMSFUNC_CORP_SF_ROUTE)
{
if (m_pLXRDlg)
{
m_pLXRDlg->ProcessSocket(pHead, pFrame);
}
if (m_pFPDlg)
{
m_pFPDlg->ProcessSocket(pHead, pFrame);
}
if (m_pSFDlg)
{
m_pSFDlg->ProcessSocket(pHead, pFrame);
}
return true;
}
if (pHead->lFuncType == SMSFUNC_CORP_ANALYSE)
{
if (m_pAnalyseDlg)
{
m_pAnalyseDlg->ProcessSocket(pHead, pFrame);
}
return true;
}
//ÑÓÆÚ
if (pHead->lFuncType == SMSFUNC_CORP_ASSIST_EXPIRY)
{
ANS_Corp_Assist_Expiry* pAns = (ANS_Corp_Assist_Expiry*)pFrame;
if (pAns->iErrCode == 0) //³É¹¦
{
str.Format(_T("ÆóÒµÑÓÆÚ³É¹¦£¬ÐµĹýÆÚÈÕΪ£º%04d.%02d.%02d\r\nÇëË¢ÐÂÊý¾ÝÑéÖ¤£¡"), pAns->req.tNewOvrTime.wYear, pAns->req.tNewOvrTime.wMonth, pAns->req.tNewOvrTime.wDay);
MessageBox(str, _T("³É¹¦"), MB_ICONINFORMATION);
POSITION pos = (POSITION)m_wndList.GetItemData(pAns->req.lItem);
ANS_Agent_SeeData* pData2 = m_Agent.GetNext(pos);
if (pData2)
{
pData2->tOvrTime = pAns->req.tNewOvrTime; //ÉèÖÃеĹýÆÚʱ¼ä
}
}
else
{
str.Format(_T("ÆóÒµÑÓÆÚʧ°Ü£º%s"), pAns->szErrMsg);
MessageBox(str, _T("´íÎó"), MB_ICONERROR);
}
return true;
}
//È¡ÆóÒµÐÅÏ¢
if (pHead->lFuncType == SMSFUNC_CORP_ASSIST_GETCORP)
{
if (m_pTransferDlg)
{
m_pTransferDlg->ProcessSocket(pHead, pFrame);
}
return true;
}
//×ªÒÆ¶Ì²ÊÐÅ
if (pHead->lFuncType == SMSFUNC_CORP_ASSIST_TRANSFER)
{
ANS_Corp_Assist_Transfer * pAns = (ANS_Corp_Assist_Transfer*)pFrame;
if (pAns->iErrCode == 0) //³É¹¦
{
str.Format(_T("×ªÒÆ¶Ì/²ÊÐųɹ¦£¬¹²×ªÒÆ%dÌõ£¬%d - > %d £¡"), pAns->req.lSQuantity, pAns->req.lSCorpID, pAns->req.lTCorpID);
MessageBox(str, _T("³É¹¦"), MB_ICONINFORMATION);
POSITION pos = (POSITION)m_wndList.GetItemData(pAns->req.lItem);
ANS_Agent_SeeData* pData2 = m_Agent.GetNext(pos);
if (pData2)
{
if (pAns->req.lSCorpID == pData2->lAgentID)
{
if (pAns->req.lSProduct == 0)
pData2->fUsed = pData2->fUsed - ((float)pAns->req.lSQuantity / 10.0f);
else
pData2->lMmsUsed = pData2->lMmsUsed - pAns->req.lSQuantity;
}
}
}
else
{
str.Format(_T("×ªÒÆ¶Ì/²ÊÐÅÁ¿Ê§°Ü£º%s"), pAns->szErrMsg);
MessageBox(str, _T("´íÎó"), MB_ICONERROR);
}
return true;
}
//¹ýÆÚ»ØÊÕ£¬È¡ÆóÒµÐÅÏ¢
if (pHead->lFuncType == SMSFUNC_CORP_ASSIST_EXPIRYRECYCLING_GET)
{
ANS_Corp_Assist_ExpiryRecycling_Get* pAns = (ANS_Corp_Assist_ExpiryRecycling_Get*)pFrame;
if (pAns->iErrCode == 0) //³É¹¦
{
DLG_Corp_ExpiryRecycling dlg(this);
dlg.SetData(pAns, 1); //ÉèÖÃÊý¾Ý£¬´úÀíÉ̿ͻ§
if (dlg.DoModal() == IDOK)
{
REQ_Corp_Assist_ExpiryRecycling* pRecycling = new REQ_Corp_Assist_ExpiryRecycling;
memset(pRecycling, 0, sizeof(REQ_Corp_Assist_ExpiryRecycling));
pRecycling->lItem = pAns->req.lItem;
pRecycling->lCorpID = pAns->req.lCorpID;
pRecycling->lUserType = 1; //0ÖÕ¶Ë£¬1-´úÀíÉÌ
pRecycling->lRecyclingSmsCount = dlg.m_lSmsRecyclingCount;
pRecycling->lRecyclingMmsCount = dlg.m_lMmsRecyclingCount;
_tcscpy(pRecycling->szBZ, dlg.m_strBZ);
GetLocalTime(&pRecycling->tLocalTime);
m_pMainFrame->SendFrame(SMSFUNC_CORP_ASSIST_EXPIRYRECYCLING, (BYTE*)pRecycling, sizeof(REQ_Corp_Assist_ExpiryRecycling)); //È¡ÁªÏµÈËÐÅÏ¢
}
}
else
{
str.Format(_T("´úÀíÉ̹ýÆÚ»ØÊÕʧ°Ü£º%s"), pAns->szErrMsg);
MessageBox(str, _T("´íÎó"), MB_ICONERROR);
}
return true;
}
//¹ýÆÚ»ØÊÕ
if (pHead->lFuncType == SMSFUNC_CORP_ASSIST_EXPIRYRECYCLING)
{
ANS_Corp_Assist_ExpiryRecycling* pAns = (ANS_Corp_Assist_ExpiryRecycling*)pFrame;
if (pAns->iErrCode == 0) //³É¹¦
{
str.Format(_T("´úÀíÉ̹ýÆÚ»ØÊճɹ¦£¡£¡\r\nÇëË¢ÐÂÊý¾ÝÑéÖ¤£¡"));
MessageBox(str, _T("³É¹¦"), MB_ICONINFORMATION);
POSITION pos = (POSITION)m_wndList.GetItemData(pAns->req.lItem);
ANS_Agent_SeeData* pData2 = m_Agent.GetNext(pos);
if (pData2)
{
pData2->fUsed = (double)pAns->lSmsBalance/10.0f; //ÉèÖÃеĶÌÐÅÓà¶î
pData2->lMmsUsed = pAns->lMmsBalance; //ÉèÖÃеĶÌÐÅÓà¶î
//pData2->lTotalSms = pData2->lTotalSms - pAns->req.lRecyclingSmsCount; //×ܶÌÐÅÁ¿
pData2->lMmsTotal = pData2->lMmsTotal - pAns->req.lRecyclingMmsCount; //×ܲÊÐÅÁ¿
}
}
else
{
str.Format(_T("´úÀíÉ̹ýÆÚ»ØÊÕʧ°Ü£º%s"), pAns->szErrMsg);
MessageBox(str, _T("´íÎó"), MB_ICONERROR);
}
return true;
}
return false;
}
void CK_Agent::On_Agent_QueryBackAgent()
{
CString strFind;
m_E_AgentID.GetWindowText(strFind);
if (!m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE, false))
{
if (_ttol(strFind) < 100000 || _ttol(strFind) > 900000)
{
#ifdef SMSMANAGER_KF
if (strFind.GetLength() < 2)
#else
#ifndef SMSCENTER_ADC
if (strFind.GetLength() < 4)
#else
if (false)
#endif
#endif
{
MessageBox(_T("²éѯÊäÈëµÄÄÚÈݹýÉÙ£¬ÇëÖØÊ䣡"), _T("´íÎó"), MB_ICONWARNING);
GetDlgItem(IDC_AGENT_AGENTID)->SetFocus();
return;
}
}
}
REQ_Agent_See3 * pSee = new REQ_Agent_See3;
memset(pSee, 0, sizeof(REQ_Agent_See3));
_tcscpy(pSee->szQuery, strFind);
pSee->lQueryType = 3; //²éѯÒÑÏú»§Êý¾Ý
m_lQueryType2 = 3; //²éѯÒÑÏú»§Êý¾Ý
m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE3, (BYTE*)pSee, sizeof(REQ_Agent_See3)); //È¡ÆóÒµÐÅÏ¢
return;
}
void CK_Agent::On_Agent_Analyse()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_FILT))
{
return;
}
long lItem = GetCurrentSelected();
if (lItem < 0)
return;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData * pData = m_Agent.GetNext(pos);
if (!pData)
return;
m_bModify = false;
DLG_Corp_Analyse dlg(this);
dlg.SetParam(this->m_pMainFrame, pData->lAgentID, 1, lItem, pData->szName);
this->m_pAnalyseDlg = &dlg;
dlg.DoModal();
m_pAnalyseDlg = NULL;
}
void CK_Agent::On_User_Assist_Extension()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY))
{
return;
}
long lItem = GetCurrentSelected();
if (lItem < 0)
return;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData* pData = m_Agent.GetNext(pos);
if (pData->lAgentID <= 0)
return;
CString strYWY = GetName_YWY(pData->lYWYID);
DLG_Corp_Extension dlg(this);
dlg.SetData(pData->lAgentID,pData->szName, strYWY, pData->tOvrTime, 1); //ÉèÖÃÊý¾Ý£¬ÆóÒµÃû³Æ£¬¿Í»§¾­Àí£¬¹ýÆÚʱ¼ä£¬Öն˿ͻ§
if (dlg.DoModal() == IDOK)
{
REQ_Corp_Assist_Expiry* pExpiry = new REQ_Corp_Assist_Expiry;
memset(pExpiry, 0, sizeof(REQ_Corp_Assist_Expiry));
pExpiry->lItem = lItem;
pExpiry->lCorpID = pData->lAgentID;
pExpiry->lType = 1; //0ÖÕ¶Ë£¬1-´úÀíÉÌ
GetLocalTime(&pExpiry->tLocalTime);
pExpiry->tNewOvrTime = dlg.GetData();
_tcscpy(pExpiry->szBZ, dlg.m_strBZ);
m_pMainFrame->SendFrame(SMSFUNC_CORP_ASSIST_EXPIRY, (BYTE*)pExpiry, sizeof(REQ_Corp_Assist_Expiry)); //È¡ÁªÏµÈËÐÅÏ¢
}
}
void CK_Agent::On_User_Assist_SmsTransfer()
{
On_User_Assist_Transfer(0, 0);
}
void CK_Agent::On_User_Assist_MmsTransfer()
{
On_User_Assist_Transfer(1, 1);
}
void CK_Agent::On_User_Assist_SmsMmsTransfer()
{
On_User_Assist_Transfer(0, 1);
}
void CK_Agent::On_User_Assist_Transfer(long lSProduct, long lTProduct)
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY))
{
return;
}
long lItem = GetCurrentSelected();
if (lItem < 0)
return;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData* pData = m_Agent.GetNext(pos);
if (!pData)
return;
DLG_Corp_Transfer dlg(this);
dlg.SetParam(this->m_pMainFrame, lItem, pData->lAgentID, 1/*´úÀíÉÌ*/, lSProduct, lTProduct);
this->m_pTransferDlg = &dlg;
int iRet = dlg.DoModal();
m_pTransferDlg = NULL;
if (iRet == IDOK) //·¢ËͽøÐÐ×ªÒÆ²Ù×÷
{
}
}
void CK_Agent::On_User_Assist_ExpiryRecycling()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY))
{
return;
}
long lItem = GetCurrentSelected();
if (lItem < 0)
return;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
ANS_Agent_SeeData* pData = m_Agent.GetNext(pos);
if (!pData)
return;
REQ_Corp_Assist_ExpiryRecycling_Get* pExpiry = new REQ_Corp_Assist_ExpiryRecycling_Get;
memset(pExpiry, 0, sizeof(REQ_Corp_Assist_ExpiryRecycling_Get));
pExpiry->lItem = lItem;
pExpiry->lCorpID = pData->lAgentID;
pExpiry->lUserType = 1; //0ÖÕ¶Ë£¬1-´úÀíÉÌ
GetLocalTime(&pExpiry->tLocalTime);
m_pMainFrame->SendFrame(SMSFUNC_CORP_ASSIST_EXPIRYRECYCLING_GET, (BYTE*)pExpiry, sizeof(REQ_Corp_Assist_ExpiryRecycling_Get)); //È¡ÁªÏµÈËÐÅÏ¢
}