Commit e649a171 authored by Johnny Leveneur's avatar Johnny Leveneur
Browse files

correction bug import incription administrative

parent de2a9d00
Loading
Loading
Loading
Loading
+6 −0
Changes for SQL/01_schemas.sql: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -357,3 +357,9 @@ alter table public.etudiant_etablissement
    owner to ad_suac_pp;


/* Vérification import établissement */

select * from etudiant_inscription_administrative where source_id = 'ESAM'
                                                  -- and etudiant_id = 'ESAM_minapinpin479@gmail.com'
                                                  --and annee_univ = '2024'
                                                  order by etudiant_id , annee_univ;
 No newline at end of file
+8 −4
Changes for module/Etudiant/src/Service/Etudiant/EtudiantService.php: 8 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -208,6 +208,7 @@ class EtudiantService

        $nbCreationEtudiant = 0;
        $nbMajEtudiant = 0;
        $nbCreationIA = 0;
        $nbMajIA = 0;

        foreach ($etudiants as $etudiant) {
@@ -227,6 +228,7 @@ class EtudiantService

                // inscription administrative
                $ia = new InscriptionAdministrative();
                $nbCreationIA++;
                $ia->setId(uniqid($etudiant['source_id'] . '_'));
                $ia->setAnneeUniv($etudiant['annee']);
                $ia->setEtablissement($etudiant['etablissement']);
@@ -276,11 +278,12 @@ class EtudiantService

                // inscription administrative
                $IAs = $e->getInscriptionsAdministratives();
                $isMaj = false;
                $isNewIA = true;
                foreach ($IAs as $ia) {
                    /** @var InscriptionAdministrative $ia */
                    if ($ia->getAnneeUniv() == $etudiant['annee'] && $ia->getEtablissement() == $etudiant['etablissement']) {
                        $isMajIA = false;
                        $isNewIA = false;
                        if ($etudiant['source_id'] != $ia->getSourceId()) {
                            $ia->setSourceId($etudiant['source_id']);
                            $isMajIA = true;
@@ -304,15 +307,15 @@ class EtudiantService


                        if ($isMajIA) {
                            $isMaj = true;
                            $ia->setUpdatedOn(new \DateTime());
                            $this->getInscriptionAdministrativeService()->update($ia);
                            $nbMajIA++;
                        }
                    }
                }
                if (!$isMaj) {
                if ($isNewIA) {
                    $ia = new InscriptionAdministrative();
                    $nbCreationIA++;
                    $ia->setId(uniqid($etudiant['source_id'] . '_'));
                    $ia->setAnneeUniv($etudiant['annee']);
                    $ia->setEtablissement($etudiant['etablissement']);
@@ -331,7 +334,8 @@ class EtudiantService
        }
        $messages[] = "Création de " . $nbCreationEtudiant . " étudiant(s)";
        $messages[] = "Mise à jour de " . $nbMajEtudiant . " étudiant(s)";
        if ($nbMajIA > 0) $messages[] = "Mise à jour de " . $nbMajIA . " inscription(s) administrative(s)";
        $messages[] = "Création de " . $nbCreationIA . " inscription(s) administrative(s)";
        $messages[] = "Mise à jour de " . $nbMajIA . " inscription(s) administrative(s)";

        return $messages;
    }