升龙物业 老版本 ocx IPO, 加密狗 转值班电话

Queue.h 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*************************************************************************
  2. 【文件名】 Queue.h
  3. 【功能模块和目的】 外线来电队列基类头文件
  4. 【开发者及日期】 郑石诺 2015/01/21
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "AgentGroup.h"
  11. #include "IncomingCallGroup.h"
  12. class CIncomingCall;
  13. /*************************************************************************
  14. 【类名】 CQueue
  15. 【功能】
  16. 【接口说明】 外线来电队列基类
  17. 【开发者及日期】 郑石诺 2015/01/21
  18. 【版本】 V1.0.0
  19. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  20. 【更改记录】
  21. *************************************************************************/
  22. class CQueue
  23. {
  24. public:
  25. CQueue(UINT QueueNo);
  26. ~CQueue(void);
  27. UINT no(void) const { return m_QueueNo; }
  28. UINT callCount(void) const { return m_CallGroup.GetCount(); }
  29. bool getCallInfo(Call2Show& Info) { return m_CallGroup.getCallInfo(Info); }
  30. void clear(void);
  31. // 呼叫管理操作
  32. void onQueueRequest(CPduEntity* pCmd); // 呼叫请求排队
  33. bool onQueueCancel(CPduEntity* pCmd); // 呼叫取消排队
  34. bool onQueuePause(CPduEntity* pCmd); // 呼叫暂停排队
  35. bool onQueueContinue(CPduEntity* pCmd); // 呼叫继续排队
  36. // 座席相关
  37. void addAgent(CAgent* pAgent);
  38. void delAgent(CAgent* pAgent);
  39. void distributeAgent(void);
  40. private:
  41. void __initStrategy(void);
  42. void __freeStrategy(void);
  43. CStrategyAD* __getStrategy(AGENT_STRATEGY StrategyId);
  44. void __onAgentDispatched(QUEUE_AGENT_RESULT Result, UINT Agent, UINT Exten, CIncomingCall* pCall); // 处理请求座席结果
  45. protected:
  46. UINT m_QueueNo;
  47. CIncomingCallGroup m_CallGroup; // 外线来电队列
  48. CAgentGroup m_AgentGroup; // 座席队列
  49. CMap<AGENT_STRATEGY, AGENT_STRATEGY, CStrategyAD*, CStrategyAD*> m_StrategyMap; // 保存所有座席分配策略
  50. };