CorpSms/FSmsTask.cpp

705 lines
17 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// FSmsTask.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "FSmsTask.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFSmsTask dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
//#include "DLG_MmsDSSee.h"
CFSmsTask::CFSmsTask(CWnd* pParent /*=NULL*/)
: CDialog(CFSmsTask::IDD, pParent)
{
//{{AFX_DATA_INIT(CFSmsTask)
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
m_bShowToday = true;
m_bShowProcess = false;
}
void CFSmsTask::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFSmsTask)
DDX_Control(pDX, IDC_SMSTASK_LIST, m_wndList);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFSmsTask, CDialog)
//{{AFX_MSG_MAP(CFSmsTask)
ON_WM_SIZE()
ON_NOTIFY(NM_DBLCLK, IDC_SMSTASK_LIST, OnDblclkSmsdsList)
ON_NOTIFY(NM_RCLICK, IDC_SMSTASK_LIST, OnRclickSmsdsList)
ON_NOTIFY(LVN_KEYDOWN, IDC_SMSTASK_LIST, OnKeydownSmsdsList)
ON_WM_DESTROY()
//}}AFX_MSG_MAP
ON_COMMAND(MENU_SMSTASK_SEE , On_DS_See )
ON_COMMAND(MENU_SMSTASK_STOP , On_DS_Stop )
ON_COMMAND(MENU_SMSTASK_RESEND , On_DS_ReSend )
ON_COMMAND(MENU_SMSTASK_REFRESH , On_DS_Refresh )
ON_COMMAND(MENU_SMSTASK_PASS , On_DS_Pass )
ON_COMMAND(MENU_SMSTASK_NOPASS , On_DS_NoPass )
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFSmsTask message handlers
BOOL CFSmsTask::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;
m_AdoRS.SetAdoConnection( &m_pMainFrame->m_adoConnection );
//³õʼ»¯List
m_Image.Create(16,16,ILC_COLOR32|ILC_MASK,5,5);
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_SMSDF) );
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_SMSYF) );
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_SMSSB) );
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_SMS_SEND) );
m_wndList.SubClassWindow2();
m_wndList.SetHeadings(_T("ÐòºÅ,50;״̬,80;Ìá½»Óû§,90; ºÅÂëÊý,70;ÒÑ·¢ºÅÂë,70;Ìύʱ¼ä,150;¶¨Ê±Ê±¼ä,130;¶ÌÐÅÄÚÈÝ,300;"));
m_wndList.SetGridLines(true);
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
//m_wndList.SetBkColor( RGB(237,191,175) );
//m_wndList.SetTextBkColor( RGB(237,191,175) );
m_bInit = true;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CFSmsTask::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if ( m_bInit )
{
m_wndList.MoveWindow( 0 , 0 , cx,cy);
}
}
BOOL CFSmsTask::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL CFSmsTask::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
BOOL CFSmsTask::RefreshInfo()
{
m_wndList.ShowWindow( SW_HIDE ); //ΪÁ˼ӿìÏÔʾËÙ¶È
m_wndList.DeleteAllItems();
m_wndList.ShowWindow( SW_SHOW ); //ΪÁ˼ӿìÏÔʾËÙ¶È
REQ_PLTaskSms_See * pSee = new REQ_PLTaskSms_See;
memset(pSee , 0 , sizeof(REQ_PLTaskSms_See));
pSee->lCorpID = m_pMainFrame->m_lCorpID;
//pSee->lUserID = m_pMainFrame->m_lUserID;
pSee->lStatus = -1;
m_pMainFrame->SendFrame( SMSFUNC_PLTASKSMS_SEE , (BYTE*)pSee , sizeof( REQ_PLTaskSms_See ) ); //·¢ËÍÈ¡×ÊÁϵÄÇëÇó
/*
m_bShowProcess = true;
if ( m_DlgProcess.DoModal() != IDOK ) //ÏÔʾ½ø¶ÈÀ¸
{
//È¡×ÊÁϲ»³É¹¦
return false;
}
m_bShowProcess = false;
*/
return true;
}
long CFSmsTask::GetCurrentSelected()
{
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndList.GetNextSelectedItem(pos);
}
return -1;
}
BOOL CFSmsTask::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame)
{
m_bRefresh = true; //ÒÑˢйý
CString str;
if ( pHead->lFuncType == SMSFUNC_PLTASKSMS_SEE) //ÕýÔÚÈ¡Óû§ÐÅÏ¢
{
ANS_PLTaskSms_See * pSee = (ANS_PLTaskSms_See *)pFrame;
ANS_PLTaskSms_SeeData * pSeeData = (ANS_PLTaskSms_SeeData *)(pFrame+sizeof(ANS_PLTaskSms_See));
TCHAR szBuf[32]={0};
CString strTemp;
m_wndList.DeleteAllItems();
for ( int i = 0 ; i< pSee->lCount ; i++ )
{
//m_wndList.SetHeadings(_T("ÐòºÅ,50;״̬,60;Ìá½»Óû§,80; ºÅÂëÊý,60;ÒÑ·¢ºÅÂë,60;Ìύʱ¼ä,150;¶¨Ê±Ê±¼ä,130;¶ÌÐÅÄÚÈÝ,200;"));
long lCount = m_wndList.GetItemCount();
long lIcon=-1;
switch(pSeeData->lStatus)
{
case 0:
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;
case 8:
strTemp = _T("ÄÚ²¿ÉóºË");
lIcon = 0;
break;
case 9:
strTemp = _T("ÄÚ²¿ÉóºË"); //´ËģʽÏ£¬Óû§ÉóºËºó£¬»¹ÐèÒª¹ÜÀíÔ±Éó
lIcon = 0;
break;
case 10:
strTemp = _T("ÄÚ²¿ÉóºËʧ°Ü");
lIcon = 2;
break;
default:
strTemp = _T("δ֪״̬");
lIcon = -1;
break;
}
m_wndList.InsertItem(lCount,_itot(lCount+1,szBuf,10),lIcon);
long lTemp=1;
////0-ÕýÔÚÉÏ´«£¬1-´ý·¢ËÍ£¬2-ÉóºË£¬3-ÉóºËʧ°Ü,4-ÕýÔÚ·¢ËÍ£¬5-Óà¶î²»×㣬6-Ç¿ÖÆÍ£Ö¹,7-·¢ËÍÍê³É
m_wndList.SetItemText(lCount,lTemp++,strTemp);
m_wndList.SetItemText(lCount,lTemp++,pSeeData->szCreateUser);
strTemp.Format(_T("%d") , pSeeData->lMobileCount);
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format(_T("%d") , pSeeData->lYFMobileCount);
m_wndList.SetItemText(lCount,lTemp++,strTemp);
strTemp.Format(_T("%04d.%02d.%02d %02d:%02d") , pSeeData->tCreateTime.wYear,pSeeData->tCreateTime.wMonth,pSeeData->tCreateTime.wDay,pSeeData->tCreateTime.wHour,pSeeData->tCreateTime.wMinute);
m_wndList.SetItemText(lCount,lTemp++,strTemp);
COleDateTime t(pSeeData->tTimer);
if ( t.GetStatus() == COleDateTime::valid )
{
strTemp.Format(_T("%04d.%02d.%02d %02d:%02d") , pSeeData->tTimer.wYear,pSeeData->tTimer.wMonth,pSeeData->tTimer.wDay,pSeeData->tTimer.wHour,pSeeData->tTimer.wMinute);
}
else
{
strTemp =_T(" ");
}
m_wndList.SetItemText(lCount,lTemp++,strTemp);
m_wndList.SetItemText(lCount,lTemp++,pSeeData->szMsg);
ANS_PLTaskSms_SeeData * pNewData = new ANS_PLTaskSms_SeeData;
*pNewData = *pSeeData;
POSITION pos = m_PLTask.AddTail(pNewData);
m_wndList.SetItemData(lCount,(DWORD_PTR)pos);
pSeeData++;
}
return true;
}
if ( pHead->lFuncType == SMSFUNC_PLTASKSMS_MODIFY) //ÐÞ¸ÄÓû§
{
ANS_PLTaskSms_Modify * pSee = (ANS_PLTaskSms_Modify *)pFrame;
if ( pSee->bOK )
{
ANS_PLTaskSms_SeeData * pSeeData = NULL;
if ( m_wndList.GetItemData(pSee->lItem) >0 )
{
pSeeData = m_PLTask.GetAt((POSITION)m_wndList.GetItemData(pSee->lItem));
}
if ( pSeeData && pSeeData->lPLTaskSmsID == pSee->lPLTaskSmsID )
{
CString strTemp;
long lIcon;
switch(pSee->lStatus)
{
case 0:
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;
case 8:
strTemp = _T("ÄÚ²¿ÉóºË");
lIcon = 0;
break;
case 9:
strTemp = _T("ÄÚ²¿ÉóºË"); //´ËģʽÏ£¬Óû§ÉóºËºó£¬»¹ÐèÒª¹ÜÀíÔ±Éó
lIcon = 0;
break;
case 10:
strTemp = _T("ÄÚ²¿ÉóºËʧ°Ü");
lIcon = 2;
break;
default:
strTemp = _T("δ֪״̬");
lIcon = -1;
break;
}
m_wndList.SetItemText(pSee->lItem , 1 , strTemp );
}
}
else
{
str.Format( _T("ÐÞ¸ÄÈÎÎñ״̬ʧ°Ü£º%s") , pSee->szErrMsg );
MessageBox(str , _T("´íÎó") , MB_ICONWARNING );
}
return true;
}
//ɾ³ýÓû§
if (pHead->lFuncType == SMSFUNC_PLFILE_DEL)
{
/*
ANS_PLFile_Del * pDel = (ANS_PLFile_Del *)pFrame;
ANS_PLFile_DelData * pDelData = (ANS_PLFile_DelData *)(pFrame+sizeof(ANS_PLFile_Del));
POSITION pos,pos2;
ANS_PLTaskSms_SeeData * pPLFileData;
for ( int i = pDel->lCount-1 ; i>=0 ; i-- )
{
if ( pDelData[i].lPLFileID ) //ɾ³ý³É¹¦
{
pos = (POSITION)m_wndList.GetItemData( pDelData[i].lItem );
pos2 = pos;
pPLFileData = m_PLFile.GetNext( pos );
if ( pPLFileData->lPLFileID == pDelData[i].lPLFileID ) //IDÏàͬµÄ²Å¿Éɾ³ý
{
delete pPLFileData; //ÏÈɾ³ýÊý¾Ý
m_PLFile.RemoveAt(pos2); //´ÓÁбíÖÐɾ³ý
m_wndList.DeleteItem(pDelData[i].lItem); //´ÓListCtrlÖÐɾ³ý
}
}
}
*/
return true;
}
return false;
}
void CFSmsTask::SetToday(BOOL bToday)
{
if ( m_bShowToday != bToday )
{
m_bShowToday = bToday;
m_bRefresh = false;
}
}
void CFSmsTask::OnDblclkSmsdsList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
On_DS_See();
}
void CFSmsTask::OnRclickSmsdsList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
ShowRMenu();
}
void CFSmsTask::OnKeydownSmsdsList(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
*pResult = 0;
if ( pLVKeyDow->wVKey == VK_DELETE )
{
On_DS_Del();
}
if ( pLVKeyDow->wVKey == VK_SPACE)
{
On_DS_See();
}
if ( pLVKeyDow->wVKey == 'R' || pLVKeyDow->wVKey == 'r')
{
On_DS_Refresh();
}
if ( pLVKeyDow->wVKey == 'A' || pLVKeyDow->wVKey == 'a')
{
m_wndList.SelectAllItems();
}
}
void CFSmsTask::OnOK()
{
//CDialog::OnOK();
}
void CFSmsTask::OnCancel()
{
//CDialog::OnCancel();
}
void CFSmsTask::ShowRMenu()
{
CMenu menu;
menu.CreatePopupMenu();
long lItem = this->GetCurrentSelected();
if ( lItem >= 0 )
{
ANS_PLTaskSms_SeeData * pSeeData = NULL;
if ( m_wndList.GetItemData(lItem) >0 )
{
pSeeData = m_PLTask.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: //Óà¶î²»×ã
menu.AppendMenu(MF_STRING , MENU_SMSTASK_STOP , _T(" Ç¿ÖÆÍ£Ö¹ÈÎÎñ ") );
break;
}
if (m_pMainFrame->GetUserPurview(PURVIEW_PL_VERIFY,false))
{
switch(pSeeData->lStatus)
{
case 8: //Óû§ÉóºË1
case 9: //Óû§ÉóºË2
menu.AppendMenu(MF_STRING , MENU_SMSTASK_PASS , _T(" ÉóºËͨ¹ý ") );
menu.AppendMenu(MF_STRING , MENU_SMSTASK_NOPASS , _T(" ÉóºËʧ°Ü ") );
break;
}
}
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_SMSTASK_RESEND , _T(" ÖØÆôÈÎÎñ ") );
}
}
break;
}
}
}
else
{
//menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_DS_SEE , _T(" ²é ¿´ ") );
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_SMSTASK_STOP, _T(" ¸ü¸Ä״̬ ") );
}
menu.AppendMenu(MF_SEPARATOR );
//Ë¢ÐÂ
menu.AppendMenu(MF_STRING , MENU_SMSTASK_REFRESH, _T(" ˢ Р") );
//ÏÔʾ²Ëµ¥
POINT pt ;
::GetCursorPos( &pt );
//this->ClientToScreen( &pt);
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
menu.DestroyMenu();
}
void CFSmsTask::On_DS_See()
{
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
CString strRecver = m_wndList.GetItemText(lItem,1);
CString strSubTime = m_wndList.GetItemText(lItem,2);
CString strTimer = m_wndList.GetItemText(lItem,3);
CString strMsg = m_wndList.GetItemText(lItem,4);
/*
DLG_MmsDSSee dlg(this);
dlg.m_strRecver = strRecver;
dlg.m_strSubTime= strSubTime;
dlg.m_strTimer = strTimer;
dlg.m_strMsg = strMsg;
dlg.DoModal();
*/
}
void CFSmsTask::On_DS_Del()
{
long lRet = MessageBox( _T("ȷʵҪɾ³ýÑ¡ÖеļǼÂð£¿"),_T("ÌáÎÊ"),MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2);
if ( lRet != IDYES )
return ;
long lCount = m_wndList.GetSelectedCount();
if ( lCount<=0 )
return ;
/*
long lSize = sizeof(REQ_SMSTASK_Del)+sizeof(ANS_SMSTASK_DelData)*lCount;
BYTE * pDelSend = new BYTE[lSize];memset(pDelSend,0,lSize);
REQ_SMSTASK_Del * pDel = (REQ_SMSTASK_Del *)pDelSend; //Í·
ANS_SMSTASK_DelData * pDelData = (ANS_SMSTASK_DelData *)(pDelSend+sizeof(REQ_SMSTASK_Del));
pDel->lCorpID = m_pMainFrame->m_lCorpID;
pDel->lUserID = m_pMainFrame->m_lUserID;
pDel->lCount = lCount;
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
while(pos)
{
long lItem = m_wndList.GetNextSelectedItem(pos);
long lSendID = m_wndList.GetItemData(lItem);
pDelData->lItem = lItem;
pDelData->lSendID = lSendID;
pDelData ++;
}
m_pMainFrame->SendFrame( SMSFUNC_SMSTASK_DEL , pDelSend , lSize );
*/
}
void CFSmsTask::On_DS_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_PLTaskSms_SeeData * pSeeData = NULL;
if ( m_wndList.GetItemData(lItem) >0 )
{
pSeeData = m_PLTask.GetAt((POSITION)m_wndList.GetItemData(lItem));
}
if ( !pSeeData )
return ;
REQ_PLTaskSms_Modify * pModify = new REQ_PLTaskSms_Modify;
memset(pModify , 0 , sizeof(REQ_PLTaskSms_Modify) );
pModify->lCorpID = pSeeData->lCorpID;
pModify->lUserID = pSeeData->lUserID;
pModify->lPLTaskSmsID = pSeeData->lPLTaskSmsID;
pModify->lItem = lItem;
pModify->lOldStatus = pSeeData->lStatus;
pModify->lStatus = 6; //Ç¿ÖÆÍ£Ö¹
m_pMainFrame->SendFrame( SMSFUNC_PLTASKSMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskSms_Modify) );
}
void CFSmsTask::On_DS_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_PLTaskSms_SeeData * pSeeData = NULL;
if ( m_wndList.GetItemData(lItem) >0 )
{
pSeeData = m_PLTask.GetAt((POSITION)m_wndList.GetItemData(lItem));
}
if ( !pSeeData )
return ;
REQ_PLTaskSms_Modify * pModify = new REQ_PLTaskSms_Modify;
memset(pModify , 0 , sizeof(REQ_PLTaskSms_Modify) );
pModify->lCorpID = pSeeData->lCorpID;
pModify->lUserID = pSeeData->lUserID;
pModify->lPLTaskSmsID = pSeeData->lPLTaskSmsID;
pModify->lItem = lItem;
pModify->lOldStatus = pSeeData->lStatus;
pModify->lStatus = 1; //ÖØÐÂÆô¶¯
m_pMainFrame->SendFrame( SMSFUNC_PLTASKSMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskSms_Modify) );
}
void CFSmsTask::On_DS_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_PLTaskSms_SeeData * pSeeData = NULL;
if ( m_wndList.GetItemData(lItem) >0 )
{
pSeeData = m_PLTask.GetAt((POSITION)m_wndList.GetItemData(lItem));
}
if ( !pSeeData )
return ;
REQ_PLTaskSms_Modify * pModify = new REQ_PLTaskSms_Modify;
memset(pModify , 0 , sizeof(REQ_PLTaskSms_Modify) );
pModify->lCorpID = pSeeData->lCorpID;
pModify->lUserID = pSeeData->lUserID;
pModify->lPLTaskSmsID = pSeeData->lPLTaskSmsID;
pModify->lItem = lItem;
pModify->lOldStatus = pSeeData->lStatus;
pModify->lStatus = 1; //ÉóºËͨ¹ý£¬ÔÚ·¢ËÍ
if ( pModify->lOldStatus == 9 ) //»¹ÐèÒª¹ÜÀíÔ±ÉóºË
pModify->lStatus = 2; //ÐèÒª¹ÜÀíÔ±ÉóºË
m_pMainFrame->SendFrame( SMSFUNC_PLTASKSMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskSms_Modify) );
}
void CFSmsTask::On_DS_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_PLTaskSms_SeeData * pSeeData = NULL;
if ( m_wndList.GetItemData(lItem) >0 )
{
pSeeData = m_PLTask.GetAt((POSITION)m_wndList.GetItemData(lItem));
}
if ( !pSeeData )
return ;
REQ_PLTaskSms_Modify * pModify = new REQ_PLTaskSms_Modify;
memset(pModify , 0 , sizeof(REQ_PLTaskSms_Modify) );
pModify->lCorpID = pSeeData->lCorpID;
pModify->lUserID = pSeeData->lUserID;
pModify->lPLTaskSmsID = pSeeData->lPLTaskSmsID;
pModify->lItem = lItem;
pModify->lOldStatus = pSeeData->lStatus;
pModify->lStatus = 10; //Óû§ÉóºËʧ°Ü
m_pMainFrame->SendFrame( SMSFUNC_PLTASKSMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskSms_Modify) );
}
void CFSmsTask::On_DS_Refresh()
{
RefreshInfo();
}
void CFSmsTask::Close_Data()
{
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
while (!m_PLTask.IsEmpty())
{
ANS_PLTaskSms_SeeData * pData = m_PLTask.GetHead();
m_PLTask.RemoveHead();
delete pData;
}
}
void CFSmsTask::OnDestroy()
{
Close_Data();
CDialog::OnDestroy();
}