Commit 9680e54a authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'release-1.2.6'

parents a5600266 bd4f4785
Loading
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -8,6 +8,16 @@ v1.2.6 (21/10/2019)

- Prise en compte de l'INE (identifiant national étudiant) ajouté dans la vue SYGAL_DOCTORANT. 
  Utile pour l'enquête ministérielle.
- Chaque établissement peut fournir à SyGAL le libellé du "tribunal compétent" 
  mentionné dans la convention de mise en ligne générée par l'application.  
  
### Corrections

- Abandon de la colonne `COD_ANU_PRM_IAE` dans `SYGAL_THESE` qui est redondante du fait qu'une vue
  `SYGAL_THESE_ANNEE_UNIV` existe. De plus, cette colonne remontait une année de 1ere inscription erronée en cas 
  de changement de discipline. 
- Correction de la vue `SYGAL_ACTEUR` pour éviter des doublons (rarissimes) dans la colonne `ID` pouvant 
  faire échouer l'import dans SyGAL.  


v1.2.5 (09/04/2019)
+2 −2
Original line number Diff line number Diff line
@@ -3,8 +3,8 @@ return [
    'unicaen-app' => [
        'app_infos' => [
            'version' => '1.2.6',
            'date' => '21/10/2019',
            'date' => '12/11/2019',
        ],
    ],
    'comment' => 'Fichier généré le 21/10/2019 à 11:39:20 avec /home/gauthierb/workspace/sygal-import-ws/bump-version',
    'comment' => 'Fichier généré le 12/11/2019 à 11:39:20 avec /home/gauthierb/workspace/sygal-import-ws/bump-version',
];
+124 −2
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ Base de données

### Apogée

La vue `SYGAL_DOCTORANT` doit être mise à jour pour ajouter le numéro INE (identifiant étudiant national) dans la 
- La vue `SYGAL_DOCTORANT` doit être mise à jour pour ajouter le numéro INE (identifiant étudiant national) dans la 
colonne `INE`.

```sql
@@ -42,6 +42,128 @@ where ths.cod_ths_trv = '1' -- Exclusion des travaux
/
```

- La vue `SYGAL_ACTEUR` doit être mise à jour pour éviter des doublons (rarissimes) dans la colonne `ID` pouvant 
  faire échouer l'import dans SyGAL.

```sql
create or replace view SYGAL_ACTEUR as
    with acteur as (
        select
                'D.'||ths.cod_ths||'.'||ths.cod_per_dir||'.'||ths.cod_etb_dir||'.'||ths.cod_cps_dir as id,
                ths.cod_ths,
                'D'              as cod_roj,
                ths.cod_per_dir  as cod_per,
                ths.cod_etb_dir  as cod_etb,
                ths.cod_cps_dir  as cod_cps,
                null             as tem_rap_recu,
                null             as cod_roj_compl
        from these_hdr_sout ths
        where ths.cod_ths_trv = '1' and ths.cod_per_dir is not null
        union
        select
                'K1.'||ths.cod_ths||'.'||ths.cod_per_cdr||'.'||ths.cod_etb_cdr||'.'||ths.cod_cps_cdr as id,
                ths.cod_ths,
                'K'              as cod_roj,
                ths.cod_per_cdr  as cod_per,
                ths.cod_etb_cdr  as cod_etb,
                ths.cod_cps_cdr  as cod_cps,
                null             as tem_rap_recu,
                null             as cod_roj_compl
        from these_hdr_sout ths
        where ths.cod_ths_trv = '1' and ths.cod_per_cdr is not null
        union
        select
                'K2.'||ths.cod_ths||'.'||ths.cod_per_cdr2||'.'||ths.cod_etb_cdr2||'.'||ths.cod_cps_cdr2 as id,
                ths.cod_ths,
                'K'              as cod_roj,
                ths.cod_per_cdr2 as cod_per,
                ths.cod_etb_cdr2 as cod_etb,
                ths.cod_cps_cdr2 as cod_cps,
                null             as tem_rap_recu,
                null             as cod_roj_compl
        from these_hdr_sout ths
        where ths.cod_ths_trv = '1' and ths.cod_per_cdr2 is not null
        union
        select
                'R.'||trs.cod_ths||'.'||trs.cod_per as id,
                trs.cod_ths,
                'R'              as cod_roj,
                trs.cod_per,
                null             as cod_etb,
                null             as cod_cps,
                trs.tem_rap_recu,
                null             as cod_roj_compl
        from ths_rap_sou trs
        union
        select
                'M.'||tjp.cod_ths||'.'||tjp.cod_per||'.'||tjp.cod_etb||'.'||tjp.cod_cps||'.'||tjp.cod_roj as id,
                tjp.cod_ths,
                'M'              as cod_roj,
                tjp.cod_per,
                tjp.cod_etb,
                tjp.cod_cps,
                null             as tem_rap_recu,
                case when tjp.cod_roj in ( 'P', 'B', 'A' ) then tjp.cod_roj else null end as cod_roj_compl
        from ths_jur_per tjp
    )
    select distinct
        act.id                                                                as id,
        'apogee'                                                              as source_id,               -- Id de la source
        act.cod_ths                                                           as these_id,                -- Identifiant de la these
        roj.cod_roj                                                           as role_id,                 -- Identifiant du rôle
        cast(act.cod_roj_compl as varchar2(1 char))                           as cod_roj_compl,           -- Code du complement sur le role dans le jury
        rjc.lib_roj                                                           as lib_roj_compl,           -- Libelle du complement sur le role dans le jury
        act.cod_per,
        coalesce(
                regexp_replace(per.num_dos_har_per,'[^0-9]',''),
                'COD_PER_'||act.cod_per
            )                                                                 as individu_id,             -- Code Harpege ou Apogee de l acteur
        nvl ( act.cod_etb, per.cod_etb )                                      as acteur_etablissement_id, -- Id de l'etablissement de l'acteur
        case when etb.cod_dep = '099' then etb.cod_pay_adr_etb else null end  as cod_pay_etb,             -- Code pays etablissement
        case when etb.cod_dep = '099' then pay.lib_pay         else null end  as lib_pay_etb,             -- Libelle pays etablissement
        cps.cod_cps,                                                                                      -- Code du corps d'appartenance
        cps.lib_cps,                                                                                      -- Libelle du corps d'appartenance
        per.tem_hab_rch_per,                                                                              -- HDR (O/N)
        act.tem_rap_recu                                                                                  -- Rapport recu (O/N)
    from acteur                  act
             join SYGAL_ROLE_JURY       roj on roj.cod_roj = act.cod_roj
             join personnel             per on per.cod_per = act.cod_per
             left join corps_per        cps on cps.cod_cps = nvl ( act.cod_cps, per.cod_cps )
             left join etablissement    etb on etb.cod_etb = nvl ( act.cod_etb, per.cod_etb )
             left join pays             pay on pay.cod_pay = etb.cod_pay_adr_etb
             left join SYGAL_ROLE_JURY  rjc on rjc.cod_roj = act.cod_roj_compl
/
```

- La vue `SYGAL_VARIABLE_MANU` doit être modifiée pour fournir à SyGAL le libellé du "tribunal compétent" 
  mentionné dans la convention de mise en ligne générée par l'application.
  
  Reprenez le script SQL de la vue `SYGAL_VARIABLE_MANU` existante dans votre base de données Apogée et 
  ajoutez un `union all` comme suit *en prenant soin au préalable d'adapter à votre situation la valeur de la 
  colonne `PAR_VAP`* :

```sql
create or update view SYGAL_VARIABLE_MANU as
    /* ... */
    union all
    select
        'apogee' as source_id,
        'TRIBUNAL_COMPETENT' as id,
        'TRIBUNAL_COMPETENT' as cod_vap,
        'Tribunal compétent' as lib_vap,
        'Le Tribunal Administratif de Caen' as par_vap, --< à adapter
        to_date('1900-01-01', 'YYYY-MM-DD') as DATE_DEB_VALIDITE,
        to_date('9999-12-31', 'YYYY-MM-DD') as DATE_FIN_VALIDITE
    from dual
```


### Physalis

Ajouter la colonne `INE` dans la vue `SYGAL_DOCTORANT`, éventuellement forcée à `NULL` dans un premier temps.
- Ajouter dans la vue `SYGAL_DOCTORANT` le numéro INE du doctorant dans une colonne nommée `INE`, éventuellement 
  forcée à `NULL` dans un premier temps.

- La vue `SYGAL_VARIABLE_MANU` doit être modifiée pour fournir à SyGAL le libellé du "tribunal compétent" 
  mentionné dans la convention de mise en ligne générée par l'application.
  Cf. paragraphe Apogée ci-dessus.
  
 No newline at end of file