Base de données #476
ferméAssistance #494: Suivi réunion
Générer la requête qui met à jour les liens ISQM manquant dans les templates
0%
Description
Faire une requête qui, à base d'une template valide, insère dans la DB (templatetaskresponses) les liens manquants dans un autre template incomplet en faisant le lien avec la référence.
Requête qui détecte les taches sans lien ISQM (Attention, toutes n'en n'ont pas nécessairement besoin).
select distinct templatetasks.* from items
join worksteps ON worksteps.itemid = items.itemid and items.active = true
join worktasks ON worktasks.workstepid = worksteps.workstepid
join templatetasks ON templatetasks.templatetaskid = worktasks.templatetaskid and worktasks.active = true
join templateworks ON templateworks.templateworkid = templatetasks.templateworkid and templatetasks.active = true
left join templatetaskresponses ON templatetaskresponses.templatetaskid = templatetasks.templatetaskid
where items.itemstatusid <> 3 and templatetaskresponses.responseid is null
Mis à jour par Ruben il y a 9 mois
Injections à faire chez CDP :
Dans le templateworkid 28 & 29 :
- templatetaskreference "QEPC" : responseid : 91
Dans le templateworkid 46 :
- templatetaskreference "QEQR" : responseid : 129, 212
- templatetaskreference "RPVAG" : responseid : 546
Dans le templateworkid 47 & 48 :
- templatetaskreference "COM, EOC" : responseid 545
Mis à jour par Emilien il y a 9 mois · Edité
- Statut changé de Nouveau à En cours
Les injections ont été effectuées sur une BD de test et tout à l'air de fonctionner correctement lorsqu'on regénère une mission.
Voici la requête utilisée :
insert into templatetaskresponses (templatetaskid, responseid)
with r as(
SELECT 28 AS templateworkid, 'QEPC' AS templatetaskreference, 91 AS responseid
UNION ALL
SELECT 29, 'QEPC', 91
UNION ALL
SELECT 46, 'QEQR', 129
UNION ALL
SELECT 46, 'QEQR', 212
UNION ALL
SELECT 46, 'RPVAG', 546
UNION ALL
SELECT 47, 'COM', 545
UNION ALL
SELECT 47, 'EOC', 545
UNION ALL
SELECT 48, 'COM', 545
UNION ALL
SELECT 48, 'EOC', 545)
SELECT
tt.templatetaskid, r.responseid
FROM templateworks tw
JOIN templatetasks tt ON tt.templateworkid = tw.templateworkid AND tt.active
join r on r.templateworkid = tw.templateworkid and r.templatetaskreference = tt.templatetaskreference
left join templatetaskresponses ttr on ttr.templatetaskid = tt.templatetaskid
WHERE tw.templateworkid IN (28,29,46,47,48)
AND tw.active
AND (
(tw.templateworkid IN (28, 29) AND tt.templatetaskreference = 'QEPC') OR
(tw.templateworkid = 46 AND tt.templatetaskreference = 'QEQR' ) OR
(tw.templateworkid = 46 AND tt.templatetaskreference = 'RPVAG' ) OR
(tw.templateworkid IN (47, 48) AND tt.templatetaskreference in ('COM', 'EOC'))
);
Mis à jour par Ruben il y a 9 mois
A faire :
- Utiliser la requête qui est sur le drive (05. Base de connaissances > Requêtes utiles > Tâches sans lien ISQM) pour aller voir sur les instances clients quels éléments doivent être reliés
- Regarder aux modèles de travail des missions spéciales (surtout la partie acceptation) pour n'en faire plus qu'un seul et réduire le nombre de modèles de travail utilisés dans les missions spéciales