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

Merge branch 'release-1.2.6'

parents a5600266 bd4f4785
Pipeline #5692 passed with stage
in 16 seconds
......@@ -7,7 +7,17 @@ v1.2.6 (21/10/2019)
### Améliorations
- Prise en compte de l'INE (identifiant national étudiant) ajouté dans la vue SYGAL_DOCTORANT.
Utile pour l'enquête ministérielle.
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)
......
......@@ -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',
];
......@@ -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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment