";
$HTML_text.="\n\n";
$HTML_text.="\n\n";
if (!$group)
{
$HTML_text.="\n\n";
$HTML_text.="PLEASE SELECT AN IN-GROUP AND DATE ABOVE THEN CLICK SUBMIT\n";
}
else
{
# $time_BEGIN=$AM_shift_BEGIN;
# $time_END=$AM_shift_END;
#$query_date_BEGIN = "$query_date $time_BEGIN";
#$query_date_END = "$query_date $time_END";
$Cqdate = explode('-',$query_date);
if ($shift == 'AM')
{
$query_date_BEGIN = date("Y-m-d H:i:s", mktime(1, 0, 0, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
$query_date_END = date("Y-m-d H:i:s", mktime(17, 45, 0, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
}
if ($shift == 'PM')
{
$query_date_BEGIN = date("Y-m-d H:i:s", mktime(17, 45, 1, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
$query_date_END = date("Y-m-d H:i:s", mktime(24, 59, 59, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
}
if ($shift == 'ALL')
{
$query_date_BEGIN = date("Y-m-d H:i:s", mktime(1, 0, 0, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
$query_date_END = date("Y-m-d H:i:s", mktime(24, 59, 59, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
}
$HTML_text.="In-Group Fronter-Closer Stats Report $NOW_TIME\n";
$HTML_text.="\n";
$HTML_text.="---------- TOTALS FOR $query_date_BEGIN to $query_date_END\n";
$sale_dispo_stmt="select distinct status from vicidial_campaign_statuses where sale='Y' and campaign_id in (SELECT campaign_id from vicidial_campaigns where closer_campaigns LIKE \"% " . mysqli_real_escape_string($link, $group) . " %\" $LOGallowed_campaignsSQL) UNION select distinct status from vicidial_statuses where sale='Y'";
if ($DB) {$HTML_text.="$sale_dispo_stmt\n";}
$sale_dispo_rslt=mysql_to_mysqli($sale_dispo_stmt, $link);
$sale_dispos="'SALE'"; $sale_dispo_str="|SALE";
while ($ssrow=mysqli_fetch_row($sale_dispo_rslt)) {
$sale_dispos.=",'$ssrow[0]'";
$sale_dispo_str.="|$ssrow[0]";
}
$sale_dispo_str.="|";
if ($DB) {$HTML_text.="Sale dispo string: $sale_dispo_str\n";}
$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysqli_real_escape_string($link, $group) . "' and status in ($sale_dispos);";
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {$HTML_text.="$stmt\n";}
$row=mysqli_fetch_row($rslt);
$A1_points = ($row[0] * 1);
$A1_points = sprintf("%10s", $A1_points);
$A1_tally = sprintf("%10s", $row[0]);
$TOT_tally = ($A1_tally + $A2_tally + $A3_tally + $A4_tally);
$TOT_points = ($A1_points + $A2_points + $A3_points + $A4_points);
$TOT_tally = sprintf("%10s", $TOT_tally);
$TOT_points = sprintf("%10s", $TOT_points);
$HTML_text.="STATUS CUSTOMERS\n";
$HTML_text.="SALES: $A1_tally\n";
$HTML_text.="\n";
##############################
######### FRONTER STATS
$TOTagents=0;
$TOTcalls=0;
$TOTsales=0;
$totA1=0;
$totA2=0;
$totA3=0;
$totA4=0;
$totA5=0;
$totA6=0;
$totA7=0;
$totA8=0;
$totA9=0;
$totDROP=0;
$totOTHER=0;
$CSV_fronter_header="\"TOTALS FOR $query_date_BEGIN to $query_date_END\"\n";
$CSV_fronter_header.="\"STATUS CUSTOMERS\"\n";
$CSV_fronter_header.="\"SALES: $A1_tally\"\n\n";
$CSV_fronter_header.="\"FRONTER STATS\"\n";
$CSV_fronter_header.="\"AGENT\",\"SUCCESS\",\"XFERS\",\"SUCCESS%\",\"SALE\",\"DROP\",\"OTHER\"\n";
$CSV_fronter_lines="";
$CSV_fronter_footer="";
$ASCII_text="\n";
$ASCII_text.="---------- FRONTER STATS\n";
$ASCII_text.="+--------------------------+-------+--------+--------+------+------+------+\n";
$ASCII_text.="| AGENT |SUCCESS| XFERS |SUCCESS%| SALE | DROP |OTHER |\n";
$ASCII_text.="+--------------------------+-------+--------+--------+------+------+------+\n";
######## GRAPHING #########
$graph_stats=array();
$max_success=1;
$max_xfers=1;
$max_success_pct=1;
$max_sales=1;
$max_drops=1;
$max_other=1;
$GRAPH="
";
$graph_header="FRONTER STATS| AGENT | ";
$SUCCESS_graph=$graph_header."SUCCESS | ";
$XFERS_graph=$graph_header."XFERS | ";
$SUCCESSPCT_graph=$graph_header."SUCCESS % | ";
$SALE_graph=$graph_header."SALE | ";
$DROP_graph=$graph_header."DROP | ";
$OTHER_graph=$graph_header."OTHER | ";
###########################
#$stmt="select vicidial_xfer_log.user,full_name,count(*) from vicidial_xfer_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysqli_real_escape_string($link, $group) . "' and vicidial_xfer_log.user is not null and vicidial_xfer_log.user=vicidial_users.user group by vicidial_xfer_log.user;";
$stmt="select user,count(distinct lead_id) from vicidial_xfer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysqli_real_escape_string($link, $group) . "' and user is not null group by user;";
if ($non_latin > 0) {$rslt=mysql_to_mysqli("SET NAMES 'UTF8'", $link);}
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {$ASCII_text.="$stmt\n";}
$users_to_print = mysqli_num_rows($rslt);
$i=0;
while ($i < $users_to_print)
{
$row=mysqli_fetch_row($rslt);
$TOTcalls = ($TOTcalls + $row[1]);
$userRAW[$i]=$row[0];
$user[$i] = sprintf("%-6s", $row[0]);while(strlen($user[$i])>6) {$user[$i] = substr("$user[$i]", 0, -1);}
$USERcallsRAW[$i] = $row[1];
$USERcalls[$i] = sprintf("%6s", $row[1]);
$i++;
}
$i=0;
while ($i < $users_to_print)
{
$stmt="select full_name from vicidial_users where user='$userRAW[$i]' $LOGadmin_viewable_groupsSQL;";
if ($non_latin > 0) {$rslt=mysql_to_mysqli("SET NAMES 'UTF8'", $link);}
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {$ASCII_text.="$stmt\n";}
$names_to_print = mysqli_num_rows($rslt);
if ($names_to_print > 0)
{
$row=mysqli_fetch_row($rslt);
if ($non_latin < 1)
{
$full_name[$i] = sprintf("%-15s", $row[0]); while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}
}
else
{
$full_name[$i] = sprintf("%-45s", $row[0]); while(mb_strlen($full_name[$i],'utf-8')>15) {$full_name[$i] = mb_substr("$full_name[$i]", 0, -1,'utf-8');}
}
}
else
{$full_name[$i] = ' ';}
$A1=0; $A2=0; $A3=0; $A4=0; $A5=0; $A6=0; $A7=0; $A8=0; $A9=0; $DROP=0; $OTHER=0; $sales=0;
$stmt="select vc.status,count(distinct vc.lead_id) from vicidial_xfer_log vx, vicidial_closer_log vc where vx.call_date >= '$query_date_BEGIN' and vx.call_date <= '$query_date_END' and vc.call_date >= '$query_date_BEGIN' and vc.call_date <= '$query_date_END' and vc.campaign_id='" . mysqli_real_escape_string($link, $group) . "' and vx.campaign_id='" . mysqli_real_escape_string($link, $group) . "' and vx.user='$userRAW[$i]' and vc.lead_id=vx.lead_id and vc.xfercallid=vx.xfercallid group by vc.status;";
if ($non_latin > 0) {$rslt=mysql_to_mysqli("SET NAMES 'UTF8'", $link);}
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {$ASCII_text.="$stmt\n";}
$lead_ids_to_print = mysqli_num_rows($rslt);
$j=0;
while ($j < $lead_ids_to_print)
{
$row=mysqli_fetch_row($rslt);
$recL=0;
if ( (preg_match("/\|$row[0]\|/", $sale_dispo_str)) and ($recL < 1) ) {$A1=$row[1]; $recL++; $sales=($sales + $row[1]);}
# if ( ($row[0]=='A2') and ($recL < 1) ) {$A2=$row[1]; $recL++; $sales=($sales + $row[1]);}
# if ( ($row[0]=='A3') and ($recL < 1) ) {$A3=$row[1]; $recL++; $sales=($sales + $row[1]);}
# if ( ($row[0]=='A4') and ($recL < 1) ) {$A4=$row[1]; $recL++; $sales=($sales + $row[1]);}
# if ( ($row[0]=='A5') and ($recL < 1) ) {$A5=$row[1]; $recL++;}
# if ( ($row[0]=='A6') and ($recL < 1) ) {$A6=$row[1]; $recL++;}
# if ( ($row[0]=='A7') and ($recL < 1) ) {$A7=$row[1]; $recL++;}
# if ( ($row[0]=='A8') and ($recL < 1) ) {$A8=$row[1]; $recL++;}
# if ( ($row[0]=='A9') and ($recL < 1) ) {$A9=$row[1]; $recL++;}
if ( ($row[0]=='DROP') and ($recL < 1) ) {$DROP=$row[1]; $recL++;}
if ($recL < 1) {$OTHER=($row[1] + $OTHER); $recL++;}
$j++;
}
$totA1 = ($totA1 + $A1);
$totA2 = ($totA2 + $A2);
$totA3 = ($totA3 + $A3);
$totA4 = ($totA4 + $A4);
$totA5 = ($totA5 + $A5);
$totA6 = ($totA6 + $A6);
$totA7 = ($totA7 + $A7);
$totA8 = ($totA8 + $A8);
$totA9 = ($totA9 + $A9);
$totDROP = ($totDROP + $DROP);
$totOTHER = ($totOTHER + $OTHER);
$TOTsales = ($TOTsales + $sales);
if ( ($USERcallsRAW[$i] > 0) and ($sales > 0) ) {$Spct = ( ($sales / $USERcallsRAW[$i]) * 100);}
else {$Spct=0;}
$Spct = round($Spct, 2);
$Spct = sprintf("%01.2f", $Spct);
if ($sales>$max_success) {$max_success=$sales;}
if ($USERcalls[$i]>$max_xfers) {$max_xfers=$USERcalls[$i];}
if ($Spct>$max_success_pct) {$max_success_pct=$Spct;}
if ($A1>$max_sales) {$max_sales=$A1;}
if ($DROP>$max_drops) {$max_drops=$DROP;}
if ($OTHER>$max_other) {$max_other=$OTHER;}
$graph_stats[$i][0]="$user[$i] - $full_name[$i]";
$graph_stats[$i][1]=$sales;
$graph_stats[$i][2]=$USERcalls[$i];
$graph_stats[$i][3]=$Spct;
$graph_stats[$i][4]=$A1;
$graph_stats[$i][5]=$DROP;
$graph_stats[$i][6]=$OTHER;
$A1 = sprintf("%4s", $A1);
$A2 = sprintf("%4s", $A2);
$A3 = sprintf("%4s", $A3);
$A4 = sprintf("%4s", $A4);
$A5 = sprintf("%4s", $A5);
$A6 = sprintf("%4s", $A6);
$A7 = sprintf("%4s", $A7);
$A8 = sprintf("%4s", $A8);
$A9 = sprintf("%4s", $A9);
$DROP = sprintf("%4s", $DROP);
$OTHER = sprintf("%4s", $OTHER);
$sales = sprintf("%5s", $sales);
$Spct = sprintf("%6s", $Spct);
$ASCII_text.="| $user[$i] - $full_name[$i] | $sales | $USERcalls[$i] | $Spct%| $A1 | $DROP | $OTHER |\n";
$CSV_fronter_lines.="\"$user[$i] - $full_name[$i]\",\"$sales\",\"$USERcalls[$i]\",\"$Spct%\",\"$A1\",\"$DROP\",\"$OTHER\"\n";
$i++;
}
if ( ($TOTcalls > 0) and ($TOTsales > 0) ) {$totSpct = ( ($TOTsales / $TOTcalls) * 100);}
else {$totSpct=0;}
$totSpct = round($totSpct, 2);
$totSpct = sprintf("%01.2f", $totSpct);
$totSpct = sprintf("%6s", $totSpct);
$TOTagents = sprintf("%6s", $i);
$TOTcalls = sprintf("%6s", $TOTcalls);
$TOTsales = sprintf("%5s", $TOTsales);
$totA1 = sprintf("%5s", $totA1);
$totA2 = sprintf("%5s", $totA2);
$totA3 = sprintf("%5s", $totA3);
$totA4 = sprintf("%5s", $totA4);
$totA5 = sprintf("%5s", $totA5);
$totA6 = sprintf("%5s", $totA6);
$totA7 = sprintf("%5s", $totA7);
$totA8 = sprintf("%5s", $totA8);
$totA9 = sprintf("%5s", $totA9);
$totDROP = sprintf("%5s", $totDROP);
$totOTHER = sprintf("%5s", $totOTHER);
$stmt="select avg(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysqli_real_escape_string($link, $group) . "';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {$ASCII_text.="$stmt\n";}
$row=mysqli_fetch_row($rslt);
$AVGwait = $row[0];
$AVGwait_M = ($AVGwait / 60);
$AVGwait_M = round($AVGwait_M, 2);
$AVGwait_M_int = intval("$AVGwait_M");
$AVGwait_S = ($AVGwait_M - $AVGwait_M_int);
$AVGwait_S = ($AVGwait_S * 60);
$AVGwait_S = round($AVGwait_S, 0);
if ($AVGwait_S < 10) {$AVGwait_S = "0$AVGwait_S";}
$AVGwait_MS = "$AVGwait_M_int:$AVGwait_S";
$AVGwait = sprintf("%6s", $AVGwait_MS);
$ASCII_text.="+--------------------------+-------+--------+--------+------+------+------+\n";
$ASCII_text.="| TOTAL FRONTERS: $TOTagents | $TOTsales | $TOTcalls | $totSpct%|$totA1 |$totDROP |$totOTHER |\n";
$ASCII_text.="+--------------------------+-------+--------+--------+------+------+------+\n";
$ASCII_text.="| Average time in Queue for customers: $AVGwait |\n";
$ASCII_text.="+--------------------------+-------+--------+--------+------+------+------+\n";
$CSV_fronter_footer.="\"TOTAL FRONTERS: $TOTagents\",\"$TOTsales\",\"$TOTcalls\",\"$totSpct%\",\"$totA1\",\"$totDROP\",\"$totOTHER\"\n";
$CSV_fronter_footer.="\"Average time in Queue for customers: $AVGwait\"\n\n\n";
for ($d=0; $d".$graph_stats[$d][0]." | ".$graph_stats[$d][1]." | ";
$XFERS_graph.=" | ".$graph_stats[$d][0]." | ".$graph_stats[$d][2]." | ";
$SUCCESSPCT_graph.=" | ".$graph_stats[$d][0]." | ".$graph_stats[$d][3]." | ";
$SALE_graph.=" | ".$graph_stats[$d][0]." | ".$graph_stats[$d][4]." | ";
$DROP_graph.=" | ".$graph_stats[$d][0]." | ".$graph_stats[$d][5]." | ";
$OTHER_graph.=" | ".$graph_stats[$d][0]." | ".$graph_stats[$d][5]." | ";
}
$SUCCESS_graph.="| TOTAL: | ".trim($TOTsales)." |
|---|
";
$XFERS_graph.="| TOTAL: | ".trim($TOTcalls)." |
|---|
|