Skip to content
Snippets Groups Projects
Commit d99e6195 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Doc de version 1.2.2

parent 2d5bc215
No related branches found
No related tags found
No related merge requests found
Pipeline #3112 passed
...@@ -43,3 +43,9 @@ des acteurs. ...@@ -43,3 +43,9 @@ des acteurs.
- [FEATURE] Une nouvelle vue SYGAL_TITRE_ACCES apparaît pour fournir les titres d'accès à l'inscription en thèse. - [FEATURE] Une nouvelle vue SYGAL_TITRE_ACCES apparaît pour fournir les titres d'accès à l'inscription en thèse.
- [FEATURE] Pour les corrections attendues d'une thèse, on parle désormais de corrections facultatives ou obligatoires, - [FEATURE] Pour les corrections attendues d'une thèse, on parle désormais de corrections facultatives ou obligatoires,
plutôt que mineures ou majeures. La vue `SYGAL_THESE` est retouchée en ce sens. plutôt que mineures ou majeures. La vue `SYGAL_THESE` est retouchée en ce sens.
## v1.2.2 (21/12/2018)
- [FEATURE] Nouvelle colonne dans la vue SYGAL_THESE : année universitaire de première inscription en thèse.
- [FEATURE] Nouvelle vue SYGAL_THESE_ANNEE_UNIV : liste pour chaque thèse de toutes les années universitaires
où le doctorant était inscrit en thèse.
# v1.2.2
## Sources PHP
Sur le serveur, placez-vous dans le répertoire du web service (sans doute `/var/www/sygal-import-ws`)
puis lancez les commandes suivantes pour installer la nouvelle version :
```bash
git fetch && git fetch --tags && git checkout --force 1.2.2 && bash install.sh
```
Selon le moteur PHP que vous avez installé, rechargez le service, exemple :
- php7.0-fpm : `service php7.0-fpm reload`
- apache2-mod-php7.0 : `service apache2 reload`
## Base de données
### Apogée
Dans la vue `SYGAL_THESE` :
- 2 colonnes sont renommées :
- `cod_nat_edo` devient `ecole_doct_id` : Identifiant de l'ecole doctorale
- `cod_eqr` devient `unite_rech_id` : Identifiant de l'unité de recherche principale
- une nouvelle colonne apparaît :
- `cod_anu_prm_iae` : C'est le code de l'année universitaire de première inscription en thèse,
ex: `2015` signifie l'année universitaire 2015/2016. Cette colonne ne peut être à `null`, théoriquement.
Voici le nouveau script de la vue `SYGAL_THESE` :
```sql
create or replace view SYGAL_THESE as
with inscription_administrative as (
select
iae.cod_ind,
iae.cod_dip,
iae.cod_vrs_vdi,
dip.lib_dip,
min ( iae.cod_anu ) cod_anu_prm_iae,
max ( iae.cod_anu ) cod_anu_der_iae
from ins_adm_etp iae
join diplome dip on dip.cod_dip = iae.cod_dip
join typ_diplome tpd on tpd.cod_tpd_etb = dip.cod_tpd_etb
where iae.eta_iae = 'E' -- Inscription administrative non annulee
and iae.eta_pmt_iae = 'P' -- Inscription administrative payee
and dip.cod_tpd_etb in ( '39', '40' )
and tpd.eta_ths_hdr_drt = 'T' -- Inscription en these
and tpd.tem_sante = 'N' -- Exclusion des theses d exercice
group by
iae.cod_ind,
iae.cod_dip,
iae.cod_vrs_vdi,
dip.lib_dip
),
hierarchie_structures as (
select
cod_cmp_inf,
cod_cmp_sup
from cmp_cmp
where connect_by_isleaf = 1
connect by prior cod_cmp_sup = cod_cmp_inf
),
ancienne_these as (
select distinct
cod_ind,
cod_dip_anc,
cod_vrs_vdi_anc,
'A' eta_ths
from these_hdr_sout
where cod_ths_trv = '1'
and cod_dip_anc is not null
)
select
'apogee' as source_id, -- Id de la source
---------- Enregistrement de la these --------
ths.cod_ths as id, -- Identifiant de la these
case when ths.eta_ths = 'S' and nvl ( ths.dat_sou_ths, sysdate + 1 ) > sysdate
then 'E' else ths.eta_ths end eta_ths, -- Etat de la these (E=En cours, A=Abandonnee, S=Soutenue, U=Transferee)
ind.cod_etu as doctorant_id, -- Identifiant du doctorant
ths.cod_dis, -- Code discipline
dis.lib_int1_dis, -- Libellé discipline
ths.lib_ths, -- Titre de la these
ths.cod_lng, -- Code langue etrangere du titre
ths.dat_deb_ths, -- Date de 1ere inscription
iae.cod_anu_prm_iae, -- Code annee de premiere inscription
edo.cod_nat_edo as ecole_doct_id, -- Identifiant de l'ecole doctorale
ths.cod_eqr as unite_rech_id, -- Identifiant de l'unité de recherche principale
----------- Cotutelle ----------
pay.lib_pay, -- Denomination pays de cotutelle
nvl ( etb.lib_web_etb, etb.lib_etb ) lib_etb_cot, -- Denomination etablissement de cotutelle
ths.tem_avenant, -- Avenant a la convention de cotutelle (O/N)
------- Organisation de la soutenance ------
ths.dat_prev_sou, -- Date previsionnelle de soutenance
ths.tem_sou_aut_ths, -- Soutenance autorisee (O/N/null)
ths.dat_aut_sou_ths, -- Date d autorisation de soutenance
ths.dat_sou_ths, -- Date de soutenance de la these
---------- Confidentialite --------
ths.dat_fin_cfd_ths, -- Date de fin de confidentialite de la these
---------- Jury et resultats --------
tre.cod_neg_tre, -- Resultat positif (1) ou non (0)
ths.eta_rpd_ths, -- Reproduction de la these ( O=Oui / C=Oui avec corrections / N=Non )
decode(ths.eta_rpd_ths,
'N', 'obligatoire',
'C', 'facultative',
null) as correction_possible -- Témoin de corrections attendues
from inscription_administrative iae
join individu ind on ind.cod_ind = iae.cod_ind
join version_diplome vdi on vdi.cod_dip = iae.cod_dip and vdi.cod_vrs_vdi = iae.cod_vrs_vdi
join these_hdr_sout ths on ths.cod_ind = iae.cod_ind and ths.cod_dip = iae.cod_dip and ths.cod_vrs_vdi = iae.cod_vrs_vdi
left join ancienne_these anc on anc.cod_ind = ths.cod_ind and anc.cod_dip_anc = ths.cod_dip and anc.cod_vrs_vdi_anc = ths.cod_vrs_vdi and anc.eta_ths = ths.eta_ths
left join annee_uni ans on ans.cod_anu = ths.daa_fin_ths
left join ecole_doctorale edo on edo.cod_edo = ths.cod_edo
left join secteur_rch ser on ser.cod_ser = ths.cod_ser
left join equipe_rch eqr on eqr.cod_eqr = ths.cod_eqr
left join resultat_vdi rvi on rvi.cod_ind = iae.cod_ind and rvi.cod_dip = iae.cod_dip and rvi.cod_vrs_vdi = iae.cod_vrs_vdi and rvi.cod_ses = '0' and rvi.cod_adm = '1' and rvi.cod_tre is not null
left join annee_uni anr on anr.cod_anu = rvi.cod_anu
left join typ_resultat tre on tre.cod_tre = rvi.cod_tre
left join mention men on men.cod_men = rvi.cod_men
left join hierarchie_structures ccm on ccm.cod_cmp_inf = ths.cod_cmp
left join composante cmp on cmp.cod_cmp = nvl ( ccm.cod_cmp_sup, ths.cod_cmp )
left join diplome_sise dis on dis.cod_dis = ths.cod_dis
left join etablissement etb on etb.cod_etb = ths.cod_etb
left join pays pay on pay.cod_pay = ths.cod_pay
left join etablissement sou on sou.cod_etb = ths.cod_etb_sou
left join etablissement ori on ori.cod_etb = ths.cod_etb_origine
left join langue lng on lng.cod_lng = ths.cod_lng
where
ths.cod_ths_trv = '1' and -- Exclusion des travaux
anc.cod_dip_anc is null
/
```
La nouvelle vue `SYGAL_THESE_ANNEE_UNIV` doit être créée :
```sql
CREATE VIEW SYGAL_THESE_ANNEE_UNIV AS
with old_these as (
select distinct
cod_ind,
cod_dip_anc,
cod_vrs_vdi_anc,
'A' eta_ths
from these_hdr_sout
where cod_ths_trv = '1'
and cod_dip_anc is not null
)
select distinct
'apogee' as source_id,
ths.cod_ths || '_' || iae.cod_anu as id,
ths.cod_ths as these_id,
iae.cod_anu as annee_univ
from these_hdr_sout ths
left join old_these old on old.cod_ind = ths.cod_ind and old.cod_dip_anc = ths.cod_dip and old.cod_vrs_vdi_anc = ths.cod_vrs_vdi and old.eta_ths = ths.eta_ths
join diplome dip on dip.cod_dip = ths.cod_dip
join typ_diplome tpd on tpd.cod_tpd_etb = dip.cod_tpd_etb
join ins_adm_etp iae on iae.cod_ind = ths.cod_ind and ( iae.cod_dip, iae.cod_vrs_vdi ) in ( ( ths.cod_dip, ths.cod_vrs_vdi ), ( ths.cod_dip_anc, ths.cod_vrs_vdi_anc ) )
join individu ind on ind.cod_ind = iae.cod_ind
where ths.cod_ths_trv = '1' -- Exclusion des travaux
and old.cod_dip_anc is null
and dip.cod_tpd_etb in ( '39', '40' )
and tpd.eta_ths_hdr_drt = 'T' -- Diplome de type these
and tpd.tem_sante = 'N' -- Exclusion des theses d exercice
and iae.eta_iae = 'E' -- Inscription administrative non annulee
and iae.eta_pmt_iae = 'P' -- Inscription administrative payee
/
```
### Physalis
Pour écrire la vue `SYGAL_THESE`, voir les explications concernant Apogée ci-dessus.
La nouvelle vue `SYGAL_THESE_ANNEE_UNIV` doit lister pour chaque thèse toutes les années universitaires
où le doctorant était inscrit en thèse. En cas de "césure" pour une thèse donnée, il devrait y avoir un trou dans les
années universitaires.
Voici les colonnes de cette vue :
- `source_id` : identifiant unique de la source de données, en l'occurence c'est `'physalis'`
- `id` : identifiant quelconque mais *unique* de la ligne dans la vue, ex: concaténation de l'identifiant unique de
la thèse et du code de l'année universitaire.
- `these_id` : identifiant unique de la thèse, cf. colonne `id` de la vue SYGAL_THESE.
- `annee_univ` : code de l'année universitaire, ex: `2015` pour 2015/2016.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment