// 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_LXR.h" #include "DLG_Corp_FP.h" #include "DLG_Corp_Oper.h" #include "DLG_Corp_SF.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_bModify = false; m_pFPDlg = NULL; m_pSFDlg = NULL; m_pAnalyseDlg = NULL; } void CK_Agent::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CK_Agent) 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) //}}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_MMSJF , On_Agent_MmsPay ) ON_COMMAND( MENU_AGENT_REFRESH, On_Agent_Refresh ) ON_COMMAND( MENU_AGENT_BZ , On_Agent_BZ ) 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_OPER, On_Agent_OPER) ON_COMMAND(MENU_AGENT_ANALYSE, On_Agent_Analyse) 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); REQ_Agent_See3 * pSee = new REQ_Agent_See3; memset( pSee , 0 , sizeof(REQ_Agent_See3)); //_tcscpy( pSee->szQuery , strFind ); GetLocalTime(&pSee->tNow); //取当前时间,防止时间相关过大的查询 m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE3,(BYTE*)pSee,sizeof(REQ_Agent_See3)); //取企业信息 return true; } void CK_Agent::Close() { //清除队列中的内容 while (!m_Agent.IsEmpty()) { ANS_Agent_SeeData * pData = m_Agent.GetHead(); m_Agent.RemoveHead(); delete pData; } } 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 *)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;帐号数量,90;过期时间,100;最后登录,100;创建时间,100; 提示,150;")); m_wndList.SetGridLines(true); m_wndList.SetImageList(&m_Image,LVSIL_SMALL); m_bInit = true; 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 ) { m_wndList.MoveWindow( 0 , 0 , cx,cy); } } BOOL CK_Agent::ProcessSocket(Socket_Head *pHead) { CString strTemp; //取过滤信息 if (pHead->lFuncType == SMSFUNC_AGENT_SEE || pHead->lFuncType == SMSFUNC_AGENT_SEE3) { m_bRefresh = true; //已经刷新过 ANS_Agent_See * pSee = (ANS_Agent_See *)pHead->pFrame; ANS_Agent_SeeData * pData = (ANS_Agent_SeeData *)(pHead->pFrame+sizeof(ANS_Agent_See)); m_wndList.ShowWindow(SW_HIDE); //加快显示速度 m_wndList.DeleteAllItems(); //删除原有的内容 this->Close(); //关闭原队列 if (pSee->lCount == -2) { MessageBox(_T("本机时间与服务器相差过大,请修正。"), _T("错误"), MB_ICONWARNING); m_wndList.ShowWindow(SW_SHOW); return true; } TCHAR Buf[32]; for ( int i=0;ilCount;i++ ) { ANS_Agent_SeeData * pNewData = new ANS_Agent_SeeData; *pNewData = *pData; POSITION pos = m_Agent.AddTail(pNewData); //m_wndList.SetHeadings(_T("序号,50; 代理商名称,180; 登录名,100; ID,60;短信可用,90;彩信可用,90;帐号数量,90;过期时间,100;最后登录,100;创建时间,100;")); _stprintf(Buf , _T("%d") , i+1 ); m_wndList.InsertItem( i , Buf , pData->lStatus ); m_wndList.SetItemData( i , (DWORD)pos ); //存Pos long lTemp=1; 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); 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("%10d"),pData->lMmsUsed ); m_wndList.SetItemText(i,lTemp++,strTemp); //strTemp.Format( _T("%10d"),pData->lMmsTotal ); //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->tOvrTime.wYear, pData->tOvrTime.wMonth, pData->tOvrTime.wDay); 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); //判断短信量 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); pData ++; } m_wndList.ShowWindow(SW_SHOW); //加快显示速度 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 == -15) { MessageBox(_T("添加新代理商产生错误:信用代码或其它字段不规范!"), _T("错误"), MB_ICONWARNING); } if ( pAdd->lCount == 1 ) //等于1时表示修改成功 { long lCount = m_wndList.GetItemCount(); //设置新的数据 TCHAR Buf[32]; _stprintf( Buf, _T("%d") , lCount +1 ); m_wndList.InsertItem( lCount , Buf , pData->lStatus ); m_wndList.SetItemText(lCount,1,pData->szName); strTemp.Format( _T("%d") , pData->lAgentID ); m_wndList.SetItemText(lCount,2,strTemp); strTemp.Format( _T("%10.2f"),pData->fUsed ); m_wndList.SetItemText(lCount,3,strTemp); strTemp.Format( _T("%10.2f"),pData->fCredit ); m_wndList.SetItemText(lCount,4,strTemp); strTemp.Format( _T("%10.2f"),pData->fTotal ); m_wndList.SetItemText(lCount,5,strTemp); strTemp.Format( _T("%04d.%02d.%02d") , pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay); m_wndList.SetItemText(lCount,6,strTemp); ANS_Agent_SeeData * pData2 = new ANS_Agent_SeeData; *pData2 = *pData; POSITION pos = m_Agent.AddTail( pData2 ); m_wndList.SetItemData( lCount, (DWORD)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 == -15) { MessageBox(_T("修改代理商产生错误:信用代码或其它字段不规范!"), _T("错误"), MB_ICONWARNING); } if ( pModify->lCount == 1 ) //等于1时表示修改成功 { 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; m_wndList.SetItemText(i,1,pData->szName); m_wndList.SetIconIndex(i,pData->lStatus ); strTemp.Format( _T("%10.2f"),pData->fUsed ); m_wndList.SetItemText(i,3,strTemp); strTemp.Format( _T("%10.2f"),pData->fCredit ); m_wndList.SetItemText(i,4,strTemp); //strTemp.Format( _T("%10.2f"),pData->fTotal ); //m_wndList.SetItemText(i,5,strTemp); } } return true; } /* //删除过滤词语 if (pHead->lFuncType == SMSFUNC_AGENT_DEL) { ANS_Agent_Del * pDel = (ANS_Agent_Del *)pHead->pFrame; ANS_Agent_DelData * pDelData = (ANS_Agent_DelData *)(pHead->pFrame+sizeof(ANS_Agent_Del)); POSITION pos,pos2; ANS_Agent_SeeData * pSPData; for ( int i = pDel->lCount-1 ; i>=0 ; i-- ) { if ( pDelData[i].lAgentID ) //删除成功 { pos = (POSITION)m_wndList.GetItemData( pDelData[i].lItem ); pos2 = pos; pSPData = m_Agent.GetNext( pos ); if ( pSPData->lAgentID == pDelData[i].lAgentID ) //ID相同的才可删除 { delete pSPData; //先删除数据 m_Agent.RemoveAt(pos2); //从列表中删除 m_wndList.DeleteItem(pDelData[i].lItem); //从ListCtrl中删除 } } } return true; } */ //查看支付记录 if (pHead->lFuncType == SMSFUNC_AGENT_PAY) { ANS_Agent_Pay * pPay = (ANS_Agent_Pay *)pHead->pFrame; ANS_Agent_PayData * pData= (ANS_Agent_PayData *)(pHead->pFrame+sizeof(ANS_Agent_Pay)); if ( pPay->lCount < 0 ) //权限不足,返回错误 return true; DLG_Agent_Pay dlg(this); dlg.SetParam( *pPay , pData ); 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->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; 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->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; strTemp.Format( _T("%10.2f"),pData2->fUsed ); m_wndList.SetItemText(pModify->lItem,3,strTemp); strTemp.Format( _T("%10.2f"),pData2->fTotal ); m_wndList.SetItemText(pModify->lItem,5,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)); 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 ,0 ,pMemberDataRet,_T("")); 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 = 1; //代理商备注 pBZ->lBZType = 1; //业务员备注 _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_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,1); 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_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; } 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; On_Agent_Modify(); } 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; long lItem = this->GetCurrentSelected(); if ( lItem >= 0 ) bLock = isLockItem( lItem , false ); //取得是否正在锁定 menu.AppendMenu(MF_STRING, MENU_AGENT_ADD, _T(" 添加代理商")); //缴费 if ( lItem >=0 && !bLock ) { menu.AppendMenu(MF_STRING, MENU_AGENT_MODIFY, _T(" 修改代理商 ")); menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING , MENU_AGENT_JF, _T(" 短信缴费记录... ") ); menu.AppendMenu(MF_STRING, MENU_AGENT_MMSJF, _T(" 彩信缴费记录... ")); menu.AppendMenu(MF_STRING, MENU_AGENT_ANALYSE, _T(" 代理商数据分析... ")); menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, MENU_AGENT_LXR, _T(" 联系人... ")); menu.AppendMenu(MF_STRING, MENU_AGENT_FP, _T(" 发票抬头管理... ")); menu.AppendMenu(MF_STRING, MENU_AGENT_SF, _T(" 快递寄送查询... ")); menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, MENU_AGENT_OPER, _T(" 操作记录 ")); menu.AppendMenu(MF_STRING, MENU_AGENT_BZ, _T(" 备 注... ")); } else { menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_AGENT_MODIFY, _T(" 修改代理商 ")); menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_JF , _T(" 短信缴费记录... ") ); menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_AGENT_MMSJF, _T(" 彩信缴费记录... ")); menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_AGENT_LXR, _T(" 联系人... ")); menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_AGENT_FP, _T(" 发票抬头管理... ")); menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_AGENT_OPER, _T(" 操作记录 ")); menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_AGENT_BZ, _T(" 备 注... ")); } menu.AppendMenu(MF_SEPARATOR ); //刷新 menu.AppendMenu(MF_STRING , MENU_AGENT_REFRESH, _T(" 刷 新 ") ); //显示菜单 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() { #ifndef MANAGER_VER_YWY return; #endif if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } ANS_Agent_SeeData SPData={0}; ::GetLocalTime(&SPData.tCreateTime); SPData.lStatus = 1; //新开状态是关闭的 SPData.lType = 1; //默认是应用代理商 SPData.lReportPer = 75; //新添加企业的状态报告反馈率 SPData.fMmsPriceOne = 0.30; //默认费率 SPData.fPriceOne = 0.10;//默认费率 #ifdef MANAGER_VER_YWY SPData.lYWYID =m_pMainFrame->m_lUserID; //业务员ID _tcscpy(SPData.szCreateUser, m_pMainFrame->m_Setup.szUser); //业务员姓名 #endif DLG_Agent_Modify dlg(this); dlg.SetParam( SPData,0,true,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(); pSPData->lStatus = 1; //新开状态是关闭的 //pSPData->lType = 1; //默认是应用代理商 pSPData->lReportPer = 75; //新添加企业的状态报告反馈率 pSPData->fMmsPriceOne = 0.30; //默认费率 pSPData->fPriceOne = 0.10;//默认费率 #ifdef MANAGER_VER_YWY pSPData->lYWYID = m_pMainFrame->m_lUserID; //业务员ID _tcscpy(pSPData->szCreateUser,m_pMainFrame->m_Setup.szUser); //业务员姓名 #endif pAdd->lCount = 1; m_pMainFrame->SendFrame( SMSFUNC_AGENT_ADD , pAddData , lSize ); } } void CK_Agent::On_Agent_Modify() { #ifndef MANAGER_VER_YWY return; #endif 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); POSITION pos2 = pos; ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if (!pData) return; m_bModify = false; #ifdef SMSCENTER_ADC if (COleDateTime(pData->tCreateTime).GetStatus() != COleDateTime::valid) //防止出错 ::GetLocalTime(&pData->tCreateTime); //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->tCreateTime)) < COleDateTimeSpan(180, 0, 0, 0))) { m_bModify = true; //允许修改 } #else #ifdef MANAGER_VER_YWY m_bModify = true; /* if (pData->lStatus == 1 && //状态为未启用 ((COleDateTime::GetCurrentTime() - COleDateTime(pData->tCreateTime)) < COleDateTimeSpan(10, 0, 0, 0))) //开通时间小于7日才能更改企业名称 { m_bModify = true; } else { m_bModify = false; } */ #else m_bModify = false; #endif #endif DLG_Agent_Modify dlg(this); dlg.SetParam( *pData,pos2,false, m_bModify); if ( dlg.DoModal() == IDOK && m_bModify) { 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() { return ; 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() { 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 ; 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->lItem = lItem; m_pMainFrame->SendFrame( SMSFUNC_AGENT_PAY , (BYTE*)pPay , sizeof(REQ_Agent_Pay) ); //取联系人信息 } void CK_Agent::On_Agent_MmsPay() { 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 ; 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_Refresh() { RefreshInfo(); } void CK_Agent::On_Agent_BZ() { 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; } 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; /* 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; } } } */ DLG_Agent_MmsPay dlg(this); //dlg.SetParam( *pPay , pData , pMemberData ); dlg.SetParam( *pPay , pData ); 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; 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; 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, 1, m_bModify); //企业类型为:1(代理) 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) { 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; } return false; } void CK_Agent::On_Agent_LXR() { 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; #ifdef SMSCENTER_ADC if (COleDateTime(pData->tCreateTime).GetStatus() != COleDateTime::valid) //防止出错 ::GetLocalTime(&pData->tCreateTime); //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->tCreateTime)) < COleDateTimeSpan(180, 0, 0, 0))) { m_bModify = true; //允许修改 } #else #ifdef MANAGER_VER_YWY m_bModify = true; /* if (pData->lStatus == 1 && //状态为未启用 ((COleDateTime::GetCurrentTime() - COleDateTime(pData->tCreateTime)) < COleDateTimeSpan(10, 0, 0, 0))) //开通时间小于7日才能更改企业名称 { m_bModify = true; } else { m_bModify = false; } */ #else m_bModify = false; #endif #endif 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->sz ); pLXR->lCorpID = pData->lAgentID; pLXR->lCorpType = 1; //查代理企业 m_pMainFrame->SendFrame(SMSFUNC_CORP_LXR, (BYTE*)pLXR, sizeof(REQ_Corp_LXR)); //取联系人信息 } void CK_Agent::On_Agent_FP() { 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; #ifdef SMSCENTER_ADC if (COleDateTime(pData->tCreateTime).GetStatus() != COleDateTime::valid) //防止出错 ::GetLocalTime(&pData->tCreateTime); //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->tCreateTime)) < COleDateTimeSpan(180, 0, 0, 0))) { m_bModify = true; //允许修改 } #else #ifdef MANAGER_VER_YWY m_bModify = true; /* if (pData->lStatus == 1 && //状态为未启用 ((COleDateTime::GetCurrentTime() - COleDateTime(pData->tCreateTime)) < COleDateTimeSpan(10, 0, 0, 0))) //开通时间小于7日才能更改企业名称 { m_bModify = true; } else { m_bModify = false; } */ #else m_bModify = false; #endif #endif 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->lCorpType = 1; //查代理企业 m_pMainFrame->SendFrame(SMSFUNC_CORP_FP, (BYTE*)pFP, sizeof(REQ_Corp_FP)); //取联系人信息 } void CK_Agent::On_Agent_SF() { if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY)) { return; } long lItem = GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext(pos); REQ_Corp_SF_See * pSF = new REQ_Corp_SF_See; memset(pSF, 0, sizeof(REQ_Corp_SF_See)); _tcscpy(pSF->szCorpName, pData->szName); _tcscpy(pSF->szAddress, pData->szAddress); _tcscpy(pSF->szPostCode, pData->szPostcode); pSF->lCorpID = pData->lAgentID; pSF->lCorpType = 1; //查代理商 pSF->lPayType = 0;//非充值 pSF->lPayID = 0; //充值ID pSF->fPrice = 0.0f; //充值金额 m_pMainFrame->SendFrame(SMSFUNC_CORP_SF_SEE, (BYTE*)pSF, sizeof(REQ_Corp_SF_See)); //取联系人信息 } void CK_Agent::On_Agent_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_Agent_OPER() { 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; 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)); //取联系人信息 }