Просмотр исходного кода

//2018.5.25.安图要求分机挂时,挂外线

zhangguoyu лет назад: 7
Родитель
Сommit
b21fe513f1
5 измененных файлов с 16 добавлено и 5 удалено
  1. 3 1
      .gitignore
  2. 1 1
      ACD/AgentOffice.cpp
  3. 2 2
      CTI/LogicLineTrunk.cpp
  4. 1 1
      CTI/Task.cpp
  5. 9 0
      CTI/TaskAgentHungUp.cpp

+ 3 - 1
.gitignore

@@ -3,4 +3,6 @@
3 3
 ipch/
4 4
 */Release/
5 5
 */Debug/
6
-.vs/
6
+.vs/
7
+*.obj
8
+*.exe

+ 1 - 1
ACD/AgentOffice.cpp

@@ -154,7 +154,7 @@ BOOL CAgentOffice::insertAgent( UINT a_AgentID, UINT a_ExtID, LPCTSTR a_GroupID,
154 154
 	{ 
155 155
 		//2018.5.25重复请求签入
156 156
 		CAgent* t_pAgent = getAgentById(a_AgentID);
157
-		int t_asso_exten = t_pAgent->assoExten();;
157
+		int t_asso_exten = t_pAgent->assoExten();
158 158
 		if (t_asso_exten == a_ExtID) {
159 159
 			
160 160
 			//CAcdCore::GetInstance().getQueueMgr().addAgent(t_pAgent);// 座席添加到排队队列

+ 2 - 2
CTI/LogicLineTrunk.cpp

@@ -28,9 +28,9 @@ void CLogicLineTrunk::onLineStatusUpdated( const EventResStatus &EvtInfo )
28 28
 	m_CallerNum = EvtInfo.szCallerNum;
29 29
 	m_CalleeNum = EvtInfo.szCalleeNum;
30 30
 
31
-	ILogger::getInstance().log(LOG_CLASS_DEV, LOG_LEVEL_NORMAL, _T("{LogicLineTrunk}: 线路状态, LineId = %lu,State=%d,CallId=%lu,Caller=%s,Callee=%s"), m_LineId, m_LineStatus, m_CallId, m_CallerNum, m_CalleeNum);
31
+	//ILogger::getInstance().log(LOG_CLASS_DEV, LOG_LEVEL_NORMAL, _T("{LogicLineTrunk}: 线路状态, LineId = %lu,State=%d,CallId=%lu,Caller=%s,Callee=%s"), m_LineId, m_LineStatus, m_CallId, m_CallerNum, m_CalleeNum);
32 32
 
33
-	// 统计线路状态变化
33
+	//统计线路状态变化
34 34
 	_reportLineStatus();
35 35
 
36 36
 	// 通知会话状态变化,保持会话(m_nHoldCallId)不再通知

+ 1 - 1
CTI/Task.cpp

@@ -181,7 +181,7 @@ void CTask::_ProcCmdReturn(BOOL Result, bool FreeRes/* = false*/ )
181 181
 		return;
182 182
 
183 183
 	// ÏÔʾÈÕÖ¾
184
-	ILogger::getInstance().log(LOG_CLASS_SOCKET, Result ? LOG_LEVEL_NORMAL : LOG_LEVEL_WARNING, _T("CTI->%s, CMD = return[%d], Line = %d, IsSuccess = %d"),
184
+	ILogger::getInstance().log(LOG_CLASS_SOCKET, Result ? LOG_LEVEL_NORMAL : LOG_LEVEL_WARNING, _T("CTI->%s,TaskCMD = return[%d], Line = %d, IsSuccess = %d"),
185 185
 				m_CurrCmd.GetLocalDevType() == PDU_DEV_TYPE_ACD ? _T("ACD") : _T("IVR"),
186 186
 				m_CurrCmd.GetCmdType(),
187 187
 				m_pCurrLine == NULL ? 0 : m_pCurrLine->lineId(),

+ 9 - 0
CTI/TaskAgentHungUp.cpp

@@ -3,6 +3,8 @@
3 3
 #include "LineHolder.h"
4 4
 #include "LogicLine.h"
5 5
 #include "CtiCore.h"
6
+#include "SessionHolder.h"
7
+#include "CallSession.h"
6 8
 
7 9
 CTaskAgentHungUp::CTaskAgentHungUp(CPduEntity &PduEntity) : CTask(PduEntity)
8 10
 {
@@ -30,6 +32,13 @@ BOOL CTaskAgentHungUp::DoTask()
30 32
 	// 设置当前操作类型
31 33
 	m_pCurrLine->opType() = PDU_CMD_AGENT_HANGUP;
32 34
 
35
+	CCallSession* pSession = CSessionHolder::GetInstance().findSession(m_pCurrLine->callId());
36
+	if (pSession->lineCount() == 2) {//2018.5.25.安图要求分机挂时,挂外线。
37
+		CLogicLine* pAssoLine = m_pCurrLine->assoLine(); 
38
+		if (pAssoLine != NULL){
39
+			CCtiCore::GetInstance().getDevLink().exec((long)this, LINE_OP_HANG_UP, pAssoLine->lineId(), NULL);
40
+		}
41
+	}
33 42
 	// 向底层设备发送挂机命令
34 43
 	return CCtiCore::GetInstance().getDevLink().exec((long)this, LINE_OP_HANG_UP, m_pCurrLine->lineId(), NULL);
35 44
 }