Commit 9cdc15eb authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Correction du script release-notes/v10/10.1.0/05_insc_admin.sql

parent abbe7b42
Loading
Loading
Loading
Loading
+53 −5
Changes for doc/release-notes/v10/10.1.0/05_insc_admin.sql: 53 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -577,13 +577,61 @@ create index inscription_administrative_doctorant_hmfk_idx
/********************************************
             these_annee_univ
 ********************************************/

--
-- Nouvelles colonnes dans these_annee_univ (pour le traitement des IA) :
--   - témoin indiquant s'il s'agit de l'année de 1ere inscription ;
--   - lien vers l'inscription administrative concernée.
--
alter table these_annee_univ
    add inscription_administrative_id bigint
        references inscription_administrative;
    add if not exists inscription_administrative_id bigint references inscription_administrative;
create index if not exists these_annee_univ_ia on these_annee_univ (inscription_administrative_id);
alter table these_annee_univ
    add est_1ere_annee_inscription boolean default false not null;

    add if not exists est_1ere_annee_inscription bool default false not null;
create or replace view v_these_annee_univ_first
            (id, source_code, source_id, these_id, annee_univ, histo_createur_id, histo_creation, histo_modificateur_id,
             histo_modification, histo_destructeur_id, histo_destruction)
as
WITH firsts(source_code) AS (
    SELECT DISTINCT first_value(these_annee_univ.source_code)
                    OVER (PARTITION BY these_annee_univ.these_id ORDER BY these_annee_univ.annee_univ) AS first_value,
        true as est_1ere_annee_inscription
    FROM these_annee_univ
    WHERE these_annee_univ.histo_destruction IS NULL
)
SELECT au.id,
       au.source_code,
       au.source_id,
       au.these_id,
       au.annee_univ,
       au.histo_createur_id,
       au.histo_creation,
       au.histo_modificateur_id,
       au.histo_modification,
       au.histo_destructeur_id,
       au.histo_destruction
FROM these_annee_univ au
         JOIN firsts fi ON au.source_code::text = fi.source_code::text
--where au.source_id <> 1 // pourquoi écarter la source SyGAL ??
union
SELECT au.id,
       au.source_code,
       au.source_id,
       au.these_id,
       au.annee_univ,
       au.histo_createur_id,
       au.histo_creation,
       au.histo_modificateur_id,
       au.histo_modification,
       au.histo_destructeur_id,
       au.histo_destruction
FROM these_annee_univ au
where est_1ere_annee_inscription = true;
/* future update à lancer lorsqu'on débranchera l'import Apogée/Physalis :
update these_annee_univ tau set est_1ere_annee_inscription = true where tau.source_id <> 1 and tau.id in (
    SELECT DISTINCT first_value(id) OVER (PARTITION BY these_id ORDER BY annee_univ) AS first_value
    FROM these_annee_univ
    WHERE histo_destruction IS NULL
);*/