added user timeclock_report.php script
fixed bugs in service level report git-svn-id: svn://192.168.202.10@884 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 728 B |
@@ -134,8 +134,8 @@ if ( ($stage == 'login') or ($stage == 'logout') )
|
||||
echo "<INPUT TYPE=HIDDEN NAME=VD_login VALUE=\"$VD_login\">\n";
|
||||
echo "<INPUT TYPE=HIDDEN NAME=VD_pass VALUE=\"$VD_pass\">\n";
|
||||
echo "<CENTER><BR><B>$VDdisplayMESSAGE</B><BR><BR>";
|
||||
echo "<TABLE WIDTH=460 CELLPADDING=0 CELLSPACING=0 BGCOLOR=\"#E0C2D6\"><TR BGCOLOR=WHITE>";
|
||||
echo "<TD ALIGN=LEFT VALIGN=BOTTOM><IMG SRC=\"./images/vdc_tab_vicidial.gif\" BORDER=0></TD>";
|
||||
echo "<TABLE WIDTH=460 CELLPADDING=0 CELLSPACING=0 BGCOLOR=\"#CCFFCC\"><TR BGCOLOR=WHITE>";
|
||||
echo "<TD ALIGN=LEFT VALIGN=BOTTOM><IMG SRC=\"./images/vtc_tab_vicidial.gif\" BORDER=0></TD>";
|
||||
echo "<TD ALIGN=CENTER VALIGN=MIDDLE><B> Timeclock </B></TD>";
|
||||
echo "</TR>\n";
|
||||
echo "<TR><TD ALIGN=LEFT COLSPAN=2><font size=1> </TD></TR>\n";
|
||||
@@ -239,8 +239,8 @@ if ( ($stage == 'login') or ($stage == 'logout') )
|
||||
echo "<INPUT TYPE=HIDDEN NAME=VD_login VALUE=\"$VD_login\">\n";
|
||||
echo "<INPUT TYPE=HIDDEN NAME=VD_pass VALUE=\"$VD_pass\">\n";
|
||||
echo "<CENTER><BR><B>$VDdisplayMESSAGE</B><BR><BR>";
|
||||
echo "<TABLE WIDTH=460 CELLPADDING=0 CELLSPACING=0 BGCOLOR=\"#E0C2D6\"><TR BGCOLOR=WHITE>";
|
||||
echo "<TD ALIGN=LEFT VALIGN=BOTTOM><IMG SRC=\"./images/vdc_tab_vicidial.gif\" BORDER=0></TD>";
|
||||
echo "<TABLE WIDTH=460 CELLPADDING=0 CELLSPACING=0 BGCOLOR=\"#CCFFCC\"><TR BGCOLOR=WHITE>";
|
||||
echo "<TD ALIGN=LEFT VALIGN=BOTTOM><IMG SRC=\"./images/vtc_tab_vicidial.gif\" BORDER=0></TD>";
|
||||
echo "<TD ALIGN=CENTER VALIGN=MIDDLE><B> Timeclock </B></TD>";
|
||||
echo "</TR>\n";
|
||||
echo "<TR><TD ALIGN=LEFT COLSPAN=2><font size=1> </TD></TR>\n";
|
||||
@@ -346,8 +346,8 @@ if ( ($stage == 'login') or ($stage == 'logout') )
|
||||
echo"</HEAD>\n";
|
||||
echo "<BODY BGCOLOR=WHITE MARGINHEIGHT=0 MARGINWIDTH=0>\n";
|
||||
echo "<CENTER><BR><B>$VDdisplayMESSAGE</B><BR><BR>";
|
||||
echo "<TABLE WIDTH=460 CELLPADDING=0 CELLSPACING=0 BGCOLOR=\"#E0C2D6\"><TR BGCOLOR=WHITE>";
|
||||
echo "<TD ALIGN=LEFT VALIGN=BOTTOM><IMG SRC=\"./images/vdc_tab_vicidial.gif\" BORDER=0></TD>";
|
||||
echo "<TABLE WIDTH=460 CELLPADDING=0 CELLSPACING=0 BGCOLOR=\"#CCFFCC\"><TR BGCOLOR=WHITE>";
|
||||
echo "<TD ALIGN=LEFT VALIGN=BOTTOM><IMG SRC=\"./images/vtc_tab_vicidial.gif\" BORDER=0></TD>";
|
||||
echo "<TD ALIGN=CENTER VALIGN=MIDDLE><B> Timeclock </B></TD>";
|
||||
echo "</TR>\n";
|
||||
echo "<TR><TD ALIGN=LEFT COLSPAN=2><font size=1> </TD></TR>\n";
|
||||
@@ -396,8 +396,8 @@ if ( ($stage == 'login') or ($stage == 'logout') )
|
||||
echo "<INPUT TYPE=HIDDEN NAME=user VALUE=\"$user\">\n";
|
||||
echo "<INPUT TYPE=HIDDEN NAME=pass VALUE=\"$pass\">\n";
|
||||
echo "<CENTER><BR><B>$VDdisplayMESSAGE</B><BR><BR>";
|
||||
echo "<TABLE WIDTH=460 CELLPADDING=0 CELLSPACING=0 BGCOLOR=\"#E0C2D6\"><TR BGCOLOR=WHITE>";
|
||||
echo "<TD ALIGN=LEFT VALIGN=BOTTOM><IMG SRC=\"./images/vdc_tab_vicidial.gif\" BORDER=0></TD>";
|
||||
echo "<TABLE WIDTH=460 CELLPADDING=0 CELLSPACING=0 BGCOLOR=\"#CCFFCC\"><TR BGCOLOR=WHITE>";
|
||||
echo "<TD ALIGN=LEFT VALIGN=BOTTOM><IMG SRC=\"./images/vtc_tab_vicidial.gif\" BORDER=0></TD>";
|
||||
echo "<TD ALIGN=CENTER VALIGN=MIDDLE><B> Timeclock </B></TD>";
|
||||
echo "</TR>\n";
|
||||
echo "<TR><TD ALIGN=LEFT COLSPAN=2><font size=1> </TD></TR>\n";
|
||||
@@ -432,8 +432,8 @@ else
|
||||
echo "<INPUT TYPE=HIDDEN NAME=VD_login VALUE=\"$VD_login\">\n";
|
||||
echo "<INPUT TYPE=HIDDEN NAME=VD_pass VALUE=\"$VD_pass\">\n";
|
||||
echo "<CENTER><BR><B>$VDdisplayMESSAGE</B><BR><BR>";
|
||||
echo "<TABLE WIDTH=460 CELLPADDING=0 CELLSPACING=0 BGCOLOR=\"#E0C2D6\"><TR BGCOLOR=WHITE>";
|
||||
echo "<TD ALIGN=LEFT VALIGN=BOTTOM><IMG SRC=\"./images/vdc_tab_vicidial.gif\" BORDER=0></TD>";
|
||||
echo "<TABLE WIDTH=460 CELLPADDING=0 CELLSPACING=0 BGCOLOR=\"#CCFFCC\"><TR BGCOLOR=WHITE>";
|
||||
echo "<TD ALIGN=LEFT VALIGN=BOTTOM><IMG SRC=\"./images/vtc_tab_vicidial.gif\" BORDER=0></TD>";
|
||||
echo "<TD ALIGN=CENTER VALIGN=MIDDLE><B> Timeclock </B></TD>";
|
||||
echo "</TR>\n";
|
||||
echo "<TR><TD ALIGN=LEFT COLSPAN=2><font size=1> </TD></TR>\n";
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
# 80509-0943 - First build
|
||||
# 80510-1500 - Added fixed scale hold time graph
|
||||
# 80519-0413 - rewrote time intervals code and stats gathering code
|
||||
# 80528-2320 - fixed small calculation bugs and display bugs, added more shifts
|
||||
#
|
||||
|
||||
require("dbconnect.php");
|
||||
@@ -117,6 +118,10 @@ echo "<option value=\"AM\">AM</option>\n";
|
||||
echo "<option value=\"PM\">PM</option>\n";
|
||||
echo "<option value=\"ALL\">ALL</option>\n";
|
||||
echo "<option value=\"DAYTIME\">DAYTIME</option>\n";
|
||||
echo "<option value=\"10AM-6PM\">10AM-6PM</option>\n";
|
||||
echo "<option value=\"9AM-1AM\">9AM-1AM</option>\n";
|
||||
echo "<option value=\"845-1745\">845-1745</option>\n";
|
||||
echo "<option value=\"1745-100\">1745-100</option>\n";
|
||||
echo "</SELECT>\n";
|
||||
echo "<INPUT TYPE=submit NAME=SUBMIT VALUE=SUBMIT>\n";
|
||||
echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2> <a href=\"./admin.php?ADD=3111&group_id=$group\">MODIFY</a> | <a href=\"./admin.php?ADD=999999\">REPORTS</a> </FONT>\n";
|
||||
@@ -137,8 +142,8 @@ else
|
||||
|
||||
if ($shift == 'AM')
|
||||
{
|
||||
$time_BEGIN=$AM_shift_BEGIN;
|
||||
$time_END=$AM_shift_END;
|
||||
# $time_BEGIN=$AM_shift_BEGIN;
|
||||
# $time_END=$AM_shift_END;
|
||||
# if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}
|
||||
# if (strlen($time_END) < 6) {$time_END = "15:15:00";}
|
||||
if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
|
||||
@@ -148,8 +153,8 @@ if ($shift == 'AM')
|
||||
}
|
||||
if ($shift == 'PM')
|
||||
{
|
||||
$time_BEGIN=$PM_shift_BEGIN;
|
||||
$time_END=$PM_shift_END;
|
||||
# $time_BEGIN=$PM_shift_BEGIN;
|
||||
# $time_END=$PM_shift_END;
|
||||
# if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
|
||||
# if (strlen($time_END) < 6) {$time_END = "23:15:00";}
|
||||
if (strlen($time_BEGIN) < 6) {$time_BEGIN = "12:00:00";}
|
||||
@@ -165,6 +170,26 @@ if ($shift == 'DAYTIME')
|
||||
if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
|
||||
if (strlen($time_END) < 6) {$time_END = "00:59:59";}
|
||||
}
|
||||
if ($shift == '10AM-6PM')
|
||||
{
|
||||
if (strlen($time_BEGIN) < 6) {$time_BEGIN = "10:00:00";}
|
||||
if (strlen($time_END) < 6) {$time_END = "17:59:59";}
|
||||
}
|
||||
if ($shift == '9AM-1AM')
|
||||
{
|
||||
if (strlen($time_BEGIN) < 6) {$time_BEGIN = "09:00:00";}
|
||||
if (strlen($time_END) < 6) {$time_END = "00:59:59";}
|
||||
}
|
||||
if ($shift == '845-1745')
|
||||
{
|
||||
if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
|
||||
if (strlen($time_END) < 6) {$time_END = "17:44:59";}
|
||||
}
|
||||
if ($shift == '1745-100')
|
||||
{
|
||||
if (strlen($time_BEGIN) < 6) {$time_BEGIN = "17:45:00";}
|
||||
if (strlen($time_END) < 6) {$time_END = "00:59:59";}
|
||||
}
|
||||
|
||||
$query_date_BEGIN = "$query_date $time_BEGIN";
|
||||
$query_date_END = "$end_date $time_END";
|
||||
@@ -359,6 +384,9 @@ while ($j < $TOTintervals)
|
||||
{
|
||||
$jd__0[$j]=0; $jd_20[$j]=0; $jd_40[$j]=0; $jd_60[$j]=0; $jd_80[$j]=0; $jd100[$j]=0; $jd120[$j]=0; $jd121[$j]=0;
|
||||
$Phd__0[$j]=0; $Phd_20[$j]=0; $Phd_40[$j]=0; $Phd_60[$j]=0; $Phd_80[$j]=0; $Phd100[$j]=0; $Phd120[$j]=0; $Phd121[$j]=0;
|
||||
$qrtCALLS[$j]=0; $qrtCALLSsec[$j]=0; $qrtCALLSmax[$j]=0;
|
||||
$qrtDROPS[$j]=0; $qrtDROPSsec[$j]=0; $qrtDROPSmax[$j]=0;
|
||||
$qrtQUEUE[$j]=0; $qrtQUEUEsec[$j]=0; $qrtQUEUEmax[$j]=0;
|
||||
$i=0;
|
||||
while ($i < $records_to_grab)
|
||||
{
|
||||
@@ -675,7 +703,6 @@ while ($i < $TOTintervals)
|
||||
}
|
||||
else
|
||||
{
|
||||
$Aavg_hold[$TOT_lines] = $qrtQUEUEavg[$i];
|
||||
$TOT_lines++;
|
||||
$qrtQUEUEavg[$i] = sprintf("%5s", $qrtQUEUEavg[$i]);
|
||||
$qrtQUEUEmax[$i] = sprintf("%5s", $qrtQUEUEmax[$i]);
|
||||
@@ -686,7 +713,6 @@ while ($i < $TOTintervals)
|
||||
}
|
||||
else
|
||||
{
|
||||
$Aavg_hold[$TOT_lines] = $qrtQUEUEavg[$i];
|
||||
$TOT_lines++;
|
||||
$no_lines_yet=0;
|
||||
$Xavg_hold = ($Gavg_hold * $hold_multiplier);
|
||||
@@ -719,7 +745,7 @@ while ($i < $TOTintervals)
|
||||
$qrtCALLS[$i] = sprintf("%5s", $qrtCALLS[$i]);
|
||||
echo " |";
|
||||
$k=0; while ($k <= 22) {echo " "; $k++;}
|
||||
echo "| $qrtCALLS[$i] | |\n";
|
||||
echo "| $qrtCALLS[$i] | 0 |\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -772,7 +798,7 @@ if ($totQUEUEsec > 0)
|
||||
{$totQUEUEavgRAW = ($totCALLS / $totQUEUEsec);}
|
||||
else
|
||||
{$totQUEUEavgRAW = 0;}
|
||||
$totQUEUEavg = sprintf("%5s", $totQUEUEavgRAW);
|
||||
$totQUEUEavg = sprintf("%5s", $totQUEUEavg);
|
||||
while (strlen($totQUEUEavg)>5) {$totQUEUEavg = ereg_replace(".$",'',$totQUEUEavg);}
|
||||
$totQUEUEmax = sprintf("%5s", $totQUEUEmax);
|
||||
while (strlen($totQUEUEmax)>5) {$totQUEUEmax = ereg_replace(".$",'',$totQUEUEmax);}
|
||||
@@ -802,14 +828,23 @@ $APhd__0=0; $APhd_20=0; $APhd_40=0; $APhd_60=0; $APhd_80=0; $APhd100=0; $APhd120
|
||||
$h=0;
|
||||
while ($h < $TOTintervals)
|
||||
{
|
||||
$Aavg_hold[$h] = $qrtQUEUEavg[$h];
|
||||
if ($hd__0[$h] > 0) {$Phd__0[$h] = round( ( ($hd__0[$h] / $qrtCALLS[$h]) * 100) );}
|
||||
else {$Phd__0[$h]=0;}
|
||||
if ($hd_20[$h] > 0) {$Phd_20[$h] = round( ( ($hd_20[$h] / $qrtCALLS[$h]) * 100) );}
|
||||
else {$Phd_20[$h]=0;}
|
||||
if ($hd_40[$h] > 0) {$Phd_40[$h] = round( ( ($hd_40[$h] / $qrtCALLS[$h]) * 100) );}
|
||||
else {$Phd_40[$h]=0;}
|
||||
if ($hd_60[$h] > 0) {$Phd_60[$h] = round( ( ($hd_60[$h] / $qrtCALLS[$h]) * 100) );}
|
||||
else {$Phd_60[$h]=0;}
|
||||
if ($hd_80[$h] > 0) {$Phd_80[$h] = round( ( ($hd_80[$h] / $qrtCALLS[$h]) * 100) );}
|
||||
else {$Phd_80[$h]=0;}
|
||||
if ($hd100[$h] > 0) {$Phd100[$h] = round( ( ($hd100[$h] / $qrtCALLS[$h]) * 100) );}
|
||||
else {$Phd100[$h]=0;}
|
||||
if ($hd120[$h] > 0) {$Phd120[$h] = round( ( ($hd120[$h] / $qrtCALLS[$h]) * 100) );}
|
||||
else {$Phd120[$h]=0;}
|
||||
if ($hd121[$h] > 0) {$Phd121[$h] = round( ( ($hd121[$h] / $qrtCALLS[$h]) * 100) );}
|
||||
else {$Phd121[$h]=0;}
|
||||
while (strlen($qrtQUEUEavg[$h])>4) {$qrtQUEUEavg[$h] = ereg_replace(".$",'',$qrtQUEUEavg[$h]);}
|
||||
$hd__0[$h] = sprintf("%4s", $hd__0[$h]);
|
||||
$hd_20[$h] = sprintf("%4s", $hd_20[$h]);
|
||||
@@ -867,6 +902,7 @@ while ($h < $TOTintervals)
|
||||
}
|
||||
|
||||
$Aavg_hold[$h] = sprintf("%4s", $Aavg_hold[$h]);
|
||||
while (strlen($Aavg_hold[$h])>4) {$Aavg_hold[$h] = ereg_replace("^.",'',$Aavg_hold[$h]);}
|
||||
|
||||
echo "|$HMdisplay[$h]| $qrtCALLS[$h] | $Phd__0[$h] $Phd_20[$h] $Phd_40[$h] $Phd_60[$h] $Phd_80[$h] $Phd100[$h] $Phd120[$h] $Phd121[$h] | | $Aavg_hold[$h] |$qrtQUEUEavg_scale[$h]|\n";
|
||||
|
||||
@@ -901,172 +937,6 @@ echo "+-------------+-------+-----------------------------------------+ +------+
|
||||
$ENDtime = date("U");
|
||||
$RUNtime = ($ENDtime - $STARTtime);
|
||||
echo "\nRun Time: $RUNtime seconds\n";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$records_to_print = mysql_num_rows($rslt);
|
||||
$i=0;
|
||||
while ($i < $records_to_print)
|
||||
{
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$qs[$i] = $row[0];
|
||||
$ut[$i] = $row[1];
|
||||
$i++;
|
||||
}
|
||||
|
||||
$h=0;
|
||||
$APhd__0=0; $APhd_20=0; $APhd_40=0; $APhd_60=0; $APhd_80=0; $APhd100=0; $APhd120=0; $APhd121=0;
|
||||
$SAdate_count = count($SAdate);
|
||||
while ($h < $SAdate_count)
|
||||
{
|
||||
$qrtQUEUEavg_scale=''; $calls=0;
|
||||
$hd__0=0; $hd_20=0; $hd_40=0; $hd_60=0; $hd_80=0; $hd100=0; $hd120=0; $hd121=0;
|
||||
$Phd__0=0; $Phd_20=0; $Phd_40=0; $Phd_60=0; $Phd_80=0; $Phd100=0; $Phd120=0; $Phd121=0;
|
||||
$SAdate_ARY = explode(' ',$SAdate[$h]);
|
||||
$SAday_ARY = explode('-',$SAdate_ARY[0]);
|
||||
$SAtime_ARY = explode(':',$SAdate_ARY[1]);
|
||||
$EAdate_ARY = explode(' ',$EAdate[$h]);
|
||||
$EAday_ARY = explode('-',$EAdate_ARY[0]);
|
||||
$EAtime_ARY = explode(':',$EAdate_ARY[1]);
|
||||
|
||||
$SAepoch = mktime($SAtime_ARY[0], $SAtime_ARY[1], $SAtime_ARY[2], $SAday_ARY[1], $SAday_ARY[2], $SAday_ARY[0]);
|
||||
$EAepoch = mktime($EAtime_ARY[0], $EAtime_ARY[1], $EAtime_ARY[2], $EAday_ARY[1], $EAday_ARY[2], $EAday_ARY[0]);
|
||||
|
||||
$i=0;
|
||||
while ($i < $records_to_print)
|
||||
{
|
||||
if ( ($ut[$i] >= $SAepoch) and ($ut[$i] < $EAepoch) )
|
||||
{
|
||||
$calls++;
|
||||
if ($qs[$i] == 0) {$hd__0++;}
|
||||
if ( ($qs[$i] > 0) and ($qs[$i] <= 20) ) {$hd_20++;}
|
||||
if ( ($qs[$i] > 20) and ($qs[$i] <= 40) ) {$hd_40++;}
|
||||
if ( ($qs[$i] > 40) and ($qs[$i] <= 60) ) {$hd_60++;}
|
||||
if ( ($qs[$i] > 60) and ($qs[$i] <= 80) ) {$hd_80++;}
|
||||
if ( ($qs[$i] > 80) and ($qs[$i] <= 100) ) {$hd100++;}
|
||||
if ( ($qs[$i] > 100) and ($qs[$i] <= 120) ) {$hd120++;}
|
||||
if ($qs[$i] > 120) {$hd121++;}
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
if ($hd__0 > 0) {$Phd__0 = round( ( ($hd__0 / $calls) * 100) );}
|
||||
if ($hd_20 > 0) {$Phd_20 = round( ( ($hd_20 / $calls) * 100) );}
|
||||
if ($hd_40 > 0) {$Phd_40 = round( ( ($hd_40 / $calls) * 100) );}
|
||||
if ($hd_60 > 0) {$Phd_60 = round( ( ($hd_60 / $calls) * 100) );}
|
||||
if ($hd_80 > 0) {$Phd_80 = round( ( ($hd_80 / $calls) * 100) );}
|
||||
if ($hd100 > 0) {$Phd100 = round( ( ($hd100 / $calls) * 100) );}
|
||||
if ($hd120 > 0) {$Phd120 = round( ( ($hd120 / $calls) * 100) );}
|
||||
if ($hd121 > 0) {$Phd121 = round( ( ($hd121 / $calls) * 100) );}
|
||||
$Aavg_hold[$h] = sprintf("%4s", $Aavg_hold[$h]);
|
||||
$calls = sprintf("%5s", $calls);
|
||||
$hd__0 = sprintf("%4s", $hd__0);
|
||||
$hd_20 = sprintf("%4s", $hd_20);
|
||||
$hd_40 = sprintf("%4s", $hd_40);
|
||||
$hd_60 = sprintf("%4s", $hd_60);
|
||||
$hd_80 = sprintf("%4s", $hd_80);
|
||||
$hd100 = sprintf("%4s", $hd100);
|
||||
$hd120 = sprintf("%4s", $hd120);
|
||||
$hd121 = sprintf("%4s", $hd121);
|
||||
$Phd__0 = sprintf("%4s", $Phd__0);
|
||||
$Phd_20 = sprintf("%4s", $Phd_20);
|
||||
$Phd_40 = sprintf("%4s", $Phd_40);
|
||||
$Phd_60 = sprintf("%4s", $Phd_60);
|
||||
$Phd_80 = sprintf("%4s", $Phd_80);
|
||||
$Phd100 = sprintf("%4s", $Phd100);
|
||||
$Phd120 = sprintf("%4s", $Phd120);
|
||||
$Phd121 = sprintf("%4s", $Phd121);
|
||||
|
||||
$ALLcalls = ($ALLcalls + $calls);
|
||||
$ALLhd__0 = ($ALLhd__0 + $hd__0);
|
||||
$ALLhd_20 = ($ALLhd_20 + $hd_20);
|
||||
$ALLhd_40 = ($ALLhd_40 + $hd_40);
|
||||
$ALLhd_60 = ($ALLhd_60 + $hd_60);
|
||||
$ALLhd_80 = ($ALLhd_80 + $hd_80);
|
||||
$ALLhd100 = ($ALLhd100 + $hd100);
|
||||
$ALLhd120 = ($ALLhd120 + $hd120);
|
||||
$ALLhd121 = ($ALLhd121 + $hd121);
|
||||
|
||||
if ( ($Aavg_hold[$h] < 1) or ($Aavg_hold[$h] > 119) )
|
||||
{
|
||||
if ($Aavg_hold[$h] < 1) {$qrtQUEUEavg_scale = ' ';}
|
||||
if ($Aavg_hold[$h] > 119) {$qrtQUEUEavg_scale = '<SPAN class="orange">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</SPAN>';}
|
||||
}
|
||||
else
|
||||
{
|
||||
$qrtQUEUEavg_val = ( (32 / 120) * $Aavg_hold[$h] );
|
||||
$k=0;
|
||||
$blank=0;
|
||||
while ($k < 32)
|
||||
{
|
||||
if ($k <= $qrtQUEUEavg_val)
|
||||
{
|
||||
if ($k < 1) {$qrtQUEUEavg_scale .= '<SPAN class="orange">';}
|
||||
$qrtQUEUEavg_scale .= 'x';
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( ($k > 0) and ($blank < 1) ) {$qrtQUEUEavg_scale .= '</SPAN>';}
|
||||
$qrtQUEUEavg_scale .= ' ';
|
||||
$blank++;
|
||||
}
|
||||
$k++;
|
||||
if ( ($k > 31) and ($blank < 1) ) {$qrtQUEUEavg_scale .= '</SPAN>';}
|
||||
}
|
||||
}
|
||||
|
||||
$time = " $SAtime[$h]-$EAtime[$h] ";
|
||||
if (ereg(':00-',$time)) {$time = "+$SAtime[$h]-$EAtime[$h]+";}
|
||||
echo "|$time| $calls | $Phd__0 $Phd_20 $Phd_40 $Phd_60 $Phd_80 $Phd100 $Phd120 $Phd121 | | $Aavg_hold[$h] |$qrtQUEUEavg_scale|\n";
|
||||
|
||||
$h++;
|
||||
}
|
||||
|
||||
if ($ALLhd__0 > 0) {$APhd__0 = round( ( ($ALLhd__0 / $ALLcalls) * 100) );}
|
||||
if ($ALLhd_20 > 0) {$APhd_20 = round( ( ($ALLhd_20 / $ALLcalls) * 100) );}
|
||||
if ($ALLhd_40 > 0) {$APhd_40 = round( ( ($ALLhd_40 / $ALLcalls) * 100) );}
|
||||
if ($ALLhd_60 > 0) {$APhd_60 = round( ( ($ALLhd_60 / $ALLcalls) * 100) );}
|
||||
if ($ALLhd_80 > 0) {$APhd_80 = round( ( ($ALLhd_80 / $ALLcalls) * 100) );}
|
||||
if ($ALLhd100 > 0) {$APhd100 = round( ( ($ALLhd100 / $ALLcalls) * 100) );}
|
||||
if ($ALLhd120 > 0) {$APhd120 = round( ( ($ALLhd120 / $ALLcalls) * 100) );}
|
||||
if ($ALLhd121 > 0) {$APhd121 = round( ( ($ALLhd121 / $ALLcalls) * 100) );}
|
||||
|
||||
$ALLcalls = sprintf("%5s", $ALLcalls);
|
||||
$APhd__0 = sprintf("%4s", $APhd__0);
|
||||
$APhd_20 = sprintf("%4s", $APhd_20);
|
||||
$APhd_40 = sprintf("%4s", $APhd_40);
|
||||
$APhd_60 = sprintf("%4s", $APhd_60);
|
||||
$APhd_80 = sprintf("%4s", $APhd_80);
|
||||
$APhd100 = sprintf("%4s", $APhd100);
|
||||
$APhd120 = sprintf("%4s", $APhd120);
|
||||
$APhd121 = sprintf("%4s", $APhd121);
|
||||
|
||||
$TOT_AVG = sprintf("%4s", $TOT_AVGraw);
|
||||
while (strlen($TOT_AVG)>4) {$TOT_AVG = ereg_replace(".$",'',$TOT_AVG);}
|
||||
|
||||
echo "+-------------+-------+-----------------------------------------+ +------+--------------------------------+\n";
|
||||
echo "| TOTAL | $ALLcalls | $APhd__0 $APhd_20 $APhd_40 $APhd_60 $APhd_80 $APhd100 $APhd120 $APhd121 | | $totQUEUEavg |\n";
|
||||
echo "+-------------+-------+-----------------------------------------+ +------+\n";
|
||||
|
||||
$ENDtime = date("U");
|
||||
$RUNtime = ($ENDtime - $STARTtime);
|
||||
echo "\nRun Time: $RUNtime seconds\n";
|
||||
}
|
||||
|
||||
|
||||
@@ -1075,115 +945,3 @@ echo "\nRun Time: $RUNtime seconds\n";
|
||||
</PRE>
|
||||
|
||||
</BODY></HTML>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<?
|
||||
/*
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#############################################################
|
||||
##### BEGIN SUMMARY TOTALS SECTION #####
|
||||
|
||||
echo "---------- TOTALS\n";
|
||||
|
||||
$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$row=mysql_fetch_row($rslt);
|
||||
|
||||
$TOTALcalls = sprintf("%10s", $row[0]);
|
||||
if ( ($row[0] < 1) or ($row[1] < 1) )
|
||||
{$average_call_seconds = ' 0';}
|
||||
else
|
||||
{
|
||||
$average_call_seconds = ($row[1] / $row[0]);
|
||||
$average_call_seconds = round($average_call_seconds, 0);
|
||||
$average_call_seconds = sprintf("%10s", $average_call_seconds);
|
||||
}
|
||||
|
||||
echo "Total calls taken into this In-Group: $TOTALcalls\n";
|
||||
echo "Average Call Length for all Calls: $average_call_seconds seconds\n";
|
||||
|
||||
$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP' and (length_in_sec <= 999 or length_in_sec is null);";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$row=mysql_fetch_row($rslt);
|
||||
|
||||
$DROPcalls = sprintf("%10s", $row[0]);
|
||||
if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
|
||||
{$DROPpercent = '0';}
|
||||
else
|
||||
{
|
||||
$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
|
||||
$DROPpercent = round($DROPpercent, 0);
|
||||
}
|
||||
|
||||
if ( ($row[0] < 1) or ($row[1] < 1) )
|
||||
{
|
||||
$average_hold_seconds = ' 0';
|
||||
}
|
||||
else
|
||||
{
|
||||
$average_hold_seconds = ($row[1] / $row[0]);
|
||||
$average_hold_seconds = round($average_hold_seconds, 0);
|
||||
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
|
||||
}
|
||||
|
||||
echo "Total DROP Calls: $DROPcalls $DROPpercent%\n";
|
||||
echo "Average hold time for DROP Calls: $average_hold_seconds seconds\n";
|
||||
|
||||
|
||||
|
||||
######### CALL QUEUE STATS
|
||||
|
||||
$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$row=mysql_fetch_row($rslt);
|
||||
|
||||
$QUEUEcalls = sprintf("%10s", $row[0]);
|
||||
if ( ($QUEUEcalls < 1) or ($TOTALcalls < 1) )
|
||||
{$QUEUEpercent = '0';}
|
||||
else
|
||||
{
|
||||
$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
|
||||
$QUEUEpercent = round($QUEUEpercent, 0);
|
||||
}
|
||||
|
||||
if ( ($row[0] < 1) or ($row[1] < 1) )
|
||||
{$average_queue_seconds = ' 0';}
|
||||
else
|
||||
{
|
||||
$average_queue_seconds = ($row[1] / $row[0]);
|
||||
$average_queue_seconds = round($average_queue_seconds, 2);
|
||||
$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
|
||||
}
|
||||
|
||||
if ( ($TOTALcalls < 1) or ($row[1] < 1) )
|
||||
{$average_total_queue_seconds = ' 0';}
|
||||
else
|
||||
{
|
||||
$average_total_queue_seconds = ($row[1] / $TOTALcalls);
|
||||
$average_total_queue_seconds = round($average_total_queue_seconds, 2);
|
||||
$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
|
||||
}
|
||||
|
||||
echo "Total Calls That entered Queue: $QUEUEcalls $QUEUEpercent%\n";
|
||||
echo "Average QUEUE Length for queue calls: $average_queue_seconds seconds\n";
|
||||
echo "Average QUEUE Length across all calls: $average_total_queue_seconds seconds\n";
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
?>
|
||||
@@ -15148,6 +15148,7 @@ if ($ADD==999999)
|
||||
<LI><a href="AST_agent_performance_detail.php"><FONT FACE="ARIAL,HELVETICA" COLOR=BLACK SIZE=2>AGENT PERFORMANCE DETAIL</a></FONT>
|
||||
<LI><a href="fcstats.php"><FONT FACE="ARIAL,HELVETICA" COLOR=BLACK SIZE=2>FRONTER - CLOSER REPORT</a></FONT>
|
||||
<LI><a href="vicidial_sales_viewer.php"><FONT FACE="ARIAL,HELVETICA" COLOR=BLACK SIZE=2>AGENT SPREADSHEET PERFORMANCE</a></FONT>
|
||||
<LI><a href="timeclock_report.php"><FONT FACE="ARIAL,HELVETICA" COLOR=BLACK SIZE=2>USER TIMECLOCK REPORT</a></FONT>
|
||||
<LI><a href="AST_server_performance.php"><FONT FACE="ARIAL,HELVETICA" COLOR=BLACK SIZE=2>SERVER PERFORMANCE</a></FONT>
|
||||
<?
|
||||
if ($enable_queuemetrics_logging_LU > 0)
|
||||
|
||||
@@ -0,0 +1,326 @@
|
||||
<?
|
||||
# timeclock_report.php
|
||||
#
|
||||
# Copyright (C) 2008 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
#
|
||||
# CHANGES
|
||||
#
|
||||
# 80529-0055 - First build
|
||||
#
|
||||
|
||||
require("dbconnect.php");
|
||||
|
||||
##### Pull values from posted form variables #####
|
||||
$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
|
||||
$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
|
||||
$PHP_SELF=$_SERVER['PHP_SELF'];
|
||||
if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];}
|
||||
elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];}
|
||||
if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];}
|
||||
elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];}
|
||||
if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];}
|
||||
elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];}
|
||||
if (isset($_GET["shift"])) {$shift=$_GET["shift"];}
|
||||
elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];}
|
||||
if (isset($_GET["order"])) {$order=$_GET["order"];}
|
||||
elseif (isset($_POST["order"])) {$order=$_POST["order"];}
|
||||
if (isset($_GET["user"])) {$user=$_GET["user"];}
|
||||
elseif (isset($_POST["user"])) {$user=$_POST["user"];}
|
||||
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
|
||||
elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];}
|
||||
if (isset($_GET["submit"])) {$submit=$_GET["submit"];}
|
||||
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
|
||||
if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];}
|
||||
elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];}
|
||||
|
||||
if (strlen($shift)<2) {$shift='ALL';}
|
||||
if (strlen($order)<2) {$order='sales_down';}
|
||||
|
||||
#############################################
|
||||
##### START SYSTEM_SETTINGS LOOKUP #####
|
||||
$stmt = "SELECT use_non_latin FROM system_settings;";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$qm_conf_ct = mysql_num_rows($rslt);
|
||||
$i=0;
|
||||
while ($i < $qm_conf_ct)
|
||||
{
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$non_latin = $row[0];
|
||||
$i++;
|
||||
}
|
||||
##### END SETTINGS LOOKUP #####
|
||||
###########################################
|
||||
|
||||
$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
|
||||
$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
|
||||
|
||||
$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
|
||||
if ($DB) {echo "|$stmt|\n";}
|
||||
if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$auth=$row[0];
|
||||
|
||||
if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
|
||||
{
|
||||
Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
|
||||
Header("HTTP/1.0 401 Unauthorized");
|
||||
echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
$NOW_DATE = date("Y-m-d");
|
||||
$NOW_TIME = date("Y-m-d H:i:s");
|
||||
$STARTtime = date("U");
|
||||
if (!isset($group)) {$group = '';}
|
||||
if (!isset($query_date)) {$query_date = $NOW_DATE;}
|
||||
if (!isset($end_date)) {$end_date = $NOW_DATE;}
|
||||
|
||||
$stmt="select user_group from vicidial_user_groups;";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$user_groups_to_print = mysql_num_rows($rslt);
|
||||
$i=0;
|
||||
$LISTuser_groups[$i]='---ALL---';
|
||||
$i++;
|
||||
$user_groups_to_print++;
|
||||
while ($i < $user_groups_to_print)
|
||||
{
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$LISTuser_groups[$i] =$row[0];
|
||||
$i++;
|
||||
}
|
||||
|
||||
##### START HTML #####
|
||||
?>
|
||||
|
||||
<HTML>
|
||||
<HEAD>
|
||||
|
||||
<style type="text/css">
|
||||
<!--
|
||||
div.scroll_callback {height: 300px; width: 620px; overflow: scroll;}
|
||||
div.scroll_list {height: 400px; width: 140px; overflow: scroll;}
|
||||
div.scroll_script {height: 331px; width: 600px; background: #FFF5EC; overflow: scroll; font-size: 12px; font-family: sans-serif;}
|
||||
div.text_input {overflow: auto; font-size: 10px; font-family: sans-serif;}
|
||||
.body_text {font-size: 13px; font-family: sans-serif;}
|
||||
.preview_text {font-size: 13px; font-family: sans-serif; background: #CCFFCC}
|
||||
.preview_text_red {font-size: 13px; font-family: sans-serif; background: #FFCCCC}
|
||||
.body_small {font-size: 11px; font-family: sans-serif;}
|
||||
.body_tiny {font-size: 10px; font-family: sans-serif;}
|
||||
.log_text {font-size: 11px; font-family: monospace;}
|
||||
.log_text_red {font-size: 11px; font-family: monospace; font-weight: bold; background: #FF3333}
|
||||
.sd_text {font-size: 16px; font-family: sans-serif; font-weight: bold;}
|
||||
.sh_text {font-size: 14px; font-family: sans-serif; font-weight: bold;}
|
||||
.sb_text {font-size: 12px; font-family: sans-serif;}
|
||||
.sk_text {font-size: 11px; font-family: sans-serif;}
|
||||
.skb_text {font-size: 13px; font-family: sans-serif; font-weight: bold;}
|
||||
.ON_conf {font-size: 11px; font-family: monospace; color: black; background: #FFFF99}
|
||||
.OFF_conf {font-size: 11px; font-family: monospace; color: black; background: #FFCC77}
|
||||
.cust_form {font-family: sans-serif; font-size: 10px; overflow: auto}
|
||||
|
||||
.select_bold {font-size: 14px; font-family: sans-serif; font-weight: bold;}
|
||||
.header_white {font-size: 14px; font-family: sans-serif; font-weight: bold; color: white}
|
||||
.data_records {font-size: 12px; font-family: sans-serif; color: black}
|
||||
.data_records_fix {font-size: 12px; font-family: monospace; color: black}
|
||||
.data_records_fix_small {font-size: 9px; font-family: monospace; color: black}
|
||||
|
||||
-->
|
||||
</style>
|
||||
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
|
||||
<TITLE>VICIDIAL: User Timeclock Report</TITLE>
|
||||
|
||||
</HEAD><BODY BGCOLOR=WHITE>
|
||||
|
||||
<?
|
||||
$user_group_ct = count($user_group);
|
||||
$user_group_string='|';
|
||||
|
||||
$i=0;
|
||||
while($i < $user_group_ct)
|
||||
{
|
||||
$user_group_string .= "$user_group[$i]|";
|
||||
$user_group_SQL .= "'$user_group[$i]',";
|
||||
$i++;
|
||||
}
|
||||
if ( (ereg("--ALL--",$user_group_string) ) or ($user_group_ct < 1) )
|
||||
{
|
||||
$user_group_SQL = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
$user_group_SQL = eregi_replace(",$",'',$user_group_SQL);
|
||||
$user_group_SQL = "user_group_id IN($user_group_SQL)";
|
||||
}
|
||||
|
||||
if ($DB > 0)
|
||||
{
|
||||
echo "<BR>\n";
|
||||
echo "$user_group_ct|$user_group_string|$user_group_SQL\n";
|
||||
echo "<BR>\n";
|
||||
}
|
||||
|
||||
echo "<CENTER>\n";
|
||||
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n";
|
||||
echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">";
|
||||
echo "<TABLE BORDER=0 CELLSPACING=6><TR><TD ALIGN=LEFT VALIGN=TOP>\n";
|
||||
|
||||
echo "<font class=\"select_bold\"><B>Date Range:</B></font><BR><CENTER>\n";
|
||||
echo "<INPUT TYPE=TEXT NAME=query_date SIZE=10 MAXLENGTH=10 VALUE=\"$query_date\">";
|
||||
echo "<BR>to<BR>\n";
|
||||
echo "<INPUT TYPE=TEXT NAME=end_date SIZE=10 MAXLENGTH=10 VALUE=\"$end_date\">\n";
|
||||
echo "</TD><TD ALIGN=LEFT VALIGN=TOP>\n";
|
||||
echo "<font class=\"select_bold\"><B>User Groups:</B></font><BR><CENTER>\n";
|
||||
echo "<SELECT SIZE=5 NAME=user_group[] multiple>\n";
|
||||
$o=0;
|
||||
while ($user_groups_to_print > $o)
|
||||
{
|
||||
if (ereg("\|$LISTuser_groups[$o]\|",$user_group_string))
|
||||
{echo "<option selected value=\"$LISTuser_groups[$o]\">$LISTuser_groups[$o]</option>\n";}
|
||||
else
|
||||
{echo "<option value=\"$LISTuser_groups[$o]\">$LISTuser_groups[$o]</option>\n";}
|
||||
$o++;
|
||||
}
|
||||
echo "</SELECT>\n";
|
||||
|
||||
echo "</TD></TD><TD ALIGN=LEFT VALIGN=TOP>\n";
|
||||
echo "<font class=\"select_bold\"><B>Order:</B></font><BR>\n";
|
||||
echo "<SELECT SIZE=1 NAME=order>\n";
|
||||
echo "<option selected value=\"$order\">$order</option>\n";
|
||||
echo "<option value=\"\">--</option>\n";
|
||||
echo "<option>hours_up</option>\n";
|
||||
echo "<option>hours_down</option>\n";
|
||||
echo "<option>user_up</option>\n";
|
||||
echo "<option>user_down</option>\n";
|
||||
echo "<option>name_up</option>\n";
|
||||
echo "<option>name_down</option>\n";
|
||||
echo "</SELECT><BR><CENTER>\n";
|
||||
|
||||
echo "</TD><TD ALIGN=LEFT VALIGN=TOP>\n";
|
||||
echo "<font class=\"select_bold\"><B>User:</B></font><BR>\n";
|
||||
echo "<INPUT TYPE=text NAME=user SIZE=7 MAXLENGTH=20 VALUE=\"$user\">\n";
|
||||
|
||||
echo "<BR><BR><INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
|
||||
echo "</TD></TD><TD ALIGN=LEFT VALIGN=TOP>\n";
|
||||
echo "</TD><TD ALIGN=CENTER VALIGN=TOP ROWSPAN=3>\n";
|
||||
echo "<FONT class=\"select_bold\" COLOR=BLACK SIZE=2> <a href=\"./admin.php?ADD=999999\">REPORTS</a> </FONT>\n";
|
||||
|
||||
echo "</TD></TR></TABLE>\n";
|
||||
echo "</FORM>\n\n";
|
||||
|
||||
echo "<PRE><FONT SIZE=3>\n";
|
||||
|
||||
|
||||
echo "VICIDIAL: User Timeclock Report $NOW_TIME\n";
|
||||
|
||||
echo "Time range: $query_date to $end_date\n\n";
|
||||
echo "---------- USER TIMECLOCK DETAILS -------------\n</PRE>\n";
|
||||
|
||||
echo "<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=3><TR BGCOLOR=BLACK>\n";
|
||||
echo "<TD ALIGN=CENTER><FONT class=\"header_white\">#</TD>\n";
|
||||
echo "<TD ALIGN=CENTER><FONT class=\"header_white\"> USER </TD>\n";
|
||||
echo "<TD ALIGN=CENTER><FONT class=\"header_white\"> NAME </TD>\n";
|
||||
echo "<TD ALIGN=CENTER><FONT class=\"header_white\"> HOURS </TD>\n";
|
||||
echo "</TR>\n";
|
||||
|
||||
$order_SQL='';
|
||||
if ($order == 'hours_up') {$order_SQL = "order by login";}
|
||||
if ($order == 'hours_down') {$order_SQL = "order by login desc";}
|
||||
if ($order == 'user_up') {$order_SQL = "order by vicidial_users.user";}
|
||||
if ($order == 'user_down') {$order_SQL = "order by vicidial_users.user desc";}
|
||||
if ($order == 'name_up') {$order_SQL = "order by full_name";}
|
||||
if ($order == 'name_down') {$order_SQL = "order by full_name desc";}
|
||||
|
||||
if (strlen($user) > 0) {$user_SQL = "and vicidial_timeclock_log.user='$user'";}
|
||||
else {$user_SQL='';}
|
||||
|
||||
$stmt="select vicidial_users.user,full_name,sum(login_sec) as login from vicidial_users,vicidial_timeclock_log where event_date >= '$query_date 00:00:00' and event_date <= '$end_date 23:59:59' and vicidial_users.user=vicidial_timeclock_log.user $user_SQL group by vicidial_users.user $order_SQL limit 100000;";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$rows_to_print = mysql_num_rows($rslt);
|
||||
$i=0;
|
||||
while ($i < $rows_to_print)
|
||||
{
|
||||
$dbHOURS=0;
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$user_id[$i] = $row[0];
|
||||
$full_name[$i] = $row[1];
|
||||
$login_sec[$i] = $row[2]; $TOTlogin_sec = ($TOTlogin_sec + $row[2]);
|
||||
|
||||
if ($login_sec[$i] > 0)
|
||||
{
|
||||
$dbHOURS = ($login_sec[$i] / 3600);
|
||||
$dbHOURS = round($dbHOURS, 2);
|
||||
$dbHOURS = sprintf("%01.2f", $dbHOURS);
|
||||
}
|
||||
else
|
||||
{$dbHOURS='0.00';}
|
||||
|
||||
$hours[$i] = $dbHOURS;
|
||||
$hoursSORT[$i] = "$dbHOURS-----$i";
|
||||
|
||||
$i++;
|
||||
}
|
||||
|
||||
|
||||
$j=0;
|
||||
while ($j < $rows_to_print)
|
||||
{
|
||||
|
||||
$hours_split = explode("-----",$hoursSORT[$j]);
|
||||
$i = $hours_split[1];
|
||||
|
||||
if (eregi("1$|3$|5$|7$|9$", $j))
|
||||
{$bgcolor='bgcolor="#B9CBFD"';}
|
||||
else
|
||||
{$bgcolor='bgcolor="#9BB9FB"';}
|
||||
|
||||
echo "<TR $bgcolor>\n";
|
||||
echo "<TD ALIGN=LEFT><FONT class=\"data_records_fix_small\">$j</TD>\n";
|
||||
echo "<TD><FONT class=\"data_records\">$user_id[$i] </TD>\n";
|
||||
echo "<TD><FONT class=\"data_records\">$full_name[$i] </TD>\n";
|
||||
echo "<TD ALIGN=RIGHT><FONT class=\"data_records_fix\"> $hours[$i]</TD>\n";
|
||||
echo "</TR>\n";
|
||||
|
||||
$j++;
|
||||
}
|
||||
|
||||
|
||||
if ($TOTlogin_sec > 0)
|
||||
{
|
||||
$TOTdbHOURS = ($TOTlogin_sec / 3600);
|
||||
$TOTdbHOURS = round($TOTdbHOURS, 0);
|
||||
$TOTdbHOURS = sprintf("%01.0f", $TOTdbHOURS);
|
||||
}
|
||||
else
|
||||
{$TOTdbHOURS='0.00';}
|
||||
|
||||
$TOThours = $TOTdbHOURS;
|
||||
|
||||
|
||||
echo "<TR BGCOLOR=#E6E6E6>\n";
|
||||
echo "<TD ALIGN=LEFT COLSPAN=3><FONT class=\"data_records\">TOTALS</TD>\n";
|
||||
echo "<TD ALIGN=RIGHT><FONT class=\"data_records_fix\"> $TOThours</TD>\n";
|
||||
echo "</TR>\n";
|
||||
|
||||
echo "</TABLE>\n";
|
||||
|
||||
echo "\n";
|
||||
|
||||
/*
|
||||
$TOTavgWAIT_M = ( ($TOTtotWAIT / $TOTcalls) / 60);
|
||||
$TOTavgWAIT_M = round($TOTavgWAIT_M, 2);
|
||||
$TOTavgWAIT_M_int = intval("$TOTavgWAIT_M");
|
||||
$TOTavgWAIT_S = ($TOTavgWAIT_M - $TOTavgWAIT_M_int);
|
||||
$TOTavgWAIT_S = ($TOTavgWAIT_S * 60);
|
||||
$TOTavgWAIT_S = round($TOTavgWAIT_S, 0);
|
||||
if ($TOTavgWAIT_S < 10) {$TOTavgWAIT_S = "0$TOTavgWAIT_S";}
|
||||
$TOTavgWAIT_MS = "$TOTavgWAIT_M_int:$TOTavgWAIT_S";
|
||||
$TOTavgWAIT_MS = sprintf("%6s", $TOTavgWAIT_MS);
|
||||
while(strlen($TOTavgWAIT_MS)>6) {$TOTavgWAIT_MS = substr("$TOTavgWAIT_MS", 0, -1);}
|
||||
*/
|
||||
?>
|
||||
</CENTER>
|
||||
</BODY></HTML>
|
||||
Reference in New Issue
Block a user