1361 lines
35 KiB
C++
1361 lines
35 KiB
C++
|
// FFaxJS.cpp : implementation file
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#include "CorpSms.h"
|
|||
|
#include "FFaxJS.h"
|
|||
|
|
|||
|
#ifdef _DEBUG
|
|||
|
#define new DEBUG_NEW
|
|||
|
#undef THIS_FILE
|
|||
|
static char THIS_FILE[] = __FILE__;
|
|||
|
#endif
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// CFFaxJS dialog
|
|||
|
#include "MainFrm.h"
|
|||
|
#include "ProcessSocket.h"
|
|||
|
#include "DLG_RecvSms.h"
|
|||
|
#include "DLG_SmsLogSee.h"
|
|||
|
//#include "DLG_FAXJS_Export.h"
|
|||
|
#include "DLG_TypeSetup.h"
|
|||
|
|
|||
|
#ifdef SUPPERGSM
|
|||
|
#include "..\public\SendThread\SendThread.h"
|
|||
|
#endif
|
|||
|
|
|||
|
#include "DLG_Find_RecvSms.h"
|
|||
|
|
|||
|
CFFaxJS::CFFaxJS(CWnd* pParent /*=NULL*/)
|
|||
|
: CDialog(CFFaxJS::IDD, pParent)
|
|||
|
{
|
|||
|
//{{AFX_DATA_INIT(CFFaxJS)
|
|||
|
// NOTE: the ClassWizard will add member initialization here
|
|||
|
//}}AFX_DATA_INIT
|
|||
|
|
|||
|
m_bInit = false;
|
|||
|
m_bRefresh = false;
|
|||
|
|
|||
|
memset(&m_Setup,0,sizeof(m_Setup));
|
|||
|
#ifdef SUPPERGSM
|
|||
|
m_pSendThread = NULL;
|
|||
|
#endif
|
|||
|
m_bOneGetSim = true;
|
|||
|
m_lMobileRecvCount = 0;
|
|||
|
m_pMenuType = NULL;
|
|||
|
m_lMenuTypeCount = 0;
|
|||
|
m_bShowToday = true;
|
|||
|
m_bRecvFirst = true;
|
|||
|
m_lIconCount = 0;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void CFFaxJS::DoDataExchange(CDataExchange* pDX)
|
|||
|
{
|
|||
|
CDialog::DoDataExchange(pDX);
|
|||
|
//{{AFX_DATA_MAP(CFFaxJS)
|
|||
|
DDX_Control(pDX, IDC_FAXJS_LIST, m_wndList);
|
|||
|
//}}AFX_DATA_MAP
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BEGIN_MESSAGE_MAP(CFFaxJS, CDialog)
|
|||
|
//{{AFX_MSG_MAP(CFFaxJS)
|
|||
|
ON_WM_SIZE()
|
|||
|
ON_NOTIFY(LVN_KEYDOWN, IDC_FAXJS_LIST, OnKeydownSmsjsList)
|
|||
|
ON_NOTIFY(NM_RCLICK, IDC_FAXJS_LIST, OnRclickSmsjsList)
|
|||
|
ON_NOTIFY(NM_DBLCLK, IDC_FAXJS_LIST, OnDblclkSmsjsList)
|
|||
|
ON_WM_TIMER()
|
|||
|
ON_WM_DESTROY()
|
|||
|
//}}AFX_MSG_MAP
|
|||
|
ON_COMMAND( MENU_FAXJS_DEL , On_User_Del )
|
|||
|
ON_COMMAND( MENU_FAXJS_SEE , On_User_See )
|
|||
|
ON_COMMAND( MENU_FAXJS_SEND , On_User_Send )
|
|||
|
ON_COMMAND( MENU_FAXJS_ZF , On_User_ZF )
|
|||
|
ON_COMMAND( MENU_FAXJS_EXPORT , On_User_Export )
|
|||
|
ON_COMMAND( MENU_FAXJS_REFRESH , On_User_Refresh )
|
|||
|
ON_COMMAND( MENU_FAXJS_FIND , On_User_Find )
|
|||
|
|
|||
|
ON_COMMAND( MENU_FAXJS_TYPESETUP , On_User_TypeSetup )
|
|||
|
#ifdef SUPPERGSM
|
|||
|
ON_MESSAGE( TW_INIT , On_TW_Init ) //<2F><><EFBFBD><EFBFBD><EFBFBD>̷߳<DFB3><CCB7>ص<EFBFBD><D8B5><EFBFBD>Ϣ
|
|||
|
ON_MESSAGE( TW_SEND , On_TW_Send )
|
|||
|
ON_MESSAGE( TW_RECV , On_TW_Recv )
|
|||
|
ON_MESSAGE( TW_GETSIM , On_TW_GetSim )
|
|||
|
ON_MESSAGE( TW_CLEAR , On_TW_Clear )
|
|||
|
ON_MESSAGE( TW_DELETE , On_TW_Delete )
|
|||
|
#endif
|
|||
|
|
|||
|
END_MESSAGE_MAP()
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// CFFaxJS message handlers
|
|||
|
|
|||
|
BOOL CFFaxJS::OnInitDialog()
|
|||
|
{
|
|||
|
USES_CONVERSION;
|
|||
|
CDialog::OnInitDialog();
|
|||
|
|
|||
|
//ȡ<>ù<EFBFBD><C3B9>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
//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 );
|
|||
|
m_AdoRS2.SetAdoConnection( &m_pMainFrame->m_adoConnection );
|
|||
|
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5>Ŷα<C5B6>
|
|||
|
TCHAR szPath[512]={0};
|
|||
|
m_pMainFrame->GetCurrentPath( szPath );
|
|||
|
_tcscat( szPath , _T("SMSData.dat") ); //<2F><><EFBFBD>ݿ<EFBFBD><DDBF>ļ<EFBFBD><C4BC><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char szPasswd[64]={0};strcpy(szPasswd , ACCESS_PASSWD );
|
|||
|
char szKey[64]={0};strcpy( szKey , ACCESS_KEY );
|
|||
|
char szNew2[64]={0};long lOut=sizeof(szNew2);
|
|||
|
TCHAR szNew[64]={0};
|
|||
|
CDes des;
|
|||
|
des.Decrypt( szPasswd , strlen(szPasswd),szNew2,lOut,szKey,8);
|
|||
|
#ifdef UNICODE
|
|||
|
_tcscpy(szNew,A2W(szNew2));
|
|||
|
#else
|
|||
|
strcpy(szNew,szNew2);
|
|||
|
#endif
|
|||
|
|
|||
|
if ( !m_HDadoConnection.ConnectAccess(szPath,szNew ) ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>,<2C><>Ҫ<EFBFBD><D2AA><EFBFBD>´<EFBFBD><C2B4><EFBFBD>
|
|||
|
{
|
|||
|
MessageBox( _T("ϵͳ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ʧ6<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>°<EFBFBD>װ!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
|
|||
|
return false;
|
|||
|
}
|
|||
|
m_HDAdoRS.SetAdoConnection( &m_HDadoConnection ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
//<2F><>ʼ<EFBFBD><CABC>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_SMSJS) );
|
|||
|
m_wndList.SubClassWindow2();
|
|||
|
#ifdef YQ_VER
|
|||
|
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>,120;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,100;<3B><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>,120; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,280;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD>,100;<3B>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,120;"));
|
|||
|
#else
|
|||
|
#ifdef MOBSET_OEM_SNLD
|
|||
|
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>,120;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>,120; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,200;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B>dz<EFBFBD>,80;<3B>Ա<EFBFBD>,50; <20><><EFBFBD><EFBFBD>,90; <20><>˾,80;ְ<><D6B0>,80;<3B>绰,80;<3B><><EFBFBD><EFBFBD>,80;Email,80;QQ,80;<3B><>ע,80;"));
|
|||
|
#else
|
|||
|
#ifdef MOBSET_OEM_BYSZY
|
|||
|
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>,120;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,100;<3B><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>,120; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,280;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,120;<3B><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>,120;"));
|
|||
|
#else
|
|||
|
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>,120;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,100;<3B><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>,120; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,280;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,120;"));
|
|||
|
#endif
|
|||
|
#endif
|
|||
|
|
|||
|
#endif
|
|||
|
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;
|
|||
|
|
|||
|
|
|||
|
//SetTimer( 1 , 1000 , NULL ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
return TRUE; // return TRUE unless you set the focus to a control
|
|||
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|||
|
}
|
|||
|
|
|||
|
BOOL CFFaxJS::ReHide()
|
|||
|
{
|
|||
|
ShowWindow( SW_HIDE );
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
BOOL CFFaxJS::ReShow(BOOL bRefresh)
|
|||
|
{
|
|||
|
ShowWindow( SW_SHOW );
|
|||
|
if ( bRefresh || !m_bRefresh )
|
|||
|
{
|
|||
|
RefreshInfo();
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
BOOL CFFaxJS::RefreshInfo()
|
|||
|
{
|
|||
|
m_wndList.ShowWindow( SW_HIDE ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|||
|
|
|||
|
m_bRefresh = true;
|
|||
|
m_wndList.DeleteAllItems();
|
|||
|
TCHAR szSelect[512]={0};
|
|||
|
if ( m_bShowToday )
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
SYSTEMTIME t;::GetLocalTime(&t);
|
|||
|
if ( m_pMainFrame->m_Setup.bSQLUse )
|
|||
|
_stprintf( szSelect , _T("select * from smsRecv where RecvTime>='%04d%02d%02d' %s order by RecvTime"),t.wYear,t.wMonth,t.wDay,m_strFindAdd ); //<2F><>ѯ<EFBFBD>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
else
|
|||
|
_stprintf( szSelect , _T("select * from smsRecv where RecvTime>=#%04d-%02d-%02d# %s order by RecvTime"),t.wYear,t.wMonth,t.wDay,m_strFindAdd ); //<2F><>ѯ<EFBFBD>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if ( m_strFindAdd.GetLength()>0 )
|
|||
|
_stprintf( szSelect , _T("select * from smsRecv where 1 %s order by RecvTime"),m_strFindAdd ); //<2F><>ѯ<EFBFBD><D1AF><EFBFBD>ռ<EFBFBD>¼
|
|||
|
else
|
|||
|
_stprintf( szSelect , _T("select * from smsRecv order by RecvTime") ); //<2F><>ѯ<EFBFBD><D1AF><EFBFBD>ռ<EFBFBD>¼
|
|||
|
}
|
|||
|
//_stprintf( szSelect , _T("select * from smsRecv") ); //<2F><>ѯ<EFBFBD><D1AF><EFBFBD>ռ<EFBFBD>¼
|
|||
|
BOOL b = m_AdoRS.Open( szSelect );
|
|||
|
COleDateTime tRecv;
|
|||
|
long lCount = m_AdoRS.GetRecordCount();
|
|||
|
if ( b && lCount )
|
|||
|
{
|
|||
|
m_AdoRS.MoveFirst();
|
|||
|
long iItem = 0;
|
|||
|
while( !m_AdoRS.IsEOF() )
|
|||
|
{
|
|||
|
long lRecvID;
|
|||
|
BOOL bRead;
|
|||
|
TCHAR szSendNum[128]={0};
|
|||
|
TCHAR szSender[32]={0};
|
|||
|
TCHAR szRecvNum[32]={0};
|
|||
|
TCHAR szMsg[180]={0};
|
|||
|
TCHAR szType1[64]={0};
|
|||
|
TCHAR szType2[32]={0};
|
|||
|
TCHAR szProvince[64]={0};
|
|||
|
TCHAR szCity[32]={0};
|
|||
|
|
|||
|
m_AdoRS.GetCollect( _T("RecvID") , lRecvID );
|
|||
|
m_AdoRS.GetCollect( _T("Reader") , bRead );
|
|||
|
m_AdoRS.GetCollect( _T("SendNum") , szSendNum );
|
|||
|
m_AdoRS.GetCollect( _T("Sender") , szSender );
|
|||
|
m_AdoRS.GetCollect( _T("RecvNum") , szRecvNum );
|
|||
|
m_AdoRS.GetCollect( _T("Msg") , szMsg );
|
|||
|
m_AdoRS.GetCollect( _T("RecvTime"), tRecv );
|
|||
|
m_AdoRS.GetCollect( _T("Province") , szProvince );
|
|||
|
m_AdoRS.GetCollect( _T("City") , szCity );
|
|||
|
|
|||
|
#ifdef MOBSET_OEM_SNLD
|
|||
|
CString NickName;
|
|||
|
CString Sex;
|
|||
|
COleDateTime Birthday;
|
|||
|
CString Ltd;
|
|||
|
CString Job;
|
|||
|
CString Tel;
|
|||
|
CString Fax;
|
|||
|
CString Email;
|
|||
|
CString QQ;
|
|||
|
CString BZ;
|
|||
|
m_AdoRS.GetCollect( _T("NickName") , NickName );
|
|||
|
m_AdoRS.GetCollect( _T("Sex") , Sex );
|
|||
|
m_AdoRS.GetCollect( _T("Birthday") , Birthday );
|
|||
|
m_AdoRS.GetCollect( _T("Ltd") , Ltd );
|
|||
|
m_AdoRS.GetCollect( _T("Job") , Job );
|
|||
|
m_AdoRS.GetCollect( _T("Tel") , Tel );
|
|||
|
m_AdoRS.GetCollect( _T("Fax") , Fax );
|
|||
|
m_AdoRS.GetCollect( _T("Email") , Email );
|
|||
|
m_AdoRS.GetCollect( _T("QQ") , QQ );
|
|||
|
m_AdoRS.GetCollect( _T("BZ") , BZ );
|
|||
|
#endif
|
|||
|
#ifdef MOBSET_OEM_BYSZY
|
|||
|
CString Local;
|
|||
|
m_AdoRS.GetCollect( _T("LocalGroup") , Local );
|
|||
|
#endif
|
|||
|
//
|
|||
|
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>,100;<3B><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>,80; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,280;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,120;"));
|
|||
|
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>,150;<3B><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>,120; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,280;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD>,100;<3B>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,120;"));
|
|||
|
m_wndList.InsertItem( 0 , _itot( iItem+1,szSelect,10) , bRead ); //<2F>Ѷ<EFBFBD><D1B6><EFBFBD>δ<EFBFBD><CEB4>ͼ<EFBFBD>겻һ<EAB2BB><D2BB>
|
|||
|
m_wndList.SetItemData( 0,lRecvID );
|
|||
|
#ifdef MOBSET_OEM_SNLD
|
|||
|
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>,120;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>,120; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,200;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,130;<3B>dz<EFBFBD>,80;<3B>Ա<EFBFBD>,50; <20><>˾,80;ְ<><D6B0>,80;<3B>绰,80;<3B><><EFBFBD><EFBFBD>,80;Email,80;QQ,80;<3B><>ע,80;"));
|
|||
|
m_wndList.SetItemText(0,1,szSendNum);
|
|||
|
m_wndList.SetItemText(0,2,szSender);
|
|||
|
m_wndList.SetItemText(0,3,szRecvNum);
|
|||
|
m_wndList.SetItemText(0,4,szMsg);
|
|||
|
if ( tRecv.GetStatus() == COleDateTime::valid )
|
|||
|
{
|
|||
|
_stprintf( szMsg , _T("%04d.%02d.%02d %02d:%02d") , tRecv.GetYear(),tRecv.GetMonth(),tRecv.GetDay(),tRecv.GetHour(),tRecv.GetMinute() );
|
|||
|
m_wndList.SetItemText(0,5,szMsg);
|
|||
|
}
|
|||
|
m_wndList.SetItemText(0,6,NickName);
|
|||
|
m_wndList.SetItemText(0,7,Sex);
|
|||
|
if ( Birthday.GetStatus() == COleDateTime::valid )
|
|||
|
{
|
|||
|
_stprintf( szMsg , _T("%04d.%02d.%02d") ,Birthday.GetYear(), Birthday.GetMonth(),Birthday.GetDay() );
|
|||
|
m_wndList.SetItemText(0,8,szMsg);
|
|||
|
}
|
|||
|
m_wndList.SetItemText(0,9,Ltd);
|
|||
|
m_wndList.SetItemText(0,10,Job);
|
|||
|
m_wndList.SetItemText(0,11,Tel);
|
|||
|
m_wndList.SetItemText(0,12,Fax);
|
|||
|
m_wndList.SetItemText(0,13,Email);
|
|||
|
m_wndList.SetItemText(0,14,QQ);
|
|||
|
m_wndList.SetItemText(0,15,BZ);
|
|||
|
#else
|
|||
|
m_wndList.SetItemText(0,1,szSendNum);
|
|||
|
m_wndList.SetItemText(0,2,szSender);
|
|||
|
m_wndList.SetItemText(0,3,szRecvNum);
|
|||
|
m_wndList.SetItemText(0,4,szMsg);
|
|||
|
if ( tRecv.GetStatus() == COleDateTime::valid )
|
|||
|
{
|
|||
|
_stprintf( szMsg , _T("%04d.%02d.%02d %02d:%02d") , tRecv.GetYear(),tRecv.GetMonth(),tRecv.GetDay(),tRecv.GetHour(),tRecv.GetMinute() );
|
|||
|
m_wndList.SetItemText(0,5,szMsg);
|
|||
|
}
|
|||
|
|
|||
|
if ( _tcslen(szCity)>0 )
|
|||
|
{
|
|||
|
_tcscat( szProvince , _T("-") );
|
|||
|
_tcscat( szProvince , szCity );
|
|||
|
}
|
|||
|
#ifdef YQ_VER
|
|||
|
m_AdoRS.GetCollect( _T("Type1") , szType1 );
|
|||
|
m_AdoRS.GetCollect( _T("Type2") , szType2 );
|
|||
|
if ( _tcslen(szType2)>0 )
|
|||
|
{
|
|||
|
_tcscat( szType1 , _T("-") );
|
|||
|
_tcscat( szType1 , szType2 );
|
|||
|
}
|
|||
|
m_wndList.SetItemText(0,6,szType1);
|
|||
|
m_wndList.SetItemText(0,7,szProvince);
|
|||
|
#else
|
|||
|
m_wndList.SetItemText(0,6,szProvince);
|
|||
|
#endif
|
|||
|
#ifdef MOBSET_OEM_BYSZY
|
|||
|
m_wndList.SetItemText(0,7,Local);
|
|||
|
#endif
|
|||
|
#endif
|
|||
|
|
|||
|
iItem++;
|
|||
|
m_AdoRS.MoveNext();
|
|||
|
}
|
|||
|
}
|
|||
|
m_wndList.ShowWindow( SW_SHOW ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|||
|
RecvSms(); //ȡ<>µĶ<C2B5><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
FlashIcon(true,false); //<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::OnSize(UINT nType, int cx, int cy)
|
|||
|
{
|
|||
|
CDialog::OnSize(nType, cx, cy);
|
|||
|
|
|||
|
if ( m_bInit )
|
|||
|
{
|
|||
|
m_wndList.MoveWindow( 0 , 0 , cx,cy);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
long CFFaxJS::GetCurrentSelected()
|
|||
|
{
|
|||
|
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
|
|||
|
if ( pos )
|
|||
|
{
|
|||
|
return m_wndList.GetNextSelectedItem(pos);
|
|||
|
}
|
|||
|
return -1;
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::OnKeydownSmsjsList(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
|
{
|
|||
|
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
|
|||
|
*pResult = 0;
|
|||
|
|
|||
|
if ( pLVKeyDow->wVKey == VK_DELETE )
|
|||
|
{
|
|||
|
On_User_Del();
|
|||
|
}
|
|||
|
if ( pLVKeyDow->wVKey == VK_SPACE)
|
|||
|
{
|
|||
|
On_User_See();
|
|||
|
}
|
|||
|
if ( pLVKeyDow->wVKey == 'S' || pLVKeyDow->wVKey == 's')
|
|||
|
{
|
|||
|
On_User_Send();
|
|||
|
}
|
|||
|
if ( pLVKeyDow->wVKey == 'Z' || pLVKeyDow->wVKey == 'z')
|
|||
|
{
|
|||
|
On_User_ZF();
|
|||
|
}
|
|||
|
if ( pLVKeyDow->wVKey == 'R' || pLVKeyDow->wVKey == 'r')
|
|||
|
{
|
|||
|
On_User_Refresh();
|
|||
|
}
|
|||
|
if ( pLVKeyDow->wVKey == 'F' || pLVKeyDow->wVKey == 'f')
|
|||
|
{
|
|||
|
On_User_Find();
|
|||
|
}
|
|||
|
if ( pLVKeyDow->wVKey == 'A' || pLVKeyDow->wVKey == 'a')
|
|||
|
{
|
|||
|
m_wndList.SelectAllItems();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::RecvSms()
|
|||
|
{
|
|||
|
//û<><C3BB>Ȩ<EFBFBD><C8A8>
|
|||
|
if ( !m_pMainFrame->GetUserPurview( PURVIEW_RECVG , false ) &&
|
|||
|
!m_pMainFrame->GetUserPurview( PURVIEW_RECVP , false ) )
|
|||
|
return ;
|
|||
|
|
|||
|
REQ_Recv2 * pRecv = new REQ_Recv2;
|
|||
|
pRecv->lCorpID = m_pMainFrame->m_lCorpID;
|
|||
|
pRecv->lUserID = m_pMainFrame->m_lUserID;
|
|||
|
m_pMainFrame->SendFrame( SMSFUNC_RECV2 , (BYTE*)pRecv , sizeof(REQ_Recv2));
|
|||
|
}
|
|||
|
|
|||
|
BOOL CFFaxJS::ProcessSocket(Socket_Head *pHead)
|
|||
|
{
|
|||
|
//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (pHead->lFuncType == SMSFUNC_RECV)
|
|||
|
{
|
|||
|
ANS_Recv * pRecv = (ANS_Recv *)pHead->pFrame;
|
|||
|
ANS_RecvData * pData = (ANS_RecvData *)(pHead->pFrame+sizeof(ANS_Recv));
|
|||
|
m_wndList.ShowWindow( SW_HIDE ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|||
|
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
|
|||
|
for ( int i = 0;i<pRecv->lCount;i++)
|
|||
|
{
|
|||
|
ANS_RecvData2 sms={0};
|
|||
|
sms.lLogID = pData->lLogID;
|
|||
|
_tcscpy(sms.szRecvNum , pData->szRecvNum );
|
|||
|
_tcscpy(sms.szSendNum , pData->szSendNum );
|
|||
|
_tcscpy(sms.szMsg , pData->szMsg );
|
|||
|
sms.tRecv = pData->tRecv;
|
|||
|
RecvNewSms(sms,i<3?true:false);
|
|||
|
pData++; //<2F><>ʾ<EFBFBD><CABE>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
m_wndList.ShowWindow( SW_SHOW ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|||
|
|
|||
|
if ( m_bRecvFirst && pRecv->lCount <= 0 ) //û<>յ<EFBFBD><D5B5>µĶ<C2B5><C4B6><EFBFBD>
|
|||
|
{
|
|||
|
m_bRecvFirst = false;
|
|||
|
CString str;
|
|||
|
str = _T("select count(*) as abc from smsrecv where Reader=0 or Reader is NULL");
|
|||
|
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
|||
|
{
|
|||
|
long lRead=0;
|
|||
|
m_AdoRS.MoveFirst();
|
|||
|
m_AdoRS.GetCollect(_T("abc"),lRead);
|
|||
|
m_AdoRS.Close();
|
|||
|
if ( lRead>0 )
|
|||
|
{
|
|||
|
SMS_Recv2 sms2={0};
|
|||
|
//_stprintf( sms2.szMsg , _T("<22><><EFBFBD><EFBFBD>%d<><64>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),lRead );
|
|||
|
//_tcscpy( sms2.szSender , _T("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
|
|||
|
_stprintf( sms2.szTime , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<><64>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),lRead );
|
|||
|
DLG_RecvSms * dlg = new DLG_RecvSms;
|
|||
|
dlg->Create(IDD_RECVSMS , this);
|
|||
|
//dlg->SetPara( &sms2,_T("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
|
|||
|
dlg->SetPara( &sms2,_T("δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
|
|||
|
dlg->ShowWindow( SW_SHOW);
|
|||
|
this->SetFocus();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (pHead->lFuncType == SMSFUNC_RECV2)
|
|||
|
{
|
|||
|
ANS_Recv2 * pRecv = (ANS_Recv2 *)pHead->pFrame;
|
|||
|
ANS_RecvData2 * pData = (ANS_RecvData2 *)(pHead->pFrame+sizeof(ANS_Recv2));
|
|||
|
m_wndList.ShowWindow( SW_HIDE ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|||
|
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
|
|||
|
for ( int i = 0;i<pRecv->lCount;i++)
|
|||
|
{
|
|||
|
RecvNewSms(*pData,i<3?true:false);
|
|||
|
pData++; //<2F><>ʾ<EFBFBD><CABE>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
m_wndList.ShowWindow( SW_SHOW ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|||
|
|
|||
|
if ( m_bRecvFirst && pRecv->lCount <= 0 ) //û<>յ<EFBFBD><D5B5>µĶ<C2B5><C4B6><EFBFBD>
|
|||
|
{
|
|||
|
m_bRecvFirst = false;
|
|||
|
CString str;
|
|||
|
str = _T("select count(*) as abc from smsrecv where Reader=0 or Reader is NULL");
|
|||
|
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
|||
|
{
|
|||
|
long lRead=0;
|
|||
|
m_AdoRS.MoveFirst();
|
|||
|
m_AdoRS.GetCollect(_T("abc"),lRead);
|
|||
|
m_AdoRS.Close();
|
|||
|
if ( lRead>0 )
|
|||
|
{
|
|||
|
SMS_Recv2 sms2={0};
|
|||
|
//_stprintf( sms2.szMsg , _T("<22><><EFBFBD><EFBFBD>%d<><64>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),lRead );
|
|||
|
//_tcscpy( sms2.szSender , _T("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
|
|||
|
_stprintf( sms2.szTime , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<><64>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),lRead );
|
|||
|
DLG_RecvSms * dlg = new DLG_RecvSms;
|
|||
|
dlg->Create(IDD_RECVSMS , this);
|
|||
|
dlg->SetPara( &sms2,_T("δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
|
|||
|
//dlg->SetPara( &sms2,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" );
|
|||
|
dlg->ShowWindow( SW_SHOW);
|
|||
|
this->SetFocus();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::On_User_See()
|
|||
|
{
|
|||
|
long lItem = GetCurrentSelected();
|
|||
|
if ( lItem <0 )
|
|||
|
return ;
|
|||
|
SMS_See sms = GetSms(lItem);
|
|||
|
CString strSendNum = sms.szSender;
|
|||
|
if ( _tcslen(sms.szSender2) )
|
|||
|
{
|
|||
|
_tcscat(sms.szSender,_T("-") );
|
|||
|
_tcscat(sms.szSender,sms.szSender2);
|
|||
|
}
|
|||
|
ReadSms(lItem); //״̬<D7B4><CCAC>Ϊ<EFBFBD>Ѷ<EFBFBD>
|
|||
|
DLG_SmsLogSee dlg(this);
|
|||
|
sms.lType = SMS_SEE_TYPE_RECV;
|
|||
|
dlg.SetParam(sms);
|
|||
|
dlg.SetReadSms(true);
|
|||
|
if ( dlg.DoModal() == 300 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>
|
|||
|
{
|
|||
|
if ( m_pMainFrame->m_pFuncView->On_User_List_Add() ) //<2F>½<EFBFBD><C2BD>б<EFBFBD>
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
m_pMainFrame->m_pFuncView->m_DLGSend.List_SetMsg( _T("") ); //<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
|
|||
|
//<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long lCount = 1;
|
|||
|
long lSize = sizeof(Send_User)*lCount;
|
|||
|
BYTE *pS = new BYTE[lSize];
|
|||
|
memset( pS , 0 , lSize );
|
|||
|
Send_User * pUser = (Send_User * )pS;
|
|||
|
_tcscpy(pUser->szName , sms.szSender2 );
|
|||
|
_tcscpy(pUser->szMobile , strSendNum );
|
|||
|
m_pMainFrame->m_pFuncView->On_User_List_AddUser(lCount,(Send_User*)pS);
|
|||
|
delete pS;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
void CFFaxJS::On_User_Send()
|
|||
|
{
|
|||
|
long lItem = GetCurrentSelected();
|
|||
|
if ( lItem <0 )
|
|||
|
return ;
|
|||
|
|
|||
|
ReadSms(lItem); //״̬<D7B4><CCAC>Ϊ<EFBFBD>Ѷ<EFBFBD>
|
|||
|
|
|||
|
if ( m_pMainFrame->m_pFuncView->On_User_List_Add() ) //<2F>½<EFBFBD><C2BD>б<EFBFBD>
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|||
|
long lCount = m_wndList.GetSelectedCount();
|
|||
|
if ( lCount <= 0 )
|
|||
|
return ;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long lSize = sizeof(Send_User)*lCount;
|
|||
|
BYTE *pS = new BYTE[lSize];
|
|||
|
memset( pS , 0 , lSize );
|
|||
|
Send_User * pUser = (Send_User * )pS;
|
|||
|
|
|||
|
TCHAR szSelect[128]={0};
|
|||
|
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
|
|||
|
while ( pos )
|
|||
|
{
|
|||
|
long lItem = m_wndList.GetNextSelectedItem( pos );
|
|||
|
long lRecvID = m_wndList.GetItemData( lItem );
|
|||
|
if ( lRecvID > 0 )
|
|||
|
{
|
|||
|
_stprintf( szSelect , _T("select * from smsrecv where RecvID=%d"), lRecvID );
|
|||
|
BOOL b = m_AdoRS.Open( szSelect );
|
|||
|
if ( b && m_AdoRS.GetRecordCount() )
|
|||
|
{
|
|||
|
m_AdoRS.MoveFirst();
|
|||
|
m_AdoRS.GetCollect( _T("Sender") , pUser->szName);
|
|||
|
m_AdoRS.GetCollect( _T("SendNum") , pUser->szMobile);
|
|||
|
}
|
|||
|
}
|
|||
|
pUser ++;
|
|||
|
}
|
|||
|
m_pMainFrame->m_pFuncView->On_User_List_AddUser(lCount,(Send_User*)pS);
|
|||
|
delete pS;
|
|||
|
}
|
|||
|
}
|
|||
|
void CFFaxJS::On_User_ZF()
|
|||
|
{
|
|||
|
long lItem = GetCurrentSelected();
|
|||
|
if ( lItem <0 )
|
|||
|
return ;
|
|||
|
|
|||
|
ReadSms(lItem); //״̬<D7B4><CCAC>Ϊ<EFBFBD>Ѷ<EFBFBD>
|
|||
|
|
|||
|
SMS_See sms = GetSms(lItem);
|
|||
|
|
|||
|
if ( m_pMainFrame->m_pFuncView->On_User_List_Add() ) //<2F>½<EFBFBD><C2BD>б<EFBFBD>
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
m_pMainFrame->m_pFuncView->m_DLGSend.List_SetMsg( sms.szMsg ); //<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
|
|||
|
}
|
|||
|
}
|
|||
|
void CFFaxJS::On_User_Del()
|
|||
|
{
|
|||
|
long lCount = m_wndList.GetSelectedCount();
|
|||
|
long *lDel = new long[lCount+2];
|
|||
|
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
|
|||
|
long i = 0;
|
|||
|
while(pos)
|
|||
|
{
|
|||
|
lDel[i]= m_wndList.GetNextSelectedItem(pos);
|
|||
|
i ++;
|
|||
|
}
|
|||
|
long lRecvID = 0;
|
|||
|
TCHAR szSelect[128];
|
|||
|
//<2F><>תɾ<D7AA><C9BE>
|
|||
|
m_wndList.ShowWindow( SW_HIDE ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ٶ<EFBFBD>
|
|||
|
for ( i = lCount ; i>0 ; i-- )
|
|||
|
{
|
|||
|
lRecvID = m_wndList.GetItemData( lDel[i-1] );
|
|||
|
_stprintf( szSelect , _T("delete from smsrecv where RecvID=%d ") , lRecvID );
|
|||
|
BOOL b = m_AdoRS.Open( szSelect );
|
|||
|
if ( b && m_AdoRS.GetRecordCount() )
|
|||
|
{
|
|||
|
m_wndList.DeleteItem(lDel[i-1]); //<2F><><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE>
|
|||
|
}
|
|||
|
}
|
|||
|
m_wndList.ShowWindow( SW_SHOW ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ٶ<EFBFBD>
|
|||
|
delete lDel;
|
|||
|
}
|
|||
|
void CFFaxJS::On_User_Export()
|
|||
|
{
|
|||
|
/*
|
|||
|
DLG_FAXJS_Export dlg(this);
|
|||
|
dlg.SetParam(&m_AdoRS2,&m_wndList);
|
|||
|
dlg.DoModal();
|
|||
|
*/
|
|||
|
}
|
|||
|
void CFFaxJS::On_User_Refresh()
|
|||
|
{
|
|||
|
RefreshInfo();
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::On_User_Find()
|
|||
|
{
|
|||
|
CString strTemp;
|
|||
|
DLG_Find_RecvSms dlg(this);
|
|||
|
dlg.SetParam(!m_bShowToday);
|
|||
|
if ( dlg.DoModal() == IDOK )
|
|||
|
{
|
|||
|
m_strFindAdd = _T("");
|
|||
|
if ( !m_bShowToday )
|
|||
|
{
|
|||
|
strTemp.Format( _T(" AND RecvTime>=#%04d-%02d-%02d# AND RecvTime<=#%04d-%02d-%02d 23:59:59#"),dlg.m_TBegin.GetYear(),dlg.m_TBegin.GetMonth(),dlg.m_TBegin.GetDay(),dlg.m_TEnd.GetYear(),dlg.m_TEnd.GetMonth(),dlg.m_TEnd.GetDay());
|
|||
|
m_strFindAdd = strTemp;
|
|||
|
}
|
|||
|
if ( dlg.m_strSendNum.GetLength()>0 )
|
|||
|
{
|
|||
|
strTemp.Format( _T(" AND SendNum like '%%%s%%'"),dlg.m_strSendNum );
|
|||
|
m_strFindAdd += strTemp;
|
|||
|
}
|
|||
|
if ( dlg.m_strRecvNum.GetLength()>0 )
|
|||
|
{
|
|||
|
strTemp.Format( _T(" AND RecvNum like '%%%s%%'"),dlg.m_strRecvNum );
|
|||
|
m_strFindAdd += strTemp;
|
|||
|
}
|
|||
|
if ( dlg.m_strMsg.GetLength()>0 )
|
|||
|
{
|
|||
|
strTemp.Format( _T(" AND Msg like '%%%s%%'"),dlg.m_strMsg );
|
|||
|
m_strFindAdd += strTemp;
|
|||
|
}
|
|||
|
On_User_Refresh();
|
|||
|
|
|||
|
m_strFindAdd = _T(""); //ˢ<>º<C2BA>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::On_User_TypeSetup()
|
|||
|
{
|
|||
|
DLG_TypeSetup dlg(this);
|
|||
|
dlg.SetParam( &m_AdoRS2 );
|
|||
|
dlg.DoModal();
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::OnRclickSmsjsList(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
|
{
|
|||
|
*pResult = 0;
|
|||
|
ShowRMenu();
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::OnDblclkSmsjsList(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
|
{
|
|||
|
*pResult = 0;
|
|||
|
On_User_See();
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::ShowRMenu()
|
|||
|
{
|
|||
|
CMenu menu;
|
|||
|
menu.CreatePopupMenu();
|
|||
|
BOOL bLock = false;
|
|||
|
long lItem = this->GetCurrentSelected();
|
|||
|
#ifdef YQ_VER
|
|||
|
CMenu MenuType;
|
|||
|
MenuType.CreatePopupMenu();
|
|||
|
if ( lItem >= 0 )
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>ɴ<EFBFBD><C9B4><EFBFBD><EFBFBD>ռ<EFBFBD>
|
|||
|
long lCount=0;
|
|||
|
if ( m_AdoRS2.Open( _T("RecvType") , adCmdTable ) )
|
|||
|
{
|
|||
|
lCount = m_AdoRS2.GetRecordCount();
|
|||
|
m_AdoRS2.Close();
|
|||
|
}
|
|||
|
if ( m_pMenuType )
|
|||
|
delete m_pMenuType;
|
|||
|
m_pMenuType = new Menu_Type[lCount];
|
|||
|
memset(m_pMenuType , 0 , sizeof(Menu_Type)*lCount );
|
|||
|
m_lMenuTypeCount = 0;
|
|||
|
|
|||
|
CMenu * pMenu = NULL;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>Menu<6E><75><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if ( m_AdoRS2.Open( _T("select * from RecvType where Type=1") ) && m_AdoRS2.GetRecordCount()>0 )
|
|||
|
{
|
|||
|
long lMenuCount=m_AdoRS2.GetRecordCount();
|
|||
|
pMenu = new CMenu[lMenuCount];
|
|||
|
lMenuCount=0;
|
|||
|
m_AdoRS2.MoveFirst();
|
|||
|
while( !m_AdoRS2.IsEOF() )
|
|||
|
{
|
|||
|
long lID;
|
|||
|
CString strName;
|
|||
|
m_AdoRS2.GetCollect( _T("ID") , lID );
|
|||
|
m_AdoRS2.GetCollect( _T("Name") , strName );
|
|||
|
//<2F>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CString str;
|
|||
|
str.Format( _T("select * from RecvType Where Type=2 and ID2=%d") , lID );
|
|||
|
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
|||
|
{
|
|||
|
pMenu[lMenuCount].CreatePopupMenu();
|
|||
|
MenuType.AppendMenu( MF_STRING|MF_POPUP,(UINT)pMenu[lMenuCount].GetSafeHmenu(), strName );
|
|||
|
m_AdoRS.MoveFirst();
|
|||
|
while(!m_AdoRS.IsEOF() )
|
|||
|
{
|
|||
|
CString strName2;
|
|||
|
m_AdoRS.GetCollect( _T("Name") , strName2 );
|
|||
|
pMenu[lMenuCount].AppendMenu( MF_STRING , MENU_FAXJS_TYPESETUP+m_lMenuTypeCount+1 , strName2 );
|
|||
|
_tcscpy( m_pMenuType[m_lMenuTypeCount].szType1 , strName );
|
|||
|
_tcscpy( m_pMenuType[m_lMenuTypeCount].szType2 , strName2 );
|
|||
|
m_lMenuTypeCount ++;
|
|||
|
m_AdoRS.MoveNext();
|
|||
|
}
|
|||
|
m_AdoRS.Close();
|
|||
|
lMenuCount ++;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
MenuType.AppendMenu( MF_STRING,MENU_FAXJS_TYPESETUP+m_lMenuTypeCount+1, strName );
|
|||
|
_tcscpy( m_pMenuType[m_lMenuTypeCount].szType1 , strName );
|
|||
|
m_lMenuTypeCount ++;
|
|||
|
}
|
|||
|
m_AdoRS2.MoveNext();
|
|||
|
}
|
|||
|
m_AdoRS2.Close();
|
|||
|
}
|
|||
|
MenuType.AppendMenu(MF_SEPARATOR );
|
|||
|
}
|
|||
|
MenuType.AppendMenu(MF_STRING , MENU_FAXJS_TYPESETUP , _T(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ") );
|
|||
|
#endif
|
|||
|
|
|||
|
if ( lItem >= 0 )
|
|||
|
{
|
|||
|
menu.AppendMenu(MF_STRING , MENU_FAXJS_SEE , _T(" <20><> <20><> ") );
|
|||
|
menu.AppendMenu(MF_STRING , MENU_FAXJS_SEND , _T(" <20><> <20><> ") );
|
|||
|
menu.AppendMenu(MF_STRING , MENU_FAXJS_ZF , _T(" ת <20><> ") );
|
|||
|
menu.AppendMenu(MF_STRING , MENU_FAXJS_DEL , _T(" ɾ <20><> ") );
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_FAXJS_SEE , _T(" <20><> <20><> ") );
|
|||
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_FAXJS_SEND, _T(" <20><> <20><> ") );
|
|||
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_FAXJS_ZF, _T(" ת <20><> ") );
|
|||
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_FAXJS_DEL , _T(" ɾ <20><> ") );
|
|||
|
}
|
|||
|
#ifdef YQ_VER
|
|||
|
menu.AppendMenu(MF_SEPARATOR );
|
|||
|
menu.AppendMenu(MF_STRING|MF_POPUP,(UINT)MenuType.GetSafeHmenu(), _T(" <20><> <20><> ") );
|
|||
|
#endif
|
|||
|
menu.AppendMenu(MF_SEPARATOR );
|
|||
|
//ˢ<><CBA2>
|
|||
|
menu.AppendMenu(MF_STRING , MENU_FAXJS_EXPORT, _T(" <20><><EFBFBD><EFBFBD>... ") );
|
|||
|
//ˢ<><CBA2>
|
|||
|
menu.AppendMenu(MF_STRING , MENU_FAXJS_FIND , _T(" <20><><EFBFBD><EFBFBD>... ") );
|
|||
|
menu.AppendMenu(MF_SEPARATOR );
|
|||
|
//ˢ<><CBA2>
|
|||
|
menu.AppendMenu(MF_STRING , MENU_FAXJS_REFRESH, _T(" ˢ <20><> ") );
|
|||
|
//<2F><>ʾ<EFBFBD>˵<EFBFBD>
|
|||
|
POINT pt ;
|
|||
|
::GetCursorPos( &pt );
|
|||
|
//this->ClientToScreen( &pt);
|
|||
|
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
|
|||
|
menu.DestroyMenu();
|
|||
|
}
|
|||
|
|
|||
|
SMS_See CFFaxJS::GetSms(long lItem,BOOL bID)
|
|||
|
{
|
|||
|
SMS_See sms={0};
|
|||
|
|
|||
|
long lRecvID = 0;
|
|||
|
if ( bID )
|
|||
|
lRecvID = lItem;
|
|||
|
else
|
|||
|
lRecvID = m_wndList.GetItemData(lItem);
|
|||
|
CString strSelect;
|
|||
|
COleDateTime t;
|
|||
|
strSelect.Format( _T("select * from smsrecv where RecvID=%d") , lRecvID );
|
|||
|
if ( m_AdoRS.Open( strSelect ) && m_AdoRS.GetRecordCount() )
|
|||
|
{
|
|||
|
m_AdoRS.MoveFirst();
|
|||
|
m_AdoRS.GetCollect( _T("Sender") , sms.szSender2 );
|
|||
|
m_AdoRS.GetCollect( _T("SendNum") , sms.szSender );
|
|||
|
m_AdoRS.GetCollect( _T("RecvNum") , sms.szRecver );
|
|||
|
m_AdoRS.GetCollect( _T("Msg") , sms.szMsg );
|
|||
|
m_AdoRS.GetCollect( _T("RecvTime"), t );t.GetAsSystemTime(sms.tRecv);
|
|||
|
sms.tSend = sms.tRecv;
|
|||
|
_tcscpy( sms.szStatus , _T("<EFBFBD><EFBFBD> <20><>") );
|
|||
|
}
|
|||
|
return sms;
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::ReadSms(long lItem)
|
|||
|
{
|
|||
|
long lRecvID = m_wndList.GetItemData(lItem);
|
|||
|
if ( lRecvID > 0 )
|
|||
|
{
|
|||
|
CString strSelect;
|
|||
|
strSelect.Format( _T("update smsrecv set Reader=1 where RecvID=%d") , lRecvID );
|
|||
|
if ( m_AdoRS.Open( strSelect ) && m_AdoRS.GetRecordCount() )
|
|||
|
{
|
|||
|
m_wndList.SetIconIndex( lItem , 1 ); //<2F><>ʾ<EFBFBD>Ѷ<EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::OnTimer(UINT nIDEvent)
|
|||
|
{
|
|||
|
CDialog::OnTimer(nIDEvent);
|
|||
|
#ifdef SUPPERGSM
|
|||
|
if ( nIDEvent == 1 )
|
|||
|
{
|
|||
|
KillTimer(1);
|
|||
|
if ( m_pSendThread )
|
|||
|
{
|
|||
|
m_pSendThread->Com_Exit();
|
|||
|
SMS_Init * pSms = new SMS_Init;
|
|||
|
if (m_Setup.lPort == 0)
|
|||
|
pSms->lConnectType = CONNECT_IRDA;
|
|||
|
else
|
|||
|
pSms->lConnectType = CONNECT_CABLE;
|
|||
|
pSms->lIndex = 0;
|
|||
|
pSms->lMobType = m_Setup.lMobileType;
|
|||
|
pSms->lPort = m_Setup.lPort;
|
|||
|
pSms->lBuadrate = m_Setup.lBaudrate;
|
|||
|
pSms->lTimeOut = COM_TIMOUT;
|
|||
|
pSms->pWnd = (CWnd *)this;
|
|||
|
m_pSendThread->PostThreadMessage( TH_INIT , (WPARAM)pSms , 0 );
|
|||
|
m_pMainFrame->SetStatMsg( _T("<EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>...") );
|
|||
|
}
|
|||
|
return ;
|
|||
|
}
|
|||
|
#endif
|
|||
|
if ( nIDEvent == 3 )
|
|||
|
{
|
|||
|
KillTimer(nIDEvent);
|
|||
|
|
|||
|
//<2F><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CString strName=m_pMainFrame->GetSoftSName();
|
|||
|
NOTIFYICONDATA niData;
|
|||
|
if ( m_lIconCount <= 0 )
|
|||
|
{
|
|||
|
niData.hIcon = AfxGetApp()->LoadIcon( IDR_MAINFRAME );
|
|||
|
_stprintf( niData.szTip,strName );
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lIconCount ++;
|
|||
|
if ( m_lIconCount>888888 )
|
|||
|
m_lIconCount = 1;
|
|||
|
|
|||
|
if ( m_lIconCount%2 == 0 )
|
|||
|
niData.hIcon = AfxGetApp()->LoadIcon( IDR_MAINFRAME );
|
|||
|
else
|
|||
|
niData.hIcon = AfxGetApp()->LoadIcon( IDI_NULL );
|
|||
|
|
|||
|
strName += _T("-<2D>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>Ϣ");
|
|||
|
_stprintf( niData.szTip,strName );
|
|||
|
}
|
|||
|
|
|||
|
niData.cbSize = sizeof( NOTIFYICONDATA );
|
|||
|
niData.hWnd = this->m_pMainFrame->m_hWnd;
|
|||
|
niData.uID = 125;
|
|||
|
niData.uFlags = NIF_ICON|NIF_TIP;
|
|||
|
niData.uCallbackMessage = SHELL_ICON_MESS;
|
|||
|
Shell_NotifyIcon( NIM_MODIFY,&niData );
|
|||
|
|
|||
|
if ( m_lIconCount>0 )
|
|||
|
SetTimer(3 , 500 , NULL );
|
|||
|
return ;
|
|||
|
}
|
|||
|
}
|
|||
|
#ifdef SUPPERGSM
|
|||
|
long CFFaxJS::On_TW_Init(WPARAM wParam , LPARAM lParam )
|
|||
|
{
|
|||
|
long lIndex = (long) wParam;
|
|||
|
long lCode = (long) lParam;
|
|||
|
if ( lIndex !=0 ) //<2F><>Ϣ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
return false;
|
|||
|
char Buf[64];
|
|||
|
switch( lCode ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
case -1:
|
|||
|
_tcscpy(Buf , "<EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>" );
|
|||
|
break;
|
|||
|
case -2:
|
|||
|
_tcscpy(Buf , "<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>" );
|
|||
|
break;
|
|||
|
case -3:
|
|||
|
_tcscpy(Buf , "<EFBFBD><EFBFBD><EFBFBD>ⲻ<EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>" );
|
|||
|
break;
|
|||
|
case 0:
|
|||
|
_stprintf(Buf , "<EFBFBD><EFBFBD><EFBFBD>ӳɹ<EFBFBD>:<3A>ֻ<EFBFBD><D6BB>ͺ<EFBFBD>Ϊ:%s" , m_pSendThread->m_szMobileName );
|
|||
|
break;
|
|||
|
default:
|
|||
|
_tcscpy(Buf , "δ֪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>" );
|
|||
|
break;
|
|||
|
}
|
|||
|
m_pMainFrame->SetStatMsg(Buf);
|
|||
|
if ( lCode != 0 ) //û<>гɹ<D0B3><C9B9>ģ<EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
Sleep(500);
|
|||
|
m_pSendThread->Com_Exit();
|
|||
|
|
|||
|
SetTimer( 1 , 2000 , NULL ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (this->m_Setup.bAutoRead) //<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ȡSIM<49><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
//ֱ<><D6B1>ȡSIM<49><4D><EFBFBD>еĶ<D0B5><C4B6><EFBFBD>Ϣ
|
|||
|
m_bOneGetSim = false;
|
|||
|
m_pMainFrame->SetStatMsg("<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ѯSIM<EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><EFBFBD><EFBFBD>Ϣ...");
|
|||
|
m_pSendThread->PostThreadMessage( TH_GETSIM , 0 , 0 );
|
|||
|
}
|
|||
|
|
|||
|
// else
|
|||
|
|
|||
|
// if (m_pMainFrame->m_pFuncView->isAutoClear()) //<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ɾ<EFBFBD><C9BE>
|
|||
|
// {
|
|||
|
// //<2F><><EFBFBD><EFBFBD>SIM<49><4D><EFBFBD>еĶ<D0B5><C4B6><EFBFBD>Ϣ
|
|||
|
// m_bOneGetSim = false;
|
|||
|
// SendState_SetMsg( lIndex , "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SIM<49><4D><EFBFBD>϶<EFBFBD><CFB6><EFBFBD>Ϣ..." );
|
|||
|
// m_pMCom[lIndex].m_lTime = GetTickCount();
|
|||
|
// m_pMCom[lIndex].pSendThread->PostThreadMessage( TH_CLEAR , 0 , 0 );
|
|||
|
// }
|
|||
|
// else //û<><C3BB><EFBFBD>Զ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><D5B6>ţ<EFBFBD><C5A3><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
// {
|
|||
|
// SendNextSms(lIndex); //<2F>ӷ<EFBFBD><D3B7>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>͡<EFBFBD>
|
|||
|
// }
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
return 1;
|
|||
|
}
|
|||
|
long CFFaxJS::On_TW_Send(WPARAM wParam , LPARAM lParam )
|
|||
|
{
|
|||
|
return 1;
|
|||
|
}
|
|||
|
long CFFaxJS::On_TW_Recv(WPARAM wParam , LPARAM lParam )
|
|||
|
{
|
|||
|
long lIndex = (long)wParam;
|
|||
|
SMS_Recv * pSms = (SMS_Recv *)lParam;
|
|||
|
m_pMainFrame->SetStatMsg("<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>" );
|
|||
|
if ( pSms->lMsgType == MSGTYPE_REPORT ) //<2F>˶<EFBFBD><CBB6><EFBFBD>Ϣ<EFBFBD><CFA2>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
return 1; //<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
m_lMobileRecvCount ++; //<2F><><EFBFBD>յ<EFBFBD><D5B5>Ķ<EFBFBD><C4B6><EFBFBD>+1;
|
|||
|
if ( pSms->lMsgType == MSGTYPE_SMS )
|
|||
|
{
|
|||
|
ANS_RecvData2 sms={0};
|
|||
|
_tcscpy( sms.szSendNum , pSms->szSender );
|
|||
|
_tcscpy( sms.szRecvNum , "mobile" );
|
|||
|
_tcscpy( sms.szMsg , pSms->szMsg );
|
|||
|
::GetLocalTime(&sms.tRecv);
|
|||
|
ExMobileGZM(sms.szSendNum);
|
|||
|
RecvNewSms(sms,true); //<2F>յ<EFBFBD><D5B5>µ<EFBFBD><C2B5><EFBFBD>Ϣ;
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>IJ<EFBFBD><C4B2><EFBFBD>SIM<49><4D><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if ( !pSms->bSim && m_Setup.bAutoDelete )
|
|||
|
{
|
|||
|
long lDel = pSms->lIndex > 0 ? pSms->lIndex : 1;
|
|||
|
char Buf[64]={0};
|
|||
|
_stprintf( Buf , "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ..." , lDel );
|
|||
|
m_pMainFrame->SetStatMsg(Buf );
|
|||
|
m_pSendThread->PostThreadMessage( TH_DELETE , lDel , 0 );
|
|||
|
}
|
|||
|
return 1;
|
|||
|
}
|
|||
|
long CFFaxJS::On_TW_GetSim(WPARAM wParam , LPARAM lParam )
|
|||
|
{
|
|||
|
long lIndex = (long)wParam;
|
|||
|
long lCode = (long)lParam;
|
|||
|
|
|||
|
char Buf[32]={0};
|
|||
|
switch( lCode ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
case -4:
|
|||
|
_tcscpy(Buf , "<EFBFBD>ӿڻ<EFBFBD>δ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>" );
|
|||
|
break;
|
|||
|
case -2:
|
|||
|
_tcscpy(Buf , "<EFBFBD><EFBFBD>ѯSIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>ʱ" );
|
|||
|
break;
|
|||
|
default:
|
|||
|
_stprintf(Buf , "<EFBFBD><EFBFBD>ѯSIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ųɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>%d<><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" , lCode);
|
|||
|
break;
|
|||
|
}
|
|||
|
m_pMainFrame->SetStatMsg( Buf );
|
|||
|
|
|||
|
if ( lCode == -2 ) //<2F><>ʱ
|
|||
|
{
|
|||
|
Sleep(500);
|
|||
|
m_pSendThread->Com_Exit();
|
|||
|
SMS_Init * pSms = new SMS_Init;
|
|||
|
if (m_Setup.lPort == 0)
|
|||
|
pSms->lConnectType = CONNECT_IRDA;
|
|||
|
else
|
|||
|
pSms->lConnectType = CONNECT_CABLE;
|
|||
|
pSms->lIndex = 0;
|
|||
|
pSms->lMobType = m_Setup.lMobileType;
|
|||
|
pSms->lPort = m_Setup.lPort;
|
|||
|
pSms->lBuadrate = m_Setup.lBaudrate;
|
|||
|
pSms->lTimeOut = COM_TIMOUT;
|
|||
|
pSms->pWnd = (CWnd *)this;
|
|||
|
m_pSendThread->PostThreadMessage( TH_INIT , (WPARAM)pSms , 0 );
|
|||
|
m_pMainFrame->SetStatMsg( "<EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>..." );
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Sleep(500);
|
|||
|
m_pMainFrame->SetStatMsg( "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SIM<EFBFBD><EFBFBD>..." );
|
|||
|
m_pSendThread->PostThreadMessage( TH_CLEAR , 0 , 0 );
|
|||
|
}
|
|||
|
|
|||
|
// else
|
|||
|
// {
|
|||
|
// if (m_pMainFrame->m_pFuncView->isAutoClear() && !m_bOneGetSim) //<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ɾ<EFBFBD><C9BE>
|
|||
|
// {
|
|||
|
// //<2F><><EFBFBD><EFBFBD>SIM<49><4D><EFBFBD>еĶ<D0B5><C4B6><EFBFBD>Ϣ
|
|||
|
// m_bOneGetSim = false;
|
|||
|
// SendState_SetMsg( lIndex , "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SIM<49><4D><EFBFBD>϶<EFBFBD><CFB6><EFBFBD>Ϣ..." );
|
|||
|
// m_pMCom[lIndex].m_lTime = GetTickCount();
|
|||
|
// m_pMCom[lIndex].pSendThread->PostThreadMessage( TH_CLEAR , 0 , 0 );
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// m_pMCom[lIndex].m_lTime = GetTickCount() + 3600*8*1000; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻΪ<D6BB>˽<EFBFBD><CBBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8Сʱ<D0A1>ڲ<EFBFBD><DAB2>ᳬʱ<E1B3AC><CAB1><EFBFBD><EFBFBD>
|
|||
|
// SendNextSms(lIndex); //<2F>ӷ<EFBFBD><D3B7>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>͡<EFBFBD>
|
|||
|
// }
|
|||
|
// }
|
|||
|
|
|||
|
return 1;
|
|||
|
}
|
|||
|
long CFFaxJS::On_TW_Clear(WPARAM wParam , LPARAM lParam )
|
|||
|
{
|
|||
|
long lIndex = (long)wParam;
|
|||
|
long lCode = (long)lParam;
|
|||
|
|
|||
|
if ( lCode == -2 ) //<2F><>ʱ
|
|||
|
{
|
|||
|
m_pMainFrame->SetStatMsg( "<EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>!" );
|
|||
|
Sleep(500);
|
|||
|
m_pSendThread->Com_Exit();
|
|||
|
SMS_Init * pSms = new SMS_Init;
|
|||
|
if (m_Setup.lPort == 0)
|
|||
|
pSms->lConnectType = CONNECT_IRDA;
|
|||
|
else
|
|||
|
pSms->lConnectType = CONNECT_CABLE;
|
|||
|
pSms->lIndex = 0;
|
|||
|
pSms->lMobType = m_Setup.lMobileType;
|
|||
|
pSms->lPort = m_Setup.lPort;
|
|||
|
pSms->lBuadrate = m_Setup.lBaudrate;
|
|||
|
pSms->lTimeOut = COM_TIMOUT;
|
|||
|
pSms->pWnd = (CWnd *)this;
|
|||
|
m_pSendThread->PostThreadMessage( TH_INIT , (WPARAM)pSms , 0 );
|
|||
|
m_pMainFrame->SetStatMsg( "<EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>..." );
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_pMainFrame->SetStatMsg( "<EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><EFBFBD>ųɹ<EFBFBD>!" );
|
|||
|
|
|||
|
SetTimer( 1 , 60000*30 , NULL ); //ÿ30<33><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
return 1;
|
|||
|
}
|
|||
|
long CFFaxJS::On_TW_Delete(WPARAM wParam , LPARAM lParam )
|
|||
|
{
|
|||
|
long lIndex = (long)wParam;
|
|||
|
long lCode = (long)lParam;
|
|||
|
|
|||
|
if ( lCode == -2 ) //<2F><>ʱ
|
|||
|
{
|
|||
|
m_pMainFrame->SetStatMsg( "ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>!" );
|
|||
|
Sleep(500);
|
|||
|
m_pSendThread->Com_Exit();
|
|||
|
SMS_Init * pSms = new SMS_Init;
|
|||
|
if (m_Setup.lPort == 0)
|
|||
|
pSms->lConnectType = CONNECT_IRDA;
|
|||
|
else
|
|||
|
pSms->lConnectType = CONNECT_CABLE;
|
|||
|
pSms->lIndex = 0;
|
|||
|
pSms->lMobType = m_Setup.lMobileType;
|
|||
|
pSms->lPort = m_Setup.lPort;
|
|||
|
pSms->lBuadrate = m_Setup.lBaudrate;
|
|||
|
pSms->lTimeOut = COM_TIMOUT;
|
|||
|
pSms->pWnd = (CWnd *)this;
|
|||
|
m_pSendThread->PostThreadMessage( TH_INIT , (WPARAM)pSms , 0 );
|
|||
|
m_pMainFrame->SetStatMsg( "<EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>..." );
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_pMainFrame->SetStatMsg( "ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ųɹ<EFBFBD>!" );
|
|||
|
Sleep(500);
|
|||
|
if ( m_Setup.lAutoClearCount>0 && m_lMobileRecvCount > 0 && m_lMobileRecvCount%m_Setup.lAutoClearCount==0 ) //ÿ<><C3BF><EFBFBD>յ<EFBFBD>10<31><30><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>SIM<49><4D>
|
|||
|
{
|
|||
|
m_pMainFrame->SetStatMsg( "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SIM<EFBFBD><EFBFBD>..." );
|
|||
|
m_pSendThread->PostThreadMessage( TH_CLEAR , 0 , 0 );
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return 1;
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
void CFFaxJS::OnDestroy()
|
|||
|
{
|
|||
|
#ifdef SUPPERGSM
|
|||
|
if ( m_pSendThread )
|
|||
|
{
|
|||
|
m_pSendThread->Com_Exit();
|
|||
|
m_pSendThread->PostThreadMessage( WM_QUIT , 0 , 0 );
|
|||
|
m_pSendThread = NULL;
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
if ( m_pMenuType )
|
|||
|
delete m_pMenuType;
|
|||
|
|
|||
|
CDialog::OnDestroy();
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::RecvNewSms(ANS_RecvData2 sms,BOOL bShowTip)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::ConnectMobile()
|
|||
|
{
|
|||
|
#ifdef SUPPERGSM
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
m_Setup = m_pMainFrame->m_Setup;
|
|||
|
|
|||
|
m_pSendThread = new CSendThread;
|
|||
|
m_pSendThread->CreateThread();
|
|||
|
SMS_Init * pSms = new SMS_Init;
|
|||
|
if (m_Setup.lPort == 0)
|
|||
|
pSms->lConnectType = CONNECT_IRDA;
|
|||
|
else
|
|||
|
pSms->lConnectType = CONNECT_CABLE;
|
|||
|
pSms->lIndex = 0;
|
|||
|
pSms->lMobType = m_Setup.lMobileType;
|
|||
|
pSms->lPort = m_Setup.lPort;
|
|||
|
pSms->lBuadrate = m_Setup.lBaudrate;
|
|||
|
pSms->lTimeOut = COM_TIMOUT;
|
|||
|
pSms->pWnd = (CWnd *)this;
|
|||
|
m_pSendThread->PostThreadMessage( TH_INIT , (WPARAM)pSms , 0 );
|
|||
|
m_pMainFrame->SetStatMsg( _T("<EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>...") );
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::OnOK()
|
|||
|
{
|
|||
|
//CDialog::OnOK();
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::OnCancel()
|
|||
|
{
|
|||
|
//CDialog::OnCancel();
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::On_User_Type(long lIndex)
|
|||
|
{
|
|||
|
#ifndef YQ_VER
|
|||
|
return ;
|
|||
|
#endif
|
|||
|
long lItem = this->GetCurrentSelected();
|
|||
|
if ( lItem <0 )
|
|||
|
return ;
|
|||
|
|
|||
|
long lID = m_wndList.GetItemData(lItem);
|
|||
|
CString strSelect;
|
|||
|
strSelect.Format( _T("select * from smsrecv where RecvID=%d") , lID );
|
|||
|
if ( m_AdoRS.Open( strSelect ) && m_AdoRS.GetRecordCount() )
|
|||
|
{
|
|||
|
m_AdoRS.MoveFirst();
|
|||
|
m_AdoRS.PutCollect( _T("Type1") , m_pMenuType[lIndex].szType1 );
|
|||
|
m_AdoRS.PutCollect( _T("Type2") , m_pMenuType[lIndex].szType2 );
|
|||
|
m_AdoRS.Update();
|
|||
|
m_AdoRS.Close();
|
|||
|
|
|||
|
CString str = m_pMenuType[lIndex].szType1;
|
|||
|
if ( _tcslen(m_pMenuType[lIndex].szType2) >0 )
|
|||
|
{
|
|||
|
str += _T("-");
|
|||
|
str += m_pMenuType[lIndex].szType2;
|
|||
|
}
|
|||
|
m_wndList.SetItemText( lItem , 6 , str );
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
BOOL CFFaxJS::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
|
|||
|
{
|
|||
|
if ( nID>= MENU_FAXJS_TYPESETUP+1 && nID<=MENU_FAXJS_TYPESETUP+1+m_lMenuTypeCount )
|
|||
|
{
|
|||
|
long lCount = nID - (MENU_FAXJS_TYPESETUP+1);
|
|||
|
On_User_Type(lCount);
|
|||
|
}
|
|||
|
return CDialog::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::SetToday(BOOL bToday)
|
|||
|
{
|
|||
|
if ( m_bShowToday != bToday )
|
|||
|
{
|
|||
|
m_bShowToday = bToday;
|
|||
|
m_bRefresh = false;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void CFFaxJS::ReadSetup()
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
m_Setup = m_pMainFrame->m_Setup;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
BOOL CFFaxJS::FlashIcon(BOOL bCheck, BOOL bFlash)
|
|||
|
{
|
|||
|
if ( bCheck )
|
|||
|
{
|
|||
|
CString str;
|
|||
|
str=_T("select count(*) as abc from smsRecv where Reader=0 "); //<2F><>ѯδ<D1AF><CEB4><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
|||
|
{
|
|||
|
long lCount;
|
|||
|
m_AdoRS.MoveFirst();
|
|||
|
m_AdoRS.GetCollect( _T("abc") , lCount );
|
|||
|
if ( lCount >0 )
|
|||
|
bFlash = true;
|
|||
|
else
|
|||
|
bFlash = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
bFlash = false;
|
|||
|
}
|
|||
|
m_AdoRS.Close();
|
|||
|
}
|
|||
|
if ( bFlash )
|
|||
|
{
|
|||
|
m_lIconCount = 1;
|
|||
|
SetTimer(3 , 500 , NULL);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_lIconCount = -1;
|
|||
|
}
|
|||
|
return bFlash;
|
|||
|
}
|
|||
|
|
|||
|
BOOL CFFaxJS::ShowNoReaderMsg()
|
|||
|
{
|
|||
|
CString str;
|
|||
|
SMS_See sms={0};
|
|||
|
long lRecvID = 0;
|
|||
|
COleDateTime t;
|
|||
|
str="select top 1 * from smsRecv where Reader=0 order by RecvTime"; //<2F><>ѯδ<D1AF><CEB4><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
|||
|
{
|
|||
|
m_AdoRS.MoveFirst();
|
|||
|
TCHAR szSender[32]={0};
|
|||
|
TCHAR szSendNum[32]={0};
|
|||
|
m_AdoRS.GetCollect( _T("RecvID") , lRecvID);
|
|||
|
m_AdoRS.GetCollect( _T("SendNum") , szSendNum );
|
|||
|
m_AdoRS.GetCollect( _T("Sender") , szSender );
|
|||
|
m_AdoRS.GetCollect( _T("RecvNum") , sms.szRecver );
|
|||
|
m_AdoRS.GetCollect( _T("Msg") , sms.szMsg );
|
|||
|
m_AdoRS.GetCollect( _T("RecvTime"), t );t.GetAsSystemTime(sms.tRecv);
|
|||
|
m_AdoRS.Close();
|
|||
|
sms.tSend = sms.tRecv;
|
|||
|
_tcscpy( sms.szStatus , _T("<EFBFBD><EFBFBD> <20><>") );
|
|||
|
|
|||
|
if ( _tcslen(szSender)>0 )
|
|||
|
_stprintf(sms.szSender , _T("%s-%s") , szSendNum,szSender );
|
|||
|
else
|
|||
|
_tcscpy(sms.szSender , szSendNum );
|
|||
|
|
|||
|
//״̬<D7B4><CCAC>Ϊ<EFBFBD>Ѷ<EFBFBD>
|
|||
|
str.Format( _T("update smsrecv set Reader=1 where RecvID=%d") , lRecvID );
|
|||
|
if ( m_AdoRS.Open( str ) && m_AdoRS.GetRecordCount() )
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>ң<EFBFBD><D2A3>ı<EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
long lCount = m_wndList.GetItemCount();
|
|||
|
long lRecvID2 = 0;
|
|||
|
for ( int i=0 ; i<lCount ; i++ )
|
|||
|
{
|
|||
|
lRecvID2 = m_wndList.GetItemData(i);
|
|||
|
if ( lRecvID == lRecvID2 )
|
|||
|
{
|
|||
|
m_wndList.SetIconIndex( i , 1 ); //<2F><>ʾ<EFBFBD>Ѷ<EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
sms.lType = SMS_SEE_TYPE_RECV;
|
|||
|
DLG_SmsLogSee dlg(this);
|
|||
|
dlg.SetParam(sms);
|
|||
|
dlg.SetReadSms(true);
|
|||
|
if ( dlg.DoModal() == 300 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>
|
|||
|
{
|
|||
|
if ( m_pMainFrame->m_pFuncView->On_User_List_Add() ) //<2F>½<EFBFBD><C2BD>б<EFBFBD>
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long lCount = 1;
|
|||
|
long lSize = sizeof(Send_User)*lCount;
|
|||
|
BYTE *pS = new BYTE[lSize];
|
|||
|
memset( pS , 0 , lSize );
|
|||
|
Send_User * pUser = (Send_User * )pS;
|
|||
|
_tcscpy(pUser->szName , szSender );
|
|||
|
_tcscpy(pUser->szMobile , szSendNum );
|
|||
|
m_pMainFrame->m_pFuncView->On_User_List_AddUser(lCount,(Send_User*)pS);
|
|||
|
delete pS;
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
FlashIcon(true,false);
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
FlashIcon(false,false); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ˡ<EFBFBD>
|
|||
|
return false;
|
|||
|
}
|