Problème de visualisation des statistiques

Vous avez trouvé un bug dans l'application (dernière version stable ou bêta): Décrivez le ici afin que la correction soit intégrée a la prochaine version.
Répondre
samy3316
Gsup LEVEL 3
Messages : 56
Enregistré le : ven. 22 janv. 2016 11:08

Bonjour.

J'ai installé la version 3.0.11.

Je rencontre un problème lors de la visualisation des statistiques.
Lorsque je veux visualiser les statistiques d'une catégorie dont aucun TT n'est fermé, aucune stat ne s'affiche et j'ai l'erreur suivante :
Erreur: Aucun ticket ouvert et fermé dans la plage indiqué.

Même problème si je veux obtenir les statistiques d'un technicien qui n'a fermé aucun TT.

Hors j'aimerais pouvoir visualiser les stats sur le nombre de TT en cours, en attente de PEC, en attente de retour, etc.

Avez-vous une solution ?

Merci par avance pour votre réponse.
GestSup 3.1.7 - Fedora 21 - Firefox/Chrome/IE - PHP 5.6 - MySQL 5.5 - Apache 2.4
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

Effectivement actuellement le logiciel n'affiche le 1er graphique, uniquement si au moin un ticket a été fermé.

Nous allons travailler sur ce point pour les prochaines versions, afin de répondre a votre besoin.

Cdt
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
samy3316
Gsup LEVEL 3
Messages : 56
Enregistré le : ven. 22 janv. 2016 11:08

Bonjour.

Merci beaucoup pour votre retour.
Je vais donc attendre la prochaine version :D
GestSup 3.1.7 - Fedora 21 - Firefox/Chrome/IE - PHP 5.6 - MySQL 5.5 - Apache 2.4
samy3316
Gsup LEVEL 3
Messages : 56
Enregistré le : ven. 22 janv. 2016 11:08

Bonjour.

Je pense avoir trouvé le problème pour que l'affichage des statistiques se fasse alors qu'aucun TT n'a été fermé.

Le problème (si s'en est vraiment un) se trouve dans ./stats/line_tickets.php.
On a ceci

Code : Tout sélectionner

//count create period
$req= mysql_query( "SELECT count(*) FROM `tincidents` WHERE technician LIKE '$_POST[tech]' and criticality like '$_POST[criticality]' and type LIKE '$_POST[type]' and category LIKE '$_POST[category]' and date_create not like '0000-00-00 00:00:00'  and date_create like '$_POST[year]-$_POST[month]-%' AND disable='0'");
$res = mysql_fetch_array($req);
$count=$res[0];

//count create period
$req= mysql_query( "SELECT count(*) FROM `tincidents` WHERE technician LIKE '$_POST[tech]' and criticality like '$_POST[criticality]' and type LIKE '$_POST[type]' and category LIKE '$_POST[category]' and date_res not like '0000-00-00 00:00:00' and date_res like '$_POST[year]-$_POST[month]-%' AND disable='0'");
$res = mysql_fetch_array($req);
$count2=$res[0];

//count current open
$req3= "SELECT count(*) FROM `tincidents` WHERE technician LIKE '$_POST[tech]' and criticality like '$_POST[criticality]' and type LIKE '$_POST[type]' and category LIKE '$_POST[category]' AND disable='0' AND state!=3 AND state!=4";
$req3= mysql_query($req3);
$res3 = mysql_fetch_array($req3);
$count3=$res3[0];

//count total 
$req4= "SELECT count(*) FROM `tincidents` WHERE technician LIKE '$_POST[tech]' and criticality like '$_POST[criticality]' and type LIKE '$_POST[type]' and category LIKE '$_POST[category]' AND disable='0'";
$req4= mysql_query($req4);
$res4 = mysql_fetch_array($req4);
$count4=$res4[0];
Dans le 2e "count create period" on "re-rempli" la variable $res[0] écrasant de fait sa précédente valeur avec une requête SQL qui ne prend en compte que les TT fermé sur la période sélectionnée.

Code : Tout sélectionner

SELECT count(*) FROM `tincidents` WHERE technician LIKE '$_POST[tech]' and criticality like '$_POST[criticality]' and type LIKE '$_POST[type]' and category LIKE '$_POST[category]' and date_res not like '0000-00-00 00:00:00' and date_res like '$_POST[year]-$_POST[month]-%' AND disable='0'"
Donc en commentant les 3 lignes suivantes, dans les statistiques je fais apparaitre tous les TT ouverts correspondant aux critères sélectionnées.

Code : Tout sélectionner

//$req= mysql_query( "SELECT count(*) FROM `tincidents` WHERE technician LIKE '$_POST[tech]' and criticality like '$_POST[criticality]' and type LIKE '$_POST[type]' and category LIKE '$_POST[category]' and date_res not like '0000-00-00 00:00:00' and date_res like '$_POST[year]-$_POST[month]-%' AND disable='0'");
//$res = mysql_fetch_array($req);
//$count2=$res[0];

Je me demande si ce n'est pas une erreur car on rempli 4 variables au début du code :
- $res[0]
- $res[0]
- $res3[0]
- $res4[0]
On dirait qu'il faudrait plutôt mettre $res2[0] pour la 2e variable.
Ce n'est qu'une intuition car par la suite on ne trouve pas de $res2[0].

De plus on pourrais se servir de cette variable $res2[0] pour afficher si on le désire uniquement les TT fermés (en sélectionnant avec un champs déroulant par exemple).
GestSup 3.1.7 - Fedora 21 - Firefox/Chrome/IE - PHP 5.6 - MySQL 5.5 - Apache 2.4
Répondre