You are not logged in.
Pages: 1
Topic closed
Bonjour,
Je suis en train de faire un programme permettant de mettre à jour la base de données du GLPI via l'API de Dell.
Je suis en pleine phase de développement mais lorsque je veux tester mon programme prend énormément de temps. De ce fait, il faut que je filtre les pc à récupérer afin d'avoir la plus petite liste possible pour que mon programme prenne le moins de temps possible à compiler.
Voici la requête SQL qui me permet de récupérer les pc actifs, neuf, en stock et dont la date de dernière modification date d'il y a moins de 21 jours:
SELECT glpi_computers.serial FROM glpi_computers
JOIN glpi_manufacturers on glpi_manufacturers.id=glpi_computers.manufacturers_id
WHERE glpi_computers.states_id in (1,2,9)
AND glpi_computers.date_mod<DATE_ADD(now(), INTERVAL -22 DAY)
AND UPPER(glpi_manufacturers.name) LIKE ('DELL%' )
J'aimerai savoir dans quelle table dois-je regarder pour avoir les dernières dates de garanties du glpi car les pc dont la dernière dates de garanties remontent à quelques années ne serviront à rien. Autre question dans ma requête la condition "dernière modificationdate d'il y a 21 jours" ne fonctionnent pas correctement car je récupère quand même des pc qui ont été modifiés en janvier... Je voulais savoir si elle était bonne.
Merci de vos réponses.
Offline
vous avez les pc modifiés il y a longtemps ( plus de 22 jours)
si vous voulez le pc modifiés recement ( moins de de 22 jours), il faut remplacer < par > dans AND glpi_computers.date_mod<DATE_ADD(now(), INTERVAL -22 DAY)
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
Merci beaucoup et pour voir la dernière date de garantie il faut bien regarder dans la table glpi_infocoms ?
Offline
pour la garantie il faut ajouter
JOIN glpi_infocoms ON glpi_infocoms.itemtype='Computer' AND glpi_infocoms.items_id=glpi_computers.id
et calculer la date de fin de garantie avec date de début et durée
edit : correction typo
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
Merci beaucoup je vais essayer ça.
Offline
Pouvez-vous me donner plus d'indications sur l'ajout de ces conditions à ma requête car depuis tout à l'heure je bloque dessus.
Merci
Offline
SELECT glpi_computers.serial, DATE_ADD(glpi_infocoms.warranty_date,INTERVAL glpi_infocoms.warranty_duration MONTH) AS FIN_GARANTIE
FROM glpi_computers
JOIN glpi_manufacturers on glpi_manufacturers.id=glpi_computers.manufacturers_id
JOIN glpi_infocoms ON glpi_infocoms.itemtype='Computer' AND glpi_infocoms.items_id=glpi_computers.id
WHERE glpi_computers.states_id in (1,2,9)
AND glpi_computers.date_mod>DATE_ADD(now(), INTERVAL -22 DAY)
AND UPPER(glpi_manufacturers.name) LIKE ('DELL%' )
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
Merci beaucoup je vais l'adapter à mes besoins.
Offline
Pages: 1
Topic closed