Added new options for campaign agent_screen_time_display setting

added CONNECTED column to Agent Time Detail report

git-svn-id: svn://192.168.202.10@3115 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2019-06-28 01:32:07 +00:00
parent 1941fb8e33
commit 1c044c24b1
10 changed files with 432 additions and 133 deletions
@@ -53,6 +53,7 @@
# 170409-1542 - Added IP List validation code
# 170829-0040 - Added screen color settings
# 171012-2015 - Fixed javascript/apache errors with graphs
# 180502-2215 - Added new help display, added CONNECTED column
#
$startMS = microtime();
@@ -468,9 +469,11 @@ while ($i < $statha_to_print)
$LINKbase = "$PHP_SELF?query_date=$query_date&end_date=$end_date$groupQS$user_groupQS&shift=$shift&show_parks=$show_parks&time_in_sec=$time_in_sec&search_archived_data=$search_archived_data&report_display_type=$report_display_type&DB=$DB";
$NWB = " &nbsp; <a href=\"javascript:openNewWindow('help.php?ADD=99999";
$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>";
# $NWB = " &nbsp; <a href=\"javascript:openNewWindow('help.php?ADD=99999";
# $NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>";
$NWB = "<IMG SRC=\"help.gif\" onClick=\"FillAndShowHelpDiv(event, '";
$NWE = "')\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP>";
if ($file_download < 1)
{
@@ -496,6 +499,10 @@ if ($file_download < 1)
echo "<script src='chart/Chart.js'></script>\n";
echo "<script language=\"JavaScript\" src=\"vicidial_chart_functions.js\"></script>\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"vicidial_stylesheet.php\">\n";
echo "<script language=\"JavaScript\" src=\"help.js\"></script>\n";
echo "<div id='HelpDisplayDiv' class='help_info' style='display:none;z-index:99;'></div>";
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
echo "<TITLE>"._QXZ("$report_name")."</TITLE></HEAD><BODY BGCOLOR=white marginheight=0 marginwidth=0 leftmargin=0 topmargin=0>\n";
echo "<span style=\"position:absolute;left:0px;top:0px;z-index:20;\" id=admin_header>";
@@ -723,6 +730,7 @@ else
if ($pause > 65000) {$pause=0;}
if ($dead > 65000) {$dead=0;}
$customer = ($talk - $dead);
$connected = ($talk + $wait);
if ($customer < 1)
{$customer=0;}
$TOTwait = ($TOTwait + $wait);
@@ -731,6 +739,7 @@ else
$TOTpause = ($TOTpause + $pause);
$TOTdead = ($TOTdead + $dead);
$TOTcustomer = ($TOTcustomer + $customer);
$TOTconnected = ($TOTconnected + $connected);
$TOTALtime = ($TOTALtime + $pause + $dispo + $talk + $wait);
if ( ($lead > 0) and ((!preg_match("/NULL/i",$status)) and (strlen($status) > 0)) ) {$TOTcalls++;}
@@ -753,6 +762,7 @@ else
$Spause[$m] = ($Spause[$m] + $pause);
$Sdead[$m] = ($Sdead[$m] + $dead);
$Scustomer[$m] = ($Scustomer[$m] + $customer);
$Sconnected[$m] = ($Sconnected[$m] + $connected);
if ( ($lead > 0) and ((!preg_match("/NULL/i",$status)) and (strlen($status) > 0)) ) {$Scalls[$m]++;}
}
$m++;
@@ -767,6 +777,7 @@ else
$Spause[$uc] = $pause;
$Sdead[$uc] = $dead;
$Scustomer[$uc] = $customer;
$Sconnected[$uc] = $connected;
if ($lead > 0) {$Scalls[$uc]++;}
$uc++;
}
@@ -787,13 +798,13 @@ else
if ($file_download < 1)
{
$ASCII_text.=_QXZ("AGENT TIME BREAKDOWN").":\n";
$ASCII_text.="+---------------------------+----------+----------+------------+------------$park_HEADER_DIV+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+ +$sub_statusesHEAD\n";
$ASCII_text.="| <a href=\"$LINKbase&stage=NAME\">"._QXZ("USER NAME",25)."</a> | <a href=\"$LINKbase&stage=ID\">"._QXZ("ID",8)."</a> | <a href=\"$LINKbase&stage=LEADS\">"._QXZ("CALLS",8)."</a> | <a href=\"$LINKbase&stage=TCLOCK\">"._QXZ("TIME CLOCK",10)."</a> | <a href=\"$LINKbase&stage=TIME\">"._QXZ("LOGIN TIME",10)."</a> |$park_HEADER "._QXZ("WAIT",10)." | "._QXZ("WAIT",8)." % | "._QXZ("TALK",10)." | "._QXZ("TALK TIME",9)." %| "._QXZ("DISPO",10)." | "._QXZ("DISPOTIME",9)." %| "._QXZ("PAUSE",10)." | "._QXZ("PAUSETIME",9)." %| "._QXZ("DEAD",10)." | "._QXZ("DEAD TIME",9)." %| "._QXZ("CUSTOMER",10)." | |$sub_statusesHTML\n";
$ASCII_text.="+---------------------------+----------+----------+------------+------------$park_HEADER_DIV+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+ +$sub_statusesHEAD\n";
$ASCII_text.="+---------------------------+----------+----------+------------+------------$park_HEADER_DIV+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+ +$sub_statusesHEAD\n";
$ASCII_text.="| <a href=\"$LINKbase&stage=NAME\">"._QXZ("USER NAME",25)."</a> | <a href=\"$LINKbase&stage=ID\">"._QXZ("ID",8)."</a> | <a href=\"$LINKbase&stage=LEADS\">"._QXZ("CALLS",8)."</a> | <a href=\"$LINKbase&stage=TCLOCK\">"._QXZ("TIME CLOCK",10)."</a> | <a href=\"$LINKbase&stage=TIME\">"._QXZ("LOGIN TIME",10)."</a> |$park_HEADER "._QXZ("WAIT",10)." | "._QXZ("WAIT",8)." % | "._QXZ("TALK",10)." | "._QXZ("TALK TIME",9)." %| "._QXZ("DISPO",10)." | "._QXZ("DISPOTIME",9)." %| "._QXZ("PAUSE",10)." | "._QXZ("PAUSETIME",9)." %| "._QXZ("DEAD",10)." | "._QXZ("DEAD TIME",9)." %| "._QXZ("CUSTOMER",10)." | "._QXZ("CONNECTED",10)." | |$sub_statusesHTML\n";
$ASCII_text.="+---------------------------+----------+----------+------------+------------$park_HEADER_DIV+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+ +$sub_statusesHEAD\n";
}
else
{
$file_output .= _QXZ("USER").","._QXZ("ID").","._QXZ("CALLS").","._QXZ("TIME CLOCK").","._QXZ("LOGIN TIME")."$park_HEADER_CSV,"._QXZ("WAIT").","._QXZ("WAIT %").","._QXZ("TALK").","._QXZ("TALK TIME %").","._QXZ("DISPO").","._QXZ("DISPOTIME %").","._QXZ("PAUSE").","._QXZ("PAUSETIME %").","._QXZ("DEAD").","._QXZ("DEAD TIME %").","._QXZ("CUSTOMER")."$sub_statusesFILE\n";
$file_output .= _QXZ("USER").","._QXZ("ID").","._QXZ("CALLS").","._QXZ("TIME CLOCK").","._QXZ("LOGIN TIME")."$park_HEADER_CSV,"._QXZ("WAIT").","._QXZ("WAIT %").","._QXZ("TALK").","._QXZ("TALK TIME %").","._QXZ("DISPO").","._QXZ("DISPOTIME %").","._QXZ("PAUSE").","._QXZ("PAUSETIME %").","._QXZ("DEAD").","._QXZ("DEAD TIME %").","._QXZ("CUSTOMER").","._QXZ("CONNECTED")."$sub_statusesFILE\n";
}
##### END print the output to screen or put into file output variable
@@ -830,6 +841,7 @@ else
if (trim($Spause[$m])>$max_pause) {$max_pause=trim($Spause[$m]);}
if (trim($Sdead[$m])>$max_dead) {$max_dead=trim($Sdead[$m]);}
if (trim($Scustomer[$m])>$max_customer) {$max_customer=trim($Scustomer[$m]);}
if (trim($Sconnected[$m])>$max_connected) {$max_connected=trim($Sconnected[$m]);}
if (trim($Swaitpct[$m])>$max_waitpct) {$max_waitpct=trim($Swaitpct[$m]);}
if (trim($Stalkpct[$m])>$max_talkpct) {$max_talkpct=trim($Stalkpct[$m]);}
if (trim($Sdispopct[$m])>$max_dispopct) {$max_dispopct=trim($Sdispopct[$m]);}
@@ -843,11 +855,12 @@ else
$graph_stats[$m][7]=trim($Spause[$m]);
$graph_stats[$m][8]=trim($Sdead[$m]);
$graph_stats[$m][9]=trim($Scustomer[$m]);
$graph_stats[$m][10]=trim(sprintf("%01.2f", $Stalkpct[$m]));
$graph_stats[$m][11]=trim(sprintf("%01.2f", $Sdispopct[$m]));
$graph_stats[$m][12]=trim(sprintf("%01.2f", $Spausepct[$m]));
$graph_stats[$m][13]=trim(sprintf("%01.2f", $Sdeadpct[$m]));
$graph_stats[$m][14]=trim(sprintf("%01.2f", $Swaitpct[$m]));
$graph_stats[$m][10]=trim($Sconnected[$m]);
$graph_stats[$m][11]=trim(sprintf("%01.2f", $Stalkpct[$m]));
$graph_stats[$m][12]=trim(sprintf("%01.2f", $Sdispopct[$m]));
$graph_stats[$m][13]=trim(sprintf("%01.2f", $Spausepct[$m]));
$graph_stats[$m][14]=trim(sprintf("%01.2f", $Sdeadpct[$m]));
$graph_stats[$m][15]=trim(sprintf("%01.2f", $Swaitpct[$m]));
$Swaitpct[$m]= sprintf("%01.2f", $Swaitpct[$m]);
$Stalkpct[$m]= sprintf("%01.2f", $Stalkpct[$m]);
@@ -860,6 +873,7 @@ else
$Spause[$m]= sec_convert($Spause[$m],$TIME_agenttimedetail);
$Sdead[$m]= sec_convert($Sdead[$m],$TIME_agenttimedetail);
$Scustomer[$m]= sec_convert($Scustomer[$m],$TIME_agenttimedetail);
$Sconnected[$m]= sec_convert($Sconnected[$m],$TIME_agenttimedetail);
$Stime[$m]= sec_convert($Stime[$m],$TIME_agenttimedetail);
$RAWtime = $Stime[$m];
@@ -869,6 +883,7 @@ else
$RAWpause = $Spause[$m];
$RAWdead = $Sdead[$m];
$RAWcustomer = $Scustomer[$m];
$RAWconnected = $Sconnected[$m];
$RAWwaitpct = $Swaitpct[$m];
$RAWtalkpct = $Stalkpct[$m];
$RAWdispopct = $Sdispopct[$m];
@@ -1015,6 +1030,7 @@ else
$Spause[$m]= sprintf("%10s", $Spause[$m]);
$Sdead[$m]= sprintf("%10s", $Sdead[$m]);
$Scustomer[$m]= sprintf("%10s", $Scustomer[$m]);
$Sconnected[$m]= sprintf("%10s", $Sconnected[$m]);
$Scalls[$m]= sprintf("%8s", $Scalls[$m]);
$Stime[$m]= sprintf("%10s", $Stime[$m]);
@@ -1044,10 +1060,10 @@ else
if (trim($park_array[$Suser[$m]][1]+0)>$max_total_hold_time) {$max_total_hold_time=trim($park_array[$Suser[$m]][1]+0);}
if (trim(round(MathZDC(($park_array[$Suser[$m]][1]+0), $user_holds)))>$max_avg_hold_time) {$max_avg_hold_time=trim(round(MathZDC(($park_array[$Suser[$m]][1]+0), $user_holds)));}
if (trim($user_hpc)>$max_user_hpc) {$max_user_hpc=trim($user_hpc);}
$graph_stats[$m][15]=trim($user_holds);
$graph_stats[$m][16]=trim($park_array[$Suser[$m]][1]+0);
$graph_stats[$m][17]=trim(round(MathZDC(($park_array[$Suser[$m]][1]+0), $user_holds)));
$graph_stats[$m][18]=trim($user_hpc);
$graph_stats[$m][16]=trim($user_holds);
$graph_stats[$m][17]=trim($park_array[$Suser[$m]][1]+0);
$graph_stats[$m][18]=trim(round(MathZDC(($park_array[$Suser[$m]][1]+0), $user_holds)));
$graph_stats[$m][19]=trim($user_hpc);
if ($file_download<1) {
@@ -1071,11 +1087,11 @@ else
{
if ($atdr_login_logout_user_link > 0)
{
$Toutput = "| $Sname[$m] | <a href=\"./user_stats.php?pause_code_rpt=1&begin_date=$query_date&end_date=$end_date&user=$RAWuser\">$Suser[$m]</a> | $Scalls[$m] | $StimeTC[$m]$TCuserAUTOLOGOUT| $Stime[$m] |$park_AGENT_INFO $Swait[$m] | $Swaitpct[$m] | $Stalk[$m] | $Stalkpct[$m] | $Sdispo[$m] | $Sdispopct[$m] | $Spause[$m] | $Spausepct[$m] | $Sdead[$m] | $Sdeadpct[$m] | $Scustomer[$m] | |$SstatusesHTML\n";
$Toutput = "| $Sname[$m] | <a href=\"./user_stats.php?pause_code_rpt=1&begin_date=$query_date&end_date=$end_date&user=$RAWuser\">$Suser[$m]</a> | $Scalls[$m] | $StimeTC[$m]$TCuserAUTOLOGOUT| $Stime[$m] |$park_AGENT_INFO $Swait[$m] | $Swaitpct[$m] | $Stalk[$m] | $Stalkpct[$m] | $Sdispo[$m] | $Sdispopct[$m] | $Spause[$m] | $Spausepct[$m] | $Sdead[$m] | $Sdeadpct[$m] | $Scustomer[$m] | $Sconnected[$m] | |$SstatusesHTML\n";
}
else
{
$Toutput = "| $Sname[$m] | <a href=\"./user_stats.php?user=$RAWuser&begin_date=$query_date&end_date\">$Suser[$m]</a> | $Scalls[$m] | $StimeTC[$m]$TCuserAUTOLOGOUT| $Stime[$m] |$park_AGENT_INFO $Swait[$m] | $Swaitpct[$m] | $Stalk[$m] | $Stalkpct[$m] | $Sdispo[$m] | $Sdispopct[$m] | $Spause[$m] | $Spausepct[$m] | $Sdead[$m] | $Sdeadpct[$m] | $Scustomer[$m] | |$SstatusesHTML\n";
$Toutput = "| $Sname[$m] | <a href=\"./user_stats.php?user=$RAWuser&begin_date=$query_date&end_date\">$Suser[$m]</a> | $Scalls[$m] | $StimeTC[$m]$TCuserAUTOLOGOUT| $Stime[$m] |$park_AGENT_INFO $Swait[$m] | $Swaitpct[$m] | $Stalk[$m] | $Stalkpct[$m] | $Sdispo[$m] | $Sdispopct[$m] | $Spause[$m] | $Spausepct[$m] | $Sdead[$m] | $Sdeadpct[$m] | $Scustomer[$m] | $Sconnected[$m] | |$SstatusesHTML\n";
}
$graph_stats[$m][0]=trim("$Suser[$m] - $Sname[$m]");
@@ -1095,12 +1111,13 @@ else
if (strlen($RAWdead)<1) {$RAWdead='0';}
if (strlen($RAWdeadpct)<0) {$RAWdeadpct='0.0%';}
if (strlen($RAWcustomer)<1) {$RAWcustomer='0';}
if (strlen($RAWconnected)<1) {$RAWconnected='0';}
$user_holds=trim($user_holds);
$total_hold_time=trim($total_hold_time);
$avg_hold_time=trim($avg_hold_time);
$user_hpc=trim($user_hpc);
$fileToutput = "$RAWname,$RAWuser,$RAWcalls,$RAWtimeTC,$RAWtime,$park_AGENT_INFO_CSV$RAWwait,$RAWwaitpct %,$RAWtalk,$RAWtalkpct %,$RAWdispo,$RAWdispopct %,$RAWpause,$RAWpausepct %,$RAWdead,$RAWdeadpct %,$RAWcustomer$SstatusesFILE\n";
$fileToutput = "$RAWname,$RAWuser,$RAWcalls,$RAWtimeTC,$RAWtime,$park_AGENT_INFO_CSV$RAWwait,$RAWwaitpct %,$RAWtalk,$RAWtalkpct %,$RAWdispo,$RAWdispopct %,$RAWpause,$RAWpausepct %,$RAWdead,$RAWdeadpct %,$RAWcustomer,$RAWconnected$SstatusesFILE\n";
}
$TOPsorted_output[$m] = $Toutput;
@@ -1149,7 +1166,7 @@ else
$hTOT_AGENTS = sprintf("%5s", $TOT_AGENTS);
$k=$m;
if ($DB) {echo "Done analyzing... $TOTwait|$TOTtalk|$TOTdispo|$TOTpause|$TOTdead|$TOTcustomer|$TOTALtime|$TOTcalls|$uc|<BR>\n";}
if ($DB) {echo "Done analyzing... $TOTwait|$TOTtalk|$TOTdispo|$TOTpause|$TOTdead|$TOTcustomer|$TOTconnected|$TOTALtime|$TOTcalls|$uc|<BR>\n";}
### BEGIN sort through output to display properly ###
@@ -1243,6 +1260,7 @@ else
$TOTpause = sec_convert($TOTpause,$TIME_agenttimedetail);
$TOTdead = sec_convert($TOTdead,$TIME_agenttimedetail);
$TOTcustomer = sec_convert($TOTcustomer,$TIME_agenttimedetail);
$TOTconnected = sec_convert($TOTconnected,$TIME_agenttimedetail);
$TOTALtime = sec_convert($TOTALtime,$TIME_agenttimedetail);
$TOTtimeTC = sec_convert($TOTtimeTC,$TIME_agenttimedetail);
@@ -1272,6 +1290,7 @@ else
$hTOTpause = sprintf("%11s", $TOTpause);
$hTOTdead = sprintf("%11s", $TOTdead);
$hTOTcustomer = sprintf("%11s", $TOTcustomer);
$hTOTconnected = sprintf("%11s", $TOTconnected);
$hTOTALtime = sprintf("%11s", $TOTALtime);
$hTOTtimeTC = sprintf("%11s", $TOTtimeTC);
###### END LAST LINE TOTALS FORMATTING ##########
@@ -1280,9 +1299,9 @@ else
if ($file_download < 1)
{
$ASCII_text.="+---------------------------+----------+----------+------------+------------$park_HEADER_DIV+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+ +$sub_statusesHEAD\n";
$ASCII_text.="| "._QXZ("TOTALS",10)." "._QXZ("AGENTS",9,"r").":$hTOT_AGENTS | $hTOTcalls |$hTOTtimeTC |$hTOTALtime |$park_TOTALS$hTOTwait |$hTOTwaitpct |$hTOTtalk |$hTOTtalkpct |$hTOTdispo |$hTOTdispopct |$hTOTpause |$hTOTpausepct |$hTOTdead |$hTOTdeadpct |$hTOTcustomer | |$SUMstatusesHTML\n";
$ASCII_text.="+--------------------------------------+----------+------------+------------$park_HEADER_DIV+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+ +$sub_statusesHEAD\n";
$ASCII_text.="+---------------------------+----------+----------+------------+------------$park_HEADER_DIV+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+ +$sub_statusesHEAD\n";
$ASCII_text.="| "._QXZ("TOTALS",10)." "._QXZ("AGENTS",9,"r").":$hTOT_AGENTS | $hTOTcalls |$hTOTtimeTC |$hTOTALtime |$park_TOTALS$hTOTwait |$hTOTwaitpct |$hTOTtalk |$hTOTtalkpct |$hTOTdispo |$hTOTdispopct |$hTOTpause |$hTOTpausepct |$hTOTdead |$hTOTdeadpct |$hTOTcustomer |$hTOTconnected | |$SUMstatusesHTML\n";
$ASCII_text.="+--------------------------------------+----------+------------+------------$park_HEADER_DIV+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+ +$sub_statusesHEAD\n";
if ($AUTOLOGOUTflag > 0)
{
$ASCII_text.= " * "._QXZ("denotes AUTOLOGOUT from timeclock")."\n";
@@ -1303,9 +1322,9 @@ else
$graph_id++;
$graph_array=array("ATD_CALLSdata|1|CALLS|integer|", "ATD_TIMECLOCKdata|2|TIME CLOCK|time|", "ATD_LOGINTIMEdata|3|LOGIN TIME|time|");
if ($show_parks) {
array_push($graph_array, "ATD_PARKSdata|15|PARKS|integer|", "ATD_PARKTIMEdata|16|PARKTIME|time|", "ATD_AVGPARKdata|17|AVGPARK|time|", "ATD_PARKSCALLdata|18|PARKS/CALL|decimal|");
array_push($graph_array, "ATD_PARKSdata|16|PARKS|integer|", "ATD_PARKTIMEdata|17|PARKTIME|time|", "ATD_AVGPARKdata|18|AVGPARK|time|", "ATD_PARKSCALLdata|19|PARKS/CALL|decimal|");
}
array_push($graph_array, "ATD_WAITdata|4|WAIT|time|", "ATD_WAITPCTdata|14|WAIT %|percent|", "ATD_TALKdata|5|TALK|time|", "ATD_TALKTIMEPCTdata|10|TALKTIME%|percent|", "ATD_DISPOdata|6|DISPO|time|", "ATD_DISPOTIMEPCTdata|11|DISPOTIME%|percent|", "ATD_PAUSEdata|7|PAUSE|time|", "ATD_PAUSETIMEPCTdata|12|PAUSETIME%|percent|", "ATD_DEADdata|8|DEAD|time|", "ATD_DEADTIMEPCTdata|13|DEADTIME%|percent|", "ATD_CUSTOMERdata|9|CUSTOMER|time|");
array_push($graph_array, "ATD_WAITdata|4|WAIT|time|", "ATD_WAITPCTdata|15|WAIT %|percent|", "ATD_TALKdata|5|TALK|time|", "ATD_TALKTIMEPCTdata|11|TALKTIME%|percent|", "ATD_DISPOdata|6|DISPO|time|", "ATD_DISPOTIMEPCTdata|12|DISPOTIME%|percent|", "ATD_PAUSEdata|7|PAUSE|time|", "ATD_PAUSETIMEPCTdata|13|PAUSETIME%|percent|", "ATD_DEADdata|8|DEAD|time|", "ATD_DEADTIMEPCTdata|14|DEADTIME%|percent|", "ATD_CUSTOMERdata|9|CUSTOMER|time|", "ATD_CONNECTEDdata|10|CONNECTED|time|");
for ($e=0; $e<count($sub_statusesARY); $e++) {
$Sstatus=$sub_statusesARY[$e];
@@ -1395,7 +1414,7 @@ else
}
else
{
$file_output .= _QXZ("TOTALS").",$TOT_AGENTS,$TOTcalls,$TOTtimeTC,$TOTALtime,$park_TOTALS_CSV$TOTwait,$TOTwaitpct %,$TOTtalk,$TOTtalkpct %,$TOTdispo,$TOTdispopct %,$TOTpause,$TOTpausepct %,$TOTdead,$TOTdeadpct %,$TOTcustomer$SUMstatusesFILE\n";
$file_output .= _QXZ("TOTALS").",$TOT_AGENTS,$TOTcalls,$TOTtimeTC,$TOTALtime,$park_TOTALS_CSV$TOTwait,$TOTwaitpct %,$TOTtalk,$TOTtalkpct %,$TOTdispo,$TOTdispopct %,$TOTpause,$TOTpausepct %,$TOTdead,$TOTdeadpct %,$TOTcustomer,$TOTconnected$SUMstatusesFILE\n";
}
}