You are not logged in.
Bonjour
je voudrai afficher dans un tableau dans l'interface de GLPI un tableau ou seront affiché dans la première colonne les noms de tous les techniciens puis les 5 colonnes qui suivent les 5 jours de la semaine travaillé on affichera pour chaque technicien le nombre exacte d'heures qu'il a passé sur les tâches de la journée, si le technicien travail 7 heures et plus la colonne sera coloré en vert si le technicien a travaillé moins de 7 heures la colonne sera affiché en rouge,
Avez vous un plugin qui fait cette tâche, ou des pistes pour résoudre cette problématique ??
Cordialement,
Offline
Ecrire ce rapport avec le plugin Reports
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
c'est ce que je suis entrain de faire en suivant ce tuto https://forge.glpi-project.org/projects … /Fr_manuel
mais sa ne fait que beuguer il m'affiche pas les noms des techniciens et il prend pas en compte toutes les tâches effectué sur une période
Last edited by samira15 (2019-06-19 14:38:49)
Offline
yllen
Le voilà le sujet je l'ai ouvert ici et je ne trouve toujours pas de solution
Je suis complètement bloquée
Offline
postez le rapport que vous avez écrit en précisant la version de GLPI utilisée
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
en suivant le tuto j'ai eu presque le même code que La denree m'a passé qui est le suivant
Mais en le testant il me donne pas du tout le bon résultat.
il extrait pas les bon résultats de la base de données.
La version du GLPI que j'ai est le 9.4.2
<?php
/* ----------------------------------------------------------------------
* @version $Id: taskbyuser.php 198 2014-02-19 12:00:52Z la denree $
-------------------------------------------------------------------------
reports - Additional reports plugin for GLPI
Copyright (C) 2003-2011 by the reports Development Team.
https://forge.indepnet.net/projects/reports
-------------------------------------------------------------------------
LICENSE
This file is part of reports.
reports is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
reports is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with reports. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
*/
// Options for GLPI 0.71 and newer : need slave db to access the report
$USEDBREPLICATE = 1;
$DBCONNECTION_REQUIRED = 1;
// Initialization of the variables
define('GLPI_ROOT', '../../../..');
include (GLPI_ROOT . "/inc/includes.php");
//titre du rapport dans la liste de selection, soit en dur ici, soit mettre à jour la variable dans les fichiers de traduction;
$report = new PluginReportsAutoReport("tache par utilisateur");
//critère de selection;
$date = new PluginReportsDateIntervalCriteria($report, 'T.`date`',"Taches crees");
$report->displayCriteriasForm();
if ($report->criteriasValidated()) {
//Intitulés des colonnes : nom de la colonne dans la requete sql et nom affiché sur le rapport à l'ecran : mettre à jour la variable dans les fichiers de traduction;
$cols = array(new PluginReportsColumn('RDATE',"Date"),
new PluginReportsColumn('UREALNAME',"Utilisateur"),
new PluginReportsColumn('RTICKETID',"Ticket"),
new PluginReportsColumn('TDUREE',"Duree"),
new PluginReportsColumn('RNombre',"Taches créees"),
new PluginReportsColumn('RTOTAL',"Duree totale"),
);
$report->setColumns($cols);
$query = "SELECT
DATE_FORMAT(T.`date`, '%d %M %Y') AS RDATE,
U.`realname` AS UREALNAME,T.`tickets_id` AS RTICKETID,
SEC_TO_TIME( sum( T.actiontime ) ) AS TDUREE,
count(T.`tickets_id` ) AS RNombre,
( SELECT SEC_TO_TIME(sum( T.actiontime )) FROM `glpi_tickettasks` T
JOIN `glpi_users` U ON T.`users_id` = U.`id`
WHERE U.`id` =".Session::getLoginUserID(false) ." ". $date->getSqlCriteriasRestriction()." ) as RTOTAL
FROM `glpi_tickettasks` T
JOIN `glpi_users` U ON T.`users_id` = U.`id`
WHERE U.`id` =".Session::getLoginUserID(false) ." ". $date->getSqlCriteriasRestriction()." group by RDATE,UREALNAME,RTICKETID ";
$report->setSqlRequest($query);
$report->setGroupBy('RTOTAL');
$report->execute();
}
else {
Html::footer();
}
?>
Offline
Cette requete ne va lister que les dates auxquelles il y a eu des tâches d'affectées et le temps total pour toutes les requetes effectuées le même jour.
Il faut revoir votre requête SQL
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
j'ai pas les noms des techniciens ni toutes les tâches qui ont été effectué par les technicien pendant une journée par exemple
Donc comme vous dites c'est les requêtes SQL que je dois modifier.
Avez vous des pistes pour que je puisse extraire les bonnes informations de la base de données?
Offline
Là ça devient tordu.
En effet, :
- vous affichez une plage de date mais vous voulez un affichage uniquement les 5 jours travaillés, donc il faut plutot choisir un numéro de semaine et non une plage de date
- vous voulez le temps passé, mais quel temps ? le temps de résolution standard, le temps de résolution interne ? le temps indiqué dans la tâche ? le temps de planification de la tâche ?
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Comme vous dites s'il y'a moyen d'afficher en choisissant les numéros de semaines c'est mieux.
Je veux bien une requête qui extrait le temps que passe chaque technicien pour résoudre une tâche qu'il a créé pour chaque ticket
ps : c'est quoi la différence entre la résolution interne et la résolution standard ?
Last edited by samira15 (2019-07-02 15:57:08)
Offline
pour les couleurs je fais un truc comme ça :
SELECT
CASE
WHEN sum(glpi_tickettask.actiontime/3600)>7
THEN CONCAT( '<font color=green>', sum(glpi_tickettask.actiontime/3600) ,'</font>')
ELSE CONCAT( '<font color=red>', sum(glpi_tickettask.actiontime/3600) ,'</font>')
END AS TpsQuotidien
FROM.....
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline