You are not logged in.
Bonjour,
J'essaye de faire une requête en ce sens mais sans succès !
Il s'agit d'obtenir les tickets qui ont été clos mais sans technicien affecté
J'ai ceci mais ça ne donne rien
SELECT
-- `glpi_ticketvalidations`.`tickets_id`,
glpi_tickets.id,
`glpi_tickets`.`name`,
`date`,
`closedate`,
glpi_tickets.status,
realname AS Technicien
FROM
-- `glpi_ticketvalidations`,
`glpi_tickets`,
`glpi_users`,
`glpi_tickets_users`
WHERE
-- `glpi_ticketvalidations`.`tickets_id` = `glpi_tickets`.`id`
`glpi_tickets`.`id` = `glpi_tickets_users`.`tickets_id`
AND `glpi_tickets_users`.`users_id` = `glpi_users`.`id`
AND `glpi_tickets`.`closedate` IS NOT NULL
AND realname is NULL
-- AND glpi_tickets.id = 118451
-- ORDER BY `glpi_ticketvalidations`.`tickets_id`
PS : En d'autres termes également : comment rendre obligatoire l'attribution d'un technicien. On a bien des règles mais les admins peuvent traiter un tickets et le fermer sans se l'affecter !
Last edited by falco2001 (2021-12-07 17:09:41)
Offline
essayez ça :
SELECT glpi_tickets.id, `glpi_tickets`.`name`, `date`, `closedate`, glpi_tickets.status, realname AS Technicien
FROM `glpi_tickets`
left outer join `glpi_tickets_users` on `glpi_tickets_users`.`tickets_id`=`glpi_tickets`.`id` AND `glpi_tickets_users`.`type`='2'
left outer join `glpi_users` on `glpi_users`.`id`=`glpi_tickets_users`.`users_id`
WHERE `glpi_tickets`.`closedate` IS NOT NULL AND realname is NULL AND glpi_tickets.id > 118000
ORDER BY `glpi_tickets`.`id`
ça vous donnera la liste des tickets sans techniciens.
"
sinon le plugin comportements(Behaviours) permet de rendre le " Technicien obligatoire pour résoudre/fermer un ticket"
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
Bonjour,
Merci pour cette réponse très rapide.
La requête fonctionne et le plug-in aussi !
Que dire de plus. Superbe ... Merveilleux ....
A+
Offline
re,
Je voudrais mettre à jour maintenant ceux qui n'ont pas de technicien attribué sachant que dans 95% des cas c'est souvent la même personne qui traite les tickets sans se les affecter ! Dommage.
Voilà ce que je tente de faire : il s'agit bien de mettre à jour la table de jointure n-n ?
Je fais ceci en dev mais j'ai le message duplicate ... (Error Code: 1062. Duplicate entry '11197-2-0-' for key 'unicity'
)
ici je veux mettre à jour le ticket 93725 avec le technicien 9353 est-ce bien celà ?
Avez-vous un schéma (MCD) de la base ?
update glpi_tickets_users
inner join glpi_tickets on glpi_tickets_users.tickets_id = glpi_tickets.id
inner join glpi_users on glpi_tickets_users.users_id = glpi_users.id
set glpi_tickets_users.users_id = 9353
and glpi_tickets.id = 93725;
Ce que je ne comprends pas
Offline
si vous voulez ajouter un technicien il faut faute un insert pas un update
INSERT INTO glpi_tickets_users(tickets_id,users_id,type,use_notification) VALUES (93725,9353,2,0)
ça devrait marcher (si le technicien n'est pas déjà affecté.
ensuite vous pourrez remplacer par
INSERT INTO glpi_tickets_users(tickets_id,users_id,type,use_notification)
SELECT T.id,9353,2,0
FROM glpi_tickets AS T
LEFT OUTER JOIN glpi_tickets_users as TU on TU.tickets_id=T.id AND TU.type=2
WHERE TU.users_id is null
/!\ soyez prudent si vous travaiilez sur la base de prod ! assurez vous d'avoir un dump complet et de pouvoir le restaurer.
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
Bonsoir,
c'est parfait comme d'habitude.
J'ai lancé en dev. J'attends pour le lancer en prod !
Merci beaucoup
A+
Offline