49d5527542c045af4e91aecfe49b9e14de0b3318
[motion2.git] / server / services / ami / model / voiceQueueSummary.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x2263=['message','statusMessage','Trunk','active','callerid','prototype','createReport','loggedin','callers','SIP/','incall','status','booked','keys','queue','dialer','exten','xcally-motion-preview','some','compareToOutboundQueue','answered','preview','available','loggedIn','loggedInDb','paused','ringing','talking','waiting','inUse','originated','outboundAbandonedCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundReCallsDay','outboundUnknownCallsDay','pTalking','sumBillable','sumDuration','total','name','strategy','busy','invalid','onHold','notInUse','ringInUse','sumHoldTime','type','unavailable','unknown','unmanaged','outbound','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','temp','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundNoAnswerCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive'];(function(_0x4d04fb,_0x400b7c){var _0xf5582a=function(_0x343f0a){while(--_0x343f0a){_0x4d04fb['push'](_0x4d04fb['shift']());}};_0xf5582a(++_0x400b7c);}(_0x2263,0x6e));var _0x3226=function(_0x151418,_0x2cbffa){_0x151418=_0x151418-0x0;var _0x40e29a=_0x2263[_0x151418];return _0x40e29a;};'use strict';var INBOUND_COUNTERS=[_0x3226('0x0'),_0x3226('0x1'),_0x3226('0x2'),_0x3226('0x3'),_0x3226('0x4'),_0x3226('0x5'),_0x3226('0x6')];var OUTBOUND_COUNTERS=[_0x3226('0x0'),'answered',_0x3226('0x7'),_0x3226('0x1'),_0x3226('0x2'),_0x3226('0x8'),_0x3226('0x9'),'outboundAnswerCallsDay',_0x3226('0xa'),_0x3226('0xb'),'outboundCongestionCallsDay','outboundNoAnswerCallsDay',_0x3226('0xc'),_0x3226('0xd'),'outboundRejectCallsDay',_0x3226('0xe'),_0x3226('0x3'),_0x3226('0xf'),_0x3226('0x5'),_0x3226('0x10'),_0x3226('0x11'),_0x3226('0x12'),'waiting'];function VoiceQueueSummary(_0x1e2c60){this['id']=_0x1e2c60['id'];this[_0x3226('0x13')]=_0x1e2c60[_0x3226('0x13')];this[_0x3226('0x14')]=_0x1e2c60['strategy'];this['abandoned']=_0x1e2c60['abandoned']||0x0;this['answered']=_0x1e2c60['answered']||0x0;this[_0x3226('0x0')]=_0x1e2c60[_0x3226('0x0')]||0x0;this[_0x3226('0x15')]=_0x1e2c60[_0x3226('0x15')]||0x0;this['inUse']=_0x1e2c60['inUse']||0x0;this[_0x3226('0x16')]=_0x1e2c60[_0x3226('0x16')]||0x0;this[_0x3226('0x1')]=_0x1e2c60['loggedIn']||0x0;this[_0x3226('0x2')]=_0x1e2c60[_0x3226('0x2')]||0x0;this[_0x3226('0x17')]=_0x1e2c60[_0x3226('0x17')]||0x0;this[_0x3226('0x18')]=_0x1e2c60[_0x3226('0x18')]||0x0;this['paused']=_0x1e2c60['paused']||0x0;this[_0x3226('0x4')]=_0x1e2c60['ringing']||0x0;this[_0x3226('0x19')]=_0x1e2c60[_0x3226('0x19')];this[_0x3226('0x10')]=_0x1e2c60[_0x3226('0x10')];this[_0x3226('0x11')]=_0x1e2c60[_0x3226('0x11')];this['sumHoldTime']=_0x1e2c60[_0x3226('0x1a')]||0x0;this[_0x3226('0x5')]=_0x1e2c60['talking']||0x0;this[_0x3226('0x12')]=_0x1e2c60[_0x3226('0x12')]||0x0;this[_0x3226('0x1b')]=_0x1e2c60['type'];this[_0x3226('0x1c')]=_0x1e2c60[_0x3226('0x1c')]||0x0;this[_0x3226('0x1d')]=_0x1e2c60[_0x3226('0x1d')]||0x0;this[_0x3226('0x1e')]=_0x1e2c60[_0x3226('0x1e')]||0x0;this[_0x3226('0x6')]=_0x1e2c60[_0x3226('0x6')]||0x0;if(_0x1e2c60['type']===_0x3226('0x1f')){this['pTalking']=_0x1e2c60[_0x3226('0xf')]||0x0;this['dialActive']=_0x1e2c60[_0x3226('0x20')];this['dialMethod']=_0x1e2c60[_0x3226('0x21')];this['dialOriginateCallerIdName']=_0x1e2c60[_0x3226('0x22')];this[_0x3226('0x23')]=_0x1e2c60['dialOriginateCallerIdNumber'];this[_0x3226('0x24')]=_0x1e2c60[_0x3226('0x24')];this[_0x3226('0x25')]=_0x1e2c60[_0x3226('0x25')];this[_0x3226('0x26')]=_0x1e2c60[_0x3226('0x26')];this[_0x3226('0x27')]=_0x1e2c60['outboundAnswerAgiCallsDay'];this[_0x3226('0x28')]=_0x1e2c60['outboundAnswerCallsDay'];this[_0x3226('0xa')]=_0x1e2c60[_0x3226('0xa')];this[_0x3226('0xb')]=_0x1e2c60['outboundBusyCallsDay'];this[_0x3226('0x29')]=_0x1e2c60['outboundCongestionCallsDay'];this['outboundDropCallsDayACS']=_0x1e2c60[_0x3226('0x2a')];this[_0x3226('0x2b')]=_0x1e2c60[_0x3226('0x2b')];this[_0x3226('0x2c')]=_0x1e2c60[_0x3226('0x2c')];this[_0x3226('0x2d')]=_0x1e2c60[_0x3226('0x2d')];this[_0x3226('0xc')]=_0x1e2c60[_0x3226('0xc')];this['outboundOriginateFailureCallsDay']=_0x1e2c60[_0x3226('0x2e')];this[_0x3226('0xd')]=_0x1e2c60[_0x3226('0xd')];this[_0x3226('0x2f')]=_0x1e2c60[_0x3226('0x2f')];this[_0x3226('0xe')]=_0x1e2c60[_0x3226('0xe')];this[_0x3226('0x30')]=_0x1e2c60[_0x3226('0x30')];this[_0x3226('0x31')]=_0x1e2c60[_0x3226('0x31')];this[_0x3226('0x32')]=_0x1e2c60[_0x3226('0x32')];this[_0x3226('0x33')]=_0x1e2c60['predictiveIntervalDroppedCallsCallersExit'];this['predictiveIntervalDroppedCallsTimeout']=_0x1e2c60[_0x3226('0x34')];this['predictiveIntervalErlangCalls']=_0x1e2c60[_0x3226('0x35')];this['predictiveIntervalErlangCallsDroppedCalls']=_0x1e2c60[_0x3226('0x36')];this[_0x3226('0x37')]=_0x1e2c60[_0x3226('0x37')];this[_0x3226('0x38')]=_0x1e2c60[_0x3226('0x38')];this['predictiveIntervalPauses']=_0x1e2c60[_0x3226('0x39')];this['predictiveIntervalAvailable']=_0x1e2c60[_0x3226('0x3a')];this['predictiveIntervalTotalCalls']=_0x1e2c60[_0x3226('0x3b')];this[_0x3226('0x8')]=_0x1e2c60[_0x3226('0x8')];this['erlangCalls']=_0x1e2c60[_0x3226('0x3c')];this[_0x3226('0x3d')]=_0x1e2c60[_0x3226('0x3d')];this[_0x3226('0x3e')]=_0x1e2c60[_0x3226('0x3e')];this[_0x3226('0x3f')]=_0x1e2c60[_0x3226('0x3f')];this[_0x3226('0x40')]=_0x1e2c60[_0x3226('0x40')];this[_0x3226('0x41')]=_0x1e2c60[_0x3226('0x41')];this[_0x3226('0x42')]=_0x1e2c60[_0x3226('0x42')];this[_0x3226('0x43')]=_0x1e2c60[_0x3226('0x43')];}if(_0x1e2c60['Trunk']){this[_0x3226('0x44')]={'id':_0x1e2c60[_0x3226('0x44')]['id'],'name':_0x1e2c60[_0x3226('0x44')][_0x3226('0x13')],'active':_0x1e2c60['Trunk'][_0x3226('0x45')],'callerid':_0x1e2c60[_0x3226('0x44')][_0x3226('0x46')]};}}VoiceQueueSummary[_0x3226('0x47')][_0x3226('0x48')]=function(_0x60a818,_0x34fe50,_0x1d0e02,_0x3f3efd){this['loggedInDb']=0x0;this[_0x3226('0x5')]=0x0;this[_0x3226('0x3')]=0x0;this[_0x3226('0x1d')]=0x0;this[_0x3226('0x18')]=0x0;this[_0x3226('0x7')]=0x0;this[_0x3226('0x15')]=0x0;this['invalid']=0x0;this['unavailable']=0x0;this[_0x3226('0x4')]=0x0;this[_0x3226('0x19')]=0x0;this['onHold']=0x0;if(_0x1d0e02){if(_0x1d0e02[_0x3226('0x0')]){this[_0x3226('0x0')]=Number(_0x1d0e02[_0x3226('0x0')]);}if(_0x1d0e02[_0x3226('0x49')]){this[_0x3226('0x1')]=Number(_0x1d0e02[_0x3226('0x49')]);}if(_0x1d0e02[_0x3226('0x4a')]){this[_0x3226('0x6')]=Number(_0x1d0e02['callers']);}}for(var _0xc63c19=0x0;_0xc63c19<_0x60a818['length'];_0xc63c19++){var _0x25664e=_0x34fe50[_0x3226('0x4b')+_0x60a818[_0xc63c19]['name']];if(_0x25664e&&_0x25664e['online']){this[_0x3226('0x2')]+=0x1;}if(_0x60a818[_0xc63c19][_0x3226('0x4c')]==='1'){this[_0x3226('0x5')]+=0x1;}if(_0x60a818[_0xc63c19][_0x3226('0x3')]==='1'&&!['2','7','8']['includes'](_0x60a818[_0xc63c19][_0x3226('0x4d')])){this[_0x3226('0x3')]+=0x1;}switch(_0x60a818[_0xc63c19]['status']){case'0':this[_0x3226('0x1d')]+=0x1;break;case'1':this[_0x3226('0x18')]+=0x1;break;case'2':this['inUse']+=0x1;break;case'3':this[_0x3226('0x15')]+=0x1;break;case'4':this[_0x3226('0x16')]+=0x1;break;case'5':this[_0x3226('0x1c')]+=0x1;break;case'6':this[_0x3226('0x4')]+=0x1;break;case'7':this[_0x3226('0x19')]+=0x1;break;case'8':this['onHold']+=0x1;break;}}if(this[_0x3226('0x21')]===_0x3226('0x4e')){var _0x3199b1=Object[_0x3226('0x4f')](_0x3f3efd);for(var _0xe890c=0x0;_0xe890c<_0x3199b1['length'];_0xe890c++){var _0x45f6bf=_0x3199b1[_0xe890c];var _0x206733=_0x3f3efd[_0x45f6bf];if(_0x206733[_0x3226('0x50')]===this[_0x3226('0x13')]&&_0x206733[_0x3226('0x1b')]===_0x3226('0x51')&&_0x206733[_0x3226('0x52')]===_0x3226('0x53')){this[_0x3226('0x5')]+=0x1;}}if(this[_0x3226('0x5')]>this[_0x3226('0x7')]){this[_0x3226('0x5')]=this[_0x3226('0x7')];}this['pTalking']=0x0;}return this;};VoiceQueueSummary[_0x3226('0x47')]['compareToInboundQueue']=function(_0x349852){var _0x4e5527=![];if(_0x349852){_0x4e5527=INBOUND_COUNTERS[_0x3226('0x54')](function(_0x222a6d){return this[_0x222a6d]!==_0x349852[_0x222a6d];},this);}return _0x4e5527;};VoiceQueueSummary['prototype'][_0x3226('0x55')]=function(_0x454144){var _0x3f673d=![];var _0x4ca7f4=![];var _0x165609=![];if(_0x454144){_0x3f673d=this[_0x3226('0x21')]!==_0x454144[_0x3226('0x21')]||this['dialActive']!==_0x454144[_0x3226('0x20')]||this[_0x3226('0x42')]!==_0x454144[_0x3226('0x42')]||this[_0x3226('0x43')]!==_0x454144['statusMessage'];_0x4ca7f4=OUTBOUND_COUNTERS['some'](function(_0x407fa5){return this[_0x407fa5]!==_0x454144[_0x407fa5];},this);if(this[_0x3226('0x44')]&&_0x454144[_0x3226('0x44')]){_0x165609=this[_0x3226('0x44')][_0x3226('0x13')]!==_0x454144[_0x3226('0x44')][_0x3226('0x13')]||this[_0x3226('0x44')][_0x3226('0x45')]!==_0x454144['Trunk'][_0x3226('0x45')];}}return _0x3f673d||_0x4ca7f4||_0x165609;};VoiceQueueSummary[_0x3226('0x47')]['updateReportFromOutboundQueue']=function(_0x75d0f2){this[_0x3226('0x56')]=_0x75d0f2[_0x3226('0x56')];this['message']=_0x75d0f2[_0x3226('0x42')];this[_0x3226('0x43')]=_0x75d0f2['statusMessage'];this[_0x3226('0x8')]=_0x75d0f2['originated'];this[_0x3226('0x9')]=_0x75d0f2[_0x3226('0x9')];this[_0x3226('0x28')]=_0x75d0f2['outboundAnswerCallsDay'];this['outboundBlacklistCallsDay']=_0x75d0f2['outboundBlacklistCallsDay'];this[_0x3226('0xb')]=_0x75d0f2[_0x3226('0xb')];this[_0x3226('0x29')]=_0x75d0f2[_0x3226('0x29')];this['outboundNoAnswerCallsDay']=_0x75d0f2['outboundNoAnswerCallsDay'];this[_0x3226('0xc')]=_0x75d0f2[_0x3226('0xc')];this[_0x3226('0xd')]=_0x75d0f2[_0x3226('0xd')];this[_0x3226('0x2f')]=_0x75d0f2[_0x3226('0x2f')];this[_0x3226('0xe')]=_0x75d0f2[_0x3226('0xe')];this['sumBillable']=_0x75d0f2[_0x3226('0x10')];this[_0x3226('0x11')]=_0x75d0f2[_0x3226('0x11')];this[_0x3226('0x12')]=_0x75d0f2['total'];if(this[_0x3226('0x21')]===_0x3226('0x57')){this[_0x3226('0xf')]=_0x75d0f2[_0x3226('0xf')];}};module['exports']=VoiceQueueSummary;