Point restant: 1-ma config Outlook ! 2-aJOUTER UN NOUVEL ETAT -ouvert (pas de carte) -carte recu ! faut il ajouter un nouveau bouton ? sur le edite du ticket ? ou comment proceder faut une nouvelle colonne dans la table queues_tickets_tab pour la date de reception de carte card_recovered_datetime_d ? 3-partir de rejet ! -ajouter un formulaire de visite (besoin d'infos) verifier si le prochain ticket est du service imatriculation ! si oui si le prochain est en attente de livraison de carte je l'ignore concernant les stats pour celui la je pense que le problème doit venir du système qui gere l'enregistrement du ticket dans la table crm_tickets_tab lorsque l'agent décroche, parce que quand j'ai récupéré leur base de données aujourd'hui pour cette journée il avait que 5 tickets dans la table. ce qui justifie ces stats // traitement point 3 public function getCallGlobalStats($startDate, $endDate, $granularity, $maxElement) { $dbAccess = $this->connectMysqlDatabase(); if (!$dbAccess['dbConnection']) { $logDebug = " Echec getCallGlobalStats() " . $dbAccess['errorMessage'] . " " . $dbAccess['errorCode'] . " MSISDN :: $this->msisdn"; $this->svaLog->writeSystemLog($logDebug); die("IMPOSSIBLE DE SE CONNECTER A LA BASE DE DONNEES"); } else { $sqlQuery = " SELECT DATE_FORMAT(m.calldate, '$granularity') as EVENT_DATE, SUM(CASE WHEN (SELECT CASE status_n WHEN 7 THEN 0 ELSE 1 END FROM crm_tickets_tab c WHERE m.uniqueid = c.char_field_2) = 1 THEN 1 ELSE 0 END) as TOTAL_PICKED, SUM(CASE WHEN (SELECT CASE status_n WHEN 7 THEN 0 ELSE 1 END FROM crm_tickets_tab c WHERE m.uniqueid = c.char_field_2) = 0 OR (SELECT status_n FROM crm_tickets_tab c WHERE m.uniqueid = c.char_field_2) IS NULL THEN 1 ELSE 0 END) as TOTAL_UNPICKED, COUNT(*) as TOTAL FROM `master_cdr_tab` m WHERE m.calldate >= '$startDate' AND m.calldate <= '$endDate' GROUP BY DATE_FORMAT(m.calldate, '$granularity') ORDER BY DATE_FORMAT(m.calldate, '$granularity') DESC; "; //echo $sqlQuery; $sqlResult = mysql_query($sqlQuery, $dbAccess['dbConnection']); $this->closeMysqlConnection($dbAccess['dbConnection']); } return $this->mysqlRessourceJson($sqlResult); } //traitement point 4 public function getDetailsStatsPerTeam($teamId, $granularity, $status, $startDate, $endDate, $maxElement) { $dbAccess = $this->connectMysqlDatabase(); if (!$dbAccess['dbConnection']) { $logDebug = " Echec getDetailsStatsPerTeam() " . $dbAccess['errorMessage'] . " " . $dbAccess['errorCode'] . " MSISDN :: $this->msisdn"; $this->svaLog->writeSystemLog($logDebug); die("IMPOSSIBLE DE SE CONNECTER A LA BASE DE DONNEES"); } else { $teamSql = ""; if ($teamId != -1) { $teamSql = "and s.team_id_n = $teamId"; } $statusSql = ""; if ($status !=-2) { $statusSql = "and p.status_n = $status"; } $sqlQuery = " SELECT DISTINCT DATE_FORMAT(c.event_datetime_d, '%d/%m/%Y %H:%i:%s') eventDate, s.team_name_v, m.user_name_v, c.ticket_number_v, a.motif_name_v, p.description_v FROM crm_tickets_tab c INNER JOIN master_users_tab m ON m.user_id_n = c.user_id_n INNER JOIN master_status_tab p ON p.status_n = c.status_n INNER JOIN master_motifs_tab a ON c.reason_n = a.motif_id_n INNER JOIN group_details_tab g ON c.user_id_n = g.entity_name_v INNER JOIN scc_teams_tab s ON s.team_id_n = g.additionnal_info_v WHERE c.event_datetime_d >= '$startDate' AND c.event_datetime_d <= '$endDate' $teamSql $statusSql AND g.additionnal_info_v = ( SELECT MIN(g2.additionnal_info_v) FROM group_details_tab g2 WHERE g2.entity_name_v = g.entity_name_v ) GROUP BY c.ticket_number_v, c.event_datetime_d, s.team_name_v, m.user_name_v, a.motif_name_v, p.description_v ORDER BY c.event_datetime_d DESC; "; //echo $sqlQuery; $sqlResult = mysql_query($sqlQuery, $dbAccess['dbConnection']); $this->closeMysqlConnection($dbAccess['dbConnection']); } return $this->mysqlRessourceJson($sqlResult); } fichier: rpt_get_dtls_per_team.php : eventDate la variable de date a modifier