diff --git "a/docs/fusion_\303\251l\303\250ves.md" "b/docs/fusion_\303\251l\303\250ves.md" new file mode 100644 index 000000000..bf782f8c8 --- /dev/null +++ "b/docs/fusion_\303\251l\303\250ves.md" @@ -0,0 +1,25 @@ +# Fusion élèves + +## Description + +Dans les SI du système éducatif français il n'est pas impossible qu'un élève physique se retrouve avec 2 INE. Lorsque c'est le cas il est possible qu'un retour d'intégration ASP échoue car il existe une contrainte d'unicité sur l'attribut `asp_individu_id`. Pour remédier ces cas et relancer l'intégration il est nécessaire de dédoublonner l'objet `Student` qui pose problème. Il existe à cet effet la classe `StudentMerger`. + +## Mode d'emploi + +## Etape 1: selectionner l'étudiant + +En utilisant l'id qui remonte dans Sentry ou Sidekiq: + +`student = Student.find_by!(asp_individu_id: asp_id)` + +## Etape 2: Verifier si il y a des doublons + +`students = Student.where(last_name: student.last_name, first_name: student.first_name, birthplace_city_inseecode: student.birthplace_city_inseecode, birthdate: student.birthdate)` + +## Etape 3: Fusionner les étudiants + +`StudentMerger.new(students.to_a).merge!` + +## Etape 4: Relancer les fichiers d'intégration + +Cliquer "Retry Now" pour le job dans le panneau d'administration de Sidekiq.