Script migration pour forcer les pays nationalité en 'France' pour les...
Script migration pour forcer les pays nationalité en 'France' pour les dossiers intervenants déjà validés sans pays nationalité et avec un pays de naissance 'France'
$console->println("Remise en conformité des dossiers intervenants déjà validés avec un pays nationalité manquant");
$sqlNationalite="
SELECT d.id FROM intervenant_dossier d
JOIN intervenant i ON i.id = d.intervenant_id
JOIN validation v ON d.intervenant_id = v.intervenant_id AND type_validation_id = 1 AND v.histo_destruction IS NULL
WHERE d.pays_nationalite_id IS NULL
AND d.histo_destruction IS NULL
AND d.pays_naissance_id = (SELECT id FROM PAYS WHERE ose_divers.str_reduce(libelle) = 'france' AND HISTO_DESTRUCTION IS NULL)
";
$result=$bdd->select($sqlNationalite);
$console->println("PRE TRAITEMENT : Nombre de dossier intervenant validé sans pays nationalité dont le pays naissance est France : ".count($result));
$console->println("TRAITEMENT : Lancement traitement pour forcer nationalité 'France' pour les naissance en 'France'");
$sqlUpdateNationalite="
UPDATE intervenant_dossier SET pays_nationalite_id = (SELECT id FROM PAYS WHERE ose_divers.str_reduce(libelle) = 'france' AND HISTO_DESTRUCTION IS NULL)
WHERE id IN (
SELECT d.id FROM intervenant_dossier d
JOIN intervenant i ON i.id = d.intervenant_id
JOIN validation v ON d.intervenant_id = v.intervenant_id AND type_validation_id = 1 AND v.histo_destruction IS NULL
WHERE d.pays_nationalite_id IS NULL
AND d.histo_destruction IS NULL
AND d.pays_naissance_id = (SELECT id FROM PAYS WHERE ose_divers.str_reduce(libelle) = 'france' AND HISTO_DESTRUCTION IS NULL)
)
";
$bdd->exec($sqlUpdateNationalite);
$result=$bdd->select($sqlNationalite);
$console->println("POST TRAITEMENT : Nombre de dossier intervenant validé sans pays nationalité dont le pays naissance est France : ".count($result));