// K_MmsTask.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "K_MmsTask.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CK_MmsTask dialog #include "MainFrm.h" #include "ProcessSocket.h" #include "DLG_SmsLogSee.h" #include "DLG_HZB_Export.h" #include "DLG_Corp_Oper_Open.h" #include "DLG_BBS_Send.h" CK_MmsTask::CK_MmsTask(CWnd* pParent /*=NULL*/) : CDialog(CK_MmsTask::IDD, pParent) { //{{AFX_DATA_INIT(CK_MmsTask) m_lCorp = -1; m_tBegin = COleDateTime::GetCurrentTime(); m_tEnd = COleDateTime::GetCurrentTime(); m_lTop = -1; m_lStatus = -1; //}}AFX_DATA_INIT m_bInit = false; m_bRefresh = false; // m_bProcess = false; m_lQueryCorpID = 0; m_lCheckCount = 0; //ÐèÒªÉóºËµÄÊýÁ¿ } void CK_MmsTask::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CK_MmsTask) DDX_Control(pDX, IDC_LIST_CORPID, m_E_CorpID); DDX_Control(pDX, IDC_LIST_S1, m_S_S1); DDX_Control(pDX, IDC_LIST_CORP, m_L_Corp); DDX_Control(pDX, IDC_LIST_LIST, m_wndList); DDX_CBIndex(pDX, IDC_LIST_CORP, m_lCorp); DDX_DateTimeCtrl(pDX, IDC_LIST_TBEGIN, m_tBegin); DDX_DateTimeCtrl(pDX, IDC_LIST_TEND, m_tEnd); DDX_CBIndex(pDX, IDC_LIST_TOP, m_lTop); DDX_CBIndex(pDX, IDC_LIST_STATUS, m_lStatus); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CK_MmsTask, CDialog) //{{AFX_MSG_MAP(CK_MmsTask) ON_WM_SIZE() ON_BN_CLICKED(IDC_LIST_QUERY, OnListQuery) ON_NOTIFY(NM_DBLCLK, IDC_LIST_LIST, OnDblclkListList) ON_BN_CLICKED(IDC_LIST_QUERY2, OnListQuery2) ON_NOTIFY(NM_RCLICK, IDC_LIST_LIST, OnRclickListList) //}}AFX_MSG_MAP ON_COMMAND(MENU_LIST_SEE , On_User_See ) ON_COMMAND(MENU_LIST_ADDBACK , On_User_AddBack ) ON_COMMAND(MENU_LIST_SENDBBS , On_User_SendBBS ) ON_COMMAND(MENU_LIST_CORPLIST , On_User_CorpList ) ON_COMMAND(MENU_LIST_CORPOFF , On_User_CorpOFF ) ON_COMMAND(MENU_LIST_EXPORT , On_User_Export ) ON_COMMAND(MENU_LIST_COPY , On_User_Copy ) ON_COMMAND( MENU_MMSTASK_PASS , On_Task_Pass ) ON_COMMAND( MENU_MMSTASK_NOPASS , On_Task_NoPass ) ON_COMMAND( MENU_MMSTASK_STOP , On_Task_Stop ) ON_COMMAND( MENU_MMSTASK_RESEND , On_Task_ReSend ) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CK_MmsTask message handlers BOOL CK_MmsTask::ReShow(BOOL bRefresh) { ShowWindow( SW_SHOW ); if ( bRefresh || !m_bRefresh ) { RefreshInfo(); } return true; } BOOL CK_MmsTask::ReHide() { ShowWindow( SW_HIDE ); return true; } BOOL CK_MmsTask::RefreshInfo() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return false; } if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST,false) ) { GetDlgItem(IDC_LIST_TBEGIN)->EnableWindow(false); } m_pMainFrame->SendFrame(SMSFUNC_CORP_NAME,NULL,0); OnListQuery(); //²éѯÉóºËÖеÄÊý¾Ý return true; } BOOL CK_MmsTask::ProcessSocket(Socket_Head_Add *pHead,BYTE* pFrame) { CString str; //È¡Çåµ¥ if (pHead->lFuncType == SMSFUNC_PLTASKMMS_SEE) { ANS_PLTaskMms_See * pList = (ANS_PLTaskMms_See *)pFrame; ANS_PLTaskMms_SeeData * pData = (ANS_PLTaskMms_SeeData *)(pFrame+sizeof(ANS_PLTaskMms_See)); //CString strTemp; //strTemp.Format( _T("²éѯÆóÒµ (%d/%d)") , pList->lPageCount,pList->lPageAll ); //m_S_S1.SetWindowText( strTemp ); //Ìí¼Óµ½List long lCount = m_wndList.GetItemCount(); TCHAR szBuf[512]={0}; CString str; CString strTemp; m_lCheckCount = 0; for ( int i = 0 ; i< pList->lCount;i++) { ANS_PLTaskMms_SeeData * pNewData = new ANS_PLTaskMms_SeeData; *pNewData = *pData; POSITION pos = m_ListData.AddTail(pNewData); //m_wndList.SetHeadings(_T("ÐòºÅ,40; Àà ÐÍ,80;״̬,50;ÆóÒµID,60;·¢ËÍÈË,70; ·¢ËͺÅÂë,120; ½ÓÊÕÈË,70; ½ÓÊÕºÅÂë,120; Ìύʱ¼ä,150; ·¢ËÍʱ¼ä,150; ½ÓÊÕʱ¼ä,150; ¶ÌÐÅÄÚÈÝ,1000; ÐÅÏ¢ID,120;")); m_wndList.InsertItem( lCount+i,_itot(lCount+i+1,szBuf,10),0); long lIcon; switch(pNewData->lStatus) { case 0: default: strTemp = _T("ÕýÔÚÉÏ´«"); break; case 1: strTemp = _T("´ý·¢ËÍ"); lIcon = 0; break; case 2: strTemp = _T("ÉóºËÖÐ"); lIcon = 0; m_lCheckCount++; break; case 3: strTemp = _T("ÉóºËʧ°Ü"); lIcon = 2; break; case 4: strTemp = _T("ÕýÔÚ·¢ËÍ"); lIcon = 1; break; case 5: strTemp = _T("Óà¶î²»×ã"); lIcon = 2; break; case 6: strTemp = _T("Ç¿ÖÆÍ£Ö¹"); lIcon = 2; break; case 7: strTemp = _T("·¢ËÍÍê³É"); lIcon = 3; break; case 8: strTemp = _T("Óû§ÉóºË"); lIcon = 0; break; case 9: strTemp = _T("Óû§ÉóºË2"); //´ËģʽÏ£¬Óû§ÉóºËºó£¬»¹ÐèÒª¹ÜÀíÔ±Éó lIcon = 0; break; case 10: strTemp = _T("Óû§ÉóºËʧ°Ü"); lIcon = 2; break; } long lTemp=1; ////0-ÕýÔÚÉÏ´«£¬1-´ý·¢ËÍ£¬2-ÉóºË£¬3-ÉóºËʧ°Ü,4-ÕýÔÚ·¢ËÍ£¬5-Óà¶î²»×㣬6-Ç¿ÖÆÍ£Ö¹,7-·¢ËÍÍê³É,8-Óû§ÉóºË,9-Óû§ÉóºË2,10-Óû§ÉóºËʧ°Ü m_wndList.SetItemText(lCount+i,lTemp++,strTemp); str.Format( _T("%d-%s[%s]") , pNewData->lCorpID,pNewData->szCorpName,pNewData->szCreateUser); m_wndList.SetItemText(lCount+i,lTemp++,str); strTemp.Format(_T("%d") , pNewData->lMobileCount); m_wndList.SetItemText(lCount+i,lTemp++,strTemp); strTemp.Format(_T("%d") , pNewData->lYFMobileCount); m_wndList.SetItemText(lCount+i,lTemp++,strTemp); m_wndList.SetItemText(lCount+i,lTemp++,pNewData->szTitle); strTemp.Format(_T("%.1fk") , (double)pNewData->lmmSize/1024.0f); m_wndList.SetItemText(lCount+i,lTemp++,strTemp); strTemp.Format(_T("%04d.%02d.%02d %02d:%02d") , pNewData->tCreateTime.wYear,pNewData->tCreateTime.wMonth,pNewData->tCreateTime.wDay,pNewData->tCreateTime.wHour,pNewData->tCreateTime.wMinute); m_wndList.SetItemText(lCount+i,lTemp++,strTemp); COleDateTime t(pNewData->tTimer); if ( t.GetStatus() == COleDateTime::valid ) { strTemp.Format(_T("%04d.%02d.%02d %02d:%02d") , pNewData->tTimer.wYear,pNewData->tTimer.wMonth,pNewData->tTimer.wDay,pNewData->tTimer.wHour,pNewData->tTimer.wMinute); } else { strTemp =_T(" "); } m_wndList.SetItemText(lCount+i,lTemp++,strTemp); m_wndList.SetItemData(lCount+i,(DWORD)(pos) ); pData++; } return true; } if ( pHead->lFuncType == SMSFUNC_PLTASKMMS_MODIFY) //ÐÞ¸ÄÓû§ { ANS_PLTaskMms_Modify * pSee = (ANS_PLTaskMms_Modify *)pFrame; if ( pSee->bOK ) { ANS_PLTaskMms_SeeData * pSeeData = NULL; if ( m_wndList.GetItemData(pSee->lItem) >0 ) { pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(pSee->lItem)); } if ( pSeeData && pSeeData->lPLTaskMmsID == pSee->lPLTaskMmsID ) { CString strTemp; long lIcon; switch(pSee->lStatus) { case 0: default: strTemp = _T("ÕýÔÚÉÏ´«"); break; case 1: strTemp = _T("´ý·¢ËÍ"); lIcon = 0; break; case 2: strTemp = _T("ÉóºËÖÐ"); lIcon = 0; break; case 3: strTemp = _T("ÉóºËʧ°Ü"); lIcon = 2; break; case 4: strTemp = _T("ÕýÔÚ·¢ËÍ"); lIcon = 1; break; case 5: strTemp = _T("Óà¶î²»×ã"); lIcon = 2; break; case 6: strTemp = _T("Ç¿ÖÆÍ£Ö¹"); lIcon = 2; break; case 7: strTemp = _T("·¢ËÍÍê³É"); lIcon = 3; break; } m_wndList.SetItemText(pSee->lItem , 1 , strTemp ); } } else { str.Format( _T("ÐÞ¸ÄÈÎÎñ״̬ʧ°Ü£º%s") , pSee->szErrMsg ); MessageBox(str , _T("´íÎó") , MB_ICONWARNING ); } return true; } return false; } BOOL CK_MmsTask::ProcessSocket(Socket_Head *pHead) { CString strTemp; //È¡¹ýÂËÐÅÏ¢ if (pHead->lFuncType == SMSFUNC_CORP_NAME) { m_bRefresh = true; //ÒѾˢйý ANS_Corp_Name * pCorp = (ANS_Corp_Name *)pHead->pFrame; ANS_Corp_NameData * pData = (ANS_Corp_NameData *)(pHead->pFrame+sizeof(ANS_Corp_Name)); m_L_Corp.ResetContent(); //ɾ³ýÔÒÑÓÐµÄÆóÒµ m_L_Corp.AddString( _T("ËùÓÐÆóÒµ") ); this->Close_Corp(); //¹Ø±ÕÔ¶ÓÁÐ for ( int i=0;i<pCorp->lCount;i++ ) { ANS_Corp_NameData * pNewData = new ANS_Corp_NameData; *pNewData = *pData; POSITION pos = m_Corp.AddTail(pNewData); strTemp.Format( _T("%d-%s"),pData->lCorpID,pData->szCorpName); long lItem = m_L_Corp.AddString( strTemp ); m_L_Corp.SetItemData( lItem , (DWORD)pos); pData ++; } m_L_Corp.SetCurSel(0); return true; } return false; } BOOL CK_MmsTask::OnInitDialog() { CDialog::OnInitDialog(); //È¡µÃ¹²ÓòÎÊý //CMainFrame * pFrame = static_cast <CMainFrame *>((CMainFrame *)AfxGetMainWnd()); this->GetParent()->GetParentFrame(); m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame(); m_pSocket = &m_pMainFrame->m_Socket; //³õʼ»¯List m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LIST) ); m_wndList.SubClassWindow2(); m_wndList.SetHeadings(_T("ÐòºÅ,40;״̬,80;Ìá½»Óû§,300; ºÅÂëÊý,60;ÒÑ·¢ºÅÂë,65; ²ÊÐűêÌâ,250;²ÊÐÅ´óС,70;Ìύʱ¼ä,150;¶¨Ê±Ê±¼ä,130;")); m_wndList.SetGridLines(true); // m_wndList.SetImageList(&m_Image,LVSIL_SMALL); m_bInit = true; /* //ĬÈÏÈ¡ÉÏÔµÄÄÚÈÝ SYSTEMTIME t; ::GetLocalTime(&t); t.wDay = 1;//´Ó1ºÅÆð t.wMonth = t.wMonth-1; if ( t.wMonth <=0 ) { t.wMonth = 12; t.wYear = t.wYear-1; } m_tBegin.SetDate( t.wYear,t.wMonth,t.wDay ); //Æðʼ if ( t.wMonth == 1 || t.wMonth == 3 || t.wMonth == 5 || t.wMonth == 7 || t.wMonth == 8 || t.wMonth == 10 || t.wMonth == 12 ) { t.wDay = 31; } else if (t.wMonth == 2 ) t.wDay = 28; else t.wDay = 30; m_tEnd.SetDate( t.wYear,t.wMonth,t.wDay );//½áÊø */ COleDateTime t=COleDateTime::GetCurrentTime(); COleDateTime t2=t-COleDateTimeSpan(3,0,0,0); //ĬÈϲé3ÌìÄÚÊý¾Ý m_tBegin = t2; //¿ªÊ¼ m_tEnd = t; //½áÊø m_lStatus=3; m_lTop = 1; //ĬÈÏÏÔʾǰ200Ìõ¶ÌÐÅ UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CK_MmsTask::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); } } void CK_MmsTask::Close() { Close_Corp(); Close_ListData(); } void CK_MmsTask::OnListQuery() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } UpdateData(true); if ( m_tEnd < m_tBegin ) { MessageBox( _T("²éѯ½áÊøÈÕÆÚ²»ÄÜСÓÚÆðʼÈÕÆÚ£¬Çë¸ÄÕý!") , _T("´íÎó") , MB_ICONWARNING ); return ; } REQ_PLTaskMms_See * pSee = new REQ_PLTaskMms_See; memset(pSee , 0 , sizeof(REQ_PLTaskMms_See)); if ( m_lQueryCorpID ) { pSee->lCorpID = m_lQueryCorpID; pSee->lStatus = -1; //²éѯËùÓеļǼ m_lQueryCorpID = 0; } else { if ( m_lCorp <= 0 ) //Ñ¡ÁËËùÓÐÆóÒµ { pSee->lCorpID = -1; } else { POSITION pos = (POSITION)m_L_Corp.GetItemData(m_lCorp); POSITION pos2 = pos; ANS_Corp_NameData * pData = m_Corp.GetNext( pos ); if (pData) { pSee->lCorpID = pData->lCorpID; } else { return; } } } m_tBegin.GetAsSystemTime( pSee->tBegin ); m_tEnd.GetAsSystemTime( pSee->tEnd ); switch ( m_lTop ) { case 1: pSee->lTop = 200; break; case 2: pSee->lTop = 500; break; case 3: pSee->lTop = 1000; break; case 4: pSee->lTop = 2000; break; case 5: pSee->lTop = 5000; break; case 0: default: pSee->lTop = -1; break; } pSee->lStatus = m_lStatus-1; //²éѯ״̬¡£ this->Close_ListData(); //¹Ø±ÕÔ¶ÓÁÐ m_wndList.ShowWindow( SW_HIDE ); //ΪÁ˼ӿìÏÔʾËÙ¶È m_wndList.DeleteAllItems(); //ÏÈɾ³ýËùÓмǼ m_pMainFrame->SendFrame(SMSFUNC_PLTASKMMS_SEE,(BYTE*)pSee,sizeof(REQ_PLTaskMms_See)); m_wndList.ShowWindow( SW_SHOW ); //ΪÁ˼ӿìÏÔʾËÙ¶È return ; } void CK_MmsTask::OnDblclkListList(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; On_User_See(); } void CK_MmsTask::OnListQuery2() { CString strTemp; CString strFind; m_E_CorpID.GetWindowText(strFind); if ( strFind.GetLength()<=0 ) return ; long lSel = m_L_Corp.GetCurSel(); long lCount = m_L_Corp.GetCount(); for ( int i=lSel+1 ; i<lCount ; i++ ) { m_L_Corp.GetLBText(i,strTemp); if ( strTemp.Find(strFind)>=0 ) { m_L_Corp.SetCurSel(i); return ; } } for ( i=0 ; i<lSel ; i++ ) { m_L_Corp.GetLBText(i,strTemp); if ( strTemp.Find(strFind)>=0 ) { m_L_Corp.SetCurSel(i); return ; } } } void CK_MmsTask::OnRclickListList(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; ShowRMenu(); } void CK_MmsTask::ShowRMenu() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } CMenu menu; menu.CreatePopupMenu(); BOOL bLock = false; long lItem = this->GetCurrentSelected(); //Ìí¼Ó if ( lItem>=0 ) { //menu.AppendMenu(MF_STRING , MENU_LIST_SEE , _T(" ²é ¿´ ") ); menu.AppendMenu(MF_STRING , MENU_LIST_CORPLIST, _T(" ²éѯ´ËÆóÒµÇåµ¥ ") ); menu.AppendMenu(MF_SEPARATOR ); menu.AppendMenu(MF_STRING , MENU_LIST_CORPOFF , _T(" ½ûÓÃ´ËÆóÒµ ") ); menu.AppendMenu(MF_SEPARATOR ); //menu.AppendMenu(MF_STRING , MENU_LIST_ADDBACK, _T(" Ìí¼Óµ½ºÚÃûµ¥ ") ); //menu.AppendMenu(MF_SEPARATOR ); //menu.AppendMenu(MF_STRING , MENU_LIST_SENDBBS, _T(" ·¢ËͺÚÃûµ¥ÆÁ±Î֪ͨ ") ); ANS_PLTaskMms_SeeData * pSeeData = NULL; if ( m_wndList.GetItemData(lItem) >0 ) { pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(lItem)); } if ( pSeeData ) { //0-ÕýÔÚÉÏ´«£¬1-´ý·¢ËÍ£¬2-ÉóºË£¬3-ÉóºËʧ°Ü,4-ÕýÔÚ·¢ËÍ£¬5-Óà¶î²»×㣬6-Ç¿ÖÆÍ£Ö¹,7-·¢ËÍÍê³É switch(pSeeData->lStatus) { case 1: //´ý·¢ËÍ case 2: //ÉóºËÖÐ case 4: //ÕýÔÚ·¢ËÍ case 5: //Óà¶î²»×ã case 8: //Óû§ÉóºË case 9: //Óû§ÉóºË2 if (pSeeData->lStatus==2) //ÉóºËÖÐ { menu.AppendMenu(MF_STRING , MENU_MMSTASK_PASS , _T(" ÉóºËͨ¹ý ") ); menu.AppendMenu(MF_STRING , MENU_MMSTASK_NOPASS , _T(" ÉóºËʧ°Ü ") ); menu.AppendMenu(MF_SEPARATOR ); } menu.AppendMenu(MF_STRING , MENU_MMSTASK_STOP , _T(" Ç¿ÖÆÍ£Ö¹ÈÎÎñ ") ); break; } if ( m_pMainFrame->GetUserPurview(PURVIEW_LIST,false) ) { switch(pSeeData->lStatus) { case 5: //Óà¶î²»×ã case 6: //Ç¿ÖÆÍ£Ö¹ case 7: //ÒÑ·¢ËÍÍê³É { BOOL bReSend=true; if ( pSeeData->lStatus==7 || pSeeData->lStatus==6 ) //·¢ËÍÍê³ÉµÄ£¬Èç¹ûÒÑ·¢ÊýÁ¿Ð¡ÓÚÈÎÎñÊýÁ¿£¬ÔÊÐíÖØÆôÈÎÎñ { if ( pSeeData->lYFMobileCount >= pSeeData->lMobileCount ) { bReSend = false; } } if ( bReSend ) { menu.AppendMenu(MF_STRING , MENU_MMSTASK_RESEND , _T(" ÖØÆôÈÎÎñ ") ); } } break; } } } } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_SEE , _T(" ²é ¿´ ") ); menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_CORPLIST, _T(" ²éѯ´ËÆóÒµÇåµ¥ ") ); menu.AppendMenu(MF_SEPARATOR ); menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_CORPOFF , _T(" ½ûÓÃ´ËÆóÒµ ") ); menu.AppendMenu(MF_SEPARATOR ); //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_ADDBACK, _T(" Ìí¼Óµ½ºÚÃûµ¥ ") ); //menu.AppendMenu(MF_SEPARATOR ); //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_LIST_SENDBBS, _T(" ·¢ËͺÚÃûµ¥ÆÁ±Î֪ͨ ") ); } menu.AppendMenu(MF_SEPARATOR ); menu.AppendMenu(MF_STRING , MENU_LIST_COPY , _T(" ¸´ ÖÆ ") ); //ÏÔʾ²Ëµ¥ POINT pt ; ::GetCursorPos( &pt ); //this->ClientToScreen( &pt); menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL); menu.DestroyMenu(); } long CK_MmsTask::GetCurrentSelected() { POSITION pos = m_wndList.GetFirstSelectedItemPosition(); if ( pos ) { return m_wndList.GetNextSelectedItem(pos); } return -1; } void CK_MmsTask::On_Task_Pass() { long lRet = MessageBox( _T("ȷʵҪ½«´ËÈÎÎñÉóºË³É¹¦£¿"),_T("ÌáÎÊ"),MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2); if ( lRet != IDYES ) return ; long lItem = this->GetCurrentSelected(); if ( lItem<0 ) return ; ANS_PLTaskMms_SeeData * pSeeData = NULL; if ( m_wndList.GetItemData(lItem) >0 ) { pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(lItem)); } if ( !pSeeData ) return ; REQ_PLTaskMms_Modify * pModify = new REQ_PLTaskMms_Modify; memset(pModify , 0 , sizeof(REQ_PLTaskMms_Modify) ); pModify->lCorpID = pSeeData->lCorpID; pModify->lUserID = pSeeData->lUserID; pModify->lPLTaskMmsID = pSeeData->lPLTaskMmsID; pModify->lItem = lItem; pModify->lOldStatus = pSeeData->lStatus; pModify->lStatus = 1; //Æô¶¯ÈÎÎñ,ÉóºË³É¹¦£¬Ï൱ÓÚÆô¶¯ÈÎÎñ pModify->tMaxDelayTime = pSeeData->tCreateTime; //´´½¨Ê±¼ä _tcscpy(pModify->szTitle, pSeeData->szTitle); m_pMainFrame->SendFrame( SMSFUNC_PLTASKMMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskMms_Modify) ); } void CK_MmsTask::On_Task_NoPass() { long lRet = MessageBox( _T("ȷʵҪ½«´ËÈÎÎñÉóºËʧ°Ü£¿"),_T("ÌáÎÊ"),MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2); if ( lRet != IDYES ) return ; long lItem = this->GetCurrentSelected(); if ( lItem<0 ) return ; ANS_PLTaskMms_SeeData * pSeeData = NULL; if ( m_wndList.GetItemData(lItem) >0 ) { pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(lItem)); } if ( !pSeeData ) return ; REQ_PLTaskMms_Modify * pModify = new REQ_PLTaskMms_Modify; memset(pModify , 0 , sizeof(REQ_PLTaskMms_Modify) ); pModify->lCorpID = pSeeData->lCorpID; pModify->lUserID = pSeeData->lUserID; pModify->lPLTaskMmsID = pSeeData->lPLTaskMmsID; pModify->lItem = lItem; pModify->lOldStatus = pSeeData->lStatus; pModify->lStatus = 3; //ÉóºËʧ°Ü pModify->tMaxDelayTime = pSeeData->tCreateTime; //´´½¨Ê±¼ä _tcscpy(pModify->szTitle, pSeeData->szTitle); m_pMainFrame->SendFrame( SMSFUNC_PLTASKMMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskMms_Modify) ); } void CK_MmsTask::On_Task_Stop() { long lRet = MessageBox( _T("È·ÊµÒªÇ¿ÖÆÍ£Ö¹´ËÈÎÎñÂð£¿"),_T("ÌáÎÊ"),MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2); if ( lRet != IDYES ) return ; long lItem = this->GetCurrentSelected(); if ( lItem<0 ) return ; ANS_PLTaskMms_SeeData * pSeeData = NULL; if ( m_wndList.GetItemData(lItem) >0 ) { pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(lItem)); } if ( !pSeeData ) return ; REQ_PLTaskMms_Modify * pModify = new REQ_PLTaskMms_Modify; memset(pModify , 0 , sizeof(REQ_PLTaskMms_Modify) ); pModify->lCorpID = pSeeData->lCorpID; pModify->lUserID = pSeeData->lUserID; pModify->lPLTaskMmsID = pSeeData->lPLTaskMmsID; pModify->lItem = lItem; pModify->lOldStatus = pSeeData->lStatus; pModify->lStatus = 6; //Ç¿ÖÆÍ£Ö¹ m_pMainFrame->SendFrame( SMSFUNC_PLTASKMMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskMms_Modify) ); } void CK_MmsTask::On_Task_ReSend() { long lRet = MessageBox( _T("È·ÊµÒªÖØÐÂÆô¶¯´ËÈÎÎñÂð£¿"),_T("ÌáÎÊ"),MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2); if ( lRet != IDYES ) return ; long lItem = this->GetCurrentSelected(); if ( lItem<0 ) return ; ANS_PLTaskMms_SeeData * pSeeData = NULL; if ( m_wndList.GetItemData(lItem) >0 ) { pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(lItem)); } if ( !pSeeData ) return ; REQ_PLTaskMms_Modify * pModify = new REQ_PLTaskMms_Modify; memset(pModify , 0 , sizeof(REQ_PLTaskMms_Modify) ); pModify->lCorpID = pSeeData->lCorpID; pModify->lUserID = pSeeData->lUserID; pModify->lPLTaskMmsID = pSeeData->lPLTaskMmsID; pModify->lItem = lItem; pModify->lOldStatus = pSeeData->lStatus; pModify->lStatus = 1; //ÖØÐÂÆô¶¯ m_pMainFrame->SendFrame( SMSFUNC_PLTASKMMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskMms_Modify) ); } void CK_MmsTask::On_User_See() { /* if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_PLTaskMms_SeeData * pData = m_ListData.GetNext( pos ); if (!pData) return ; SMS_See sms={0}; _tcscpy( sms.szStatus , _T("δ֪") ); switch( pData->lSmsType ) { case SMSTYPE_SEND: _tcscpy(sms.szStatus , _T("·¢ ËÍ") ); break; case SMSTYPE_ZF: _tcscpy(sms.szStatus , _T("ת ·¢") ); break; case SMSTYPE_ALARM: _tcscpy(sms.szStatus , _T("ÈÕ³ÌÌáÐÑ") ); break; case SMSTYPE_EMAIL: _tcscpy(sms.szStatus , _T("Óʼþ֪ͨ") ); break; case SMSTYPE_RECV: _tcscpy(sms.szStatus , _T("½Ó ÊÕ") ); break; case SMSTYPE_SP: _tcscpy(sms.szStatus , _T("ÔöÖµÒµÎñ") ); break; case SMSTYPE_SWT: _tcscpy(sms.szStatus , _T("ÉÌÎñͨ") ); break; } if ( _tcslen(pData->szSender)) _stprintf( sms.szSender , _T("%s-%s") , pData->szSender,pData->szSendNum); else _stprintf( sms.szSender , _T("%s") , pData->szSendNum ); if ( _tcslen(pData->szRecver)) _stprintf( sms.szRecver , _T("%s-%s") , pData->szRecver,pData->szRecvNum); else _stprintf( sms.szRecver , _T("%s") , pData->szRecvNum ); _stprintf( sms.szSendTime , _T("%04d.%02d.%02d %02d:%02d:%02d") ,pData->tSendTime.wYear, pData->tSendTime.wMonth,pData->tSendTime.wDay,pData->tSendTime.wHour,pData->tSendTime.wMinute,pData->tSendTime.wSecond ); _stprintf( sms.szRecvTime , _T("%04d.%02d.%02d %02d:%02d:%02d") ,pData->tRecvTime.wYear,pData->tRecvTime.wMonth,pData->tRecvTime.wDay,pData->tRecvTime.wHour,pData->tRecvTime.wMinute,pData->tRecvTime.wSecond ); _tcscpy( sms.szMsg , pData->szMsg ); CString str; str.Format(_T("%s; %-32s;%-4d") , pData->szRecvStatus,pData->szMsgID,pData->lSendRet); str.TrimLeft(); str.TrimRight(); _tcscpy(sms.szAdd,str); DLG_SmsLogSee dlg(this); dlg.SetParam(sms); dlg.DoModal(); */ } void CK_MmsTask::On_User_AddBack() { /* if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_PLTaskMms_SeeData * pData = m_ListData.GetNext( pos ); if (!pData) return ; CString strTemp; CString strMobile; CString strMobile2; CString strMsg; CString str; if ( pData->lSmsType == 4 ) { strMobile = pData->szSendNum; } else { strMobile = pData->szRecvNum; } strMobile2 = strMobile; #ifdef SMSMANAGER_KF if ( strMobile2.GetLength()>7 ) { strMobile2.SetAt(4,'*'); strMobile2.SetAt(5,'*'); strMobile2.SetAt(6,'*'); } pData->szSendNum[4]='*';pData->szSendNum[5]='*';pData->szSendNum[6]='*'; #endif strMsg = pData->szMsg; str.Format( _T("ÕæµÄÒªÌí¼ÓÒÔÏÂÄÚÈݵ½ºÚÃûµ¥:\r\nºÅÂë:%s\r\nÄÚÈÝ:%s\r\n"),strMobile2,strMsg ); int iRet = MessageBox( str , _T("ÌáÎÊ") , MB_ICONQUESTION|MB_YESNO ); if ( iRet !=IDYES ) return ; REQ_Back_Add * pAdd = new REQ_Back_Add; memset(pAdd , 0 ,sizeof(REQ_Back_Add)); pAdd->lCorpID = pData->lCorpID; pAdd->lUserID = -1; _tcscpy(pAdd->szMobile , strMobile ); _stprintf( pAdd->szBZ , _T("ºǫ́Ìí¼Ó:%s") , strMsg ); m_pMainFrame->SendFrame(SMSFUNC_BACK_ADD,(BYTE*)pAdd,sizeof(REQ_Back_Add)); */ } void CK_MmsTask::On_User_SendBBS() { /* if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_ListData * pData = m_ListData.GetNext( pos ); if (!pData) return ; //ÏòÓû§·¢ËÍÏûÏ¢ ANS_BBS_SeeData See={0}; See.lBBSID = 0; See.lSCorpID = 0; //¹ÜÀíÔ±·¢µÄ See.lSUserID = m_pMainFrame->m_lUserID; //¹ÜÀíÔ±ID _tcscpy(See.szSCorpName,_T("¹ÜÀíÔ±")); _tcscpy(See.szSLoginName , m_pMainFrame->m_Setup.szUser ); See.lRCorpID = pData->lCorpID; See.lRUserID = pData->lUserID; DLG_BBS_Send dlg(this); dlg.SetParam( See , 3 ); if ( dlg.DoModal() == IDOK ) { long lSize = sizeof(REQ_BBS_Send)+sizeof(ANS_BBS_SeeData); BYTE * pModifyData = new BYTE[lSize];memset(pModifyData,0,lSize); REQ_BBS_Send * pModify = (REQ_BBS_Send *)pModifyData; //Í· ANS_BBS_SeeData * pSPData = (ANS_BBS_SeeData *)(pModifyData+sizeof(REQ_BBS_Send)); *pSPData = dlg.GetParam(); pModify->lItem = lItem; pModify->lCount = 1; m_pMainFrame->SendFrame( SMSFUNC_BBS_SEND , pModifyData , lSize ); } return ; */ } void CK_MmsTask::On_User_Export() { m_wndList.CopyToClipboard(); /* //m_wndList.SetHeadings(_T("ÐòºÅ,40; Àà ÐÍ,80;״̬,50;ÆóÒµID,60;·¢ËÍÈË,70; ·¢ËͺÅÂë,120; ½ÓÊÕÈË,70; ½ÓÊÕºÅÂë,120; Ìύʱ¼ä,150; ·¢ËÍʱ¼ä,150; ½ÓÊÕʱ¼ä,150; ¶¨Ê±Ê±¼ä,150; ¶ÌÐÅÄÚÈÝ,1000; ÐÅÏ¢ID,150;")); SortItem item[32]={0}; _tcscpy(item[0].szItem,_T("Àà ÐÍ")); _tcscpy(item[1].szItem,_T("״̬")); _tcscpy(item[2].szItem,_T("ÆóÒµID")); _tcscpy(item[3].szItem,_T("·¢ËÍÈË")); _tcscpy(item[4].szItem,_T("·¢ËͺÅÂë")); _tcscpy(item[5].szItem,_T("½ÓÊÕÈË")); _tcscpy(item[6].szItem,_T("½ÓÊÕºÅÂë")); _tcscpy(item[7].szItem,_T("Ìύʱ¼ä")); _tcscpy(item[8].szItem,_T("·¢ËÍʱ¼ä")); _tcscpy(item[9].szItem,_T("½ÓÊÕʱ¼ä")); _tcscpy(item[10].szItem,_T("¶¨Ê±Ê±¼ä")); _tcscpy(item[11].szItem,_T("²ÊÐűêÌâ")); _tcscpy(item[12].szItem,_T("״̬±¨¸æ")); DLG_HZB_Export dlg(this); dlg.SetParam( &m_wndList ); dlg.SetListItem(item,13,-2); dlg.DoModal(); */ } void CK_MmsTask::On_User_Copy() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; HGLOBAL hglbCopy; LPTSTR lptstrCopy; if (!OpenClipboard()) return ; EmptyClipboard(); CString str,strTemp; long lCol = m_wndList.GetColumnCount(); long lCount = m_wndList.GetSelectedItemCount(); for ( int i=0 ; i<lCol ; i++ ) { LVCOLUMN lmn={0}; TCHAR szBuf[256]={0}; lmn.mask = LVCF_TEXT; lmn.pszText = szBuf; lmn.cchTextMax = sizeof(szBuf); m_wndList.GetColumn(i , &lmn); str += CString(lmn.pszText ); str += CString(_T("\t")); } str += _T("\r\n"); lItem = -1; for ( i=0 ; i<lCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { CString str1; for ( int j=0 ; j<lCol; j++ ) { str1=m_wndList.GetItemText(lItem,j); #ifdef SMSMANAGER_KF if ( j == 12 ) str1 = _T(""); #endif str1.TrimLeft();str1.TrimRight();str1.Replace( _T("\t") , _T("") );str1.Replace( _T("\r") , _T("") );str1.Replace( _T("\n") , _T("") ); strTemp.Format(_T("%s\t"),str1); str += strTemp; } str += _T("\r\n"); } } hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (str.GetLength()+1)*sizeof(TCHAR)); if (hglbCopy == NULL) { CloseClipboard(); return ; } lptstrCopy = (LPTSTR)GlobalLock(hglbCopy); _tcscpy(lptstrCopy,str); GlobalUnlock(hglbCopy); #ifdef _UNICODE ::SetClipboardData(CF_UNICODETEXT, hglbCopy); #else ::SetClipboardData(CF_TEXT, hglbCopy); #endif CloseClipboard(); return ; } void CK_MmsTask::Close_Corp() { //Çå³ý¶ÓÁÐÖеÄÄÚÈÝ while (!m_Corp.IsEmpty()) { ANS_Corp_NameData * pData = m_Corp.GetHead(); m_Corp.RemoveHead(); delete pData; } } void CK_MmsTask::Close_ListData() { //Çå³ý¶ÓÁÐÖеÄÄÚÈÝ while (!m_ListData.IsEmpty()) { ANS_PLTaskMms_SeeData * pData = m_ListData.GetHead(); m_ListData.RemoveHead(); delete pData; } } void CK_MmsTask::On_User_CorpList() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_PLTaskMms_SeeData * pData = m_ListData.GetNext( pos ); if (!pData) return ; m_lQueryCorpID = pData->lCorpID; OnListQuery(); } void CK_MmsTask::On_User_CorpOFF() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); POSITION pos2 = pos; ANS_PLTaskMms_SeeData * pData = m_ListData.GetNext( pos ); if (!pData) return ; // CString str; // str.Format( _T("ÊÇ·ñÒª½ûÓÃ´ËÆóÒµID:%d£¿\r\n½ûÓúó´ËÆóÒµ½«²»ÄܵǼ!"),pData->lCorpID ); // if ( MessageBox(str , _T("ÌáÎÊ") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2) != IDYES ) // return ; ANS_Corp_SeeData data={0}; data.lCorpID = pData->lCorpID; DLG_Corp_Oper_Open dlg(this); dlg.SetParam(&data,false,this->m_pMainFrame->m_Setup.szUser); if ( dlg.DoModal() == IDOK ) { REQ_CorpOFF * pCorp = new REQ_CorpOFF;memset(pCorp,0,sizeof(REQ_CorpOFF)); pCorp->lCorpID = pData->lCorpID; pCorp->lStatus = 0; //0Ϊ½ûÓã¬1ΪÆôÓà _tcscpy(pCorp->szBZ , dlg.m_strBZ ); _tcscpy(pCorp->szOper , dlg.m_strOperName ); m_pMainFrame->SendFrame(SMSFUNC_CORPOFF,(BYTE*)pCorp,sizeof(REQ_CorpOFF)); } }