var mysql = require('mysql');
var express = require('express');
var routes = require('./routes');
var http = require('http');
var path = require('path');
var async = require('async');
var underscore = require('underscore');
var app = express();
//var bootstrap = require('bootstrap');
//load dashboard routes
var careDashboard = require('./routes/care');
var salesDashboard = require('./routes/sales');
//all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
//app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.static(path.join(__dirname, '/views')));
//dev only
//if ('development' == app.get('env')){
// app.use(express.erroHandler());
//
//
//}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
var connection = mysql.createConnection(
{
host : 'local',
user : 'user1',
password : 'assignedpassword',
database : 'dblocal'
}
);
connection.connect();
app.get('/', routes.index);//route care
//app.get('/care', dashboard.list);//need to setup route to list care and sales dashboard
//app.get('/sales',sales.list);// need to setup sales list route
app.use(app.router);
http.createServer(app).listen(app.get('port'), function(){
console.log('Express Server listenting on port' + app.get('port'));
});
var abandonedDispos = "'DROP','QVMAIL',TIMEOT";
var serviceLevelSeconds = '30';
var queueArray = ['PPUEnglish', 'PPUSpanish', 'VIREnglish', 'VIRSpanish', 'EDE', 'PPURewards', 'AllBrands'];
var specialOfferArray = ['SpecialOfferEnglish','SpecialOfferSpanish'];
var EDE = ['EverydayEnergy','VPGEnglish','FTRVDN'];
var PPUEnglish = ['PPUEnglish','CTPURA'];
var allQueues = ['PPUEnglish','PPUSpanish','VPGEnglish','EverydayEnergy','FTRVDN','CTPURA'];
var RegExpAllQueues = (("(", ")", "'"), "", allQueues);
var RegExpAllQueues = (",", "|", RegExpAllQueues);
var RegExpSpecialOffer = (("(", ")", "'"), "", specialOfferArray);
var RegExpSpecialOffer = (",", "|", RegExpSpecialOffer);
var RegExpEDE = (("(", ")", "'"), "", EDE);
var RegExpEDE = (",", "|", RegExpEDE);
var RegExpPPUEnglish = (("(", ")", "'"), "", PPUEnglish);
var RegExpPPUEnglish = (",", "|", RegExpPPUEnglish);
// var string = ["(", ")"];
//
// var RegExpAllQueues = string.replace["(", ")", "'", allQueues];
// var RegExpAllQueues = string.replace[",", "|", RegExpAllQueues];
// var RegExpAllQueues = string.replace(array("(", ")", "'"), "", allQueues);
// var RegExpAllQueues = string.replace(",", "|", RegExpAllQueues);
// var RegExpSpecialOffer = string.replace(array("(", ")", "'"), "", specialOfferArray);
// var RegExpEDE = string.replace(array("(", ")", "'"), "", EDE);
// var RegExpEDE = string.replace(",", "|", RegExpEDE);
// var RegExpPPUEnglish = string.replace(array("(", ")", "'"), "", PPUEnglish);
// var RegExpPPUEnglish = string.replace(",", "|", RegExpPPUEnglish);
var jsonResults = [];
//count of total calls offered
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo <> 'NANQUE'";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Offered All Brands:', data, rows);
app.get('/', function(req, res){
res.render('index', {queueArray: data});
})
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo <> 'NANQUE'";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Offered Special:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
//console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo <> 'NANQUE'";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Offered EDE:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo <> 'NANQUE'";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Offered PPUEnglish:', data, rows);
});
});
async.each(allQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo <> 'NANQUE'";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Offered All Queues:', data, rows);
});
});
// //count abandoned calls for each queue
async.each(allQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo = 'Drop' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Abandoned All Brands:', data, rows);
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo = 'Drop' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Abandoned Special Offers:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo = 'Drop' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Abandoned EDE:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo = 'Drop' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Abandoned PPU English CTPURA:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo = 'Drop' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Abandoned All Brands:', data, rows);
});
});
//count answered calls for each queue
async.each(allQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Answered All Queues:', data, rows);
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Answered Special Offers:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Answered EDE:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Answered EDE:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls Answered All Brands:', data, rows);
});
});
//count active calls for each queue
async.each(allQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo IN ('INCALL','PARK') ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Active Calls All Queues:', data, rows);
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo IN ('INCALL','PARK') ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Active Calls Special Offers:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo IN ('INCALL','PARK') ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Active Calls EDE:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo IN ('INCALL','PARK') ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Active Calls PPU English:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo IN ('INCALL','PARK') ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Active Calls All Queues:', data, rows);
});
});
//count calls in queue for each queue
async.each(allQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo = 'Queue' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls in Queues:', data, rows);
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo = 'Queue' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Special Offer Calls in Queues:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo = 'Queue' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total EDE Calls in Queues:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo = 'Queue' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total PPUEnglish Calls in Queues:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) and Queue = '" + queryData + "' AND Dispo = 'Queue' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Calls In Queues:', data, rows);
});
});
//select current max queue wait time
//SELECT max(CAST(SUBSTRING(stage, 6, LENGTH(stage)-5) as UNSIGNED)) FROM vicidial_auto_calls WHERE status = 'Live' AND date(call_time) = DATE(NOW()) AND campaign_id IN ('PPUEnglish','PPUSpanish','VPGEnglish','EverydayEnergy','FTRVDN','CTPURA')
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(CAST(SUBSTRING(stage, 6, LENGTH(stage)-5) as UNSIGNED)) FROM vicidial_auto_calls WHERE date(call_time) = DATE(NOW()) AND campaign_id = '" + queryData + "' AND status = 'Live' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Max Queue Wait time:', data, rows);
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(CAST(SUBSTRING(stage, 6, LENGTH(stage)-5) as UNSIGNED)) FROM vicidial_auto_calls WHERE date(call_time) = DATE(NOW()) AND campaign_id = '" + queryData + "' AND status = 'Live' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Special Offer Max Queue Wait time:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(CAST(SUBSTRING(stage, 6, LENGTH(stage)-5) as UNSIGNED)) FROM vicidial_auto_calls WHERE date(call_time) = DATE(NOW()) AND campaign_id = '" + queryData + "' AND status = 'Live' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('EDE Max Queue Wait time:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(CAST(SUBSTRING(stage, 6, LENGTH(stage)-5) as UNSIGNED)) FROM vicidial_auto_calls WHERE date(call_time) = DATE(NOW()) AND campaign_id = '" + queryData + "' AND status = 'Live' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('PPUEnglish Max Queue Wait time:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(CAST(SUBSTRING(stage, 6, LENGTH(stage)-5) as UNSIGNED)) FROM vicidial_auto_calls WHERE date(call_time) = DATE(NOW()) AND campaign_id = '" + queryData + "' AND status = 'Live' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Max Queue Wait time:', data, rows);
});
});
//count agents available for each queue I have some questions if the regex is being parsed.
// async.each(queueArray, function (queryData, cb){
// console.log(queryData);
// var data = queryData + '%';
// var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns LIKE '%' ";
// connection.query(query, function(err, rows, fields){
// if (err)
// throw err;
// console.log('Total Agents Avaiable for each Queue:', rows);
// });
// });
async.each(RegExpAllQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Agents Avaiable for each Queue:', data, rows);
});
});
async.each(RegExpSpecialOffer, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Special Offer Agents Avaiable:', data, rows);
});
});
async.each(RegExpEDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total EDE Agents Avaiable:', data, rows);
});
});
async.each(RegExpPPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total PPU English Agents Avaiable:', data, rows);
});
});
//count distinct agents logged into queue
async.each(RegExpAllQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' AND status = 'CLOSER' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Number of Total Agents looged in Queue:', data, rows);
});
});
async.each(RegExpSpecialOffer, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' AND status = 'CLOSER' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Number of Special Agents looged in Queue:', data, rows);
});
});
async.each(RegExpEDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' AND status = 'CLOSER' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Number of EDE Agents looged in Queue:', data, rows);
});
});
async.each(RegExpPPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' AND status = 'CLOSER' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Number of PPU English Agents looged in Queue:', data, rows);
});
});
async.each(RegExpPPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns LIKE '%$queue%' and status = 'CLOSER'";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Number Agents looged in Queue:', data, rows);
});
});
//count agents paused for each queue
async.each(RegExpAllQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' AND status = 'paused' AND lead_id = 0";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Number Agents paused in each Queue:', data, rows);
});
});
async.each(RegExpSpecialOffer, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' AND status = 'paused' AND lead_id = 0";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Number Agents paused in Special Offer Queue:', data, rows);
});
});
async.each(RegExpEDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' AND status = 'paused' AND lead_id = 0";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Number Agents paused in EDE Queue:', data, rows);
});
});
async.each(RegExpPPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns = '" + queryData +"' AND status = 'paused' AND lead_id = 0";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Number Agents paused in EDE Queue:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(user) FROM vicidial_live_agents WHERE closer_campaigns LIKE '%queueArray%' and status = 'PAUSED' and lead_id = 0";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Number Agents paused in EDE Queue:', data, rows);
});
});
//count agents in dispo for each queue
async.each(allQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Agent) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Dispo = 'DISPO' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('count Agents in Dispo for Each Queue:', data, rows);
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Agent) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Dispo = 'DISPO' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Count Agents in Dispo for Speical Offer Queue:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Agent) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Dispo = 'DISPO' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Count Agents in Dispo for EDE Queue:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Agent) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Dispo = 'DISPO' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Count Agents in Dispo for PPU English Queue:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT COUNT(Agent) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Dispo = 'DISPO' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Count Agents in Dispo for All Brands Queue:', data, rows);
});
});
//sum total dispo time for each queue
async.each(allQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT sum(TalkTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Sum total of All Queue Talk Time:', data, rows);
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT sum(TalkTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Special Offer Queue Talk Time:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT sum(TalkTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('EDE Queue Talk Time:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT sum(TalkTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('PPUEnglish Queue Talk Time:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT sum(TalkTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Queue Talk Time:', data, rows);
});
});
//select max wait time
async.each(allQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(QueueTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('All Queue Max Wait time:', data, rows);
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(QueueTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Special Offer Queue Max Wait Time:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(QueueTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('EDE Queue Max Wait Time:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(QueueTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('PPUEnglish Queue Max Wait Time:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(QueueTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Queue Max Wait Time:', data, rows);
});
});
//select max drop time
async.each(allQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(QueueTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent = 'VDCL' AND Dispo <> 'NANQUE' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Max Drop Time:', data, rows);
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(QueueTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent = 'VDCL' AND Dispo <> 'NANQUE' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Special Offer Max Drop Time:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(QueueTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent = 'VDCL' AND Dispo <> 'NANQUE' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('EDE Max Drop Time:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(QueueTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent = 'VDCL' AND Dispo <> 'NANQUE' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('PPUenglish Max Drop Time:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT max(QueueTime) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND Agent = 'VDCL' AND Dispo <> 'NANQUE' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Total Max Drop Time:', data, rows);
});
});
//service level counts
async.each(allQueues, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT count(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND QueueTime <= '" + serviceLevelSeconds + "' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Service Level Count All Queues:', data, rows);
});
});
async.each(specialOfferArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT count(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND QueueTime <= '" + serviceLevelSeconds + "' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Service Level Count Special Offer Queues:', data, rows);
});
});
async.each(EDE, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT count(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND QueueTime <= '" + serviceLevelSeconds + "' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Service Level Count EDE Queues:', data, rows);
});
});
async.each(PPUEnglish, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT count(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND QueueTime <= '" + serviceLevelSeconds + "' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Service Level Count PPUEnglish Queues:', data, rows);
});
});
async.each(queueArray, function (queryData, cb){
// console.log(queryData);
var data = queryData + '%';
var query = "SELECT count(Dispo) FROM viciCallMetrics5 WHERE date(CallDate) = DATE(NOW()) AND Queue = '" + queryData +"' AND QueueTime <= '" + serviceLevelSeconds + "' AND Agent <> 'VDCL' ";
connection.query(query, function(err, rows, fields){
if (err)
throw err;
console.log('Service Level Count All Brands Queues:', data, rows);
});
});