From 80b1953381f3d3accf34624211efb223e9a0bc62 Mon Sep 17 00:00:00 2001 From: mattf Date: Mon, 22 Aug 2022 21:30:54 +0000 Subject: [PATCH] Changed total login time calculation in Agent timesheet report to work for multi-day ranges git-svn-id: svn://192.168.202.10@3618 3d104415-ff17-0410-8863-d5cf3c621b8a --- www/vicidial/AST_agent_time_sheet.php | 28 +++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/www/vicidial/AST_agent_time_sheet.php b/www/vicidial/AST_agent_time_sheet.php index d450a31a..d18de886 100644 --- a/www/vicidial/AST_agent_time_sheet.php +++ b/www/vicidial/AST_agent_time_sheet.php @@ -30,6 +30,7 @@ # 220122-1700 - Added more variable filtering # 220221-0938 - Added allow_web_debug system setting # 220811-1440 - Modified for date ranges instead of single-day +# 220822-1728 - Changed total login time calculation to work for multi-day ranges # $startMS = microtime(); @@ -496,7 +497,7 @@ if ($calls_summary) $pfWAIT_AVG_MS = sprintf("%6s", $WAIT_AVG_MS); $pfWRAPUP_AVG_MS = sprintf("%6s", $WRAPUP_AVG_MS); - $MAIN.=_QXZ("TOTAL CALLS TAKEN",17).": $row[0] ["._QXZ("DOWNLOAD")."]\n"; + $MAIN.=_QXZ("TOTAL CALLS TAKEN",17).": $row[0] ["._QXZ("DOWNLOAD")."]\n"; $MAIN.=_QXZ("TALK TIME:",24)." $pfTALK_TIME_HMS "._QXZ("AVERAGE",11,"r").": $pfTALK_AVG_MS\n"; $MAIN.=_QXZ("PAUSE TIME:",24)." $pfPAUSE_TIME_HMS "._QXZ("AVERAGE",11,"r").": $pfPAUSE_AVG_MS\n"; $MAIN.=_QXZ("WAIT TIME:",24)." $pfWAIT_TIME_HMS "._QXZ("AVERAGE",11,"r").": $pfWAIT_AVG_MS\n"; @@ -513,7 +514,7 @@ if ($calls_summary) } else { - $MAIN.=""._QXZ("Call Activity Summary")."\n\n"; + $MAIN.=""._QXZ("Call Activity Summary")."\n\n"; } @@ -537,7 +538,14 @@ $end = $row[1]; $CSV_login.="\"\",\""._QXZ("LAST LOG ACTIVITY").":\",\"$row[0]\"\n"; -$login_time = ($end - $start); +# $login_time = ($end - $start); + +$total_stmt="select sum(talk_sec+pause_sec+wait_sec+dispo_sec) from ".$vicidial_agent_log_table." where event_time <= '" . mysqli_real_escape_string($link, $end_date_END) . "' and event_time >= '" . mysqli_real_escape_string($link, $query_date_BEGIN) . "' and user='" . mysqli_real_escape_string($link, $agent) . "' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 limit 1;"; +$total_rslt=mysql_to_mysqli($total_stmt, $link); +if ($DB) {$MAIN.="$total_stmt\n";} +$total_row=mysqli_fetch_row($total_rslt); +$login_time=$total_row[0]; + $LOGIN_TIME_HMS = sec_convert($login_time,'H'); $pfLOGIN_TIME_HMS = sprintf("%8s", $LOGIN_TIME_HMS); @@ -576,7 +584,8 @@ $CSV_text2.="\"\",\""._QXZ("ID")."\",\""._QXZ("EDIT")."\",\""._QXZ("EVENT")."\", $total_logs=0; $o=0; - while ($events_to_print > $o) { + while ($events_to_print > $o) + { $row=mysqli_fetch_row($rslt); if ( ($row[0]=='START') or ($row[0]=='LOGIN') ) {$bgcolor='bgcolor="#'.$SSstd_row3_background.'"';} @@ -618,10 +627,17 @@ $CSV_text2.="\"\",\""._QXZ("ID")."\",\""._QXZ("EDIT")."\",\""._QXZ("EVENT")."\", $CSV_text2.="\"\",\"$row[5]\",\"$manager_edit\",\"$row[0]\",\"$TC_log_date\",\"$row[4]\",\"$row[2]\",\"$event_hours_minutes\"\n"; } $o++; - } + } if (strlen($login_sec)<1) { - $login_sec = ($STARTtime - $row[1]); + if ($events_to_print==0) + { + $login_sec=0; + } + else + { + $login_sec = ($STARTtime - $row[1]); + } $total_login_time = ($total_login_time + $login_sec); if ($DB) {$MAIN.=_QXZ("LOGIN ONLY")." - $total_login_time - $login_sec";} }