diff --git a/CHANGELOG.md b/CHANGELOG.md index 71cc633fedc8e064e78293c4ddf20288e662abb8..a2fb8bb58350cb53b08b9335c37ad08f431e1be0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,3 +49,16 @@ des acteurs. - [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.3 (29/01/2019) + +- [FEATURE] La vue `SYGAL_FINANCEMENT` tente une "synthèse" des financements. + + L'idée est de ne retenir qu'une année (la plus ancienne) par thèse et par origine de financement : + - en concaténant les observations (COMPLEMENT_FINANCEMENT) + - en cumulant les quotités + - en retenant la plus petite date de début de financement + - en retenant la plus grande date de fin de financement. + + On n'exclue plus les financements pour lesquels l'année n'est pas renseignée. + Quand le cas se présente on force par la 1ère année d'inscription administrative en thèse. diff --git a/doc/release-notes/v1.2.3.md b/doc/release-notes/v1.2.3.md new file mode 100644 index 0000000000000000000000000000000000000000..dc054d87db737a84142199bd59d10430a2823f26 --- /dev/null +++ b/doc/release-notes/v1.2.3.md @@ -0,0 +1,98 @@ +# v1.2.3 + + +## 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.3 && 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 + +La vue `SYGAL_FINANCEMENT` doit être mise à jour. + +L'idée de la nouvelle version est de ne retenir qu'une année (la plus ancienne) par thèse et par origine de financement : +- en concaténant les observations (COMPLEMENT_FINANCEMENT) +- en cumulant les quotités +- en retenant la plus petite date de début de financement +- en retenant la plus grande date de fin de financement. +On n'exclue plus les financements pour lesquels l'année n'est pas renseignée. +Quand le cas se présente on force par la 1ère année d'inscription administrative en thèse. + +Exemple d'une thèse de Caen : + +Ancienne vue : + + ID SOURCE THESE_ID ANNE OR COMPLEMENT_FINANCEMENT QUOTITE_FINANCEMENT DATE_DEB DATE_FIN + ---- ------ ---------- ---- -- -------------------------------------------------------- ------------------- -------- -------- + 1192 apogee 12350 2016 32 Bourse ARS 01/11/16 30/10/17 + 1193 apogee 12350 2017 32 Internat Baclesse Caen 01/11/17 30/05/18 + 1194 apogee 12350 2018 32 Fonds propres ABTE 01/06/18 30/10/19 + +Nouvelle vue : + + ID SOURCE THESE_ID ANNE OR COMPLEMENT_FINANCEMENT QUOTITE_FINANCEMENT DATE_DEB DATE_FIN + ---- ------ ---------- ---- -- -------------------------------------------------------- ------------------- -------- -------- + 1192 apogee 12350 2016 32 Bourse ARS / Internat Baclesse Caen / Fonds propres ABTE 01/11/16 30/10/19 + +Voici le nouveau script de la vue `SYGAL_FINANCEMENT` : + +```sql +CREATE OR REPLACE VIEW "SYGAL_FINANCEMENT" ( "ID", "SOURCE_ID", "THESE_ID", "ANNEE_ID", "ORIGINE_FINANCEMENT_ID", "COMPLEMENT_FINANCEMENT", "QUOTITE_FINANCEMENT", "DATE_DEBUT_FINANCEMENT", "DATE_FIN_FINANCEMENT" ) AS +with inscription_admin as ( + select + iae.cod_ind, + iae.cod_dip, + iae.cod_vrs_vdi, + dip.lib_dip, + min ( iae.cod_anu ) cod_anu_prm_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 + ) +select + min ( tfi.cod_seq_tfi ) as id, -- Premier numero de sequence du financement + 'apogee' as source_id, + tfi.cod_ths as these_id, + min ( nvl ( tfi.cod_anu, iae.cod_anu_prm_iae ) ) as annee_id, -- Identifiant de l annee universitaire (ex. 2018 pour 2018/2019) + tfi.cod_ofi as origine_financement_id, + listagg ( tfi.compl_tfi, ' / ' ) within group ( order by tfi.cod_ths, tfi.cod_ofi, tfi.quotite_tfi, nvl ( tfi.cod_anu, iae.cod_anu_prm_iae ), tfi.cod_seq_tfi ) as complement_financement, + tfi.quotite_tfi as quotite_financement, + min ( tfi.dat_deb_tfi ) as date_debut_financement, + max ( tfi.dat_fin_tfi ) as date_fin_financement +from inscription_admin iae +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 +join ths_financement tfi on tfi.cod_ths = ths.cod_ths +join origine_financement ofi on ofi.cod_ofi = tfi.cod_ofi +where ths.cod_ths_trv = '1' -- Exclusion des travaux + and ofi.tem_en_sve_ofi = 'O' -- Exclusion des anciens codes des origines de financements +group by + tfi.cod_ths, + tfi.cod_ofi, + tfi.quotite_tfi +/ +``` + +### Physalis + +Vue `SYGAL_FINANCEMENT` à écrire ! +Cf. explications concernant Apogée ci-dessus.