1478 lines
35 KiB
C++
1478 lines
35 KiB
C++
// K_SmsTask.cpp : implementation file
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "smsmanager.h"
|
||
#include "K_SmsTask.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new DEBUG_NEW
|
||
#undef THIS_FILE
|
||
static char THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CK_SmsTask 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"
|
||
#include "SmsManagerDoc.h"
|
||
#include "UserView.h"
|
||
#include "DLG_CheckupSee.h"
|
||
#include "DLG_SmsTask_Modify.h"
|
||
|
||
CK_SmsTask::CK_SmsTask(CWnd* pParent /*=NULL*/)
|
||
: CDialog(CK_SmsTask::IDD, pParent)
|
||
{
|
||
//{{AFX_DATA_INIT(CK_SmsTask)
|
||
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_SmsTask::DoDataExchange(CDataExchange* pDX)
|
||
{
|
||
CDialog::DoDataExchange(pDX);
|
||
//{{AFX_DATA_MAP(CK_SmsTask)
|
||
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_SmsTask, CDialog)
|
||
//{{AFX_MSG_MAP(CK_SmsTask)
|
||
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_SMSLIST , On_User_SmsList)
|
||
|
||
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_SMSTASK_PASS , On_Task_Pass )
|
||
ON_COMMAND( MENU_SMSTASK_NOPASS , On_Task_NoPass )
|
||
ON_COMMAND( MENU_SMSTASK_STOP , On_Task_Stop )
|
||
ON_COMMAND( MENU_SMSTASK_RESEND , On_Task_ReSend )
|
||
|
||
ON_WM_TIMER()
|
||
END_MESSAGE_MAP()
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CK_SmsTask message handlers
|
||
|
||
BOOL CK_SmsTask::ReShow(BOOL bRefresh)
|
||
{
|
||
ShowWindow( SW_SHOW );
|
||
if ( bRefresh || !m_bRefresh )
|
||
{
|
||
RefreshInfo();
|
||
}
|
||
return true;
|
||
}
|
||
|
||
BOOL CK_SmsTask::ReHide()
|
||
{
|
||
ShowWindow( SW_HIDE );
|
||
return true;
|
||
}
|
||
|
||
BOOL CK_SmsTask::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_SmsTask::ProcessSocket(Socket_Head_Add *pHead,BYTE* pFrame)
|
||
{
|
||
CString str;
|
||
//È¡Çåµ¥
|
||
if (pHead->lFuncType == SMSFUNC_PLTASKSMS_SEE)
|
||
{
|
||
ANS_PLTaskSms_See * pList = (ANS_PLTaskSms_See *)pFrame;
|
||
ANS_PLTaskSms_SeeData * pData = (ANS_PLTaskSms_SeeData *)(pFrame+sizeof(ANS_PLTaskSms_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_PLTaskSms_SeeData * pNewData = new ANS_PLTaskSms_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-·¢ËÍÍê³É
|
||
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->szMsg);
|
||
|
||
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.SetItemText(lCount + i, lTemp++, pNewData->szAuditResult);
|
||
|
||
m_wndList.SetItemData(lCount+i,(DWORD)(pos) );
|
||
|
||
pData++;
|
||
}
|
||
|
||
//ÐèÒªÌáÐÑ
|
||
if (this->m_pMainFrame->m_Setup.Warning_Enable && m_pMainFrame->m_Setup.Warning_Timer > 0)
|
||
{
|
||
if (!m_pMainFrame->m_Setup.Warning_OnlyContent)
|
||
{
|
||
/*
|
||
KillTimer(1);
|
||
|
||
m_pMainFrame->m_pUserView->m_dlgCheckup.Warning_Close(); //Ë¢ÐÂÁË£¬Í£Ö¹±¨¾¯
|
||
|
||
#ifdef _DEBUG
|
||
SetTimer(1, 8 * 1000, NULL);
|
||
#else
|
||
SetTimer(1, m_pMainFrame->m_Setup.Warning_Timer * 60 * 1000, NULL);
|
||
#endif
|
||
*/
|
||
}
|
||
else
|
||
{
|
||
KillTimer(11); //Ë¢ÐÂÁË£¬²»Óó¬Ê±¼ì²â
|
||
if (m_lCheckCount > 0) //ÓÐÊý¾Ý£¬ÐèÒªÌáÐÑ
|
||
{
|
||
m_pMainFrame->m_pUserView->m_dlgCheckup.Warning_Checkup(_T("ÓÐÅúÁ¿ÐèÉóºË"));
|
||
}
|
||
else
|
||
{
|
||
//±¾´ÎÎÞÊý¾Ý£¬Í¬Ê±ÐèÅжÏÅúÁ¿ÉóºËÊÇ·ñÓÐÊý¾Ý£¬Èç¹ûÅúÁ¿ÉóºËҲûÊý¾Ý£¬¾Í²»ÓÃÔÙÌáÐÑÁË
|
||
if (m_pMainFrame->m_pUserView->m_dlgCheckup.m_wndList.GetItemCount() <= 0 &&
|
||
m_pMainFrame->m_pUserView->m_dlgTemplate.m_lCheckCount <= 0 &&
|
||
m_pMainFrame->m_pUserView->m_dlgSignName.m_lCheckCount <= 0)
|
||
{
|
||
KillTimer(2); //¹Øµôͼ±êÉÁ¶¯
|
||
m_pMainFrame->m_pUserView->m_dlgCheckup.Warning_Close(); //ÎÞÊý¾ÝÁË£¬Í£Ö¹±¨¾¯
|
||
}
|
||
|
||
#ifdef _DEBUG
|
||
SetTimer(10, 8 * 1000, NULL);
|
||
#else
|
||
SetTimer(10, m_pMainFrame->m_Setup.Warning_Timer * 60 * 1000, NULL); //Ï´Î×Ô¶¯Ë¢ÐÂʱ¼ä
|
||
#endif
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
}
|
||
|
||
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_ListData.GetAt((POSITION)m_wndList.GetItemData(pSee->lItem));
|
||
}
|
||
if ( pSeeData && pSeeData->lPLTaskSmsID == pSee->lPLTaskSmsID )
|
||
{
|
||
pSeeData->lStatus = pSee->lStatus;
|
||
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;
|
||
}
|
||
|
||
|
||
if (pHead->lFuncType == SMSFUNC_PLTASKSMS_PLMODIFY) //ÐÞ¸ÄÓû§
|
||
{
|
||
ANS_PLTaskSms_PLModify* pSee = (ANS_PLTaskSms_PLModify*)pFrame;
|
||
REQ_PLTaskSms_PLModifyData * pData = (REQ_PLTaskSms_PLModifyData*)(pFrame + sizeof(ANS_PLTaskSms_PLModify));
|
||
|
||
if (pSee->bOK)
|
||
{
|
||
for (int i = 0; i < pSee->lCount; i++)
|
||
{
|
||
if (pData[i].lCorpID > 0 && pData[i].lPLTaskSmsID > 0)
|
||
{
|
||
ANS_PLTaskSms_SeeData* pSeeData = NULL;
|
||
if (m_wndList.GetItemData(pData[i].lItem) > 0)
|
||
{
|
||
pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(pData[i].lItem));
|
||
}
|
||
if (pSeeData && pSeeData->lPLTaskSmsID == pData[i].lPLTaskSmsID && pData[i].bOK)
|
||
{
|
||
pSeeData->lStatus = pData[i].lStatus;
|
||
CString strTemp;
|
||
long lIcon;
|
||
switch (pSeeData->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(pData[i].lItem, 1, strTemp);
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
str.Format(_T("ÐÞ¸ÄÈÎÎñ״̬ʧ°Ü£º%s"), pSee->szErrMsg);
|
||
MessageBox(str, _T("´íÎó"), MB_ICONWARNING);
|
||
}
|
||
return true;
|
||
}
|
||
|
||
|
||
|
||
return false;
|
||
}
|
||
|
||
BOOL CK_SmsTask::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_SmsTask::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;¶ÌÐÅÄÚÈÝ,450;Ìύʱ¼ä,150;¶¨Ê±Ê±¼ä,130;ÉóºËÀíÓÉ,150;"));
|
||
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_SmsTask::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_SmsTask::Close()
|
||
{
|
||
Close_Corp();
|
||
Close_ListData();
|
||
}
|
||
|
||
void CK_SmsTask::OnListQuery()
|
||
{
|
||
if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) )
|
||
{
|
||
return ;
|
||
}
|
||
UpdateData(true);
|
||
|
||
|
||
if ( m_tEnd < m_tBegin )
|
||
{
|
||
MessageBox( _T("²éѯ½áÊøÈÕÆÚ²»ÄÜСÓÚÆðʼÈÕÆÚ£¬Çë¸ÄÕý!") , _T("´íÎó") , MB_ICONWARNING );
|
||
return ;
|
||
}
|
||
REQ_PLTaskSms_See * pSee = new REQ_PLTaskSms_See;
|
||
memset(pSee , 0 , sizeof(REQ_PLTaskSms_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_PLTASKSMS_SEE,(BYTE*)pSee,sizeof(REQ_PLTaskSms_See));
|
||
m_wndList.ShowWindow( SW_SHOW ); //ΪÁ˼ӿìÏÔʾËÙ¶È
|
||
return ;
|
||
}
|
||
|
||
void CK_SmsTask::OnDblclkListList(NMHDR* pNMHDR, LRESULT* pResult)
|
||
{
|
||
*pResult = 0;
|
||
|
||
On_User_See();
|
||
}
|
||
|
||
void CK_SmsTask::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_SmsTask::OnRclickListList(NMHDR* pNMHDR, LRESULT* pResult)
|
||
{
|
||
*pResult = 0;
|
||
|
||
ShowRMenu();
|
||
}
|
||
|
||
void CK_SmsTask::ShowRMenu()
|
||
{
|
||
if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) )
|
||
{
|
||
return ;
|
||
}
|
||
if (m_lQueryCorpID == -100)
|
||
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_STRING , MENU_LIST_SMSLIST, _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_PLTaskSms_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_SMSTASK_PASS , _T(" Ñ¡ÖеÄÉóºËͨ¹ý ") );
|
||
menu.AppendMenu(MF_STRING , MENU_SMSTASK_NOPASS , _T(" Ñ¡ÖеÄÉóºËʧ°Ü ") );
|
||
menu.AppendMenu(MF_SEPARATOR );
|
||
}
|
||
menu.AppendMenu(MF_STRING , MENU_SMSTASK_STOP , _T(" Ç¿ÖÆÍ£Ö¹ÈÎÎñ ") );
|
||
break;
|
||
}
|
||
if ( m_pMainFrame->GetUserPurview(PURVIEW_FILT,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_SMSTASK_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_SmsTask::GetCurrentSelected()
|
||
{
|
||
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
|
||
if ( pos )
|
||
{
|
||
return m_wndList.GetNextSelectedItem(pos);
|
||
}
|
||
return -1;
|
||
}
|
||
|
||
|
||
void CK_SmsTask::On_Task_Pass()
|
||
{
|
||
SmsCheckup(true);
|
||
/*
|
||
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_ListData.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; //Æô¶¯ÈÎÎñ,ÉóºË³É¹¦£¬Ï൱ÓÚÆô¶¯ÈÎÎñ
|
||
pModify->tMaxDelayTime = pSeeData->tCreateTime; //´´½¨Ê±¼ä
|
||
_tcscpy(pModify->szMsg, pSeeData->szMsg);
|
||
pModify->lNotifyMobiles = pSeeData->lNotifyMobiles; //ÊÇ·ñÐèҪ֪ͨÊÖ»ú
|
||
|
||
m_pMainFrame->SendFrame( SMSFUNC_PLTASKSMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskSms_Modify) );
|
||
*/
|
||
}
|
||
void CK_SmsTask::On_Task_NoPass()
|
||
{
|
||
SmsCheckup(false);
|
||
/*
|
||
|
||
long lItem = this->GetCurrentSelected();
|
||
if (lItem < 0)
|
||
return;
|
||
|
||
ANS_PLTaskSms_SeeData * pSeeData = NULL;
|
||
if (m_wndList.GetItemData(lItem) > 0)
|
||
{
|
||
pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(lItem));
|
||
}
|
||
if (!pSeeData)
|
||
return;
|
||
|
||
CString strReason;
|
||
if (pSeeData->lNotifyMobiles) //ÓÐ֪ͨºÅÂëµÄ£¬ÐèҪдʧ°ÜÔÒò
|
||
{
|
||
DLG_SmsTask_Modify dlg(this);
|
||
dlg.SetParam(pSeeData);
|
||
if (dlg.DoModal() != IDOK)
|
||
return;
|
||
|
||
strReason = dlg.m_strReason;
|
||
}
|
||
else
|
||
{
|
||
long lRet = MessageBox(_T("ȷʵҪ½«´ËÈÎÎñÉóºËʧ°Ü£¿"), _T("ÌáÎÊ"), MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON2);
|
||
if (lRet != IDYES)
|
||
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 = 3; //ÉóºËʧ°Ü
|
||
pModify->tMaxDelayTime = pSeeData->tCreateTime; //´´½¨Ê±¼ä
|
||
_tcscpy(pModify->szMsg, pSeeData->szMsg);
|
||
pModify->lNotifyMobiles = pSeeData->lNotifyMobiles; //ÊÇ·ñÐèҪ֪ͨÊÖ»ú
|
||
_tcscpy(pModify->szReason, strReason); //ÉóºËʧ°ÜÔÒò
|
||
m_pMainFrame->SendFrame( SMSFUNC_PLTASKSMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskSms_Modify) );
|
||
*/
|
||
}
|
||
|
||
|
||
void CK_SmsTask::SmsCheckup(BOOL bPass, BOOL bAllSelect)
|
||
{
|
||
//bPass ÊÇ·ñÉóºËͨ¹ý¡£
|
||
//bAllSelect ÊÇ·ñ²Ù×÷ËùÓÐÑ¡ÔñµÄ£¬·ñ-Ö»²Ù×÷Ñ¡ÔñµÄµÚÒ»Ìõ
|
||
|
||
|
||
if (!m_pMainFrame->GetUserPurview(PURVIEW_FILT))
|
||
{
|
||
return;
|
||
}
|
||
long lCount = m_wndList.GetSelectedCount();
|
||
if (lCount <= 0)
|
||
return;
|
||
if (lCount > 9)
|
||
{
|
||
MessageBox(_T("ÿ´Î×î¶àÖ»¿ÉÒÔ²Ù×÷9Ìõ¼Ç¼£¬Çë¼õÉÙÑ¡Ôñ·¶Î§¡£"), _T("¾¯¸æ"), MB_ICONWARNING);
|
||
return;
|
||
}
|
||
|
||
long lSize = sizeof(REQ_PLTaskSms_PLModify) + sizeof(REQ_PLTaskSms_PLModifyData) * lCount;
|
||
BYTE* pCheckupSend = new BYTE[lSize]; memset(pCheckupSend, 0, lSize);
|
||
BOOL bGetFirst = false;
|
||
REQ_PLTaskSms_PLModify* pCheckup = (REQ_PLTaskSms_PLModify*)pCheckupSend; //Í·
|
||
REQ_PLTaskSms_PLModifyData* pCheckupData = (REQ_PLTaskSms_PLModifyData*)(pCheckupSend + sizeof(REQ_PLTaskSms_PLModify));
|
||
pCheckup->lCount = lCount;
|
||
pCheckup->lUserID = this->m_pMainFrame->m_lUserID;
|
||
if (bPass)
|
||
pCheckup->lStatus = 1; //ÉóºËͨ¹ý
|
||
else
|
||
pCheckup->lStatus = 3; //ÉóºËʧ°Ü
|
||
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
|
||
ANS_PLTaskSms_SeeData* pSeeData;
|
||
COleDateTime tMaxDelayTime = COleDateTime::GetCurrentTime(); //È¡×ʱ¼äµÄ¶ÌÐÅ
|
||
CString strMaxDelayMsg;
|
||
long lMaxDelayCorpID = 0;
|
||
long lMaxDelayUserID = 0;
|
||
BOOL bNotifyMobiles = false;
|
||
POSITION pos2;
|
||
while (pos)
|
||
{
|
||
long lItem = m_wndList.GetNextSelectedItem(pos);
|
||
pos2 = (POSITION)m_wndList.GetItemData(lItem);
|
||
pSeeData = m_ListData.GetNext(pos2); //È¡µÃÁбíÖеÄpos
|
||
|
||
if (pSeeData && pSeeData->lStatus == 2) //Ö»ÓÐ״̬Ϊ2µÄ²ÅÐèÒªÉóºË
|
||
{
|
||
pCheckupData->lCorpID = pSeeData->lCorpID;
|
||
pCheckupData->lUserID = pSeeData->lUserID;
|
||
pCheckupData->lPLTaskSmsID = pSeeData->lPLTaskSmsID;
|
||
pCheckupData->lStatus = bPass;
|
||
pCheckupData->lItem = lItem;
|
||
pCheckupData->lOldStatus = pSeeData->lStatus;
|
||
pCheckupData->lStatus = pCheckup->lStatus;
|
||
_tcscpy(pCheckupData->szMsg, pSeeData->szMsg);
|
||
pCheckupData->lNotifyMobiles = pSeeData->lNotifyMobiles; //ÊÇ·ñÐèҪ֪ͨÊÖ»ú
|
||
if (pCheckupData->lNotifyMobiles)
|
||
bNotifyMobiles = true;
|
||
|
||
if (COleDateTime(pSeeData->tCreateTime) < tMaxDelayTime) //È¡×ʱ¼äµÄ¶ÌÐÅ
|
||
{
|
||
tMaxDelayTime = pSeeData->tCreateTime;
|
||
strMaxDelayMsg = pSeeData->szMsg;
|
||
lMaxDelayCorpID = pSeeData->lCorpID;
|
||
lMaxDelayUserID = pSeeData->lUserID;
|
||
}
|
||
}
|
||
|
||
if (!bGetFirst)
|
||
{
|
||
bGetFirst = true;
|
||
pCheckup->lCorpID = pSeeData->lCorpID;
|
||
}
|
||
|
||
if (!bAllSelect) //Èç¹û²»ÊÇ´¦ÀíÈ«²¿Ñ¡ÔñµÄ£¬µÚÒ»ÌõºóÍ˳ö¡£
|
||
break;
|
||
|
||
pCheckupData++;
|
||
}
|
||
|
||
if (strMaxDelayMsg.GetLength() > 0)
|
||
{
|
||
_tcscpy(pCheckup->szDelayMsg, strMaxDelayMsg);
|
||
pCheckup->lDelayCorpID = lMaxDelayCorpID;
|
||
tMaxDelayTime.GetAsSystemTime(pCheckup->tMaxDelayTime);
|
||
}
|
||
|
||
if (bPass == false && bNotifyMobiles)
|
||
{
|
||
DLG_SmsTask_Modify dlg(this);
|
||
dlg.SetParam(pSeeData,0,lCount);
|
||
if (dlg.DoModal() != IDOK)
|
||
{
|
||
delete [] pCheckupSend;
|
||
return;
|
||
}
|
||
|
||
_tcscpy(pCheckup->szReason, dlg.m_strReason);
|
||
}
|
||
else
|
||
{
|
||
CString strTip = _T("ȷʵҪ½«´ËÈÎÎñÉóºËʧ°Ü£¿");
|
||
if (bPass)
|
||
{
|
||
strTip = _T("ȷʵҪ½«´ËÈÎÎñÉóºËͨ¹ý£¿");
|
||
|
||
}
|
||
if (lCount > 1)
|
||
strTip.Append(_T("\r\n×¢Ò⣺ÄãÒÑÑ¡Ôñ¶àÌõ¼Ç¼£¬´ËΪÅúÁ¿²Ù×÷£¡"));
|
||
|
||
long lRet = MessageBox(strTip, _T("ÌáÎÊ"), MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON2);
|
||
if (lRet != IDYES)
|
||
{
|
||
delete[] pCheckupSend;
|
||
return;
|
||
}
|
||
}
|
||
|
||
|
||
m_pMainFrame->SendFrame(SMSFUNC_PLTASKSMS_PLMODIFY, pCheckupSend, lSize);
|
||
}
|
||
|
||
void CK_SmsTask::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_PLTaskSms_SeeData * pSeeData = NULL;
|
||
if ( m_wndList.GetItemData(lItem) >0 )
|
||
{
|
||
pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(lItem));
|
||
}
|
||
if ( !pSeeData )
|
||
return ;
|
||
|
||
|
||
DLG_SmsTask_Modify dlg(this);
|
||
dlg.SetParam(pSeeData,1); //Ç¿ÖÆÍ£Ö¹
|
||
if (dlg.DoModal() != IDOK)
|
||
return;
|
||
|
||
CString strReason = dlg.m_strReason;
|
||
|
||
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; //Ç¿ÖÆÍ£Ö¹
|
||
_tcscpy(pModify->szReason, strReason);//Í£Ö¹ÔÒò
|
||
|
||
m_pMainFrame->SendFrame( SMSFUNC_PLTASKSMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskSms_Modify) );
|
||
}
|
||
void CK_SmsTask::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_PLTaskSms_SeeData * pSeeData = NULL;
|
||
if ( m_wndList.GetItemData(lItem) >0 )
|
||
{
|
||
pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(lItem));
|
||
}
|
||
if ( !pSeeData )
|
||
return ;
|
||
|
||
|
||
DLG_SmsTask_Modify dlg(this);
|
||
dlg.SetParam(pSeeData, 2); //ÖØÆôÈÎÎñ
|
||
if (dlg.DoModal() != IDOK)
|
||
return;
|
||
CString strReason = dlg.m_strReason;
|
||
|
||
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; //ÖØÐÂÆô¶¯
|
||
_tcscpy(pModify->szReason, strReason);//ÖØÆôÔÒò
|
||
|
||
m_pMainFrame->SendFrame( SMSFUNC_PLTASKSMS_MODIFY , (BYTE*)pModify , sizeof(REQ_PLTaskSms_Modify) );
|
||
}
|
||
|
||
void CK_SmsTask::On_User_See()
|
||
{
|
||
if (!m_pMainFrame->GetUserPurview(PURVIEW_FILT))
|
||
{
|
||
return;
|
||
}
|
||
ANS_PLTaskSms_SeeData * pSeeData = NULL;
|
||
long lItem = GetCurrentSelected();
|
||
if (lItem < 0)
|
||
return;
|
||
|
||
if (m_wndList.GetItemData(lItem) > 0)
|
||
{
|
||
pSeeData = m_ListData.GetAt((POSITION)m_wndList.GetItemData(lItem));
|
||
}
|
||
if (!pSeeData)
|
||
return;
|
||
|
||
DLG_CheckupSee dlg(this);
|
||
dlg.SetParam2(*pSeeData);
|
||
dlg.DoModal();
|
||
|
||
|
||
}
|
||
void CK_SmsTask::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_PLTaskSms_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_SmsTask::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_SmsTask::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_SmsTask::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_SmsTask::Close_Corp()
|
||
{
|
||
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
|
||
while (!m_Corp.IsEmpty())
|
||
{
|
||
ANS_Corp_NameData * pData = m_Corp.GetHead();
|
||
m_Corp.RemoveHead();
|
||
delete pData;
|
||
}
|
||
|
||
}
|
||
|
||
void CK_SmsTask::Close_ListData()
|
||
{
|
||
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
|
||
while (!m_ListData.IsEmpty())
|
||
{
|
||
ANS_PLTaskSms_SeeData * pData = m_ListData.GetHead();
|
||
m_ListData.RemoveHead();
|
||
delete pData;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
void CK_SmsTask::On_User_SmsList()
|
||
{
|
||
/*
|
||
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_PLTaskSms_SeeData * pData = m_ListData.GetNext(pos);
|
||
if (!pData)
|
||
return;
|
||
REQ_PLTaskSms_See * pSee = new REQ_PLTaskSms_See;
|
||
memset(pSee, 0, sizeof(REQ_PLTaskSms_See));
|
||
|
||
pSee->lCorpID = pData->lPLTaskSmsID;
|
||
pSee->lStatus = -100; //²éѯËùÓеļǼ
|
||
m_lQueryCorpID = -100;
|
||
|
||
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;
|
||
}
|
||
this->Close_ListData(); //¹Ø±ÕÔ¶ÓÁÐ
|
||
m_wndList.ShowWindow(SW_HIDE); //ΪÁ˼ӿìÏÔʾËÙ¶È
|
||
m_wndList.DeleteAllItems(); //ÏÈɾ³ýËùÓмǼ
|
||
m_pMainFrame->SendFrame(SMSFUNC_PLTASKSMS_SEE, (BYTE*)pSee, sizeof(REQ_PLTaskSms_See));
|
||
m_wndList.ShowWindow(SW_SHOW); //ΪÁ˼ӿìÏÔʾËÙ¶È
|
||
|
||
}
|
||
|
||
void CK_SmsTask::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_PLTaskSms_SeeData * pData = m_ListData.GetNext( pos );
|
||
if (!pData)
|
||
return ;
|
||
|
||
|
||
this->m_pMainFrame->ShowFuncDlg(FUNC_LIST);
|
||
|
||
this->m_pMainFrame->m_pUserView->m_dlgList.m_lQueryCorpID = pData->lCorpID;
|
||
this->m_pMainFrame->m_pUserView->m_dlgList.OnListQuery();
|
||
/*
|
||
m_lQueryCorpID = pData->lCorpID;
|
||
OnListQuery();
|
||
*/
|
||
}
|
||
|
||
void CK_SmsTask::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_PLTaskSms_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));
|
||
}
|
||
}
|
||
|
||
|
||
void CK_SmsTask::OnTimer(UINT_PTR nIDEvent)
|
||
{
|
||
CDialog::OnTimer(nIDEvent);
|
||
|
||
if (nIDEvent == 10) //Ë¢ÐÂÊý¾Ý
|
||
{
|
||
KillTimer(10);
|
||
#ifdef _DEBUG
|
||
SetTimer(11, 5000, NULL); //40Ãëˢг¬Ê±
|
||
#else
|
||
SetTimer(11, 40000, NULL); //40Ãëˢг¬Ê±
|
||
#endif
|
||
OnListQuery();
|
||
|
||
}
|
||
|
||
if (nIDEvent == 11) //ˢг¬Ê±
|
||
{
|
||
KillTimer(nIDEvent);
|
||
m_pMainFrame->m_pUserView->m_dlgCheckup.Warning_Checkup(_T("¶ÌÐÅˢг¬Ê±"));
|
||
|
||
#ifdef _DEBUG
|
||
SetTimer(10, 8 * 1000, NULL);
|
||
#else
|
||
SetTimer(10, m_pMainFrame->m_Setup.Warning_Timer * 60 * 1000 /2, NULL); //³¬Ê±ºóÔÙ´ÎË¢ÐÂ
|
||
#endif
|
||
}
|
||
|
||
}
|