// 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;��ͬ�ij�,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��ͬ�IJſ�ɾ�� { 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(" ���IJ��ŵ��� ") ); 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;//�dz�ֵ 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;//�dz�ֵ 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;//�dz�ֵ 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; //���ĺ�ͬ�ij�ʱ�� _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; //���ĺ�ͬ�ij�ʱ�� _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)); //ȡ��ϵ����Ϣ }