// UserDlg.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "UserDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CUserDlg dialog #include "MainFrm.h" #include "SmsManagerDoc.h" #include "UserView.h" #include "ProcessSocket.h" #include "DLG_Corp_Modify.h" #include "DLG_Corp_LXR.h" #include "DLG_Corp_FP.h" #include "DLG_Corp_HLH.h" #include "DLG_Corp_Pay.h" #include "DLG_Mms_Pay.h" #include "DLG_Corp_User.h" #include "DLG_User_Find.h" #include "DLG_Corp_BZ.h" #include "DLG_Corp_Oper.h" #include "DLG_Corp_Oper_Change.h" #include "DLG_Corp_SF.h" #include "DLG_Corp_User_Modify.h" CUserDlg::CUserDlg(CWnd* pParent /*=NULL*/) : CDialog(CUserDlg::IDD, pParent) { //{{AFX_DATA_INIT(CUserDlg) //}}AFX_DATA_INIT m_bInit = false; m_bRefresh = false; m_bModify = true; m_bAddCorp = false; m_lQueryAgentID = 0; m_lShowUserType = 0; m_lBZType = 0; m_lItem_SmsUsed = 6; m_lItem_Total = 8; m_lItem_MmsUsed = 9; m_lItem_MmsTotal = 11; m_lItem_Frequency = 0; m_tServerTime = COleDateTime::GetCurrentTime(); m_pFPDlg = NULL; m_pSFDlg = NULL; m_pAnalyseDlg = NULL; m_pDlgCorpModify = NULL; m_pDlgCorpUser = NULL; } void CUserDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CUserDlg) DDX_Control(pDX, IDC_USER_YWY, m_L_YWY); DDX_Control(pDX, IDC_USER_STATUS, m_L_Status); DDX_Control(pDX, IDC_USER_CHARGETYPE, m_L_ChargeType); DDX_Control(pDX, IDC_USER_CREATEUSER, m_L_CreateUser); DDX_Control(pDX, IDC_USER_AGENT, m_L_Agent); DDX_Control(pDX, IDC_USER_CORPID, m_E_CorpID); DDX_Control(pDX, IDC_USER_S1, m_S_S1); DDX_Control(pDX, IDC_USER_LIST, m_wndList); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CUserDlg, CDialog) //{{AFX_MSG_MAP(CUserDlg) ON_WM_SIZE() ON_NOTIFY(NM_DBLCLK, IDC_USER_LIST, OnDblclkUserList) ON_NOTIFY(NM_RCLICK, IDC_USER_LIST, OnRclickUserList) ON_BN_CLICKED(IDC_USER_QUERY, OnUserQuery) ON_CBN_SELCHANGE(IDC_USER_AGENT, OnSelchangeUserAgent) ON_CBN_SELCHANGE(IDC_USER_CHARGETYPE, OnSelchangeUserChargetype) ON_CBN_SELCHANGE(IDC_USER_STATUS, OnSelchangeUserStatus) ON_CBN_SELCHANGE(IDC_USER_CREATEUSER, OnSelchangeUserCreateuser) ON_CBN_SELCHANGE(IDC_USER_YWY, OnSelchangeUserYwy) //}}AFX_MSG_MAP ON_COMMAND( MENU_CORP_ADD , On_User_Add) ON_COMMAND( MENU_CORP_MODIFY , On_User_Modify) ON_COMMAND( MENU_CORP_DEL , On_User_Del) ON_COMMAND( MENU_CORP_LXR , On_User_LXR) ON_COMMAND(MENU_CORP_FP , On_User_FP) ON_COMMAND(MENU_CORP_SF, On_User_SF) ON_COMMAND(MENU_CORP_ANALYSE, On_User_Analyse) ON_COMMAND(MENU_CORP_COPY, On_User_Copy) ON_COMMAND( MENU_CORP_PAY , On_User_Pay) ON_COMMAND( MENU_CORP_MMSPAY , On_User_MmsPay) ON_COMMAND( MENU_CORP_USER , On_User_User) ON_COMMAND( MENU_CORP_TAB , On_User_Tab) ON_COMMAND( MENU_CORP_LIST , On_User_List) ON_COMMAND( MENU_CORP_FIND , On_User_Find) ON_COMMAND( MENU_CORP_REFRESH, On_User_Refresh) ON_COMMAND( MENU_CORP_BZ , On_User_BZ) ON_COMMAND( MENU_CORP_HF , On_User_HF) ON_COMMAND( MENU_CORP_OPER , On_User_Oper ) ON_COMMAND( MENU_CORP_HLH , On_User_HLH ) ON_COMMAND( MENU_CORP_OPER_HTSEND , On_User_Oper_HTSend ) ON_COMMAND( MENU_CORP_OPER_HTRECV , On_User_Oper_HTRecv ) ON_COMMAND( MENU_CORP_OPER_HTOUT , On_User_Oper_HTOut ) ON_COMMAND( MENU_CORP_OPER_HTSET , On_User_Oper_HTSet ) ON_COMMAND( MENU_CORP_OPER_XYOUT , On_User_Oper_XYOut ) ON_COMMAND( MENU_CORP_OPER_XYSET , On_User_Oper_XYSet ) ON_COMMAND(MENU_CORP_HF_0, On_User_HF_0) ON_COMMAND(MENU_CORP_HF_1, On_User_HF_1) ON_COMMAND(MENU_CORP_HF_2, On_User_HF_2) ON_COMMAND(MENU_CORP_HF_3, On_User_HF_3) ON_COMMAND(MENU_CORP_HF_4, On_User_HF_4) ON_COMMAND(MENU_CORP_HF_5, On_User_HF_5) ON_COMMAND(MENU_CORP_HF_6, On_User_HF_6) ON_COMMAND(MENU_CORP_HF_9, On_User_HF_9) ON_COMMAND(MENU_CORP_HF_12, On_User_HF_12) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CUserDlg message handlers void CUserDlg::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); //m_wndList.MoveWindow( 0 , 0 , cx,cy); } } BOOL CUserDlg::OnInitDialog() { CDialog::OnInitDialog(); //取得共用参数 //CMainFrame * pFrame = static_cast ((CMainFrame *)AfxGetMainWnd()); this->GetParent()->GetParentFrame(); m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame(); m_pSocket = &m_pMainFrame->m_Socket; //初始化List m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CORP) ); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CORP_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(); #ifdef SMSCENTER_ADC #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) m_wndList.SetHeadings(_T("序号,60; 企业名称,200;企业ID,80;ADC可用,90;短信易可用,90; ADC已发,80;短信易已发,90;ADC总金额,100;短信易总金额,100;缴费类型,70;开通类型,70;最后登录,90; 移动通道,90; 联通通道,90; 电信通道,90;最后回访,90;合同寄出,90;合同回收,90;创建时间,90;积分,50;VIP类型,70;特服号,60;版本,50;最后缴费,90; 过期日,90;代理商,70; 全网,60; 短信签名,100;未用,50;金额类型,70;用户类型,70;帐号数量,70;通讯录数量,70; 提示,150;")); #else m_wndList.SetHeadings(_T("序号,60; 企业名称,200;企业ID,80;ADC可用,90;短信易可用,90; ADC已发,80;短信易已发,90;ADC总金额,100;短信易总金额,100;缴费类型,70;开通类型,70;最后登录,90;合同寄出,90;合同回收,90;创建时间,90;特服号,60;版本,50;最后缴费,90; 过期日,90; 短信签名,100;")); #endif #else #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) m_wndList.SetHeadings(_T("序号,60; 企业名称,220;企业ID,80;短信可用,110;彩信可用,110;最后登录,120; 移动通道,100; 联通通道,100; 电信通道,100;最后回访,120;回访周期,90;合同寄出,120;合同回收,120;创建时间,120;积分,60;VIP类型,80;特服号,70;特服号2,70;版本,60;最后缴费,120; 过期日,120;代理商,80; 短信签名,120;未用,60;金额类型,80;用户类型,80;帐号数量,80;通讯录数量,80;企信通,80; MAS,70; 提示,150;")); #else m_wndList.SetHeadings(_T("序号,60; 企业名称,220;企业ID,80;短信可用,110; 短信已发,110;短信总金额,110;彩信可用,110;彩信已发,110;彩信总金额,110;最后登录,120;创建时间,110;特服号,70;移动通道,110;版本,60;最后缴费,120; 过期日,120; 短信签名,120;")); #endif #endif m_wndList.SetGridLines(true); m_wndList.SetImageList(&m_Image,LVSIL_SMALL); //#if defined(SMSCENTER_ADC) && defined(MANAGER_VER_YWY) #ifdef MANAGER_VER_YWY GetDlgItem(IDC_USER_S2)->ShowWindow(SW_SHOW); GetDlgItem(IDC_USER_AGENT)->ShowWindow(SW_SHOW); #endif #ifdef SMSCENTER_ADC GetDlgItem(IDC_USER_LIST_S3)->ShowWindow(SW_SHOW); GetDlgItem(IDC_USER_CHARGETYPE)->ShowWindow(SW_SHOW); GetDlgItem(IDC_USER_LIST_S4)->ShowWindow(SW_SHOW); GetDlgItem(IDC_USER_STATUS)->ShowWindow(SW_SHOW); GetDlgItem(IDC_USER_LIST_S5)->ShowWindow(SW_SHOW); GetDlgItem(IDC_USER_CREATEUSER)->ShowWindow(SW_SHOW); m_L_ChargeType.SetCurSel(0); m_L_Status.SetCurSel(0); m_L_CreateUser.SetCurSel(0); #endif long lItem = m_L_YWY.AddString( _T("所有业务员") ); m_L_YWY.SetItemData( lItem , (DWORD)-10); m_bInit = true; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } BOOL CUserDlg::ReShow(long lUserType , BOOL bRefresh) { m_lShowUserType = lUserType; ShowWindow( SW_SHOW ); if ( bRefresh || !m_bRefresh ) { RefreshInfo(); } if ( m_bRefresh ) { ReShowUser(); } return true; } BOOL CUserDlg::ReHide() { ShowWindow( SW_HIDE ); return true; } BOOL CUserDlg::RefreshInfo() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_SEE) ) { return false; } m_bAddCorp = false; #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) if ( (m_pMainFrame->m_bYJ & AGENT_YWYMANAGER) ) { GetDlgItem(IDC_USER_S2)->ShowWindow(SW_SHOW); GetDlgItem(IDC_USER_S2)->SetWindowText( _T("业务员") ); m_L_YWY.ShowWindow(SW_SHOW); m_wndList.InsertColumn(3,_T(" 业务员") , LVCFMT_LEFT , 80 ); m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME,NULL,0); //取代理信息 } #endif #ifdef MANAGER_VER_HF m_wndList.InsertColumn(3, _T("客户经理"), LVCFMT_LEFT, 80); m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME, NULL, 0); //取代理信息 #endif #ifdef MANAGER_VER_YWY if ( !(m_pMainFrame->m_bYJ & AGENT_YWYMANAGER) ) //属于代理商的业务员 { m_pMainFrame->SendFrame(SMSFUNC_AGENT_NAME,NULL,0); //取代理信息 } else { GetDlgItem(IDC_USER_S2)->ShowWindow(SW_HIDE); GetDlgItem(IDC_USER_AGENT)->ShowWindow(SW_HIDE); } #endif #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) if ( this->m_pMainFrame->m_bSOS ) { GetDlgItem(IDC_USER_S2)->ShowWindow(SW_HIDE); GetDlgItem(IDC_USER_AGENT)->ShowWindow(SW_HIDE); //m_wndList.SetHeadings(_T("序号,60; 企业名称,200; ID,80;短信可用,80;彩信可用,80;最后登录,90; 移动通道,90; 联通通道,90; 电信通道,90;最后回访,90;合同寄出,90;合同回收,90;创建时间,90;积分,50;VIP类型,70;特服号,60;特服号2,60;版本,50;最后缴费,90; 过期日,90;代理商,70; 短信签名,100;未用,50;金额类型,70;用户类型,70;帐号数量,70;通讯录数量,70;企信通,70; MAS,60;")); //隐藏无用的数据 m_wndList.SetColumnWidth(3,0); //短信可用 m_wndList.SetColumnWidth(4,0); //彩信可用 for (int i=9;i<=28;i++ ) m_wndList.SetColumnWidth(i,0); //彩信可用 m_wndList.GetHeaderCtrl()->EnableWindow(false); } #endif On_User_Refresh(); return true; } BOOL CUserDlg::ProcessSocket(Socket_Head *pHead) { //查看企业用户信息 if (pHead->lFuncType == SMSFUNC_CORP_SEE || pHead->lFuncType == SMSFUNC_CORP_SEE2) { m_bRefresh = true; //已经刷新过 ANS_Corp_See * pSee = (ANS_Corp_See *)pHead->pFrame; ANS_Corp_SeeData * pSeeData = (ANS_Corp_SeeData *)(pHead->pFrame+sizeof(ANS_Corp_See)); m_wndList.ShowWindow(SW_HIDE); m_wndList.DeleteAllItems(); //删除原有的内容 this->Close_Corp(); int iCount=0; if (pSee->lCount == -1) { MessageBox(_T("本机时间与服务器相差过大,请修正。"), _T("错误"), MB_ICONWARNING); m_wndList.ShowWindow(SW_SHOW); return true; } COleDateTime tNow(pSee->tNow); //记录当前服务器时间 if (tNow.GetStatus() == COleDateTime::valid) m_tServerTime = tNow; else m_tServerTime = COleDateTime::GetCurrentTime(); for ( int i=0;ilCount;i++ ) { ANS_Corp_SeeData * pNewData = new ANS_Corp_SeeData; *pNewData = *pSeeData; POSITION pos = m_Corp.AddTail(pNewData); pSeeData ++; } ReShowUser(); m_wndList.ShowWindow(SW_SHOW); return true; } //取代理商信息 if (pHead->lFuncType == SMSFUNC_AGENT_NAME) { ANS_Agent_Name * pAgent = (ANS_Agent_Name *)pHead->pFrame; ANS_Agent_NameData * pData = (ANS_Agent_NameData *)(pHead->pFrame+sizeof(ANS_Agent_Name)); this->Close_Agent(); m_L_Agent.ResetContent(); long lItem; CString strTemp; POSITION pos; lItem = m_L_Agent.AddString( _T("自有用户") ); m_L_Agent.SetItemData( lItem , (DWORD)-10); for ( int i=0;ilCount;i++ ) { ANS_Agent_NameData * pNewData = new ANS_Agent_NameData; *pNewData = *pData; pos = m_Agent.AddTail(pNewData); strTemp.Format( _T("%d-%s"),pNewData->lAgentID,pNewData->szAgentName); lItem = m_L_Agent.AddString( strTemp ); //m_L_Agent.SetItemData( lItem , (DWORD)pos); m_L_Agent.SetItemData( lItem , (DWORD)pNewData->lAgentID); pData ++; } m_L_Agent.SetCurSel(0); return true; } //取业务员信息 if (pHead->lFuncType == SMSFUNC_YWY_NAME) { ANS_YWY_Name * pYWY = (ANS_YWY_Name *)pHead->pFrame; ANS_YWY_NameData * pData = (ANS_YWY_NameData *)(pHead->pFrame+sizeof(ANS_YWY_Name)); this->Close_YWY(); m_L_YWY.ResetContent(); long lItem; CString strTemp; lItem = m_L_YWY.AddString( _T("所有业务员") ); m_L_YWY.SetItemData( lItem , (DWORD)-10); for ( int i=0;ilCount;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)pos); m_L_YWY.SetItemData( lItem , (DWORD)pNewData->lYWYID); pData ++; } m_L_YWY.SetCurSel(0); return true; } //修改企业用户信息 if (pHead->lFuncType == SMSFUNC_CORP_MODIFY) { ANS_Corp_Modify * pModify = (ANS_Corp_Modify *)pHead->pFrame; ANS_Corp_SeeData * pData = (ANS_Corp_SeeData *)(pHead->pFrame+sizeof(ANS_Corp_Modify)); SetLockItem( pModify->lItem , false ); //解锁 if (pModify->lCount == -12) { MessageBox(_T("修改企业产生错误:特服号分配已满!"), _T("错误"), MB_ICONWARNING); } if (pModify->lCount == -13) { MessageBox(_T("修改企业产生错误:特服号重复!"), _T("错误"), MB_ICONWARNING); } if (pModify->lCount == -14) { MessageBox(_T("修改企业产生错误:企业名称已存在!"), _T("错误"), MB_ICONWARNING); } if (pModify->lCount == -15) { MessageBox(_T("修改企业产生错误:信用代码或其它字段不规范!"), _T("错误"), MB_ICONWARNING); } if ( pModify->lCount == 1 ) //等于1时表示修改成功 { POSITION pos = (POSITION)m_wndList.GetItemData(pModify->lItem); ANS_Corp_SeeData * pData2 = m_Corp.GetNext( pos ); if ( pData2 ) { *pData2 = *pData; //取到新的数据 //设置新的数据 m_wndList.SetIconIndex( pModify->lItem,pData->szStatus[0]-'0' ); m_wndList.SetItemText( pModify->lItem , 1 , pData->szCorpName ); #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) if ( (m_pMainFrame->m_bYJ & AGENT_YWYMANAGER) ) { m_wndList.SetItemText(pModify->lItem,3,GetName_YWY(pData->lYWYID)); } #endif } } return true; } //添加企业用户 if (pHead->lFuncType == SMSFUNC_CORP_ADD) { //添加了用户,刷新相关信息 REQ_Agent_See2 * pSee = new REQ_Agent_See2; pSee->lAgentID = m_pMainFrame->m_lUserID; m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE2,(BYTE*)(pSee),sizeof(REQ_Agent_See2) ); ANS_Corp_Add * pAdd = (ANS_Corp_Add *)pHead->pFrame; ANS_Corp_SeeData * pSeeData = (ANS_Corp_SeeData *)(pHead->pFrame+sizeof(ANS_Corp_Add)); if ( pAdd->lCount == 1 ) //等于1时表示修改成功 { long lCount = m_wndList.GetItemCount(); TCHAR Buf[32]; if ( pSeeData->bAgentModify ) _stprintf( Buf, _T("%d") , lCount +1 ); else _stprintf( Buf, _T("%d*") , lCount +1 ); //设置新的数据 int iTemp=1; m_wndList.InsertItem( lCount , Buf , pSeeData->szStatus[0]-'0' ); m_wndList.SetItemText(lCount,iTemp++,pSeeData->szCorpName); m_wndList.SetItemText(lCount,iTemp++,_itot(pSeeData->lCorpID,Buf,10)); _stprintf( Buf,_T("%8d"),pSeeData->lSMSUsed ); m_wndList.SetItemText(lCount,iTemp++,Buf); _stprintf( Buf,_T("%10d"),pSeeData->lSMSSendAll ); m_wndList.SetItemText(lCount,iTemp++,Buf); _stprintf( Buf,_T("%10.2f"),pSeeData->fTotal ); m_wndList.SetItemText(lCount,iTemp++,Buf); _stprintf( Buf,_T("%8d"),pSeeData->lMmsUsed ); m_wndList.SetItemText(lCount,iTemp++,Buf); _stprintf( Buf,_T("%10d"),pSeeData->lMmsSendAll ); m_wndList.SetItemText(lCount,iTemp++,Buf); _stprintf( Buf,_T("%10.2f"),pSeeData->fMmsTotalPay ); m_wndList.SetItemText(lCount,iTemp++,Buf); _stprintf( Buf , _T("%04d.%02d.%02d") , pSeeData->tReg.wYear,pSeeData->tReg.wMonth,pSeeData->tReg.wDay); m_wndList.SetItemText(lCount,iTemp++,Buf); ANS_Corp_SeeData * pData2 = new ANS_Corp_SeeData; *pData2 = *pSeeData; POSITION pos = m_Corp.AddTail( pData2 ); m_wndList.SetItemData( lCount, (DWORD)pos ); //如果返回的用户ID错误,则重新刷新 if ( pSeeData->lCorpID <= 0 ) { RefreshInfo(); } try { this->m_pMainFrame->m_pUserView->m_dlgUser2.SetRefresh(false); //未刷新数据,需要重新刷新 this->m_pMainFrame->m_pUserView->m_dlgPay.SetRefresh(false); //未刷新数据,需要重新刷新 this->m_pMainFrame->m_pUserView->m_dlgTab.SetRefresh(false); //未刷新数据,需要重新刷新 } catch(...) { } } if ( pAdd->lCount == -12 ) { MessageBox( _T("添加新企业产生错误:特服号分配已满!") , _T("错误") , MB_ICONWARNING ); } if (pAdd->lCount == -13) { MessageBox(_T("添加新企业产生错误:特服号重复!"), _T("错误"), MB_ICONWARNING); } if ( pAdd->lCount == -14 ) { MessageBox( _T("添加新企业产生错误:企业名称已存在!") , _T("错误") , MB_ICONWARNING ); } if (pAdd->lCount == -15) { MessageBox(_T("添加新企业产生错误:信用代码或其它字段不规范!"), _T("错误"), MB_ICONWARNING); } return true; } /* //删除企业用户 if (pHead->lFuncType == SMSFUNC_CORP_DEL) { ANS_Corp_Del * pDel = (ANS_Corp_Del *)pHead->pFrame; ANS_Corp_DelData * pDelData = (ANS_Corp_DelData *)(pHead->pFrame+sizeof(ANS_Corp_Del)); POSITION pos,pos2; ANS_Corp_SeeData * pCorpData; for ( int i = pDel->lCount-1 ; i>=0 ; i-- ) { if ( pDelData[i].lCorpID ) //删除成功 { pos = (POSITION)m_wndList.GetItemData( pDelData[i].lItem ); pos2 = pos; pCorpData = m_Corp.GetNext( pos ); if ( pCorpData->lCorpID == pDelData[i].lCorpID ) //ID相同才可删除 { delete pCorpData; //先删除数据 m_Corp.RemoveAt(pos2); //从列表中删除 m_wndList.DeleteItem(pDelData[i].lItem); //从ListCtrl中删除 } } } return true; } */ //查看联系人 if (pHead->lFuncType == SMSFUNC_CORP_LXR) { ANS_Corp_LXR * pLXR = (ANS_Corp_LXR *)pHead->pFrame; ANS_Corp_LXRData * pData= (ANS_Corp_LXRData *)(pHead->pFrame+sizeof(ANS_Corp_LXR)); if ( pLXR->lCount < 0 ) //权限不足 return true; DLG_Corp_LXR dlg(this); dlg.SetParam( *pLXR , pData,m_bModify,0 ); if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0 && m_bModify) { 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(); 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; } } return true; } //联系人修改 if (pHead->lFuncType == SMSFUNC_CORP_LXRMODIFY) { return true; } //查看支付记录 if (pHead->lFuncType == SMSFUNC_CORP_PAY) { ANS_Corp_Pay * pPay = (ANS_Corp_Pay *)pHead->pFrame; ANS_Corp_PayData * pData= (ANS_Corp_PayData *)(pHead->pFrame+sizeof(ANS_Corp_Pay)); if ( pPay->lCount < 0 ) //权限不足,返回错误 return true; DLG_Corp_Pay dlg(this); if ( m_pMainFrame->m_lType == 2 ) //超级代理商 dlg.SetParam( *pPay , pData,m_bModify,100000.0f,m_pMainFrame->m_lType, m_pMainFrame->m_bYJ, m_pMainFrame->m_lUserID); //超级代理商最多可添加10万元的短信 else dlg.SetParam( *pPay , pData,m_bModify,m_pMainFrame->m_fUsed,m_pMainFrame->m_lType, m_pMainFrame->m_bYJ, m_pMainFrame->m_lUserID); if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0 ) { #ifndef MANAGER_VER_YWY long lSize = sizeof(REQ_Corp_PayModify) + sizeof(ANS_Corp_PayData)*dlg.m_lModifyCount; BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize ); REQ_Corp_PayModify * pModifySend = (REQ_Corp_PayModify*)pDataSend; ANS_Corp_PayData * pPaySend = (ANS_Corp_PayData *)(pDataSend+sizeof(REQ_Corp_PayModify)); pModifySend->lCorpID = pPay->lCorpID; pModifySend->lItem = pPay->lItem; pModifySend->fTotal = dlg.m_PayReq.fTotal; //取得修改后的总额 pModifySend->lTotalSms= dlg.m_PayReq.lTotalSms; //取得修改后的总额 pModifySend->lSmsUsed= dlg.m_PayReq.lSmsUsed; pModifySend->lCount = dlg.m_lModifyCount; //清除队列中的内容 ANS_Corp_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->m_bTest ) pPaySend->bTest = true; pPaySend ++; } delete pPayTemp; } m_pMainFrame->SendFrame( SMSFUNC_CORP_PAYMODIFY , pDataSend , lSize ); #endif } else { //清除队列中的内容 ANS_Corp_PayData * pPayTemp; while (!dlg.m_Pay.IsEmpty()) { pPayTemp = dlg.m_Pay.GetHead(); dlg.m_Pay.RemoveHead(); delete pPayTemp; } } return true; } //缴费记录修改 if (pHead->lFuncType == SMSFUNC_CORP_PAYMODIFY) { //添加了用户,刷新相关信息 REQ_Agent_See2 * pSee = new REQ_Agent_See2; pSee->lAgentID = m_pMainFrame->m_lUserID; m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE2,(BYTE*)(pSee),sizeof(REQ_Agent_See2) ); ANS_Corp_PayModify* pModify = (ANS_Corp_PayModify*)pHead->pFrame; ANS_Corp_PayData * pData = (ANS_Corp_PayData *)(pHead->pFrame+sizeof(ANS_Corp_PayModify)); if (pModify->lCount <= 0) { MessageBox(_T("充值失败!"), _T("错误"), MB_ICONWARNING); return true; } if ( pModify->lItem >= 0 ) { TCHAR Buf[32]; POSITION pos = (POSITION)m_wndList.GetItemData(pModify->lItem); ANS_Corp_SeeData * pData2 = m_Corp.GetNext( pos ); if ( pData2 ) { pData2->fTotal = pModify->fTotal; pData2->lTotalSms = pModify->lTotalSms; pData2->lSMSUsed = pModify->lSmsUsed; _stprintf( Buf,_T("%8d"),pData2->lSMSUsed ); m_wndList.SetItemText(pModify->lItem,m_lItem_SmsUsed,Buf); _stprintf( Buf,_T("%10.2f"),pData2->fTotal ); m_wndList.SetItemText(pModify->lItem,m_lItem_Total,Buf); } } return true; } //查看用户记录 if (pHead->lFuncType == SMSFUNC_CORP_USER) { ANS_Corp_User * pUser = (ANS_Corp_User *)pHead->pFrame; ANS_Corp_UserData * pData= (ANS_Corp_UserData *)(pHead->pFrame+sizeof(ANS_Corp_User)); if ( pUser->lCount < 0 ) //权限不足,返回错误 return true; DLG_Corp_User dlg(this); m_pDlgCorpUser = &dlg; dlg.SetParam(*pUser , pData,m_bModify ); if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0) { #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) long lSize = sizeof(REQ_Corp_UserModify) + sizeof(ANS_Corp_UserData)*dlg.m_lModifyCount; BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize ); REQ_Corp_UserModify * pModifySend = (REQ_Corp_UserModify*)pDataSend; ANS_Corp_UserData * pUserSend = (ANS_Corp_UserData *)(pDataSend+sizeof(REQ_Corp_UserModify)); pModifySend->lCorpID = pUser->lCorpID; pModifySend->lCount = dlg.m_lModifyCount; //清除队列中的内容 ANS_Corp_UserData * pUserTemp; while (!dlg.m_User.IsEmpty()) { pUserTemp = dlg.m_User.GetHead(); dlg.m_User.RemoveHead(); if (pUserTemp->ucStatus != 0 ) //不为0,需要修改 { *pUserSend = *pUserTemp; pUserSend ++; } delete pUserTemp; } m_pMainFrame->SendFrame( SMSFUNC_CORP_USERMODIFY , pDataSend , lSize ); #endif } else { //清除队列中的内容 ANS_Corp_UserData * pUserTemp; while (!dlg.m_User.IsEmpty()) { pUserTemp = dlg.m_User.GetHead(); dlg.m_User.RemoveHead(); delete pUserTemp; } } m_pDlgCorpUser = NULL; return true; } //用户修改 if (pHead->lFuncType == SMSFUNC_CORP_USERMODIFY) { 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)); ANS_Corp_MemberData * pMemberDataRet = (ANS_Corp_MemberData *)(pHead->pFrame+sizeof(ANS_Corp_BZ_See)+sizeof(ANS_Corp_BZ_Data)*pSee->lCount); DLG_Corp_BZ dlg(this); dlg.SetParam(pSee , pSeeData , m_lBZType , pMemberDataRet, m_strBZTip); if ( dlg.DoModal() == IDOK ) { REQ_Corp_BZ_Add * pBZ = new REQ_Corp_BZ_Add; memset( pBZ , 0 , sizeof(REQ_Corp_BZ_Add)); pBZ->lCorpID = pSee->lCorpID; pBZ->lUserType = 0; //企业备注 pBZ->lNRType = m_lBZType; //0-备注,1-回访 #ifdef MANAGER_VER_YWY pBZ->lBZType = 1; //查业务员备注 #endif #ifdef MANAGER_VER_HF pBZ->lBZType = 2; //查业务员备注 if ( pBZ->lNRType == 1 ) //回访,记录详细信息 { _tcscpy(pBZ->szLXRName , pMemberDataRet[dlg.m_lLXRSel].szName ); _tcscpy(pBZ->szLXRMobile , pMemberDataRet[dlg.m_lLXRSel].szMobile ); pBZ->bSendSms = dlg.m_bSendSms; } #endif _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_OPER_ADD) { 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_SIGNNAME_ADD || pHead->lFuncType == SMSFUNC_CORP_FILE) { if (m_pDlgCorpModify) { m_pDlgCorpModify->ProcessSocket(pHead); } if (m_pDlgCorpUser) { m_pDlgCorpUser->ProcessSocket(pHead); } return true; } return false; } void CUserDlg::Close() { Close_Agent(); Close_Corp(); Close_YWY(); } long CUserDlg::GetCurrentSelected() { POSITION pos = m_wndList.GetFirstSelectedItemPosition(); if ( pos ) { return m_wndList.GetNextSelectedItem(pos); } return -1; } BOOL CUserDlg::isLockItem(long lItem, BOOL bShowWarning) { BOOL b = (m_wndList.GetIconIndex(lItem) == 2); if ( b && bShowWarning ) { MessageBox( _T("正录被锁定,请等待服务器返回后再操作!") , _T("锁定中") , MB_ICONINFORMATION ); } return b; } void CUserDlg::SetLockItem(long lItem, BOOL bLock) { if ( bLock ) m_wndList.SetIconIndex( lItem , 2 ); else m_wndList.SetIconIndex( lItem , 0 ); } void CUserDlg::ShowRMenu() { if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_SEE,false)) //没有查看权限 return ; //应急模式,特殊操作 #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) if ( this->m_pMainFrame->m_bSOS ) { return; } #endif CMenu menu; menu.CreatePopupMenu(); BOOL bLock = false; long lItem = this->GetCurrentSelected(); if ( lItem >= 0 ) bLock = isLockItem( lItem , false ); //取得是否正在锁定 ANS_Corp_SeeData * pData=NULL; if ( lItem>=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ( (long)pos<0 ) return ; POSITION pos2 = pos; pData = m_Corp.GetNext( pos ); } #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) #ifdef MANAGER_VER_YWY //添加 //if ( m_pMainFrame->GetUserPurview(PURVIEW_CORP_ADD,false) && // (m_pMainFrame->m_lAddedCorp < m_pMainFrame->m_lAddCorpCount) ) if ( true ) { menu.AppendMenu(MF_STRING , MENU_CORP_ADD, _T(" 添加企业用户 ") ); } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_ADD , _T(" 添加企业用户 ") ); } #endif //修改 if (lItem >=0 && !bLock) { menu.AppendMenu(MF_STRING , MENU_CORP_MODIFY, _T(" 修 改 ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_MODIFY , _T(" 修 改 ") ); } #endif #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) //添加 if ( m_pMainFrame->GetUserPurview(PURVIEW_CORP_ADD,false) && (m_pMainFrame->m_lAddedCorp < m_pMainFrame->m_lAddCorpCount) ) { menu.AppendMenu(MF_STRING , MENU_CORP_ADD, _T(" 添加企业用户 ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_ADD , _T(" 添加企业用户 ") ); } //修改 if ( m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY,false) && lItem >=0 && !bLock) { menu.AppendMenu(MF_STRING , MENU_CORP_MODIFY, _T(" 修 改 ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_MODIFY , _T(" 修 改 ") ); } #else //修改 if ( m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY,false) && lItem >=0 && !bLock) { menu.AppendMenu(MF_STRING , MENU_CORP_MODIFY, _T(" 查 看 ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_MODIFY , _T(" 查 看 ") ); } #endif /* //删除 if ( m_pMainFrame->GetUserPurview(PURVIEW_CORP_DEL,false) && lItem >=0 && !bLock ) { menu.AppendMenu(MF_STRING , MENU_CORP_DEL, _T(" 删 除 ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_DEL , _T(" 删 除 ") ); } */ /* #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) #ifdef SMSCENTER_ADC menu.AppendMenu(MF_SEPARATOR ); CMenu MenuType; MenuType.CreatePopupMenu(); MenuType.AppendMenu(MF_STRING , MENU_CORP_OPER_HTSEND , _T(" 改合同发出时间 ") ); MenuType.AppendMenu(MF_STRING , MENU_CORP_OPER_HTRECV , _T(" 改合同回收时间 ") ); if ( lItem >=0 && !bLock && pData && _tcslen(pData->szMQHTNum)>0 ) { MenuType.AppendMenu(MF_STRING , MENU_CORP_OPER_HTOUT , _T(" 作废ADC登记单号 ") ); } if ( lItem >=0 && !bLock && pData && _tcslen(pData->szMQHTNum)<=0 ) { MenuType.AppendMenu(MF_STRING , MENU_CORP_OPER_HTSET , _T(" 分配ADC登记单号 ") ); } if ( lItem >=0 && !bLock && pData && _tcslen(pData->szMQXYNum)>0 ) { MenuType.AppendMenu(MF_STRING , MENU_CORP_OPER_XYOUT , _T(" 作废ADC协议号 ") ); } if ( lItem >=0 && !bLock && pData && _tcslen(pData->szMQXYNum)<=0 ) { MenuType.AppendMenu(MF_STRING , MENU_CORP_OPER_XYSET , _T(" 分配ADC协议号 ") ); } menu.AppendMenu(MF_STRING|MF_POPUP,(UINT)MenuType.GetSafeHmenu(), _T(" ADC合同操作 ") ); #endif #endif */ #ifdef MANAGER_VER_YWY if ( !(m_pMainFrame->m_bYJ & AGENT_YWYMANAGER) ) //不属于代理商的业务员 { #endif menu.AppendMenu(MF_SEPARATOR ); //查看支付记录 if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY,false)&&lItem >=0) { #ifdef MANAGER_VER_YWY menu.AppendMenu(MF_STRING , MENU_CORP_PAY, _T(" 短信缴费记录... ") ); if ( m_pMainFrame->m_lType != 2 ) //超级代理商 menu.AppendMenu(MF_STRING , MENU_CORP_MMSPAY, _T(" 彩信缴费记录... ") ); menu.AppendMenu(MF_STRING, MENU_CORP_ANALYSE, _T(" 企业数据分析... ")); #else menu.AppendMenu(MF_STRING , MENU_CORP_PAY, _T(" 短信充值... ") ); if ( m_pMainFrame->m_lType != 2 ) //超级代理商 menu.AppendMenu(MF_STRING , MENU_CORP_MMSPAY, _T(" 彩信充值... ") ); menu.AppendMenu(MF_STRING, MENU_CORP_ANALYSE, _T(" 企业数据分析... ")); #endif } else { #ifdef MANAGER_VER_YWY menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_PAY, _T(" 短信缴费记录... ") ); if ( m_pMainFrame->m_lType != 2 ) //超级代理商 menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_MMSPAY, _T(" 彩信缴费记录... ") ); menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_CORP_ANALYSE, _T(" 企业数据分析... ")); #else menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_PAY, _T(" 短信充值... ") ); if ( m_pMainFrame->m_lType != 2 ) //超级代理商 menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_MMSPAY, _T(" 彩信充值... ") ); menu.AppendMenu(MF_STRING, MENU_CORP_ANALYSE, _T(" 企业数据分析... ")); #endif } #ifdef MANAGER_VER_YWY } #endif menu.AppendMenu(MF_SEPARATOR ); //查看联系人 if (lItem >=0) { menu.AppendMenu(MF_STRING , MENU_CORP_LXR, _T(" 联系人... ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_LXR, _T(" 联系人... ") ); } #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) if ( !(m_pMainFrame->m_bYJ & AGENT_YWYMANAGER) ) //不属于代理商的业务员 { if (lItem >=0) { #ifdef MANAGER_VER_YWY menu.AppendMenu(MF_STRING , MENU_CORP_HLH, _T(" 欢乐会... ") ); menu.AppendMenu(MF_STRING , MENU_CORP_FP, _T(" 发票抬头管理... ")); menu.AppendMenu(MF_STRING , MENU_CORP_SF, _T(" 快递寄送查询... ")); #endif menu.AppendMenu(MF_STRING , MENU_CORP_OPER, _T(" 操作记录... ") ); } else { #ifdef MANAGER_VER_YWY menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_HLH, _T(" 欢乐会... ") ); menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED , MENU_CORP_FP, _T(" 发票抬头管理... ")); menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED , MENU_CORP_SF, _T(" 快递寄送查询... ")); #endif menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_OPER, _T(" 操作记录... ") ); } } #endif //备注 if ( lItem >=0 && !bLock) { menu.AppendMenu(MF_STRING , MENU_CORP_BZ, _T(" 备注管理... ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_BZ , _T(" 备注管理... ") ); } //回访 if ( lItem >=0 && !bLock) { menu.AppendMenu(MF_STRING , MENU_CORP_HF, _T(" 回访管理... ") ); #ifdef MANAGER_VER_YWY CMenu MenuType; MenuType.CreatePopupMenu(); MenuType.AppendMenu(MF_STRING, MENU_CORP_HF_0, _T(" 无需回访 ")); MenuType.AppendMenu(MF_STRING, MENU_CORP_HF_1, _T(" 回访周期-1月 ")); MenuType.AppendMenu(MF_STRING, MENU_CORP_HF_2, _T(" 回访周期-2月 ")); MenuType.AppendMenu(MF_STRING, MENU_CORP_HF_3, _T(" 回访周期-3月 ")); MenuType.AppendMenu(MF_STRING, MENU_CORP_HF_4, _T(" 回访周期-4月 ")); MenuType.AppendMenu(MF_STRING, MENU_CORP_HF_5, _T(" 回访周期-5月 ")); MenuType.AppendMenu(MF_STRING, MENU_CORP_HF_6, _T(" 回访周期-6月 ")); MenuType.AppendMenu(MF_STRING, MENU_CORP_HF_9, _T(" 回访周期-9月 ")); MenuType.AppendMenu(MF_STRING, MENU_CORP_HF_12, _T(" 回访周期-12月 ")); CString strMenu; strMenu.Format(_T("回访周期-%d"), pData->lHF_Frequency); menu.AppendMenu(MF_STRING | MF_POPUP, (UINT)MenuType.GetSafeHmenu(), strMenu ); #endif } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_HF , _T(" 回访管理... ") ); } //#if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) #if !defined(MANAGER_VER_HF) menu.AppendMenu(MF_SEPARATOR ); //查看用户管理 if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_USER,false)&&lItem >=0) { menu.AppendMenu(MF_STRING , MENU_CORP_USER, _T(" 用户管理... ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_USER, _T(" 用户管理... ") ); } #endif /* menu.AppendMenu(MF_SEPARATOR ); //查看帐单 if (m_pMainFrame->GetUserPurview(PURVIEW_TAB,false)&&lItem >=0) { menu.AppendMenu(MF_STRING , MENU_CORP_TAB, _T(" 短信帐单查询 ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_TAB, _T(" 短信帐单查询 ") ); } //查看清单 if (m_pMainFrame->GetUserPurview(PURVIEW_LIST,false)&&lItem >=0) { menu.AppendMenu(MF_STRING , MENU_CORP_LIST, _T(" 短信清单查询 ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CORP_LIST, _T(" 短信清单查询 ") ); } */ menu.AppendMenu(MF_SEPARATOR ); menu.AppendMenu(MF_STRING , MENU_CORP_FIND, _T(" 查 找... ") ); menu.AppendMenu(MF_SEPARATOR ); //刷新 menu.AppendMenu(MF_STRING , MENU_CORP_REFRESH, _T(" 刷 新 ") ); #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, MENU_CORP_COPY, _T(" 复制选中企业 ")); #endif //显示菜单 POINT pt ; ::GetCursorPos( &pt ); //this->ClientToScreen( &pt); menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL); menu.DestroyMenu(); } BOOL CUserDlg::FindCorpName(const TCHAR *pCorpName, POSITION exPos) { POSITION pos = m_Corp.GetHeadPosition(); POSITION pos2; while (pos) { pos2 = pos; ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( pos2 != exPos ) { if ( !_tcscmp( pData->szCorpName , pCorpName ) ) return true; } } return false; } void CUserDlg::On_User_Add() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_ADD) ) { return ; } //应急模式,特殊操作 #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) if ( this->m_pMainFrame->m_bSOS ) { return; } #endif m_bAddCorp = true; //重新刷新一次,减少重复的概率。 if ( m_bAddCorp ) { m_bAddCorp = false; ANS_Corp_SeeData CorpData={0}; if ( m_pMainFrame->m_lType == 3 ) //短信通代理商 CorpData.szStatus[0] = '0'; //短信通代理商不用审核 else CorpData.szStatus[0] = '1'; //新开的,状态默认为关闭 CorpData.lFiltStep = 1000; //新开的用户默认200起通知 CorpData.lPriority = 50; CorpData.lSubDelay = 20; CorpData.lAutoTG_GL= 30; //超量自动通过时间:默认是10分钟 CorpData.bSY = false; CorpData.lKFID = m_pMainFrame->m_pUserView->m_dlgInfo.m_lKFID; CorpData.lSmUsed = 5000; //默认短信量低通知为5000 #ifdef SMSCENTER_ADC CorpData.lDayMaxSend=50000; //新开用户,默认每天最大能发送50000条短信。 #else CorpData.lDayMaxSend=10000; //新开用户,默认每天最大能发送5000条短信。 #endif if ( m_pMainFrame->m_lType == 3 ) //短信通代理商 _tcscpy(CorpData.szSMSTD,_T("222")); //全部使用第2通道 else #ifdef SMSCENTER_ADC _tcscpy(CorpData.szSMSTD,_T("000")); //移动默认使用第四通道。 #else #if defined(SMSCENTER_TWO) || defined(SMSCENTER_THREE) _tcscpy(CorpData.szSMSTD,_T("000")); //移动默认使用第四通道。 #else _tcscpy(CorpData.szSMSTD,_T("600")); //移动默认使用第四通道。 #endif #endif CorpData.lSMSSendType=111; //发送类型,默认开通所有 #ifdef MANAGER_VER_YWY CorpData.lYWYID = m_pMainFrame->m_lUserID; //业务员ID CorpData.bAgentModify = false; //允许代理商更改 #else CorpData.lAgentID = m_pMainFrame->m_lUserID; //代理商ID CorpData.bAgentModify = true; //允许代理商更改 _tcscpy(CorpData.szCM , m_pMainFrame->m_strSName ); //默认签名 #endif CorpData.lFStep = 2; //默认过滤字级别,2 CorpData.lAddressCount = DEFAULT_ADDRESS_COUNT; //默认的通讯录容量 BOOL bYWYManager=false; #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) if ( (m_pMainFrame->m_bYJ & AGENT_YWYMANAGER) ) { bYWYManager = true; } #endif #ifdef SMSCENTER_NX CorpData.szStatus[0] = '0'; //开通状态 #endif DLG_Corp_Modify dlg(this); dlg.SetParam( CorpData,0,true,true ,bYWYManager,true); if ( dlg.DoModal() == IDOK ) { long lSize = sizeof(REQ_Corp_Add)+sizeof(ANS_Corp_SeeData); BYTE * pAddData = new BYTE[lSize];memset(pAddData,0,lSize); REQ_Corp_Add * pAdd = (REQ_Corp_Add *)pAddData; //头 ANS_Corp_SeeData * pCorpData = (ANS_Corp_SeeData *)(pAddData+sizeof(REQ_Corp_Add)); *pCorpData = dlg.GetParam(); pAdd->lCount = 1; m_pMainFrame->SendFrame( SMSFUNC_CORP_ADD , pAddData , lSize ); } } //m_pMainFrame->SendFrame(SMSFUNC_CORP_SEE,NULL,0); //取企业信息 } void CUserDlg::On_User_Modify() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY) ) { return ; } //应急模式,特殊操作 #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) if ( this->m_pMainFrame->m_bSOS ) { return; } #endif long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; if (isLockItem(lItem)) { return ; } POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); BOOL bAgentModify = pData->bAgentModify; BOOL bModifyCorpName=false; if ( COleDateTime(pData->tReg).GetStatus()!=COleDateTime::valid ) //防止出错 ::GetLocalTime(&pData->tReg); #ifdef SMSCENTER_ADC //if ( pData->szStatus[0] == '1' && //状态为未启用 // (COleDateTime::GetCurrentTime()-COleDateTime(pData->tReg)) < COleDateTimeSpan(7,0,0,0) ) //开通时间小于7日才能更改企业名称 //{ if ( pData->lHT_Recv.lYear<=0 && pData->lHT_Send.lYear<=0 && //合同未寄出或未回收都可更改 ((COleDateTime::GetCurrentTime()-COleDateTime(pData->tReg)) < COleDateTimeSpan(180,0,0,0)) ) { #else if ( pData->szStatus[0] == '1' && //状态为未启用 (COleDateTime::GetCurrentTime()-COleDateTime(pData->tReg)) < COleDateTimeSpan(10,0,0,0) ) //开通时间小于7日才能更改企业名称 { #endif bModifyCorpName = true; //允许修改 } /* if ( m_pMainFrame->m_lType == 3 ) //短信通代理商 bModifyCorpName = true; //允许修改 */ if (m_tServerTime.GetStatus() == COleDateTime::valid && COleDateTime::GetCurrentTime() - m_tServerTime>COleDateTimeSpan(0,2,0,0) ) bModifyCorpName = false; //如果与服务器时间相差过大,不允许修改 BOOL bYWYManager = false; #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) if ( (m_pMainFrame->m_bYJ & AGENT_YWYMANAGER) ) { bYWYManager = true; } #endif #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) if ( !bAgentModify ) //不具备修改权限 bModifyCorpName = false; #endif #ifdef SMSCENTER_NX bModifyCorpName = true; //允许修改 #endif if (pData) { DLG_Corp_Modify dlg(this); m_pDlgCorpModify = &dlg; ANS_Corp_SeeData oldData = *pData; dlg.SetParam( *pData,pos2,bModifyCorpName,false,bYWYManager,bAgentModify); if ( dlg.DoModal() == IDOK /*&& bModifyCorpName*/ ) { if (memcmp(&oldData, &dlg.GetParam(), sizeof(ANS_Corp_SeeData)) != 0) { #ifndef MANAGER_VER_HF SetLockItem(lItem, true); long lSize = sizeof(REQ_Corp_Modify) + sizeof(ANS_Corp_SeeData); BYTE * pModifyData = new BYTE[lSize]; memset(pModifyData, 0, lSize); REQ_Corp_Modify * pModify = (REQ_Corp_Modify *)pModifyData; //头 ANS_Corp_SeeData * pCorpData = (ANS_Corp_SeeData *)(pModifyData + sizeof(REQ_Corp_Modify)); *pCorpData = dlg.GetParam(); pCorpData->bAgentModify = bAgentModify; pModify->lItem = lItem; pModify->lCount = 1; m_pMainFrame->SendFrame(SMSFUNC_CORP_MODIFY, pModifyData, lSize); #endif } } m_pDlgCorpModify = NULL; } } void CUserDlg::On_User_Del() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_DEL) ) { 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_Corp_Del)+sizeof(ANS_Corp_DelData)*lCount; BYTE * pDelSend = new BYTE[lSize];memset(pDelSend,0,lSize); REQ_Corp_Del * pDel = (REQ_Corp_Del *)pDelSend; //头 ANS_Corp_DelData * pDelData = (ANS_Corp_DelData *)(pDelSend+sizeof(REQ_Corp_Del)); pDel->lCount = lCount; POSITION pos = m_wndList.GetFirstSelectedItemPosition(); ANS_Corp_SeeData * pCorpData; POSITION pos2; while(pos) { pDelData->lItem = m_wndList.GetNextSelectedItem(pos); pos2 = (POSITION)m_wndList.GetItemData(pDelData->lItem); pCorpData = m_Corp.GetNext(pos2); //取得列表中的pos pDelData->lCorpID = pCorpData->lCorpID; pDelData ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_DEL , pDelSend , lSize ); } void CUserDlg::On_User_LXR() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY) ) { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; m_bModify = false; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); #ifdef SMSCENTER_ADC if ( COleDateTime(pData->tReg).GetStatus()!=COleDateTime::valid ) //防止出错 ::GetLocalTime(&pData->tReg); //if ( pData->szStatus[0] == '1' && //状态为未启用 // (COleDateTime::GetCurrentTime()-COleDateTime(pData->tReg)) < COleDateTimeSpan(2,0,0,0) ) //开通时间小于7日才能更改企业名称 if ( pData->lHT_Recv.lYear<=0 && pData->lHT_Send.lYear<=0 && //合同未寄出或未回收都可更改 ((COleDateTime::GetCurrentTime()-COleDateTime(pData->tReg)) < COleDateTimeSpan(180,0,0,0)) ) { m_bModify = true; //允许修改 } #else #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) //if ( pData->szStatus[0] == '1' && //状态为未启用 // ((COleDateTime::GetCurrentTime()-COleDateTime(pData->tReg)) < COleDateTimeSpan(10,0,0,0) ) ) //开通时间小于7日才能更改企业名称 //if (COleDateTime::GetCurrentTime() - COleDateTime(pData->tReg) < COleDateTimeSpan(15, 0, 0, 0) ) //开通时间小于7日才能更改企业名称 if ( true ) //允许所有修改 { m_bModify = true; } else { m_bModify = false; } if (m_tServerTime.GetStatus() == COleDateTime::valid && COleDateTime::GetCurrentTime() - m_tServerTime>COleDateTimeSpan(0, 2, 0, 0)) m_bModify = false; //如果与服务器时间相差过大,不允许修改 #else m_bModify = pData->bAgentModify; #endif #endif REQ_Corp_LXR * pLXR = new REQ_Corp_LXR; memset( pLXR , 0 , sizeof(REQ_Corp_LXR)); _tcscpy( pLXR->szCorpName , pData->szCorpName ); _tcscpy( pLXR->szSMSNum , pData->szSMSNum ); pLXR->lCorpID = pData->lCorpID; pLXR->lCorpType = 0; //查终端企业 m_pMainFrame->SendFrame( SMSFUNC_CORP_LXR , (BYTE*)pLXR , sizeof(REQ_Corp_LXR) ); //取联系人信息 } void CUserDlg::On_User_FP() { if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY)) { return; } long lItem = GetCurrentSelected(); if (lItem < 0) return; m_bModify = false; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext(pos); #ifdef SMSCENTER_ADC if (COleDateTime(pData->tReg).GetStatus() != COleDateTime::valid) //防止出错 ::GetLocalTime(&pData->tReg); //if ( pData->szStatus[0] == '1' && //状态为未启用 // (COleDateTime::GetCurrentTime()-COleDateTime(pData->tReg)) < COleDateTimeSpan(2,0,0,0) ) //开通时间小于7日才能更改企业名称 if (pData->lHT_Recv.lYear <= 0 && pData->lHT_Send.lYear <= 0 && //合同未寄出或未回收都可更改 ((COleDateTime::GetCurrentTime() - COleDateTime(pData->tReg)) < COleDateTimeSpan(180, 0, 0, 0))) { m_bModify = true; //允许修改 } if (m_tServerTime.GetStatus() == COleDateTime::valid && COleDateTime::GetCurrentTime() - m_tServerTime>COleDateTimeSpan(0, 2, 0, 0)) m_bModify = false; //如果与服务器时间相差过大,不允许修改 #else #ifdef MANAGER_VER_YWY //if (pData->szStatus[0] == '1' && //状态为未启用 // ((COleDateTime::GetCurrentTime() - COleDateTime(pData->tReg)) < COleDateTimeSpan(10, 0, 0, 0))) //开通时间小于7日才能更改企业名称 //if (COleDateTime::GetCurrentTime() - COleDateTime(pData->tReg) < COleDateTimeSpan(15, 0, 0, 0)) //开通时间小于7日才能更改企业名称 if (true) //允许客户经理做所有的修改 { m_bModify = true; } else { m_bModify = false; } #else m_bModify = pData->bAgentModify; #endif #endif REQ_Corp_FP * pFP = new REQ_Corp_FP; memset(pFP, 0, sizeof(REQ_Corp_FP)); _tcscpy(pFP->szCorpName, pData->szCorpName); _tcscpy(pFP->szSMSNum, pData->szSMSNum); _tcscpy(pFP->szAddress, pData->szAddress); _tcscpy(pFP->szPostCode, pData->szPostCode); pFP->lCorpID = pData->lCorpID; pFP->lCorpType = 0; //查终端企业 m_pMainFrame->SendFrame(SMSFUNC_CORP_FP, (BYTE*)pFP, sizeof(REQ_Corp_FP)); //取联系人信息 } void CUserDlg::On_User_Analyse() { if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY)) { return; } long lItem = GetCurrentSelected(); if (lItem < 0) return; m_bModify = false; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext(pos); if (!pData) return; DLG_Corp_Analyse dlg(this); dlg.SetParam(this->m_pMainFrame, pData->lCorpID, 0, lItem, pData->szCorpName); this->m_pAnalyseDlg = &dlg; dlg.DoModal(); m_pAnalyseDlg = NULL; } void CUserDlg::On_User_SF() { if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY)) { return; } long lItem = GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext(pos); REQ_Corp_SF_See * pSF = new REQ_Corp_SF_See; memset(pSF, 0, sizeof(REQ_Corp_SF_See)); _tcscpy(pSF->szCorpName, pData->szCorpName); _tcscpy(pSF->szSMSNum, pData->szSMSNum); _tcscpy(pSF->szAddress, pData->szAddress); _tcscpy(pSF->szPostCode, pData->szPostCode); pSF->lCorpID = pData->lCorpID; pSF->lCorpType = 0; //查终端企业 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 CUserDlg::On_User_HLH() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY) ) { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( !pData ) return ; REQ_Corp_HLH * pHLH = new REQ_Corp_HLH; memset( pHLH , 0 , sizeof(REQ_Corp_HLH)); _tcscpy( pHLH->szCorpName , pData->szCorpName ); _tcscpy( pHLH->szSMSNum , pData->szSMSNum ); pHLH->lCorpID = pData->lCorpID; m_pMainFrame->SendFrame( SMSFUNC_CORP_HLH , (BYTE*)pHLH , sizeof(REQ_Corp_HLH) ); //取欢乐汇信息 } void CUserDlg::On_User_Pay() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY) ) { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); m_bModify = pData->bAgentModify; #ifdef MANAGER_VER_YWY m_bModify = false; //业务员不允许修改 #endif REQ_Corp_Pay * pPay = new REQ_Corp_Pay; memset( pPay , 0 , sizeof(REQ_Corp_Pay)); _tcscpy( pPay->szCorpName , pData->szCorpName ); _tcscpy( pPay->szSMSNum , pData->szSMSNum ); pPay->lSmsUsed = pData->lSMSUsed; pPay->fTotal = pData->fTotal; pPay->lTotalSms= pData->lTotalSms; pPay->lCorpID = pData->lCorpID; pPay->lItem = lItem; m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY , (BYTE*)pPay , sizeof(REQ_Corp_Pay) ); //取联系人信息 } void CUserDlg::On_User_MmsPay() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY) ) { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( !pData ) return; m_bModify = pData->bAgentModify; #ifdef MANAGER_VER_YWY m_bModify = false; //业务员不允许修改 #endif REQ_Mms_Pay * pPay = new REQ_Mms_Pay; memset( pPay , 0 , sizeof(REQ_Mms_Pay)); _tcscpy( pPay->szCorpName , pData->szCorpName ); _tcscpy( pPay->szSMSNum , pData->szSMSNum ); pPay->lSmsUsed = pData->lMmsUsed; pPay->fTotal = pData->fMmsTotalPay; pPay->lTotalSms= pData->lMmsTotal; pPay->lCorpID = pData->lCorpID; pPay->fPriceOne= pData->fMmsPriceOne; pPay->bYJ = pData->bYJ; pPay->lItem = lItem; m_pMainFrame->SendFrame( SMSFUNC_MMS_PAY , (BYTE*)pPay , sizeof(REQ_Mms_Pay) ); //取联系人信息 } void CUserDlg::On_User_User() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_USER) ) { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); m_bModify = pData->bAgentModify; #ifdef MANAGER_VER_YWY m_bModify = false; //业务员不允许修改 #endif REQ_Corp_User * pUser = new REQ_Corp_User; memset( pUser , 0 , sizeof(REQ_Corp_User)); _tcscpy( pUser->szCorpName , pData->szCorpName ); _tcscpy( pUser->szSMSNum , pData->szSMSNum ); pUser->lSmsUsed = pData->lSMSUsed; pUser->fTotal = pData->fTotal; pUser->lCorpID = pData->lCorpID; pUser->lCorpID = pData->lCorpID; m_pMainFrame->SendFrame( SMSFUNC_CORP_USER , (BYTE*)pUser , sizeof(REQ_Corp_User) ); //取联系人信息 } void CUserDlg::On_User_Tab() { } void CUserDlg::On_User_List() { } void CUserDlg::On_User_Find() { DLG_User_Find dlg(this); if ( dlg.DoModal() == IDOK ) { BOOL bFirst = true; m_wndList.UnSelectAllItems(); long lCount = m_wndList.GetItemCount(); for ( int i=0 ; i=0 || str2.Find(dlg.m_strName)>=0) { m_wndList.SelectItem(i); if ( bFirst ) { m_wndList.EnsureVisible(i,true); bFirst = false; } } } } } void CUserDlg::On_User_Refresh() { REQ_Corp_See2 * pSee = new REQ_Corp_See2; memset( pSee , 0 , sizeof(REQ_Corp_See2)); pSee->lAgentID = m_lQueryAgentID; GetLocalTime(&pSee->tNow); //取当前时间,防止时间相差过大的查询 if ( m_lShowUserType == 34 || m_lShowUserType == 35 || m_lShowUserType == 36) pSee->lQueryNewKHType = m_lShowUserType; m_pMainFrame->SendFrame(SMSFUNC_CORP_SEE2,(BYTE*)pSee,sizeof(REQ_Corp_See2)); //取企业信息 } void CUserDlg::On_User_Copy() { m_wndList.CopySelToClipboard(_T("2,1,16,3,6,15")); //m_wndList.CopySelToClipboard(); } void CUserDlg::On_User_BZ() { long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if (pData) { m_strBZTip = _T(""); CString strTip,strTip2; if (pData->lSMSUsed < pData->lSmUsed || pData->lSMSUsed < 2000) { strTip.Format(_T("低量(%d) "), pData->lSMSUsed); } COleDateTime tOvr(pData->tOvr); if (tOvr.GetStatus() == COleDateTime::valid) { if ( COleDateTime::GetCurrentTime() >= tOvr- COleDateTimeSpan(60, 0, 0, 0)) { strTip2.Format(_T("快过期(%04d.%02d.%02d) "), tOvr.GetYear(), tOvr.GetMonth(), tOvr.GetDay()); strTip += strTip2; } else if (COleDateTime::GetCurrentTime() >= tOvr) { strTip2.Format(_T("已过期(%04d.%02d.%02d) "), tOvr.GetYear(),tOvr.GetMonth(),tOvr.GetDay()); strTip += strTip2; } } m_strBZTip = strTip; REQ_Corp_BZ_See * pBZ = new REQ_Corp_BZ_See; memset(pBZ, 0, sizeof(REQ_Corp_BZ_See)); pBZ->lCorpID = pData->lCorpID; pBZ->lUserType = 0; //查企业备注 pBZ->lBZType = 1; //查业务员备注 // pBZ->lNRType = 0; //备注 _tcscpy(pBZ->szName, pData->szCorpName); m_pMainFrame->SendFrame(SMSFUNC_CORP_BZ_SEE, (BYTE*)pBZ, sizeof(REQ_Corp_BZ_See)); //取联系人信息 } m_lBZType = 0; //备注或回访 } void CUserDlg::On_User_HF() { On_User_BZ(); m_lBZType = 1; //备注或回访 /* long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); REQ_Corp_BZ_See * pBZ = new REQ_Corp_BZ_See; memset( pBZ , 0 , sizeof(REQ_Corp_BZ_See)); pBZ->lCorpID = pData->lCorpID; pBZ->lUserType = 0; //查企业备注 pBZ->lBZType = 1; //查业务员备注 // pBZ->lNRType = 1; //回访 _tcscpy( pBZ->szName , pData->szCorpName ); m_pMainFrame->SendFrame( SMSFUNC_CORP_BZ_SEE , (BYTE*)pBZ , sizeof(REQ_Corp_BZ_See) ); //取联系人信息 */ } void CUserDlg::On_User_Oper() { long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); REQ_Corp_Oper_See * pBZ = new REQ_Corp_Oper_See; memset( pBZ , 0 , sizeof(REQ_Corp_Oper_See)); pBZ->lCorpID = pData->lCorpID; pBZ->lUserType = 0; //查企业备注 _tcscpy( pBZ->szName , pData->szCorpName ); m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_SEE , (BYTE*)pBZ , sizeof(REQ_Corp_Oper_See) ); //取联系人信息 } void CUserDlg::OnDblclkUserList(NMHDR* pNMHDR, LRESULT* pResult) { On_User_Modify(); *pResult = 0; } void CUserDlg::OnRclickUserList(NMHDR* pNMHDR, LRESULT* pResult) { ShowRMenu(); *pResult = 0; } BOOL CUserDlg::FindSMSNum(const TCHAR *pSMSNum, POSITION exPos) { POSITION pos = m_Corp.GetHeadPosition(); POSITION pos2; while (pos) { pos2 = pos; ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( pos2 != exPos ) { if ( !_tcscmp( pData->szSMSNum , pSMSNum ) ) return true; } } return false; } BOOL CUserDlg::GetNextSmsNum(TCHAR *pSMSNum,long lNumType) { /* 020041 00001 1 (9) 1 020041 0001 01 (4,8) 2 020041 001 001 (0,3) 3 */ long lNumAll = 100; TCHAR szPrint[16]={0};_tcscpy( szPrint , _T("%c%03d") ); TCHAR cBegin = '4'; TCHAR cEnd = '8'; if ( lNumType == 1 ) { lNumAll = 10000; _tcscpy( szPrint , _T("%c%04d") ); cBegin = '9'; cEnd = '9'; } if ( lNumType == 3 ) { lNumAll = 100; _tcscpy( szPrint , _T("%c%02d") ); cBegin = '0'; cEnd = '3'; } TCHAR szNum[16]={0}; for ( TCHAR c = cBegin ; c<= cEnd ; c++ ) { long lIndex = 0; for ( int i = 0 ; i< lNumAll ; i++ ) { _stprintf( szNum , szPrint , c,i ); POSITION pos = m_Corp.GetHeadPosition(); POSITION pos2; BOOL bFind = false; while (pos) { pos2 = pos; ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( pData->szSMSNum[0] == c ) { if ( !_tcscmp( pData->szSMSNum , szNum ) ) bFind = true; } } if ( !bFind ) break; } if ( i>= lNumAll ) { break; } else { _tcscpy( pSMSNum , szNum ); return true; } } return false; } void CUserDlg::OnUserQuery() { CString strFind; m_E_CorpID.GetWindowText(strFind); if ( strFind.GetLength()>0 ) { long lSel = this->GetCurrentSelected(); long lCount = m_wndList.GetItemCount(); m_wndList.UnSelectAllItems(); for ( int i=lSel+1 ; i=0 || str2.Find(strFind)>=0) { m_wndList.SelectItem(i,false); //m_wndList.SelectItem(i); m_wndList.EnsureVisible(i,true); m_wndList.SetFocus(); return ; } } for ( i=0 ; i=0 || str2.Find(strFind)>=0) { m_wndList.SelectItem(i); m_wndList.EnsureVisible(i,true); m_wndList.SetFocus(); return ; } } } } void CUserDlg::Close_Corp() { //清除队列中的内容 while (!m_Corp.IsEmpty()) { ANS_Corp_SeeData * pCorp = m_Corp.GetHead(); m_Corp.RemoveHead(); delete pCorp; } } void CUserDlg::Close_Agent() { //清除队列中的内容 while (!m_Agent.IsEmpty()) { ANS_Agent_NameData * pAgent = m_Agent.GetHead(); m_Agent.RemoveHead(); delete pAgent; } } void CUserDlg::Close_YWY() { //清除队列中的内容 while (!m_YWY.IsEmpty()) { ANS_YWY_NameData * pYWY = m_YWY.GetHead(); m_YWY.RemoveHead(); delete pYWY; } } void CUserDlg::OnSelchangeUserAgent() { long lItem = m_L_Agent.GetCurSel(); long lAgentID=-10; if ( lItem >= 0 ) { m_lQueryAgentID = m_L_Agent.GetItemData(lItem); } On_User_Refresh(); } void CUserDlg::ReShowUser() { long lItem = m_L_YWY.GetCurSel(); long lYWYID=-10; if ( lItem >= 0 ) { lYWYID = m_L_YWY.GetItemData(lItem); } long lChargeType = m_L_ChargeType.GetCurSel()-1; long lStatus = m_L_Status.GetCurSel()-1; long lCreateUser = m_L_CreateUser.GetCurSel()-1; LONGLONG lladcUsed=0; LONGLONG lladcSend=0; LONGLONG llUsed=0; LONGLONG llSend=0; double dTotal=0.0f; LONGLONG llMmsUsed=0; double dMmsTotal=0.0f; m_wndList.ShowWindow(SW_HIDE); m_wndList.DeleteAllItems(); //删除原有的内容 TCHAR Buf[32]={0}; POSITION pos = m_Corp.GetHeadPosition(); POSITION pos2=0; int i=0; int iCount=0; while ( pos ) { pos2 = pos; ANS_Corp_SeeData * pSeeData = m_Corp.GetNext(pos); if ( pSeeData ) { #ifdef SMSCENTER_ADC if ( (lChargeType<=-1 || lChargeType == pSeeData->lChargeType ) && (lStatus <= -1 || lStatus == pSeeData->szStatus[0]-'0' ) && (lCreateUser<= -1 || lCreateUser==0&&_tcscmp(pSeeData->szCreateUser,_T("MQ")) || lCreateUser==1&&!_tcscmp(pSeeData->szCreateUser,_T("MQ")) )) { #endif BOOL bShow = false; #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) //if ( !_tcsncmp(m_pMainFrame->m_Setup.szUser , _T("Admin"),5 ) ) //{ // bShow=true; //} //else //{ if ( pSeeData->lYWYID == m_pMainFrame->m_lUserID ) //是我的企业 { bShow = true; } if ( pSeeData->lAgentID == this->m_lQueryAgentID ) //是我的企业 { bShow = true; } //} if ( m_lShowUserType>0 ) { long lMon = 99; COleDateTime tUser(pSeeData->tLastLogin); if ( tUser.GetStatus() != COleDateTime::valid ) tUser = COleDateTime(pSeeData->tReg); if ( tUser.GetStatus() == COleDateTime::valid ) { COleDateTimeSpan tTemp = COleDateTime::GetCurrentTime() - tUser; lMon = tTemp.GetTotalDays()/30; } if ( m_lShowUserType == 23 ) //显示正常客户 { if ( lMon>1 ) //大于1个月没登录的都是非正常客户 bShow = false; } if ( m_lShowUserType == 24 ) //1类流失风险客户 { if ( lMon <1 || lMon>3 ) //1-3个月没有登录过的用户就是1类流失风险 bShow = false; } if ( m_lShowUserType == 25 ) //2类流失风险客户 { if ( pSeeData->lKF_GAddressCount2>0 || pSeeData->lKF_UserCount>1 ) //4、 2类有流失风险的客户:没有使用公用通讯录,操作用户只有一个。(暂由业务人员维护) bShow = false; } if ( m_lShowUserType == 26 ) //已流失客户 { if ( lMon<=3 ) //1-3个月没有登录过的用户就是1类流失风险 bShow = false; } if ( m_lShowUserType == 27 ) //需要回访客户 { bShow = false; if ( pSeeData->lKF_Type==2 || pSeeData->lKF_Type==3 ) //A\B类客户需要回访 { bShow = true; COleDateTime tLastHF(pSeeData->lKF_LastHF.lYear,pSeeData->lKF_LastHF.lMon,pSeeData->lKF_LastHF.lDay,0,0,0); // if ( tLastHF.GetStatus()==COleDateTime::valid && COleDateTime::GetCurrentTime()-tLastHFlKF_Type==0 || pSeeData->lKF_Type==1 ) //C\D类客户需要回访 { bShow = true; COleDateTime tLastHF(pSeeData->lKF_LastHF.lYear,pSeeData->lKF_LastHF.lMon,pSeeData->lKF_LastHF.lDay,0,0,0); // if ( tLastHF.GetStatus()==COleDateTime::valid && COleDateTime::GetCurrentTime()-tLastHFlKF_LastHF.lYear==tNow2.wYear && pSeeData->lKF_LastHF.lMon==tNow2.wMonth && pSeeData->lKF_LastHF.lDay==tNow2.wDay ) { bShow = true; } #endif } } if ( m_lShowUserType == 32 ) //企信通客户 { if ( !pSeeData->bQXT ) bShow = false; } if ( m_lShowUserType == 33 ) //MAS客户 { if ( !pSeeData->bMAS ) bShow = false; } if ( m_lShowUserType == 34 || m_lShowUserType == 35 || m_lShowUserType == 36) //新客户回访 { bShow = true; } } #else if ( pSeeData->lAgentID == m_pMainFrame->m_lUserID && (lYWYID <=0 || lYWYID == pSeeData->lYWYID ) ) //是我的企业 { bShow = true; } #endif #ifdef MANAGER_VER_HF //回访客服,每次最多显示20条记录 if ( iCount>19 ) bShow = false; #endif if ( bShow ) { //m_wndList.SetHeadings(_T("序号,60; 企业名称,130; ID,80;ADC可用,80;短信易可用,80; ADC已发,80;短信易已发,90;ADC总金额,100;短信易总金额,100;缴费类型,70;开通类型,70;最后登录,90; 移动通道,90; 联通通道,90; 电信通道,90;最后回访,90;合同寄出,90;合同回收,90;创建时间,90;特服号,60;版本,50;最后缴费,90; 过期日,90;代理商,70; 全网,60; 短信签名,100;未用,50;用户类型,60;帐号数量,70;通讯录数量,70;")); //m_wndList.SetHeadings(_T("序号,60; 企业名称,130; ID,80;可用,80; 已发,90;总金额,100;最后登录,90; 移动通道,90; 联通通道,90; 电信通道,90;最后回访,90;合同寄出,90;合同回收,90;创建时间,90;特服号,60;特服号2,60;版本,50;最后缴费,90; 过期日,90;代理商,70; 全网,60; 短信签名,100;未用,50;用户类型,60;帐号数量,70;通讯录数量,70;企信通,70; MAS,60;")); #ifdef MANAGER_VER_YWY _stprintf(Buf , _T("%d*") , iCount+1 ); #else if ( pSeeData->bAgentModify ) _stprintf(Buf , _T("%d") , iCount+1 ); else _stprintf(Buf , _T("%d*") , iCount+1 ); #endif int iTemp11 = 1; m_wndList.InsertItem( iCount , Buf , pSeeData->szStatus[0]-'0' ); m_wndList.SetItemData( iCount , (DWORD)pos2 ); //存Pos m_wndList.SetItemText(iCount,iTemp11++,pSeeData->szCorpName); m_wndList.SetItemText(iCount,iTemp11++,_itot(pSeeData->lCorpID,Buf,10)); #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) if ( (m_pMainFrame->m_bYJ & AGENT_YWYMANAGER) ) { m_wndList.SetItemText(iCount,iTemp11++,GetName_YWY(pSeeData->lYWYID)); } #endif #ifdef MANAGER_VER_HF m_wndList.SetItemText(iCount, iTemp11++, GetName_YWY(pSeeData->lYWYID)); #endif #ifdef SMSCENTER_ADC _stprintf( Buf,_T("%8d"),pSeeData->lMQSmsUsed ); m_wndList.SetItemText(iCount,iTemp11++,Buf); #endif m_lItem_SmsUsed = iTemp11; _stprintf( Buf,_T("%8d"),pSeeData->lSMSUsed ); m_wndList.SetItemText(iCount,iTemp11++,Buf); #ifdef SMSCENTER_ADC _stprintf( Buf,_T("%8d"),pSeeData->lMQSmsSendAll ); m_wndList.SetItemText(iCount,iTemp11++,Buf); #endif #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) _stprintf( Buf,_T("%10d"),pSeeData->lSMSSendAll ); m_wndList.SetItemText(iCount,iTemp11++,Buf); #endif #ifdef SMSCENTER_ADC _stprintf( Buf,_T("%10.2f"),pSeeData->fAdcTotal ); m_wndList.SetItemText(iCount,iTemp11++,Buf); #endif #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) m_lItem_Total = iTemp11; _stprintf( Buf,_T("%10.2f"),pSeeData->fTotal ); m_wndList.SetItemText(iCount,iTemp11++,Buf); #endif m_lItem_MmsUsed = iTemp11; _stprintf( Buf,_T("%8d"),pSeeData->lMmsUsed ); m_wndList.SetItemText(iCount,iTemp11++,Buf); #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) _stprintf( Buf,_T("%10d"),pSeeData->lMmsSendAll ); m_wndList.SetItemText(iCount,iTemp11++,Buf); m_lItem_MmsTotal = iTemp11; _stprintf( Buf,_T("%10.2f"),pSeeData->fMmsTotalPay ); m_wndList.SetItemText(iCount,iTemp11++,Buf); #endif #ifdef SMSCENTER_ADC //ADC缴费类型 if ( pSeeData->lChargeType ==0 ) m_wndList.SetItemText(iCount,iTemp11++,_T(" 月结") ); else m_wndList.SetItemText(iCount,iTemp11++,_T(" 预付") ); if ( !_tcscmp(pSeeData->szCreateUser , _T("MQ")) ) m_wndList.SetItemText(iCount,iTemp11++,_T(" 预开") ); else m_wndList.SetItemText(iCount,iTemp11++,_T(" 正常") ); #endif _stprintf( Buf , _T("%04d.%02d.%02d") , pSeeData->tLastLogin.wYear,pSeeData->tLastLogin.wMonth,pSeeData->tLastLogin.wDay); m_wndList.SetItemText(iCount,iTemp11++,Buf); #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) //通道 m_wndList.SetItemText(iCount,iTemp11++,GetTDName(pSeeData->szSMSTD,0)); m_wndList.SetItemText(iCount,iTemp11++,GetTDName(pSeeData->szSMSTD,1)); m_wndList.SetItemText(iCount,iTemp11++,GetTDName(pSeeData->szSMSTD,3)); //最后回访 _stprintf( Buf , _T("%04d.%02d.%02d") , pSeeData->lKF_LastHF.lYear,pSeeData->lKF_LastHF.lMon,pSeeData->lKF_LastHF.lDay); m_wndList.SetItemText(iCount,iTemp11++,Buf); //回访周期 if (pSeeData->lHF_Frequency > 0) _stprintf(Buf, _T("%4d"), pSeeData->lHF_Frequency); else _tcscpy(Buf, _T(" ")); m_lItem_Frequency = iTemp11; m_wndList.SetItemText(iCount, iTemp11++, Buf); _stprintf( Buf , _T("%04d.%02d.%02d") , pSeeData->lHT_Send.lYear,pSeeData->lHT_Send.lMon,pSeeData->lHT_Send.lDay); m_wndList.SetItemText(iCount,iTemp11++,Buf); _stprintf( Buf , _T("%04d.%02d.%02d") , pSeeData->lHT_Recv.lYear,pSeeData->lHT_Recv.lMon,pSeeData->lHT_Recv.lDay); m_wndList.SetItemText(iCount,iTemp11++,Buf); #endif _stprintf( Buf , _T("%04d.%02d.%02d") , pSeeData->tReg.wYear,pSeeData->tReg.wMonth,pSeeData->tReg.wDay); m_wndList.SetItemText(iCount,iTemp11++,Buf); #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) if ( pSeeData->lVipType ==1 || pSeeData->lVipType==2 ) { _stprintf( Buf , _T("%d") , pSeeData->lVipInt ); m_wndList.SetItemText(iCount,iTemp11++,Buf); } else { iTemp11++; } switch( pSeeData->lVipType ) { case 1: //预备VIP m_wndList.SetItemText(iCount,iTemp11++,_T("预备VIP")); break; case 2: //正式VIP _stprintf( Buf , _T("%+5d") , pSeeData->lVipInt ); m_wndList.SetItemText(iCount,iTemp11++,_T("正式VIP")); break; default: //非VIP //_stprintf( Buf , _T("%-5d") , pSeeData->lVipInt ); //m_wndList.SetItemText(iCount,iTemp11++,Buf); iTemp11++; break; } #endif m_wndList.SetItemText(iCount,iTemp11++,pSeeData->szSMSNum); #ifndef SMSCENTER_ADC #if !defined(MANAGER_VER_YWY) && !defined(MANAGER_VER_HF) m_wndList.SetItemText(iCount, iTemp11++, GetTDName(pSeeData->szSMSTD, 0)); #else m_wndList.SetItemText(iCount, iTemp11++, pSeeData->szSMSNum2); #endif #endif _stprintf( Buf,_T("%5d"),pSeeData->lVer ); m_wndList.SetItemText(iCount,iTemp11++,Buf); _stprintf( Buf , _T("%04d.%02d.%02d") , pSeeData->tLastPay.wYear,pSeeData->tLastPay.wMonth,pSeeData->tLastPay.wDay); m_wndList.SetItemText(iCount,iTemp11++,Buf); _stprintf( Buf , _T("%04d.%02d.%02d") , pSeeData->tOvr.wYear,pSeeData->tOvr.wMonth,pSeeData->tOvr.wDay); m_wndList.SetItemText(iCount,iTemp11++,Buf); #if defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF) _stprintf( Buf , _T("%8d") , pSeeData->lAgentID ); m_wndList.SetItemText(iCount,iTemp11++,Buf); m_wndList.SetItemText(iCount,iTemp11++,pSeeData->szCM); long lNoLoginMon = 0; COleDateTime tUser(pSeeData->tLastLogin); if ( tUser.GetStatus() != COleDateTime::valid ) tUser = COleDateTime(pSeeData->tReg); if ( tUser.GetStatus() == COleDateTime::valid ) { COleDateTimeSpan tTemp = COleDateTime::GetCurrentTime() - tUser; lNoLoginMon = tTemp.GetTotalDays()/30; } _stprintf(Buf, _T("%d"), lNoLoginMon); m_wndList.SetItemText(iCount,iTemp11++,Buf); //用户类型 _tcscpy( Buf , _T(" 四类") ); switch(pSeeData->lKF_Type) { case 1: _tcscpy( Buf , _T(" 三类") ); break; case 2: _tcscpy( Buf , _T(" 二类") ); break; case 3: _tcscpy( Buf , _T(" 一类") ); break; } m_wndList.SetItemText(iCount,iTemp11++,Buf); //用户类型 _tcscpy( Buf , _T(" 未分类") ); switch(pSeeData->lUserType) { case 1: _tcscpy( Buf , _T(" A类") ); break; case 2: _tcscpy( Buf , _T(" B类") ); break; case 3: _tcscpy( Buf , _T(" C类") ); break; case 4: _tcscpy( Buf , _T(" D类") ); break; } m_wndList.SetItemText(iCount,iTemp11++,Buf); //帐号数量 _stprintf( Buf , _T("%d") , pSeeData->lKF_UserCount ); m_wndList.SetItemText(iCount,iTemp11++,Buf); //通讯录数量 _stprintf( Buf , _T("%d") , pSeeData->lKF_GAddressCount2 ); m_wndList.SetItemText(iCount,iTemp11++,Buf); #else m_wndList.SetItemText(iCount,iTemp11++,pSeeData->szCM); #endif //是否企信通及mas #if !defined(SMSCENTER_ADC) && (defined(MANAGER_VER_YWY) || defined(MANAGER_VER_HF)) //是否企信通 if ( pSeeData->bQXT ) m_wndList.SetItemText(iCount,iTemp11++,_T(" 是")); else m_wndList.SetItemText(iCount,iTemp11++,_T("")); //是否企信通 if ( pSeeData->bMAS ) m_wndList.SetItemText(iCount,iTemp11++,_T(" 是")); else m_wndList.SetItemText(iCount,iTemp11++,_T("")); //判断短信量 long lSmsFZ = pSeeData->lSmUsed; if (lSmsFZ <= 0) lSmsFZ = 2000; long lIconIndex = 0; CString strNotify; if (pSeeData->lSMSUsed <= lSmsFZ) { lIconIndex = 3; strNotify = _T("短信量低"); } if (pSeeData->lSMSUsed <= lSmsFZ / 2) //短信量极度不足 { lIconIndex = 4; strNotify = _T("短信量极低"); } //判断过期 CString strNotify2; long lIconIndex2 = 0; COleDateTime tOvr(pSeeData->tOvr); 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; if (lNoLoginMon >= 3) { lIconIndex2 = 4; strNotify2.Format(_T("超%d月没登录"), lNoLoginMon); } else if (lNoLoginMon >= 1) { lIconIndex2 = 3; strNotify2.Format(_T("超%d月没登录"), lNoLoginMon); } if (lIconIndex2 > lIconIndex) lIconIndex = lIconIndex2; if (strNotify2.GetLength() > 0) { if (strNotify.GetLength() > 0) strNotify = strNotify + CString(_T(";")) + strNotify2; else strNotify = strNotify2; } //设置警告图标 if (pSeeData->szStatus[0] != '1' && lIconIndex > 0) m_wndList.SetIconIndex(iCount, lIconIndex); //显示提示信息 m_wndList.SetItemText(iCount, iTemp11++, strNotify); #endif iCount ++; } #ifdef SMSCENTER_ADC } #endif } } m_wndList.ShowWindow(SW_SHOW); } void CUserDlg::OnSelchangeUserChargetype() { ReShowUser(); } void CUserDlg::OnSelchangeUserStatus() { ReShowUser(); } void CUserDlg::OnSelchangeUserCreateuser() { ReShowUser(); } void CUserDlg::On_User_Oper_HTSend() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); DLG_Corp_Oper_Change dlg(this); dlg.SetParam(*pData,9); if ( dlg.DoModal() == IDOK && memcmp(&pData->lHT_Send,&dlg.m_CorpData.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->lCorpID; pAdd->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=11; //更改合同寄出时间 _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_CorpData.lHT_Send.lYear,dlg.m_CorpData.lHT_Send.lMon,dlg.m_CorpData.lHT_Send.lDay); pAdd->lHTDate = dlg.m_CorpData.lHT_Send; //需要改的新 ID for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( pData ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lCorpID; pAdd2->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=11; //更改合同寄出时间 _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_CorpData.lHT_Send.lYear,dlg.m_CorpData.lHT_Send.lMon,dlg.m_CorpData.lHT_Send.lDay); pAdd->lHTDate = dlg.m_CorpData.lHT_Send; //需要改的新 ID } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CUserDlg::On_User_Oper_HTRecv() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); DLG_Corp_Oper_Change dlg(this); dlg.SetParam(*pData,10); if ( dlg.DoModal() == IDOK && memcmp(&pData->lHT_Recv,&dlg.m_CorpData.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->lCorpID; pAdd->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=12; //更改合同回收时间 _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_CorpData.lHT_Recv.lYear,dlg.m_CorpData.lHT_Recv.lMon,dlg.m_CorpData.lHT_Recv.lDay); pAdd->lHTDate = dlg.m_CorpData.lHT_Recv; //需要改的新 ID for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( pData ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lCorpID; pAdd2->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=12; //更改合同回收时间 _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_CorpData.lHT_Recv.lYear,dlg.m_CorpData.lHT_Recv.lMon,dlg.m_CorpData.lHT_Recv.lDay); pAdd->lHTDate = dlg.m_CorpData.lHT_Recv; //需要改的新 ID } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CUserDlg::On_User_Oper_HTOut() { #ifdef SMSCENTER_ADC long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); DLG_Corp_Oper_Change dlg(this); dlg.SetParam(*pData,14); 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->lCorpID; pAdd->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=14; //作fei合同 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, pData->szMQHTNum); _tcscpy(pAdd->szHTNum , pData->szMQHTNum ); for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( pData && _tcslen(pData->szMQHTNum)>0 ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lCorpID; pAdd2->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=14; //作fei合同 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, pData->szMQHTNum); _tcscpy(pAdd->szHTNum , pData->szMQHTNum ); } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } #endif } void CUserDlg::On_User_Oper_HTSet() { #ifdef SMSCENTER_ADC long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); DLG_Corp_Oper_Change dlg(this); dlg.SetParam(*pData,13); 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->lCorpID; pAdd->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=13; //设置合同号 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, dlg.m_strHTNum); _tcscpy(pAdd->szHTNum , dlg.m_strHTNum ); for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( pData && _tcslen(pData->szMQHTNum)<=0 ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lCorpID; pAdd2->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=13; //设置合同号 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, dlg.m_strHTNum); _tcscpy(pAdd->szHTNum , dlg.m_strHTNum ); } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } #endif } void CUserDlg::On_User_Oper_XYOut() { #ifdef SMSCENTER_ADC long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); DLG_Corp_Oper_Change dlg(this); dlg.SetParam(*pData,16); 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->lCorpID; pAdd->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=16; //作fei合同 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, pData->szMQXYNum); _tcscpy(pAdd->szHTNum , pData->szMQXYNum ); for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( pData && _tcslen(pData->szMQHTNum)>0 ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lCorpID; pAdd2->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=16; //作fei合同 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, pData->szMQXYNum); _tcscpy(pAdd->szHTNum , pData->szMQXYNum ); } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } #endif } void CUserDlg::On_User_Oper_XYSet() { #ifdef SMSCENTER_ADC long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); DLG_Corp_Oper_Change dlg(this); dlg.SetParam(*pData,15); 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->lCorpID; pAdd->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=15; //设置合同号 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, dlg.m_strHTNum); _tcscpy(pAdd->szHTNum , dlg.m_strHTNum ); for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext( pos ); if ( pData && _tcslen(pData->szMQHTNum)<=0 ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lCorpID; pAdd2->data.lUserType=0 ; //企业操作 pAdd->data.lOperType=15; //设置合同号 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, dlg.m_strHTNum); _tcscpy(pAdd->szHTNum , dlg.m_strHTNum ); } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } #endif } void CUserDlg::OnSelchangeUserYwy() { OnSelchangeUserAgent(); } CString CUserDlg::GetName_YWY(long lYWYID) { //业务员 CString strTemp=_T("无业务员"); POSITION pos = m_YWY.GetHeadPosition(); POSITION pos2; while (pos) { pos2=pos; ANS_YWY_NameData * pYWY = m_YWY.GetNext( pos ); if ( pYWY->lYWYID == lYWYID ) { strTemp = pYWY->szYWYName; break; } } return strTemp; } CString CUserDlg::GetTDName(const TCHAR *szTD, long lType) { CString str=_T("未知通道"); switch(szTD[lType]-'0') { case 0: str=_T("自动选择"); break; case 1: str=_T("第一通道"); break; case 2: str=_T("第二通道"); break; case 3: str=_T("第三通道"); break; case 4: str=_T("第四通道"); break; case 5: str=_T("第五通道"); break; case 6: str=_T("第六通道"); break; case 7: str=_T("第七通道"); break; case 8: str=_T("第八通道"); break; case 9: str=_T("第九通道"); break; case 10: str=_T("随机通道"); break; case 11: str=_T("第10通道"); break; case 12: str=_T("第11通道"); break; case 13: str=_T("第12通道"); break; case 14: str=_T("第13通道"); break; case 15: str=_T("第14通道"); break; case 16: str=_T("第15通道"); break; case 17: str=_T("第16通道"); break; case 18: str=_T("第17通道"); break; case 19: str=_T("第18通道"); break; case 20: str=_T("第19通道"); break; case 21: str=_T("第20通道"); break; case 22: str=_T("第21通道"); break; case 23: str=_T("第22通道"); break; case 24: str=_T("第23通道"); break; case 25: str=_T("第24通道"); break; case 26: str=_T("第25通道"); break; case 27: str=_T("第26通道"); break; case 28: str=_T("第27通道"); break; case 29: str=_T("第28通道"); break; case 30: str=_T("第29通道"); break; case 31: str=_T("第30通道"); break; case 32: str=_T("第31通道"); break; case 33: str=_T("第32通道"); break; case 34: str=_T("第33通道"); break; case 35: str=_T("第34通道"); break; case 36: str=_T("第35通道"); break; case 37: str=_T("第36通道"); break; case 38: str=_T("第37通道"); break; case 39: str=_T("第38通道"); break; case 40: str=_T("第39通道"); break; } return str; } BOOL CUserDlg::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame) { if ( pHead->lFuncType == SMSFUNC_MMS_PAY ) { ANS_Mms_Pay * pPay = (ANS_Mms_Pay *)pFrame; ANS_Mms_PayData * pData= (ANS_Mms_PayData *)(pFrame+sizeof(ANS_Mms_Pay)); ANS_Corp_MemberData * pMemberData= (ANS_Corp_MemberData *)(pFrame+sizeof(ANS_Mms_Pay)+sizeof(ANS_Mms_PayData)*pPay->lCount); if ( pPay->lCount == -25 ) { #ifdef MANAGER_VER_YWY MessageBox(_T("请先设置彩信单价再进行充值操作!") , _T("错误") , MB_ICONWARNING ); return true; #else pPay->lCount=0; #endif } if ( pPay->lCount < 0 ) //权限不足,返回错误 return true; /* if ( pHead->lFrameLen == sizeof(ANS_Mms_Pay)+sizeof(ANS_Mms_PayData)*pPay->lCount+sizeof(ANS_Corp_MemberData)*pPay->lMemberCount+sizeof(ANS_Corp_Exp) ) //带扩展头的 { ANS_Corp_Exp * pExp = (ANS_Corp_Exp *)(pFrame+sizeof(ANS_Mms_Pay)+sizeof(ANS_Mms_PayData)*pPay->lCount+sizeof(ANS_Corp_MemberData)*pPay->lMemberCount); if ( pExp->lExpID == CORP_PAY_EXP_ID&& !pExp->bOK) { str.Format(_T("%s缺以下资料,建议补全后再充值,是否继续?\r\n%s") , pPay->szCorpName,pExp->szNoData); int iRet=MessageBox(str,_T("提示") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2); if ( iRet != IDYES ) { return true; } } } */ //取用户类型 POSITION pos = (POSITION)m_wndList.GetItemData(pPay->lItem); ANS_Corp_SeeData * pDataC = m_Corp.GetNext( pos ); long lModifyType=0; if ( pDataC->lAgentID>0 ) //代理商用户 { if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD,false) ) { lModifyType = -1; } else { lModifyType = 1; } } DLG_Mms_Pay dlg(this); if ( m_pMainFrame->m_lType == 2 ) //超级代理商 dlg.SetParam( *pPay , pData , pMemberData , lModifyType,m_bModify,100000,m_pMainFrame->m_lType, m_pMainFrame->m_bYJ, m_pMainFrame->m_lUserID); //超级代理商最多可添加10万元的短信 else dlg.SetParam( *pPay , pData , pMemberData , lModifyType,m_bModify,m_pMainFrame->m_lMmsUsed,m_pMainFrame->m_lType, m_pMainFrame->m_bYJ, m_pMainFrame->m_lUserID); if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0 ) { #ifndef MANAGER_VER_YWY long lSize = sizeof(REQ_Mms_PayModify) + sizeof(ANS_Mms_PayData)*dlg.m_lModifyCount; BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize ); REQ_Mms_PayModify * pModifySend = (REQ_Mms_PayModify*)pDataSend; ANS_Mms_PayData * pPaySend = (ANS_Mms_PayData *)(pDataSend+sizeof(REQ_Mms_PayModify)); pModifySend->lCorpID = pPay->lCorpID; pModifySend->lItem = pPay->lItem; pModifySend->fTotal = dlg.m_PayReq.fTotal; //取得修改后的总额 pModifySend->lTotalSms= dlg.m_PayReq.lTotalSms; //取得修改后的总额 pModifySend->lSmsUsed= dlg.m_PayReq.lSmsUsed; pModifySend->lCount = dlg.m_lModifyCount; //清除队列中的内容 ANS_Mms_PayData * pPayTemp; while (!dlg.m_Pay.IsEmpty()) { pPayTemp = dlg.m_Pay.GetHead(); dlg.m_Pay.RemoveHead(); if (pPayTemp->ucStatus != 0 ) //不为0,需要修改 { *pPaySend = *pPayTemp; pPaySend ++; } delete pPayTemp; } m_pMainFrame->SendFrame( SMSFUNC_MMS_PAYMODIFY , pDataSend , lSize ); #endif } else { //清除队列中的内容 ANS_Mms_PayData * pPayTemp; while (!dlg.m_Pay.IsEmpty()) { pPayTemp = dlg.m_Pay.GetHead(); dlg.m_Pay.RemoveHead(); delete pPayTemp; } } return true; } //缴费记录修改 if (pHead->lFuncType == SMSFUNC_MMS_PAYMODIFY) { REQ_Agent_See2 * pSee = new REQ_Agent_See2; pSee->lAgentID = m_pMainFrame->m_lUserID; m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE2,(BYTE*)(pSee),sizeof(REQ_Agent_See2) ); //添加了用户,刷新相关信息 ANS_Mms_PayModify* pModify = (ANS_Mms_PayModify*)pFrame; ANS_Mms_PayData * pData = (ANS_Mms_PayData *)(pFrame+sizeof(ANS_Mms_PayModify)); if (pModify->lCount <= 0) { MessageBox(_T("充值失败!"), _T("错误"), MB_ICONWARNING); return true; } if ( pModify->lItem >= 0 ) { TCHAR Buf[32]; POSITION pos = (POSITION)m_wndList.GetItemData(pModify->lItem); ANS_Corp_SeeData * pData2 = m_Corp.GetNext( pos ); if ( pData2 ) { pData2->fMmsTotalPay = pModify->fTotal; pData2->lMmsTotal = pModify->lTotalSms; pData2->lMmsUsed = pModify->lSmsUsed; _stprintf( Buf,_T("%8d"),pData2->lMmsUsed ); m_wndList.SetItemText(pModify->lItem,m_lItem_MmsUsed,Buf); _stprintf( Buf,_T("%10.2f"),pData2->fMmsTotalPay ); m_wndList.SetItemText(pModify->lItem,m_lItem_MmsTotal,Buf); } } return true; } //查看欢乐会注册资料 if (pHead->lFuncType == SMSFUNC_CORP_HLH) { ANS_Corp_HLH * pHLH = (ANS_Corp_HLH *)pFrame; ANS_Corp_HLHData * pData= (ANS_Corp_HLHData *)(pFrame+sizeof(ANS_Corp_HLH)); if ( pHLH->lCount < 0 ) //权限不足 return true; DLG_Corp_HLH dlg(this); dlg.SetParam( *pHLH , pData ); dlg.DoModal(); return true; } //查看联系人 if (pHead->lFuncType == SMSFUNC_CORP_FP) { ANS_Corp_FP * pFP = (ANS_Corp_FP *)pFrame; ANS_Corp_FPData * pData = (ANS_Corp_FPData *)(pFrame + sizeof(ANS_Corp_FP)); if (pFP->lCount < 0) //权限不足 return true; DLG_Corp_FP dlg(this); dlg.SetParam(*pFP, pData, 0,m_bModify); //企业类型为:0(企业) if (dlg.DoModal() == IDOK && dlg.m_lModifyCount>0 && m_bModify) { 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; } } 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) { //ANS_Corp_SF_Add * pAdd = (ANS_Corp_SF_Add *)pFrame; //ANS_Corp_SFData * pData = (ANS_Corp_SFData *)(pFrame + sizeof(ANS_Corp_SF_Add)); if (m_pSFDlg) { m_pSFDlg->ProcessSocket(pHead, pFrame); } return true; } if (pHead->lFuncType == SMSFUNC_CORP_HF_FREQUENCY) { ANS_Corp_HF_Frequency * pFrequency = (ANS_Corp_HF_Frequency *)pFrame; if (pFrequency->lErrCode == 0 ) { CString str; //回访周期 POSITION pos = (POSITION)m_wndList.GetItemData(pFrequency->lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext(pos); if (pData) { pData->lHF_Frequency = pFrequency->lFrequency; if (pFrequency->lFrequency > 0) str.Format(_T("%4d"), pFrequency->lFrequency); else str = _T(" "); m_wndList.SetItemText(pFrequency->lItem, m_lItem_Frequency, str); } str.Format(_T("企业(%d)的回访周期已修改成%d月。"), pFrequency->lCorpID, pFrequency->lFrequency); MessageBox(str, _T("修改成功"), MB_ICONINFORMATION); } else { CString str; str.Format(_T("企业(%d)的回访周期已修改失败%d。"), pFrequency->lCorpID, pFrequency->lErrCode); MessageBox(str, _T("修改失败"), MB_ICONWARNING); } return true; } if (pHead->lFuncType == SMSFUNC_CORP_ANALYSE) { if (m_pAnalyseDlg) { m_pAnalyseDlg->ProcessSocket(pHead, pFrame); } return true; } if (pHead->lFuncType == SMSFUNC_SIGNNAME_ADD || pHead->lFuncType == SMSFUNC_CORP_FILE) { if (m_pDlgCorpModify) { m_pDlgCorpModify->ProcessSocket(pHead,pFrame); } if (m_pDlgCorpUser) { m_pDlgCorpUser->ProcessSocket(pHead, pFrame); } return true; } return false; } BOOL CUserDlg::SetRefresh(BOOL bRefresh) { m_bRefresh = bRefresh; return m_bRefresh; } void CUserDlg::On_User_HF(long lFrequency) { #if !defined(MANAGER_VER_YWY) return; #endif long lItem = GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Corp_SeeData * pData = m_Corp.GetNext(pos); if (!pData) return; REQ_Corp_HF_Frequency * pFrequency = new REQ_Corp_HF_Frequency; memset(pFrequency, 0, sizeof(REQ_Corp_HF_Frequency)); pFrequency->lItem = lItem; pFrequency->lCorpID = pData->lCorpID; _tcscpy(pFrequency->szCorpName, pData->szCorpName); pFrequency->lFrequency = lFrequency; m_pMainFrame->SendFrame(SMSFUNC_CORP_HF_FREQUENCY, (BYTE*)pFrequency, sizeof(REQ_Corp_HF_Frequency)); //修改回访周期 } void CUserDlg::On_User_HF_0() { On_User_HF(0); } void CUserDlg::On_User_HF_1() { On_User_HF(1); } void CUserDlg::On_User_HF_2() { On_User_HF(2); } void CUserDlg::On_User_HF_3() { On_User_HF(3); } void CUserDlg::On_User_HF_4() { On_User_HF(4); } void CUserDlg::On_User_HF_5() { On_User_HF(5); } void CUserDlg::On_User_HF_6() { On_User_HF(6); } void CUserDlg::On_User_HF_9() { On_User_HF(9); } void CUserDlg::On_User_HF_12() { On_User_HF(12); }