呼叫时间和呼叫窗口
U32 CCallerAgent::OnCall( const CString &strCmd )
{
////////////getwnd//////////////////////////////////////////////////////////////
// 删除所有客户
if( GetState() & Q_PAUSE )
{
ClearState( Q_PAUSE );
}
CString strId = RequestParamStr( strCmd, "/QClientId" );
CString queueId = RequestParamStr( strCmd, "/QueueId" );
BOOL bDone = RequestParamStr( strCmd, "/Done") == "TRUE";
#ifdef GETNO_INTERFACE
CString strQueues=RequestParamStr(strCmd,"/sOperQueues");//从哪几个队列呼叫,不适合于选呼
#else
CString strQueues=RequestParamStr(strCmd,"/strQueue");
#endif
#ifndef GeneralHospital
for( int i=0; i<m_listQClient.GetCount(); i++ )
{
CQClient* pCurClient = (CQClient*)m_listQClient.GetHead();
if( bDone ) // 完成
{
// 取消指定的下个队列
CString done_queueid = pCurClient->GetLastQueueId( m_pQueuePool );
pCurClient->RemovePassQueue( done_queueid );
}
{
CString strNextQueueId = pCurClient->GetNextQueueId();
if( strNextQueueId.IsEmpty() && m_pBlackcoat )
strNextQueueId = m_pBlackcoat->GetNextQueueId();
if( !strNextQueueId.IsEmpty() )
{
CStringArray array;
RequestParamsStr( strNextQueueId, array, "|" );
if( array.GetSize() > 0 )
strNextQueueId = array.GetAt(0);
}
if( strNextQueueId.IsEmpty() )
{
if( pCurClient && m_pBlackcoat) //把已经呼叫过的票号保存到 员工类中
{
CPtrList & m_listDoneClient=m_pBlackcoat->GetlistDoneClient(); //xj 增加已经办理人数
m_listDoneClient.AddTail(pCurClient);
//发送窗口评价
if(m_pWnd)
m_pQueuePool->SendToMediaAppriasel(m_pWnd->GetName());
CString msgCount="/Data CallDoneCount /QClientsCount " +inttoCString(m_pQueuePool->GetDoneCountWorker(GetId()));
Send(msgCount); //发送已经呼叫过的人数
}
OnRemove( "/Cmd RemoveQClient /end" );
}
else
{
pCurClient->RemoveNextQueueId( strNextQueueId, GetId() );
CString cmd;
cmd.Format( TEXT("/Cmd TransferQClient/AimQueueId %s/QClientIds %s/Position %d"),
strNextQueueId, pCurClient->GetId(), NOUSE );
OnData( cmd );
CPtrList & m_listDoneClient=m_pBlackcoat->GetlistDoneClient(); //xj 增加已经办理人数
m_listDoneClient.AddTail(pCurClient);
if(m_pWnd)
m_pQueuePool->SendToMediaAppriasel(m_pWnd->GetName());
}
}
// Sleep(10);
}
for( i=0; i<m_listQClient.GetCount(); i ++ )
{
CQClient* p = (CQClient*)m_listQClient.GetHead();
TransferClient( p->GetId(), NULL, GetId() );
// Sleep( 10 );
}
#endif
CString dbgstr;
dbgstr.Format(TEXT(" %s 正在呼叫.."), GetId() );
myTrace(m_hWnd, dbgstr );
请教大神们,怎么获取呼叫时间和呼叫窗口,并把时间和和窗口存入数据库的card表中