+
+
+
- |
- |
- |
- |
- |
+ Client |
+ Tickets raised |
+ By priority: Low |
+ By priority: Med |
+ By priority: High |
+ Tickets resolved |
+ Total Time worked (H:M:S) |
+ Avg time to resolve |
+
+
-
-
+ while ($row = mysqli_fetch_array($sql_clients)) {
+ $client_id = intval($row['client_id']);
+ $client_name = nullable_htmlentities($row['client_name']);
+
+ // Calculate total tickets raised in period
+ $sql_ticket_raised_count = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS ticket_raised_count FROM tickets WHERE YEAR(ticket_created_at) = $year AND ticket_client_id = $client_id");
+ $row = mysqli_fetch_array($sql_ticket_raised_count);
+ $ticket_raised_count = intval($row['ticket_raised_count']);
+
+ // Calculate total tickets raised in period that are resolved
+ $sql_ticket_resolved_count = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS ticket_resolved_count FROM tickets WHERE YEAR(ticket_created_at) = $year AND ticket_client_id = $client_id AND ticket_resolved_at IS NOT NULL");
+ $row = mysqli_fetch_array($sql_ticket_resolved_count);
+ $ticket_resolved_count = intval($row['ticket_resolved_count']);
+
+ // Breakdown tickets for each priority - Low
+ $sql_low_ticket_count = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS low_ticket_count FROM TICKETS WHERE YEAR(ticket_created_at) = $year AND ticket_client_id = $client_id AND ticket_priority = 'Low'");
+ $row = mysqli_fetch_array($sql_low_ticket_count);
+ $low_ticket_count = intval($row['low_ticket_count']);
+
+ // Breakdown tickets for each priority - Low
+ $sql_med_ticket_count = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS med_ticket_count FROM TICKETS WHERE YEAR(ticket_created_at) = $year AND ticket_client_id = $client_id AND ticket_priority = 'Medium'");
+ $row = mysqli_fetch_array($sql_med_ticket_count);
+ $med_ticket_count = intval($row['med_ticket_count']);
+
+ // Breakdown tickets for each priority - Low
+ $sql_high_ticket_count = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS high_ticket_count FROM TICKETS WHERE YEAR(ticket_created_at) = $year AND ticket_client_id = $client_id AND ticket_priority = 'High'");
+ $row = mysqli_fetch_array($sql_high_ticket_count);
+ $high_ticket_count = intval($row['high_ticket_count']);
+
+ // Used to calculate average time to resolve tickets that were raised in period specified
+ $sql_tickets = mysqli_query($mysqli, "SELECT ticket_created_at, ticket_resolved_at FROM tickets WHERE YEAR(ticket_created_at) = $year AND ticket_client_id = $client_id AND ticket_resolved_at IS NOT NULL");
+
+ // Calculate total time tracked towards tickets in the period
+ $sql_time = mysqli_query($mysqli, "SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(ticket_reply_time_worked))) as total_time FROM ticket_replies LEFT JOIN tickets ON tickets.ticket_id = ticket_replies.ticket_reply_ticket_id WHERE YEAR(ticket_created_at) = $year AND ticket_client_id = $client_id AND ticket_reply_time_worked IS NOT NULL");
+ $row = mysqli_fetch_array($sql_time);
+ $ticket_total_time_worked = nullable_htmlentities($row['total_time']);
+
+ if ($ticket_raised_count > 0 || $ticket_resolved_count > 0) {
+
+ $avg_time_to_resolve = '-';
+ if ($ticket_resolved_count > 0) {
+ // Calculate average time to solve
+ $count = 0;
+ $total = 0;
+ while ($row = mysqli_fetch_array($sql_tickets)) {
+ $openedTime = new DateTime($row['ticket_created_at']);
+ $resolvedTime = new DateTime($row['ticket_resolved_at']);
+
+ $total += ($resolvedTime->getTimestamp() - $openedTime->getTimestamp());
+ $count++;
+ }
+ $avg_time_to_resolve = secondsToTime($total / $count);
+ }
+
+ ?>
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+