1101 lines
27 KiB
C++
1101 lines
27 KiB
C++
// DLG_UBoxPop.cpp : ʵÏÖÎļþ
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "CorpSms.h"
|
||
#include "DLG_UBoxPop.h"
|
||
#include "afxdialogex.h"
|
||
#include "MainFrm.h"
|
||
#include "FUBoxLog.h"
|
||
#include "DLG_SmsDY.h"
|
||
#include "DLG_UserSelect.h"
|
||
|
||
|
||
// DLG_UBoxPop ¶Ô»°¿ò
|
||
|
||
IMPLEMENT_DYNAMIC(DLG_UBoxPop, CDialogEx)
|
||
|
||
DLG_UBoxPop::DLG_UBoxPop(CWnd* pParent /*=NULL*/)
|
||
: CDialogEx(DLG_UBoxPop::IDD, pParent)
|
||
{
|
||
m_lCallingCount = 0;
|
||
|
||
m_strKH_BZ = _T("");
|
||
m_strKH_Job = _T("");
|
||
m_strCall_BZ = _T("");
|
||
m_strCallTime = _T("");
|
||
m_strCallType = _T("");
|
||
m_strKH_Local = _T("");
|
||
m_strKH_LTD = _T("");
|
||
m_strKH_Mobile = _T("");
|
||
// m_strKH_ = _T("");
|
||
m_strKH_Name = _T("");
|
||
m_strKH_Tel = _T("");
|
||
m_strCall_Number = _T("");
|
||
m_strCall_NumberLocal = _T("");
|
||
|
||
m_lCallStatus = 0;
|
||
m_lCallWay=0;
|
||
m_bAddressModify = false;
|
||
m_lAddressType = 0;
|
||
m_lUserID = 0;
|
||
m_bSelGroup = false;
|
||
m_bCallModify = true;
|
||
m_bCallSendSms = true;
|
||
m_bAddressSave = false;
|
||
|
||
m_bCallYModify = false;
|
||
m_bAddressYModify = false;
|
||
|
||
m_dwCallJT = 0;
|
||
m_bCallBegin = false;
|
||
m_bCallEnd = false;
|
||
|
||
m_lUBoxLogID = 0;
|
||
m_bSaveCallPro = false;
|
||
m_lCallSC = 0;
|
||
|
||
m_lTickCount = GetTickCount();
|
||
|
||
m_lBeginTime = 0;
|
||
|
||
m_lGroupID = 0;
|
||
|
||
m_bRecord = false;
|
||
m_bRecordEnd = false;
|
||
}
|
||
|
||
DLG_UBoxPop::~DLG_UBoxPop()
|
||
{
|
||
int i=10;
|
||
}
|
||
|
||
void DLG_UBoxPop::DoDataExchange(CDataExchange* pDX)
|
||
{
|
||
CDialogEx::DoDataExchange(pDX);
|
||
DDX_Text(pDX, IDD_UBOXPOP__KH_BZ, m_strKH_BZ);
|
||
// DDV_MaxChars(pDX, m_strKH_BZ, 50);
|
||
DDX_Text(pDX, IDD_UBOXPOP__KH_JOB, m_strKH_Job);
|
||
DDV_MaxChars(pDX, m_strKH_Job, 30);
|
||
DDX_Text(pDX, IDD_UBOXPOP_CALLBZ, m_strCall_BZ);
|
||
DDV_MaxChars(pDX, m_strCall_BZ, 500);
|
||
DDX_Control(pDX, IDD_UBOXPOP_CALLSTATUS, m_S_CallStatus);
|
||
DDX_Text(pDX, IDD_UBOXPOP_CALLTIME, m_strCallTime);
|
||
DDV_MaxChars(pDX, m_strCallTime, 30);
|
||
DDX_Text(pDX, IDD_UBOXPOP_CALLTYPE, m_strCallType);
|
||
DDV_MaxChars(pDX, m_strCallType, 30);
|
||
DDX_Control(pDX, IDD_UBOXPOP_CALLWAY, m_S_CallWay);
|
||
DDX_Text(pDX, IDD_UBOXPOP_KH_LOCAL, m_strKH_Local);
|
||
DDV_MaxChars(pDX, m_strKH_Local, 200);
|
||
DDX_Text(pDX, IDD_UBOXPOP_KH_LTD, m_strKH_LTD);
|
||
DDV_MaxChars(pDX, m_strKH_LTD, 50);
|
||
DDX_Text(pDX, IDD_UBOXPOP_KH_MOBILE, m_strKH_Mobile);
|
||
DDV_MaxChars(pDX, m_strKH_Mobile, 30);
|
||
DDX_Text(pDX, IDD_UBOXPOP_KH_NAME, m_strKH_Name);
|
||
DDV_MaxChars(pDX, m_strKH_Name, 24);
|
||
DDX_Text(pDX, IDD_UBOXPOP_KH_TEL, m_strKH_Tel);
|
||
DDV_MaxChars(pDX, m_strKH_Tel, 24);
|
||
DDX_Text(pDX, IDD_UBOXPOP_NUMBER, m_strCall_Number);
|
||
DDV_MaxChars(pDX, m_strCall_Number, 30);
|
||
DDX_Text(pDX, IDD_UBOXPOP_NUMBERLOCAL, m_strCall_NumberLocal);
|
||
DDV_MaxChars(pDX, m_strCall_NumberLocal, 120);
|
||
DDX_Control(pDX, IDD_UBOXPOP_LIST, m_wndList);
|
||
}
|
||
|
||
|
||
BEGIN_MESSAGE_MAP(DLG_UBoxPop, CDialogEx)
|
||
ON_WM_TIMER()
|
||
ON_EN_CHANGE(IDD_UBOXPOP_KH_NAME, &DLG_UBoxPop::OnEnChangeUboxpopKhName)
|
||
ON_EN_CHANGE(IDD_UBOXPOP_KH_LTD, &DLG_UBoxPop::OnEnChangeUboxpopKhLtd)
|
||
ON_EN_CHANGE(IDD_UBOXPOP__KH_JOB, &DLG_UBoxPop::OnEnChangeUboxpop)
|
||
ON_EN_CHANGE(IDD_UBOXPOP_KH_MOBILE, &DLG_UBoxPop::OnEnChangeUboxpopKhMobile)
|
||
ON_EN_CHANGE(IDD_UBOXPOP_KH_TEL, &DLG_UBoxPop::OnEnChangeUboxpopKhTel)
|
||
ON_EN_CHANGE(IDD_UBOXPOP__KH_BZ, &DLG_UBoxPop::OnEnChangeUboxpopKhBZ)
|
||
ON_BN_CLICKED(IDD_UBOXPOP_KH_LOCAL_SEL, &DLG_UBoxPop::OnBnClickedUboxpopKhLocalSel)
|
||
ON_BN_CLICKED(IDD_UBOXPOP_CALLTYPE_SEL, &DLG_UBoxPop::OnBnClickedUboxpopCalltypeSel)
|
||
ON_EN_CHANGE(IDD_UBOXPOP_CALLBZ, &DLG_UBoxPop::OnEnChangeUboxpopCallbz)
|
||
|
||
ON_COMMAND_RANGE(UBOXPOP_CALLTYPE_BEGIN,UBOXPOP_CALLTYPE_END,&DLG_UBoxPop::On_CallType)
|
||
ON_COMMAND_RANGE(UBOXPOP_SMSDY_BEGIN,UBOXPOP_SMSDY_END,&DLG_UBoxPop::On_SmsDY)
|
||
ON_COMMAND(UBOXPOP_SMSDY_OTHER , &DLG_UBoxPop::On_SmsDY_Other)
|
||
ON_COMMAND(UBOXPOP_SMSDY_MANAGER , &DLG_UBoxPop::On_SmsDY_Manager)
|
||
ON_MESSAGE( UBOX_EVENT , UBox_Event )
|
||
ON_BN_CLICKED(IDOK, &DLG_UBoxPop::OnBnClickedOk)
|
||
ON_BN_CLICKED(IDCANCEL, &DLG_UBoxPop::OnBnClickedCancel)
|
||
ON_BN_CLICKED(IDD_UBOXPOP_CALL_RESMS, &DLG_UBoxPop::OnBnClickedUboxpopCallResms)
|
||
END_MESSAGE_MAP()
|
||
|
||
|
||
// DLG_UBoxPop ÏûÏ¢´¦Àí³ÌÐò
|
||
|
||
|
||
void DLG_UBoxPop::SetMainFrame(CMainFrame * pFrame)
|
||
{
|
||
m_pMainFrame = pFrame;
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::ReSetTitle(void)
|
||
{
|
||
CString str;
|
||
if ( m_lCallWay==0 )
|
||
str = _T("ºôÈë");
|
||
else
|
||
str = _T("ºô³ö");
|
||
str = str + CString(_T(" ")) + m_strCall_NumberLocal;
|
||
str = str + CString(_T(" ")) + m_strNumber;
|
||
str = str + CString(_T(" ")) + m_strKH_Name;
|
||
str = str + CString(_T(" ")) + m_strKH_LTD;
|
||
|
||
if ( m_lCallingCount>1 )
|
||
{
|
||
CString strTemp;
|
||
strTemp.Format( _T("%d´Î"),this->m_lCallingCount);
|
||
str = str + CString(_T(" ")) + strTemp;
|
||
}
|
||
SetWindowText(str);
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::SetNumber(CString strNumber)
|
||
{
|
||
m_strNumber = strNumber;
|
||
}
|
||
|
||
|
||
|
||
void DLG_UBoxPop::OnTimer(UINT_PTR nIDEvent)
|
||
{
|
||
CDialogEx::OnTimer(nIDEvent);
|
||
|
||
if ( nIDEvent ==1 )
|
||
{
|
||
KillTimer(nIDEvent);
|
||
GetAddress();
|
||
}
|
||
if ( nIDEvent ==2 )
|
||
{
|
||
if ( m_dwCallJT>0 )
|
||
{
|
||
DWORD dwTime = ::GetTickCount()-m_dwCallJT;
|
||
long lSec = dwTime/1000;
|
||
COleDateTimeSpan sc(0,0,0,lSec);
|
||
CString str;
|
||
str.Format(_T("%02d:%02d") , sc.GetMinutes(),sc.GetSeconds());
|
||
m_S_CallStatus.SetWindowText(str);
|
||
}
|
||
}
|
||
if ( nIDEvent ==7 ) //ÓÃÓÚ×Ô¶¯½ÓÌý
|
||
{
|
||
KillTimer(nIDEvent);
|
||
Call_Begin();
|
||
}
|
||
if ( nIDEvent == 8 ) //ÓÃÓÚÅжÏÉÏ´«Í¨»°¼Ç¼³¬Ê±
|
||
{
|
||
KillTimer(nIDEvent);
|
||
|
||
Call_Close(); //¹Ø±Õͨ»°´°¿Ú
|
||
}
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::GetAddress(void)
|
||
{
|
||
m_AdoRS.SetAdoConnection(&this->m_pMainFrame->m_adoConnection);
|
||
m_AdoRS2.SetAdoConnection(&this->m_pMainFrame->m_adoConnection);
|
||
|
||
UpdateData(true);
|
||
CString str;
|
||
|
||
m_bCallModify = true; //ĬÈÏÊÇÔÊÐíÐÞ¸ÄÀ´µçÊôÐÔ
|
||
m_bCallSendSms = true; //ĬÈÏÊÇÔÊÐí»Ø¸´¶ÌÐŵÄ
|
||
m_bAddressSave = false; //ĬÈϲ»ÊÇÐÂÔöͨѶ¼£¬²»ÄÜÑ¡Ôñ±£´æ
|
||
//ÊÕµ½DTMF£¬¼ì²éÏà¹ØÊý¾Ý
|
||
if ( m_strNumber.GetLength()>0 )
|
||
{
|
||
BOOL bGetAddress=false;
|
||
if (m_pMainFrame->GetUserPurview(PURVIEW_GADDRESS_SEE,false)) //Óй«ÓÃͨѶ¼²é¿´È¨ÏÞ
|
||
{
|
||
//²éÓû§
|
||
str.Format(_T("select * from gaddress where Mobile='%s' or Tel='%s'"),m_strNumber,m_strNumber);
|
||
if ( m_AdoRS.Open(str) && !m_AdoRS.IsEOF() )
|
||
{
|
||
bGetAddress = true;
|
||
m_lAddressType = 0; //¹«ÓÃͨѶ¼
|
||
m_bSelGroup = false; //ÒÑÓÐÓû§£¬²»ÔÊÐíÑ¡Ôñ×é
|
||
/*
|
||
if (m_pMainFrame->GetUserPurview(PURVIEW_GADDRESS_MODIFY,false)) //Óй«ÓÃͨѶ¼²é¿´È¨ÏÞ
|
||
{
|
||
m_bAddressModify = true; //ÔÊÐíÐÞ¸ÄͨѶ¼
|
||
}
|
||
*/
|
||
m_bAddressModify = false; //¹«ÓÃͨѶ¼µÄ£¬²»ÔÊÐíÐÞ¸Ä
|
||
|
||
m_AdoRS.GetCollect(_T("UserID") , m_lUserID );
|
||
m_AdoRS.GetCollect(_T("Name") , m_strKH_Name );
|
||
m_AdoRS.GetCollect(_T("LTD") , m_strKH_LTD );
|
||
m_AdoRS.GetCollect(_T("Job") , m_strKH_Job );
|
||
m_AdoRS.GetCollect(_T("Mobile") , m_strKH_Mobile );
|
||
m_AdoRS.GetCollect(_T("Tel") , m_strKH_Tel );
|
||
m_AdoRS.GetCollect(_T("BZ") , m_strKH_BZ );
|
||
TCHAR szGroupID[32]={0};
|
||
m_AdoRS.GetCollect(_T("GroupID") , szGroupID );
|
||
TCHAR szLocal[512]={0};
|
||
GetLocal(_T("¹«ÓÃͨѶ¼"),_T("gaddress") , szLocal,szGroupID);
|
||
m_strKH_Local = szLocal;
|
||
}
|
||
}
|
||
if ( !bGetAddress )
|
||
{
|
||
//²éÓû§
|
||
str.Format(_T("select * from paddress where Mobile='%s' or Tel='%s'"),m_strNumber,m_strNumber);
|
||
if ( m_AdoRS.Open(str) && !m_AdoRS.IsEOF() )
|
||
{
|
||
bGetAddress = true;
|
||
m_lAddressType = 1; //˽ÈËͨѶ¼
|
||
m_bSelGroup = false; //ÒÑÓÐÓû§£¬²»ÔÊÐíÑ¡Ôñ×é
|
||
m_bAddressModify = true; //ÔÊÐíÐÞ¸ÄͨѶ¼
|
||
|
||
m_AdoRS.GetCollect(_T("UserID") , m_lUserID );
|
||
m_AdoRS.GetCollect(_T("Name") , m_strKH_Name );
|
||
m_AdoRS.GetCollect(_T("LTD") , m_strKH_LTD );
|
||
m_AdoRS.GetCollect(_T("Job") , m_strKH_Job );
|
||
m_AdoRS.GetCollect(_T("Mobile") , m_strKH_Mobile );
|
||
m_AdoRS.GetCollect(_T("Tel") , m_strKH_Tel );
|
||
m_AdoRS.GetCollect(_T("BZ") , m_strKH_BZ );
|
||
TCHAR szGroupID[32]={0};
|
||
m_AdoRS.GetCollect(_T("GroupID") , szGroupID );
|
||
TCHAR szLocal[512]={0};
|
||
GetLocal(_T("˽ÈËͨѶ¼"),_T("paddress") , szLocal,szGroupID);
|
||
m_strKH_Local = szLocal;
|
||
}
|
||
}
|
||
if ( !bGetAddress )
|
||
{
|
||
m_lAddressType = -1; //δ֪
|
||
m_bSelGroup = true; //ÔÊÐíÑ¡ÔñÓû§×é
|
||
m_bAddressModify = true; //ÔÊÐíÐÞ¸ÄͨѶ¼
|
||
m_bAddressSave = true; //ÔÊÐíÑ¡Ôñ±£´æÍ¨Ñ¶Â¼
|
||
|
||
m_lAddressType = 1; //˽ÈËͨѶ¼
|
||
m_strKH_Local = _T("˽ÈËͨѶ¼");
|
||
m_strKHGroupID = _T(""); //ĬÈϱ£´æÎ»ÖÃ
|
||
|
||
if ( m_strNumber.Left(1) == _T("1") ) //ÊÖ»ú
|
||
{
|
||
m_strKH_Mobile = m_strNumber;
|
||
}
|
||
else
|
||
{
|
||
m_strKH_Tel = m_strNumber;
|
||
}
|
||
}
|
||
|
||
//·¢³öÇëÇ󣬶Áȡͨ»°¼Ç¼.Èç¹ûÊÇ100000£¬¶ÁÈ¡ÆóÒµID¡£
|
||
REQ_UBox_GetPro * pGetPro = new REQ_UBox_GetPro;
|
||
memset(pGetPro , 0 , sizeof(REQ_UBox_GetPro));
|
||
pGetPro->lCorpID = m_pMainFrame->m_lCorpID;
|
||
pGetPro->lUserID = m_pMainFrame->m_lUserID;
|
||
pGetPro->lTickCount = m_lTickCount;
|
||
pGetPro->lAddressType = m_lAddressType;
|
||
pGetPro->lKH_UserID = m_lUserID;
|
||
_tcscpy(pGetPro->szCallNumber , m_strNumber);
|
||
pGetPro->bGetCorpPro = false;
|
||
if ( !bGetAddress && m_pMainFrame->m_lCorpID==100000)
|
||
{
|
||
pGetPro->bGetCorpPro = true;
|
||
}
|
||
m_pMainFrame->SendFrame(SMSFUNC_UBOX_GETPRO,(BYTE*)pGetPro,sizeof(REQ_UBox_GetPro));
|
||
|
||
}
|
||
else
|
||
{
|
||
m_lAddressType = -1; //δ֪
|
||
m_bSelGroup = false; //ÒÑÓÐÓû§£¬²»ÔÊÐíÑ¡Ôñ×é
|
||
m_bAddressModify = false; //ÔÊÐíÐÞ¸ÄͨѶ¼
|
||
m_bCallSendSms = false; //²»ÔÊÐí·¢ËͶÌÐÅ
|
||
}
|
||
|
||
EnableCtrl();
|
||
|
||
ReSetTitle();
|
||
|
||
UpdateData(false);
|
||
}
|
||
|
||
void DLG_UBoxPop::GetLocal(CString strType,CString strDBName,TCHAR *pLocal, TCHAR *pGroupID)
|
||
{
|
||
long lLen = _tcslen( pGroupID );
|
||
TCHAR szGroup[16]={0};
|
||
TCHAR szTemp[16]={0};
|
||
TCHAR szSelect[128]={0};
|
||
_stprintf( pLocal , strType );
|
||
|
||
for ( int i = 1 ; i<= lLen ; i++ )
|
||
{
|
||
_tcsncpy( szGroup , pGroupID , i );
|
||
_stprintf( szSelect , _T("select Name from %s where GroupID='%s' AND UserType='0' ") ,strDBName, szGroup );
|
||
BOOL b = m_AdoRS.Open( szSelect );
|
||
if (b && !m_AdoRS.IsEOF())
|
||
{
|
||
m_AdoRS.GetCollect( _T("Name") , szTemp );
|
||
_tcscat( pLocal , _T("\\") );
|
||
_tcscat( pLocal , szTemp );
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
BOOL DLG_UBoxPop::OnInitDialog()
|
||
{
|
||
CDialogEx::OnInitDialog();
|
||
|
||
m_lTickCount = GetTickCount();
|
||
|
||
|
||
//³õʼ»¯List
|
||
m_Image.Create(16,16,ILC_COLOR32|ILC_MASK,5,5);
|
||
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CALLIN) );
|
||
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CALLIN2) );
|
||
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CALLOUT) );
|
||
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CALLOUT2) );
|
||
|
||
m_wndList.SubClassWindow2();
|
||
m_wndList.SetHeadings(_T("µç»°ºÅÂë,130; ʱ ¼ä,130;ͨ»°Ê±³¤,80;½ÓÌýÈË,90; ÐÕÃû,90; µ¥Î»Ãû³Æ,200; ±¸×¢,220;"));
|
||
m_wndList.SetGridLines(true);
|
||
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
|
||
|
||
m_strCall_Number = m_strNumber;
|
||
GetLocalTime(&m_tCallTime);
|
||
m_strCallTime.Format(_T("%02d:%02d:%02d") , m_tCallTime.wHour,m_tCallTime.wMinute,m_tCallTime.wSecond);
|
||
|
||
m_strCall_NumberLocal=_T("δ֪¹éÊôµØ");
|
||
m_strCallType = _T("δ·ÖÀà");
|
||
|
||
SetCallStatus();
|
||
SetCallWay();
|
||
|
||
|
||
UpdateData(false);
|
||
|
||
SetTimer(1,100,NULL); //½øÐÐȡͨѶ¼²Ù×÷
|
||
|
||
if ( m_lCallWay == 1 ) //ºô³ö
|
||
{
|
||
long lDelay = m_pMainFrame->m_Setup.UBox_lPhoneOutDelay;
|
||
if ( lDelay <7 || lDelay>20 )
|
||
lDelay = 7;
|
||
|
||
if ( m_lBeginTime>0 )
|
||
SetTimer( 7 , m_lBeginTime*1000 , NULL ); //×Ô¶¯½Óͨ,ÐèÒªÁ¢¼´½Óͨ
|
||
else
|
||
SetTimer( 7 , lDelay*1000 , NULL ); //×Ô¶¯½Óͨ
|
||
}
|
||
|
||
ReSetTitle();
|
||
|
||
return TRUE; // return TRUE unless you set the focus to a control
|
||
// Òì³£: OCX ÊôÐÔÒ³Ó¦·µ»Ø FALSE
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::SetCallStatus(void)
|
||
{
|
||
if ( m_lCallStatus ==0 )
|
||
{
|
||
m_S_CallStatus.SetWindowText(_T("δ½Ó"));
|
||
}
|
||
else
|
||
{
|
||
m_S_CallStatus.SetWindowText(_T("ÒѽÓ"));
|
||
}
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::SetCallWay(void)
|
||
{
|
||
if ( m_lCallWay ==0 )
|
||
{
|
||
m_S_CallWay.SetWindowText(_T("ºôÈë"));
|
||
}
|
||
else
|
||
{
|
||
m_S_CallWay.SetWindowText(_T("ºô³ö"));
|
||
}
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::EnableCtrl(void)
|
||
{
|
||
if ( m_bSelGroup )
|
||
{
|
||
GetDlgItem(IDD_UBOXPOP_KH_LOCAL_SEL)->EnableWindow(true);
|
||
}
|
||
else
|
||
{
|
||
GetDlgItem(IDD_UBOXPOP_KH_LOCAL_SEL)->EnableWindow(false);
|
||
}
|
||
if ( m_bCallModify )
|
||
{
|
||
GetDlgItem(IDD_UBOXPOP_CALLTYPE_SEL)->EnableWindow(true);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP_CALLBZ))->SetReadOnly(false);
|
||
}
|
||
else
|
||
{
|
||
GetDlgItem(IDD_UBOXPOP_CALLTYPE_SEL)->EnableWindow(false);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP_CALLBZ))->SetReadOnly(true);
|
||
}
|
||
if ( m_bCallSendSms )
|
||
{
|
||
GetDlgItem(IDD_UBOXPOP_CALL_RESMS)->EnableWindow(true);
|
||
}
|
||
else
|
||
{
|
||
GetDlgItem(IDD_UBOXPOP_CALL_RESMS)->EnableWindow(false);
|
||
}
|
||
|
||
if ( m_bAddressModify )
|
||
{
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP_KH_NAME))->SetReadOnly(false);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP_KH_LTD))->SetReadOnly(false);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP__KH_JOB))->SetReadOnly(false);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP_KH_MOBILE))->SetReadOnly(false);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP_KH_TEL))->SetReadOnly(false);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP__KH_BZ))->SetReadOnly(false);
|
||
}
|
||
else
|
||
{
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP_KH_NAME))->SetReadOnly(true);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP_KH_LTD))->SetReadOnly(true);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP__KH_JOB))->SetReadOnly(true);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP_KH_MOBILE))->SetReadOnly(true);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP_KH_TEL))->SetReadOnly(true);
|
||
((CEdit *)GetDlgItem(IDD_UBOXPOP__KH_BZ))->SetReadOnly(true);
|
||
}
|
||
|
||
if ( m_bAddressSave )
|
||
{
|
||
GetDlgItem(IDD_UBOXPOP__KH_SAVE)->EnableWindow(true);
|
||
}
|
||
else
|
||
{
|
||
GetDlgItem(IDD_UBOXPOP__KH_SAVE)->EnableWindow(false);
|
||
}
|
||
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::OnEnChangeUboxpopKhName()
|
||
{
|
||
m_bAddressYModify = true; //Ð޸ĹýͨѶ¼×ÊÁÏ
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::OnEnChangeUboxpopKhLtd()
|
||
{
|
||
m_bAddressYModify = true; //Ð޸ĹýͨѶ¼×ÊÁÏ
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::OnEnChangeUboxpop()
|
||
{
|
||
m_bAddressYModify = true; //Ð޸ĹýͨѶ¼×ÊÁÏ
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::OnEnChangeUboxpopKhMobile()
|
||
{
|
||
m_bAddressYModify = true; //Ð޸ĹýͨѶ¼×ÊÁÏ
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::OnEnChangeUboxpopKhTel()
|
||
{
|
||
m_bAddressYModify = true; //Ð޸ĹýͨѶ¼×ÊÁÏ
|
||
}
|
||
|
||
void DLG_UBoxPop::OnEnChangeUboxpopKhBZ()
|
||
{
|
||
m_bCallYModify = true; //Ð޸ĹýͨѶÊôÐÔ×ÊÁÏ
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::OnBnClickedUboxpopKhLocalSel()
|
||
{
|
||
DLG_UserSelect dlg(this);
|
||
dlg.SetParam( m_pMainFrame,_T("paddress"),_T("¸ùĿ¼"),false );
|
||
if ( dlg.DoModal()==IDOK )
|
||
{
|
||
m_lGroupID = dlg.GetParam(m_strGroupID);
|
||
m_bAddressYModify = true; //Ð޸ĹýͨѶ¼×ÊÁÏ
|
||
m_lAddressType = 1; //˽ÈËͨѶ¼
|
||
|
||
//µ½GroupID
|
||
CString str;
|
||
m_strGroupID = _T("");
|
||
str.Format(_T("select * from paddress where UserID=%d") , m_lGroupID );
|
||
if ( m_AdoRS.Open(str) && !m_AdoRS.IsEOF() )
|
||
{
|
||
m_AdoRS.GetCollect(_T("GroupID") , m_strGroupID);
|
||
}
|
||
|
||
TCHAR szLocal[512]={0};
|
||
GetLocal(_T("˽ÈËͨѶ¼"),_T("paddress") , szLocal,m_strGroupID.GetBuffer(0));
|
||
|
||
UpdateData(true);
|
||
m_strKH_Local = szLocal;
|
||
//m_Address.lAccessGroupID = dlg.GetParam(m_strGroup);
|
||
UpdateData(false);
|
||
}
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::OnBnClickedUboxpopCalltypeSel()
|
||
{
|
||
CMenu menu;
|
||
menu.CreatePopupMenu();
|
||
|
||
long lCount = m_CallType.GetCount();
|
||
|
||
for ( long i=0 ; i<lCount; i++ )
|
||
{
|
||
menu.AppendMenu(MF_STRING , UBOXPOP_CALLTYPE_BEGIN+i, m_CallType.GetAt(i).szType );
|
||
}
|
||
|
||
CRect rect;
|
||
GetDlgItem(IDD_UBOXPOP_CALLTYPE_SEL)->GetWindowRect(&rect);
|
||
//this->ClientToScreen(&rect);
|
||
//ÏÔʾ²Ëµ¥
|
||
menu.TrackPopupMenu(TPM_RIGHTALIGN|TPM_LEFTBUTTON | TPM_RIGHTBUTTON,rect.right,rect.bottom, this, NULL);
|
||
|
||
menu.DestroyMenu();
|
||
|
||
|
||
//m_bCallYModify = true; //Ð޸ĹýͨѶÊôÐÔ×ÊÁÏ
|
||
}
|
||
|
||
void DLG_UBoxPop::OnEnChangeUboxpopCallbz()
|
||
{
|
||
m_bCallYModify = true; //Ð޸ĹýͨѶÊôÐÔ×ÊÁÏ
|
||
}
|
||
|
||
|
||
BOOL DLG_UBoxPop::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame)
|
||
{
|
||
try
|
||
{
|
||
CString str;
|
||
//È¡ÍÆ¼öÐÅÏ¢
|
||
if (pHead->lFuncType == SMSFUNC_UBOX_GETPRO)
|
||
{
|
||
ANS_UBox_GetPro * pGetPro = (ANS_UBox_GetPro *)pFrame;
|
||
ANS_UBox_CallType * pCallType = (ANS_UBox_CallType *)(pFrame+sizeof(ANS_UBox_GetPro));
|
||
ANS_UBox_CallLog * pCallLog = (ANS_UBox_CallLog *)(pFrame+sizeof(ANS_UBox_GetPro)+sizeof(ANS_UBox_CallType)*pGetPro->lCallTypeCount);
|
||
|
||
if ( pGetPro->lTickCount != m_lTickCount ) //²»ÊÇ´Ë´°¿Ú·¢³öµÄ£¬²»´¦Àí¡£
|
||
{
|
||
return true;
|
||
}
|
||
|
||
UpdateData(true);
|
||
m_strCall_NumberLocal = pGetPro->szCall_Local;
|
||
if ( pGetPro->bGetCorpPro)
|
||
{
|
||
m_strKH_Name = pGetPro->szKH_Name;
|
||
m_strKH_LTD = pGetPro->szKH_LTD;
|
||
m_strKH_Job = pGetPro->szKH_Job;
|
||
m_strKH_Mobile = pGetPro->szKH_Mobile;
|
||
m_strKH_Tel = pGetPro->szKH_Tel;
|
||
m_strKH_Local = pGetPro->szKH_Local;
|
||
|
||
m_bCallModify = true;
|
||
m_bCallSendSms = true;
|
||
m_bAddressSave = false;
|
||
m_bAddressModify = false;
|
||
m_bAddressYModify = false;
|
||
m_bSelGroup = false;
|
||
|
||
EnableCtrl();
|
||
}
|
||
ReSetTitle();
|
||
UpdateData(false);
|
||
|
||
m_CallType.RemoveAll();
|
||
for ( long i=0; i<pGetPro->lCallTypeCount;i++ )
|
||
{
|
||
ANS_UBox_CallType callType = pCallType[i];
|
||
m_CallType.Add(callType);
|
||
}
|
||
|
||
m_wndList.DeleteAllItems();
|
||
for ( i=0 ; i< pGetPro->lCallLogCount ; i++ )
|
||
{
|
||
//m_wndList.SetHeadings(_T("µç»°ºÅÂë,90;·½Ïò,50; ʱ ¼ä,120;ͨ»°Ê±³¤,60; ÐÕÃû,80; µ¥Î»Ãû³Æ,120; ±¸×¢,120;"));
|
||
m_wndList.InsertItem(i,pCallLog[i].szCallNumber,CFUBoxLog::GetCallLogIconIndex(&pCallLog[i]));
|
||
long lTemp=1;
|
||
|
||
str.Format(_T("%04d.%02d.%02d %02d:%02d") , pCallLog[i].tCallTime.wYear,pCallLog[i].tCallTime.wMonth,pCallLog[i].tCallTime.wDay,pCallLog[i].tCallTime.wHour,pCallLog[i].tCallTime.wMinute);
|
||
m_wndList.SetItemText(i,lTemp++,str); //ͨ»°Ê±¼ä
|
||
|
||
COleDateTimeSpan span(0,0,0,pCallLog[i].lCallSC);
|
||
str.Format(_T("%02d:%02d:%02d"),span.GetHours(),span.GetMinutes(),span.GetSeconds());
|
||
m_wndList.SetItemText(i,lTemp++,str); //ʱ³¤
|
||
|
||
m_wndList.SetItemText(i,lTemp++,pCallLog[i].szUserName); //½ÓÌýÈË
|
||
m_wndList.SetItemText(i,lTemp++,pCallLog[i].szKHName); //ÐÕÃû
|
||
m_wndList.SetItemText(i,lTemp++,pCallLog[i].szKHLTD); //µ¥Î»
|
||
m_wndList.SetItemText(i,lTemp++,pCallLog[i].szCallBZ); //±¸×¢
|
||
|
||
|
||
}
|
||
|
||
return true;
|
||
}
|
||
if (pHead->lFuncType == SMSFUNC_UBOX_UPLOAD)
|
||
{
|
||
ANS_UBox_UpLoad * pUpload = (ANS_UBox_UpLoad *)pFrame;
|
||
if ( pUpload->req.lTickCount != m_lTickCount ) //²»ÊÇ´Ë´°¿Ú·¢³öµÄ£¬²»´¦Àí¡£
|
||
{
|
||
return true;
|
||
}
|
||
if ( pUpload->lUploadStatus == 1 )
|
||
{
|
||
m_lUBoxLogID = pUpload->req.callLog.lUBoxLogID;
|
||
}
|
||
|
||
Call_Close();
|
||
|
||
return true;
|
||
}
|
||
|
||
return false;
|
||
}
|
||
catch(...)
|
||
{
|
||
}
|
||
return false;
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::On_CallType(UINT nID)
|
||
{
|
||
UpdateData(true);
|
||
|
||
long lID = nID;
|
||
long lBegin = UBOXPOP_CALLTYPE_BEGIN;
|
||
|
||
long lIndex = nID-lBegin;
|
||
|
||
m_strCallType = m_CallType.GetAt(lIndex).szType;
|
||
m_bCallYModify = true; //Ð޸ĹýͨѶÊôÐÔ×ÊÁÏ
|
||
UpdateData(false);
|
||
}
|
||
|
||
void DLG_UBoxPop::On_SmsDY_Other()
|
||
{
|
||
|
||
if ( m_pMainFrame->m_pFuncView->On_User_List_Add() ) //н¨Áбí
|
||
{
|
||
//Ìí¼ÓÄÚÈÝ
|
||
m_pMainFrame->m_pFuncView->m_DLGSend.List_SetMsg( _T("") );
|
||
//Ìí¼ÓºÅÂë
|
||
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,this->m_strKH_Name);
|
||
_tcscpy(pUser->szMobile,this->m_strNumber);
|
||
m_pMainFrame->m_pFuncView->On_User_List_AddUser(lCount,(Send_User*)pS);
|
||
delete pS;
|
||
}
|
||
|
||
}
|
||
|
||
void DLG_UBoxPop::On_SmsDY_Manager()
|
||
{
|
||
DLG_SmsDY dlg(this);
|
||
dlg.SetParam( &m_AdoRS );
|
||
dlg.m_bDblclkSelect = false; //Ë«»÷²»ÓÃÑ¡Ôñ
|
||
dlg.DoModal();
|
||
}
|
||
|
||
void DLG_UBoxPop::On_SmsDY(UINT nID)
|
||
{
|
||
|
||
long lID = nID;
|
||
long lBegin = UBOXPOP_SMSDY_BEGIN;
|
||
|
||
long lIndex = nID-lBegin;
|
||
|
||
if ( lIndex<m_SmsDY.GetCount() )
|
||
{
|
||
CString strSmsDY = m_SmsDY.GetAt(lIndex);
|
||
|
||
if ( strSmsDY.GetLength()>0 && m_strNumber.GetLength()>0 )
|
||
{
|
||
m_pMainFrame->SendSms(m_strNumber,strSmsDY);
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
LONG_PTR DLG_UBoxPop::UBox_Event( WPARAM wParam , LPARAM lParam )
|
||
{
|
||
long lCmd = (long)wParam;
|
||
CString str;
|
||
|
||
if ( lCmd == UBOX_EVENT_HOOK_UP || lCmd == UBOX_EVENT_HOOK_UP2) //¹Ò»ú
|
||
{
|
||
if (lCmd== UBOX_EVENT_HOOK_UP2 ) //ÖØ¸´Í¨»°µÄ£¬¹Ø±Õǰһ¸öͨ»°
|
||
{
|
||
CDialogEx::OnCancel();
|
||
}
|
||
Call_End();
|
||
return true;
|
||
}
|
||
if ( lCmd == UBOX_EVENT_HOOK_OFF ) //ͻȜ
|
||
{
|
||
if ( m_lCallWay ==0 ) //ºôÈë,ºôÈëʱժ»úΪ¿ªÊ¼½ÓÌý
|
||
{
|
||
Call_Begin(); //ºô½Ð¿ªÊ¼
|
||
}
|
||
if ( m_lCallWay == 1 ) //ºô³ö,ºô³öÊÇÕª»úºó²ÅÄܲ¦ºÅµÄ£¬Èç¹ûÔÙ´ÎÕª»ú£¬¿Ï¶¨ÊǽáÊøÍ¨»°ÁË
|
||
{
|
||
Call_End(); //ºô½Ð½áÊø
|
||
}
|
||
return true;
|
||
}
|
||
if ( lCmd == UBOX_EVENT_WJ ) //δ½Ó
|
||
{
|
||
if ( m_lCallWay ==0 ) //ºôÈë,ºôÈëʱ³öÏÖδ½ÓΪ½Óºô½áÊø£¬ºô½Ðʱ¼äΪ0
|
||
{
|
||
Call_End(); //ºô½Ð½áÊø
|
||
}
|
||
if ( m_lCallWay == 1 ) //ºô³ö,ºô³öÊÇÕª»úºó²ÅÄܲ¦ºÅµÄ£¬Èç¹ûÔÙ´ÎÕª»ú£¬¿Ï¶¨ÊǽáÊøÍ¨»°ÁË
|
||
{
|
||
Call_End(); //ºô½Ð½áÊø
|
||
}
|
||
return true;
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
void DLG_UBoxPop::Call_End(void)
|
||
{
|
||
#ifdef SUPPER_UBOX
|
||
KillTimer(2); //½áÊøÓÃÓÚÏÔʾʱ¼äµÄTimer
|
||
KillTimer(7); //½áÊøÓÃÓÚ×Ô¶¯½ÓÌýµÄTimer
|
||
|
||
//if ( m_bCallEnd ) //´Ëºô½ÐÊÇÒѽáÊøµÄ£¬²»ÓÃÔÙ´¦Àí
|
||
// return;
|
||
|
||
m_bCallEnd = true;
|
||
|
||
//¼ÆËãͨ»°Ê±³¤
|
||
if ( m_dwCallJT>0 && m_lCallSC<=0 )
|
||
{
|
||
DWORD dwTime = ::GetTickCount()-m_dwCallJT;
|
||
m_lCallSC = dwTime/1000;
|
||
}
|
||
|
||
//ֹͣ¼Òô
|
||
if ( m_bRecord )
|
||
{
|
||
m_bRecordEnd = true;
|
||
m_pMainFrame->m_ubox_stop_record(m_pMainFrame->m_ubox_endHandle);
|
||
}
|
||
if ( this->m_lUBoxLogID <=0 )
|
||
{
|
||
//Ϊ²¦ºÅ½çÃæÔö¼Ó²¦ºÅÈÕÖ¾
|
||
this->m_pMainFrame->m_DlgUBoxDial.AddCallLog(m_strNumber,m_lCallWay,m_lCallStatus);
|
||
//½«Êý¾ÝÉÏ´«µ½·þÎñÆ÷
|
||
Call_Upload();
|
||
}
|
||
#endif
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::Call_Begin(void)
|
||
{
|
||
#ifdef SUPPER_UBOX
|
||
KillTimer(7); //½áÊøÓÃÓÚ×Ô¶¯½ÓÌýµÄTimer
|
||
if ( m_bCallBegin ) //´Ëºô½ÐÊÇÒÑ¿ªÊ¼µÄ£¬²»Óô¦Àí
|
||
return ;
|
||
|
||
if ( m_bCallEnd ) //´Ëºô½ÐÊÇÒѽáÊøµÄ£¬²»Óô¦Àí
|
||
return ;
|
||
|
||
m_bCallBegin = true;
|
||
m_dwCallJT = GetTickCount();
|
||
m_lCallStatus =1 ;//ͨ»°×´Ì¬±ä»¯ÒѽÓ
|
||
m_S_CallStatus.SetWindowText(_T("00:00"));
|
||
SetTimer(2 , 1000 , NULL );
|
||
|
||
if ( !m_bRecord && m_pMainFrame->m_Setup.UBox_bAutoRecord ) //δ¿ªÊ¼Â¼Òô£¬½øÐмÒô²Ù×÷
|
||
{
|
||
//ȡ¼ÒôÎļþÃû
|
||
m_bRecordEnd = false; //δ¼ÒôÍê³É
|
||
|
||
TCHAR szPath[512]={0};
|
||
m_pMainFrame->GetCurrentPath(szPath);
|
||
_tcscat(szPath , _T("Record") );
|
||
::CreateDirectory(szPath , NULL ); //ÓÐÀíûÀí£¬ÏÈ´´½¨Îļþ¼Ð
|
||
SYSTEMTIME t;::GetLocalTime(&t);
|
||
m_strRecordName.Format( _T("%s\\%04d%02d%02d%02d%02d%02d%d.mp3"),szPath,t.wYear,t.wMonth,t.wDay,t.wHour,t.wMinute,t.wSecond,t.wMilliseconds);
|
||
m_pMainFrame->m_ubox_stop_record(m_pMainFrame->m_ubox_endHandle);
|
||
|
||
//CODER_ALAW
|
||
//CODER_MP3
|
||
#ifdef _UNICODE
|
||
int iRet = m_pMainFrame->m_ubox_record_file(m_pMainFrame->m_ubox_endHandle,CW2A(m_strRecordName),CODER_ALAW);
|
||
#else
|
||
int iRet = m_pMainFrame->m_ubox_record_file(m_pMainFrame->m_ubox_endHandle,m_strRecordName,CODER_MP3);
|
||
#endif
|
||
if ( iRet ==0 )
|
||
{
|
||
m_bRecord = true;
|
||
}
|
||
}
|
||
#endif
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::SetCallCount(long lCount)
|
||
{
|
||
this->m_lCallingCount = lCount;
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::SetCallWay(long lCallWay)
|
||
{
|
||
m_lCallWay = lCallWay;
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::Call_Upload(void)
|
||
{
|
||
UpdateData(true);
|
||
|
||
REQ_UBox_UpLoad * pUpload = new REQ_UBox_UpLoad;
|
||
memset(pUpload , 0 , sizeof(REQ_UBox_UpLoad));
|
||
|
||
pUpload->callLog.lUBoxLogID = m_lUBoxLogID;
|
||
pUpload->lCorpID = m_pMainFrame->m_lCorpID;
|
||
pUpload->lUserID = m_pMainFrame->m_lUserID;
|
||
pUpload->lTickCount = m_lTickCount;
|
||
pUpload->callLog.lCorpID = pUpload->lCorpID;
|
||
pUpload->callLog.lUserID = pUpload->lUserID;
|
||
_tcscpy(pUpload->callLog.szUserName , m_pMainFrame->m_pCurUser->szUser);
|
||
pUpload->callLog.lCallStatus = m_lCallStatus;
|
||
pUpload->callLog.lCallWay = m_lCallWay;
|
||
pUpload->callLog.tCallTime = m_tCallTime;
|
||
_tcscpy(pUpload->callLog.szCallLocal ,this->m_strCall_NumberLocal);
|
||
_tcscpy(pUpload->callLog.szCallNumber ,m_strNumber);
|
||
pUpload->callLog.lCallSC = m_lCallSC;
|
||
if ( m_bSaveCallPro )
|
||
{
|
||
_tcscpy(pUpload->callLog.szCallType ,m_strCallType);
|
||
_tcscpy(pUpload->callLog.szCallBZ ,m_strCall_BZ);
|
||
}
|
||
pUpload->callLog.lKHAddressType = m_lAddressType;
|
||
pUpload->callLog.lKHUserID = m_lUserID;
|
||
_tcscpy(pUpload->callLog.szKHName ,m_strKH_Name);
|
||
_tcscpy(pUpload->callLog.szKHLTD ,m_strKH_LTD);
|
||
|
||
m_pMainFrame->SendFrame(SMSFUNC_UBOX_UPLOAD,(BYTE*)pUpload,sizeof(REQ_UBox_UpLoad));
|
||
|
||
SetTimer(8 , 30000 , NULL ); //30Ãëºó³¬Ê±¼ì²â
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::OnBnClickedOk()
|
||
{
|
||
m_bSaveCallPro = true; //ÐèÒª±£´æÍ¨»°ÊôÐÔ
|
||
|
||
UpdateData(true);
|
||
|
||
if ( m_bAddressYModify ) //ÒÑÐ޸ĹýͨѶ¼
|
||
{
|
||
CString str;
|
||
if ( m_bAddressModify && m_lAddressType==1 && m_lUserID>0 ) //˽ÈËͨѶ¼µÄÔÊÐíÖ±½ÓÐÞ¸Ä
|
||
{
|
||
str.Format(_T("Update paddress set Name='%s',Ltd='%s',Job='%s',Mobile='%s',Tel='%s',BZ='%s' where UserID=%d") , SqlStr(m_strKH_Name),SqlStr(m_strKH_LTD),SqlStr(m_strKH_Job),SqlStr(m_strKH_Mobile),SqlStr(m_strKH_Tel),SqlStr(m_strKH_BZ),m_lUserID);
|
||
m_AdoRS.Open(str);
|
||
m_AdoRS.Close();
|
||
}
|
||
if ( m_bAddressModify && m_lAddressType==1 && m_lUserID<=0 ) //˽ÈËͨѶ¼µÄÔÊÐíÖ±½ÓÐÞ¸Ä
|
||
{
|
||
//Ìí¼Ó˽ÈËͨѶ¼
|
||
CString strGroupID = m_strGroupID;
|
||
str.Format(_T("insert into paddress (GroupID,UserType,Name,Ltd,Job,Mobile,Tel,BZ) values ('%s','1','%s','%s','%s','%s','%s','%s')") , strGroupID,SqlStr(m_strKH_Name),SqlStr(m_strKH_LTD),SqlStr(m_strKH_Job),SqlStr(m_strKH_Mobile),SqlStr(m_strKH_Tel),SqlStr(m_strKH_BZ),m_lUserID);
|
||
m_AdoRS.Open(str);
|
||
str.Format(_T("select top 1 * from paddress order by UserID desc"));
|
||
if ( m_AdoRS.Open(str) && !m_AdoRS.IsEOF())
|
||
{
|
||
m_AdoRS.GetCollect(_T("UserID") , m_lUserID);
|
||
}
|
||
m_AdoRS.Close();
|
||
}
|
||
}
|
||
|
||
Call_Upload();
|
||
|
||
CDialogEx::OnOK();
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::OnBnClickedCancel()
|
||
{
|
||
if ( this->m_bAddressYModify || this->m_bCallYModify )
|
||
{
|
||
int iRet = MessageBox(_T("ͨѶ¼»òͨ»°ÊôÐÔÒÑ×ö¹ýÐ޸ģ¬ÐèÒª±£´æÂð£¿") , _T("Ìáʾ") , MB_ICONQUESTION|MB_YESNO);
|
||
if ( iRet == IDYES )
|
||
{
|
||
OnBnClickedOk();
|
||
return ;
|
||
}
|
||
}
|
||
|
||
m_bSaveCallPro = false; //²»ÐèÒª±£´æÍ¨»°ÊôÐÔ
|
||
|
||
CDialogEx::OnCancel();
|
||
|
||
Call_Close();
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::Call_Close(void)
|
||
{
|
||
|
||
if ( m_bRecordEnd && m_lUBoxLogID) //¼Òô½áÊø
|
||
{
|
||
CString strFileName;
|
||
//¸ÄÃû
|
||
TCHAR szPath[512]={0};
|
||
m_pMainFrame->GetCurrentPath(szPath);
|
||
_tcscat(szPath , _T("Record") );
|
||
::CreateDirectory(szPath , NULL ); //ÓÐÀíûÀí£¬ÏÈ´´½¨Îļþ¼Ð
|
||
strFileName.Format( _T("%s\\%d.mp3"),szPath,m_lUBoxLogID);
|
||
|
||
//½øÐиÄÃû²Ù×÷
|
||
if ( strFileName!=m_strRecordName )
|
||
{
|
||
MoveFile(m_strRecordName,strFileName );
|
||
m_strRecordName = strFileName;
|
||
|
||
if ( m_pMainFrame->m_Setup.UBox_lReocrdDel>0 && this->m_lCallSC < m_pMainFrame->m_Setup.UBox_lReocrdDel ) //³¤¶È²»¹»£¬É¾³ý
|
||
{
|
||
::DeleteFile(m_strRecordName);
|
||
}
|
||
else
|
||
{
|
||
m_pMainFrame->UBox_AddUploadRecordFile(m_lUBoxLogID,m_strRecordName);
|
||
}
|
||
}
|
||
}
|
||
if ( m_bCallEnd && !IsWindowVisible() )
|
||
{
|
||
//ͨ»°½áÊø²¢ÇÒ´°¿Ú¹Ø±Õ£¬¿ÉÒÔ½áÊø±¾´°¿ÚÁË
|
||
m_pMainFrame->uboxPop_Del(this);
|
||
|
||
OnCancel();
|
||
}
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::OnCancel()
|
||
{
|
||
// TODO: ÔÚ´ËÌí¼ÓרÓôúÂëºÍ/»òµ÷ÓûùÀà
|
||
|
||
//CDialogEx::OnCancel();
|
||
|
||
DestroyWindow();
|
||
}
|
||
|
||
|
||
void DLG_UBoxPop::PostNcDestroy()
|
||
{
|
||
CDialogEx::PostNcDestroy();
|
||
|
||
delete this;
|
||
}
|
||
|
||
void DLG_UBoxPop::SetCallBeginTime(long lBeginTime)
|
||
{
|
||
m_lBeginTime = lBeginTime;
|
||
}
|
||
|
||
|
||
|
||
void DLG_UBoxPop::OnBnClickedUboxpopCallResms()
|
||
{
|
||
m_SmsDY.RemoveAll();
|
||
|
||
|
||
CMenu menu;
|
||
menu.CreatePopupMenu();
|
||
|
||
long lMaxPopMenu=32;
|
||
CMenu popMenu[32];
|
||
CString str;
|
||
str.Format(_T("Select * from smsdytype"));
|
||
m_AdoRS.Open(str);
|
||
long lIndex=0;
|
||
long lItemCount=0;
|
||
while(!m_AdoRS.IsEOF() && lIndex<lMaxPopMenu)
|
||
{
|
||
CString strType;
|
||
long lDYID;
|
||
m_AdoRS.GetCollect(_T("Title") , strType);
|
||
m_AdoRS.GetCollect(_T("DYID") , lDYID);
|
||
|
||
popMenu[lIndex].CreatePopupMenu();
|
||
menu.AppendMenu( MF_STRING|MF_POPUP,(UINT)popMenu[lIndex].GetSafeHmenu(), strType );
|
||
|
||
str.Format(_T("Select * from smsdy where Type='%d'"),lDYID);
|
||
m_AdoRS2.Open(str);
|
||
while(!m_AdoRS2.IsEOF())
|
||
{
|
||
CString strMsg;
|
||
m_AdoRS2.GetCollect(_T("Msg") , strMsg);
|
||
if ( strMsg.GetLength()>0 )
|
||
{
|
||
m_SmsDY.Add(strMsg);
|
||
popMenu[lIndex].AppendMenu( MF_STRING , UBOXPOP_SMSDY_BEGIN + lItemCount , strMsg );
|
||
|
||
lItemCount++;
|
||
}
|
||
|
||
m_AdoRS2.MoveNext();
|
||
}
|
||
|
||
|
||
m_AdoRS.MoveNext();
|
||
lIndex ++;
|
||
}
|
||
|
||
menu.AppendMenu(MF_SEPARATOR );
|
||
|
||
menu.AppendMenu( MF_STRING , UBOXPOP_SMSDY_OTHER , _T("ÆäËü¶ÌÐÅÄÚÈÝ") );
|
||
|
||
menu.AppendMenu(MF_SEPARATOR );
|
||
|
||
menu.AppendMenu( MF_STRING , UBOXPOP_SMSDY_MANAGER , _T("³£ÓöÌÓï¹ÜÀí") );
|
||
|
||
|
||
|
||
CRect rect;
|
||
GetDlgItem(IDD_UBOXPOP_CALL_RESMS)->GetWindowRect(&rect);
|
||
//this->ClientToScreen(&rect);
|
||
//ÏÔʾ²Ëµ¥
|
||
menu.TrackPopupMenu(TPM_RIGHTALIGN|TPM_LEFTBUTTON | TPM_RIGHTBUTTON,rect.right,rect.bottom, this, NULL);
|
||
|
||
menu.DestroyMenu();
|
||
|
||
|
||
}
|