diff --git a/agc_2-X/trunk/www/vicidial/AST_agent_days_time.php b/agc_2-X/trunk/www/vicidial/AST_agent_days_time.php new file mode 100644 index 00000000..6e43f27e --- /dev/null +++ b/agc_2-X/trunk/www/vicidial/AST_agent_days_time.php @@ -0,0 +1,721 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 150114-2158 - First build based on AST_agent_days_detail.php +# + +$startMS = microtime(); + +require("dbconnect_mysqli.php"); +require("functions.php"); + +$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["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +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 (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_display_type"];} + elseif (isset($_POST["report_display_type"])) {$report_display_type=$_POST["report_display_type"];} + +if (strlen($shift)<2) {$shift='ALL';} + +$report_name = 'Single Agent Daily Time'; +$db_source = 'M'; +$JS_text="\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
\n";
+ $GRAPH_text.="\n";
+ }
+
+if (strlen($group[0]) < 1)
+ {
+ echo "\n";
+ echo _QXZ("PLEASE SELECT A USER AND DATE-TIME ABOVE AND CLICK SUBMIT")."\n";
+ echo " "._QXZ("NOTE: stats taken from shift specified")."\n";
+ }
+
+else
+ {
+ if ($shift == 'AM')
+ {
+ $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:14:59";}
+ }
+ if ($shift == 'PM')
+ {
+ $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 ($shift == 'ALL')
+ {
+ if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+ if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+ }
+ $query_date_BEGIN = "$query_date $time_BEGIN";
+ $query_date_END = "$end_date $time_END";
+
+ if ($file_download < 1)
+ {
+ $ASCII_text.=_QXZ("Agent Days Time Report",24).": $user $NOW_TIME\n";
+ $ASCII_text.=_QXZ("Time range").": $query_date_BEGIN "._QXZ("to")." $query_date_END\n\n";
+ $ASCII_text.="---------- "._QXZ("AGENT Details")." -------------\n\n";
+ $GRAPH_text.=_QXZ("Agent Days Time Report",24).": $user $NOW_TIME\n";
+ $GRAPH_text.=_QXZ("Time range").": $query_date_BEGIN "._QXZ("to")." $query_date_END\n\n";
+ $GRAPH_text.="---------- "._QXZ("AGENT Details")." -------------\n";
+ }
+ else
+ {
+ $file_output .= _QXZ("Agent Days Time Report",24).": $user $NOW_TIME\n";
+ $file_output .= _QXZ("Time range").": $query_date_BEGIN "._QXZ("to")." $query_date_END\n\n";
+ }
+
+ $statuses='-';
+ $statusesTXT='';
+ $statusesHEAD='';
+ $statusesHTML='';
+ $statusesFILE='';
+ $statusesARY[0]='';
+ $j=0;
+ $dates='-';
+ $datesARY[0]='';
+ $date_namesARY[0]='';
+ $k=0;
+
+ $stmt="select date_format(event_time, '%Y-%m-%d') as date,count(*) as calls from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user and vicidial_agent_log.user='$user' $group_SQL $user_group_SQL $vuLOGadmin_viewable_groupsSQL group by date order by date desc limit 500000;";
+ $rslt=mysql_to_mysqli($stmt, $link);
+ if ($DB) {echo "$stmt\n";}
+ $rows_to_print = mysqli_num_rows($rslt);
+ $i=0;
+ while ($i < $rows_to_print)
+ {
+ $row=mysqli_fetch_row($rslt);
+
+ if ( ($row[1] > 0) and (strlen($row[0]) > 0) )
+ {
+ $date[$i] = $row[0];
+ $calls[$i] = $row[1];
+ if (!preg_match("/\-$date[$i]\-/i", $dates))
+ {
+ $dates .= "$date[$i]-";
+ $datesARY[$k] = $date[$i];
+ $k++;
+ }
+ }
+ $i++;
+ }
+
+
+ $MAIN.="
\n";
+ $MAIN.="\n";
+ $MAIN.=""._QXZ("DATE")." "._QXZ("PAUSE")." "._QXZ("WAIT")." "._QXZ("TALK")." "._QXZ("DISPO")." "._QXZ("DEAD")." "._QXZ("CUSTOMER")." "._QXZ("TOTAL")." \n";
+ echo $MAIN;
+
+ $i=0;
+ while ($i < $rows_to_print)
+ {
+ $MAIN='';
+ $VALstart_time = "$date[$i] 00:00:00";
+ $VALstop_time = "$date[$i] 23:59:59";
+
+ $stmt="select event_time,lead_id,campaign_id,pause_sec,wait_sec,talk_sec,dispo_sec,dead_sec,status,sub_status,user_group from vicidial_agent_log where user='$user' and event_time >= '$VALstart_time' and event_time <= '$VALstop_time' and ( (pause_sec > 0) or (wait_sec > 0) or (talk_sec > 0) or (dispo_sec > 0) ) order by event_time desc limit 10000;";
+ if ($DB) {$MAIN.="agent activity|$stmt|";}
+ $rslt=mysql_to_mysqli($stmt, $link);
+ $logs_to_print = mysqli_num_rows($rslt);
+
+ $u=0;
+ $TOTALpauseSECONDS=0;
+ $TOTALwaitSECONDS=0;
+ $TOTALtalkSECONDS=0;
+ $TOTALdispoSECONDS=0;
+ $TOTALdeadSECONDS=0;
+ $TOTALcustomerSECONDS=0;
+ $TOTALtotalSECONDS=0;
+
+ while ($logs_to_print > $u)
+ {
+ $row=mysqli_fetch_row($rslt);
+ $event_time = $row[0];
+ $lead_id = $row[1];
+ $campaign_id = $row[2];
+ $pause_sec = $row[3];
+ $wait_sec = $row[4];
+ $talk_sec = $row[5];
+ $dispo_sec = $row[6];
+ $dead_sec = $row[7];
+ $status = $row[8];
+ $pause_code = $row[9];
+ $user_group = $row[10];
+ $customer_sec = ($talk_sec - $dead_sec);
+ if ($customer_sec < 0)
+ {$customer_sec=0;}
+
+ if (preg_match("/1$|3$|5$|7$|9$/i", $u))
+ {$bgcolor='bgcolor="#B9CBFD"';}
+ else
+ {$bgcolor='bgcolor="#9BB9FB"';}
+
+ $TOTALpauseSECONDS = ($TOTALpauseSECONDS + $pause_sec);
+ $TOTALwaitSECONDS = ($TOTALwaitSECONDS + $wait_sec);
+ $TOTALtalkSECONDS = ($TOTALtalkSECONDS + $talk_sec);
+ $TOTALdispoSECONDS = ($TOTALdispoSECONDS + $dispo_sec);
+ $TOTALdeadSECONDS = ($TOTALdeadSECONDS + $dead_sec);
+ $TOTALcustomerSECONDS = ($TOTALcustomerSECONDS + $customer_sec);
+
+ if ($DB > 0)
+ {
+ $DBtotal_sec = ($pause_sec + $wait_sec + $talk_sec + $dispo_sec);
+ $DBdatetime = explode(" ",$event_time);
+ $DBdate = explode("-",$DBdatetime[0]);
+ $DBtime = explode(":",$DBdatetime[1]);
+
+ $DBcall_end_sec = mktime($DBtime[0], $DBtime[1], ($DBtime[2] + $DBtotal_sec), $DBdate[1], $DBdate[2], $DBdate[0]);
+ $DBcall_end = date("Y-m-d H:i:s",$DBcall_end_sec);
+ # $MAIN.="";
+ # $MAIN.=" ";
+ # $MAIN.="$DBcall_end ";
+ # $MAIN.=" $DBtotal_sec \n";
+ # $MAIN.=" \n";
+ # $MAIN.=" \n";
+ # $MAIN.=" \n";
+ # $MAIN.=" \n";
+ # $MAIN.=" \n";
+ # $MAIN.=" \n";
+ # $MAIN.=" \n";
+ # $MAIN.=" \n";
+ # $MAIN.=" \n";
+ }
+
+ $u++;
+ # $MAIN.="";
+ # $MAIN.="$u ";
+ # $MAIN.="$event_time ";
+ # $MAIN.=" $pause_sec \n";
+ # $MAIN.=" $wait_sec \n";
+ # $MAIN.=" $talk_sec \n";
+ # $MAIN.=" $dispo_sec \n";
+ # $MAIN.=" $dead_sec \n";
+ # $MAIN.=" $customer_sec \n";
+ # $MAIN.=" $status \n";
+ # $MAIN.=" $lead_id \n";
+ # $MAIN.=" $campaign_id \n";
+ # $MAIN.=" $pause_code \n";
+ # $CSV_text7.="\"\",\"$u\",\"$event_time\",\"$pause_sec\",\"$wait_sec\",\"$talk_sec\",\"$dispo_sec\",\"$dead_sec\",\"$customer_sec\",\"$status\",\"$lead_id\",\"$campaign_id\",\"$pause_code \"\n";
+ }
+
+ # $MAIN.="";
+ # $MAIN.=""._QXZ("TOTALS")." ";
+ # $MAIN.=" $TOTALpauseSECONDS \n";
+ # $MAIN.=" $TOTALwaitSECONDS \n";
+ # $MAIN.=" $TOTALtalkSECONDS \n";
+ # $MAIN.=" $TOTALdispoSECONDS \n";
+ # $MAIN.=" $TOTALdeadSECONDS \n";
+ # $MAIN.=" $TOTALcustomerSECONDS \n";
+ # $MAIN.=" \n";
+ # $CSV_text7.="\"\",\"\",\""._QXZ("TOTALS")."\",\"$TOTALpauseSECONDS\",\"$TOTALwaitSECONDS\",\"$TOTALtalkSECONDS\",\"$TOTALdispoSECONDS\",\"$TOTALdeadSECONDS\",\"$TOTALcustomerSECONDS\"\n";
+
+ $TOTALpauseSECONDShh = sec_convert($TOTALpauseSECONDS,'H');
+ $TOTALwaitSECONDShh = sec_convert($TOTALwaitSECONDS,'H');
+ $TOTALtalkSECONDShh = sec_convert($TOTALtalkSECONDS,'H');
+ $TOTALdispoSECONDShh = sec_convert($TOTALdispoSECONDS,'H');
+ $TOTALdeadSECONDShh = sec_convert($TOTALdeadSECONDS,'H');
+ $TOTALcustomerSECONDShh = sec_convert($TOTALcustomerSECONDS,'H');
+ $TOTALtotalSECONDS = ($TOTALpauseSECONDS + $TOTALwaitSECONDS + $TOTALtalkSECONDS + $TOTALdispoSECONDS);
+ $TOTALtotalSECONDShh = sec_convert($TOTALtotalSECONDS,'H');
+
+ $MAIN.="";
+ $MAIN.="$date[$i] ";
+ $MAIN.=" $TOTALpauseSECONDShh \n";
+ $MAIN.=" $TOTALwaitSECONDShh \n";
+ $MAIN.=" $TOTALtalkSECONDShh \n";
+ $MAIN.=" $TOTALdispoSECONDShh \n";
+ $MAIN.=" $TOTALdeadSECONDShh \n";
+ $MAIN.=" $TOTALcustomerSECONDShh \n";
+ $MAIN.=" $TOTALtotalSECONDShh \n";
+ $MAIN.=" \n";
+
+ echo $MAIN;
+ $MAIN='';
+
+ # $CSV_text7.="\"\",\"\",\""._QXZ("(in HH:MM:SS)")."\",\"$TOTALpauseSECONDShh\",\"$TOTALwaitSECONDShh\",\"$TOTALtalkSECONDShh\",\"$TOTALdispoSECONDShh\",\"$TOTALdeadSECONDShh\",\"$TOTALcustomerSECONDShh\"\n";
+
+ $i++;
+ }
+
+ $MAIN.="
\n";
+ }
+
+echo $MAIN;
+
+echo "\n\n
$db_source";
+
+echo "\n";
+
+if ($report_display_type=="TEXT" || !$report_display_type)
+ {
+ echo "\n";
+ echo "\n\n\n\n\n\n\n\n\n\n";
+
+ $m=0;
+ while ($m < $k)
+ {
+ $sort_split = explode("-----",$TOPsort[$m]);
+ $i = $sort_split[1];
+ $sort_order[$m] = "$i";
+
+ if ( ($TOPsortTALLY[$i] < 1) or ($TOPsortMAX < 1) )
+ {echo " \n";}
+ else
+ {
+ echo " ";
+ $TOPsortPLOT = ( MathZDC($TOPsortTALLY[$i], $TOPsortMAX) * 120 );
+ $h=0;
+ while ($h <= $TOPsortPLOT)
+ {
+ echo " ";
+ $h++;
+ }
+ echo "\n";
+ }
+ $m++;
+ }
+
+ echo "\n";
+ }
+
+if ($db_source == 'S')
+ {
+ mysqli_close($link);
+ $use_slave_server=0;
+ $db_source = 'M';
+ require("dbconnect_mysqli.php");
+ }
+
+$endMS = microtime();
+$startMSary = explode(" ",$startMS);
+$endMSary = explode(" ",$endMS);
+$runS = ($endMSary[0] - $startMSary[0]);
+$runM = ($endMSary[1] - $startMSary[1]);
+$TOTALrun = ($runS + $runM);
+
+$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
+if ($DB) {echo "|$stmt|\n";}
+$rslt=mysql_to_mysqli($stmt, $link);
+
+
+?>
+
+