Commit 8a95e946 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'release-1.3.3' into develop

parents 57f7a4bf 0d9d1ee7
Pipeline #6997 passed with stage
in 19 seconds
Journal des modifications Journal des modifications
========================= =========================
1.3.3 (11/03/2020)
------------------
- Financement de thèse : ajout du code et du libellé des types de financement.
1.3.2 (24/01/2020) 1.3.2 (24/01/2020)
------------------ ------------------
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
return [ return [
'unicaen-app' => [ 'unicaen-app' => [
'app_infos' => [ 'app_infos' => [
'version' => '1.3.2', 'version' => '1.3.3',
'date' => '24/01/2020', 'date' => '11/03/2020',
], ],
], ],
'comment' => 'Fichier généré le 24/01/2020 à 11:44:25 avec /home/gauthierb/workspace/sygal-import-ws/bump-version', 'comment' => 'Fichier généré le 11/03/2020 à 14:05:58 avec /home/gauthierb/workspace/sygal-import-ws/bump-version',
]; ];
...@@ -8,18 +8,20 @@ Ajouter un champ dans un service ...@@ -8,18 +8,20 @@ Ajouter un champ dans un service
Exemple : ajouter l'INE des doctorants. Exemple : ajouter l'INE des doctorants.
### Marche à suivre
- Désactivez l'exécution périodique du script de remplissage des tables `SYGAL_*`
à partir des vues `V_SYGAL_*` *qui impacterait la base de données source sur laquelle vous allez intervenir*.
- Dans la base de données source (ex: Apogée) : - Dans la base de données source (ex: Apogée) :
- Modifier la vue `V_SYGAL_DOCTORANT` pour ajouter la nouvelle colonne. - Modifier la vue `V_SYGAL_DOCTORANT` pour ajouter la nouvelle colonne.
- Modifier la vue `SYGAL_DOCTORANT` pour ajouter la nouvelle colonne, exemple : - Modifier la table `SYGAL_DOCTORANT` pour ajouter la nouvelle colonne, exemple :
`alter table SYGAL_DOCTORANT add INE VARCHAR(20);` `alter table SYGAL_DOCTORANT add INE VARCHAR2(20);`
- Dans les sources PHP : - Dans les sources PHP :
- Mettre à jour le mapping Doctorant dans le fichier - Mettre à jour le mapping `Doctorant` dans le fichier
`module/ImportData/src/V1/Entity/Db/Mapping/ImportData.V1.Entity.Db.Doctorant.dcm.xml` `module/ImportData/src/V1/Entity/Db/Mapping/ImportData.V1.Entity.Db.Doctorant.dcm.xml`
- Ajouter la nouvelle propriété `$ine` ainsi que son getter associé `getIne()` dans la classe d'entité - Ajouter la nouvelle propriété `$ine` ainsi que son getter associé `getIne()` dans la classe d'entité
...@@ -27,8 +29,6 @@ Exemple : ajouter l'INE des doctorants. ...@@ -27,8 +29,6 @@ Exemple : ajouter l'INE des doctorants.
NB: pas besoin de setter puisqu'il s'agit d'une vue en base de données. NB: pas besoin de setter puisqu'il s'agit d'une vue en base de données.
### Tests
- En ligne de commande : - En ligne de commande :
- Lancer si besoin le web service dans Docker : - Lancer si besoin le web service dans Docker :
...@@ -40,5 +40,9 @@ Exemple : ajouter l'INE des doctorants. ...@@ -40,5 +40,9 @@ Exemple : ajouter l'INE des doctorants.
- Vérifier que le nouveau champ figure dans la réponse du web service, ex : - Vérifier que le nouveau champ figure dans la réponse du web service, ex :
`curl --insecure --header "Accept: application/json" --header "Authorization: Basic c3lnYWwtYXBwOmF6ZXJ0eQ==" https://localhost:8443/doctorant` `curl --insecure --header "Accept: application/json" --header "Authorization: Basic c3lnYWwtYXBwOmF6ZXJ0eQ==" https://localhost:8443/doctorant`
- Le reste du travail se fait côté application interrogeant le web service...
- Réactivez l'exécution périodique (cron) du script de remplissage des tables `SYGAL_*`
à partir des vues `V_SYGAL_*`.
Le reste du travail se fait côté application interrogeant le web service...
Version 1.3.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.3.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
---------------
Il faut corriger la vue `V_SYGAL_FINANCEMENT` ainsi que la table `SYGAL_FINANCEMENT` pour inclure le code
et le libellé du type de financement.
#### Apogée
- Voici le nouveau script de la vue `V_SYGAL_FINANCEMENT` :
```sql
create or replace view V_SYGAL_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)
min ( tfi.cod_afi ) keep ( dense_rank first order by tfi.cod_ths, tfi.cod_ofi, tfi.quotite_tfi ) as code_type_financement,
min ( afi.lib_afi ) keep ( dense_rank first order by tfi.cod_ths, tfi.cod_ofi, tfi.quotite_tfi ) as libelle_type_financement,
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
left join aide_financiere afi on afi.cod_afi = tfi.cod_afi
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
;
```
- Et voici de quoi mettre à jour la table `SYGAL_FINANCEMENT` :
```sql
alter table SYGAL_FINANCEMENT add CODE_TYPE_FINANCEMENT varchar2(8) ;
alter table SYGAL_FINANCEMENT add LIBELLE_TYPE_FINANCEMENT varchar2(100) ;
```
#### Physalis
À définir.
...@@ -18,6 +18,8 @@ class Financement ...@@ -18,6 +18,8 @@ class Financement
protected $quotiteFinancement; protected $quotiteFinancement;
protected $dateDebutFinancement; protected $dateDebutFinancement;
protected $dateFinFinancement; protected $dateFinFinancement;
protected $codeTypeFinancement;
protected $libelleTypeFinancement;
private $sourceInsertDate; private $sourceInsertDate;
...@@ -100,4 +102,20 @@ class Financement ...@@ -100,4 +102,20 @@ class Financement
{ {
return $this->sourceInsertDate; return $this->sourceInsertDate;
} }
/**
* @return mixed
*/
public function getCodeTypeFinancement()
{
return $this->codeTypeFinancement;
}
/**
* @return mixed
*/
public function getLibelleTypeFinancement()
{
return $this->libelleTypeFinancement;
}
} }
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
<field name="quotiteFinancement" type="integer" column="QUOTITE_FINANCEMENT" nullable="true"/> <field name="quotiteFinancement" type="integer" column="QUOTITE_FINANCEMENT" nullable="true"/>
<field name="dateDebutFinancement" type="datetime" column="DATE_DEBUT_FINANCEMENT" nullable="true"/> <field name="dateDebutFinancement" type="datetime" column="DATE_DEBUT_FINANCEMENT" nullable="true"/>
<field name="dateFinFinancement" type="datetime" column="DATE_FIN_FINANCEMENT" nullable="true"/> <field name="dateFinFinancement" type="datetime" column="DATE_FIN_FINANCEMENT" nullable="true"/>
<field name="codeTypeFinancement" column="CODE_TYPE_FINANCEMENT" nullable="true"/>
<field name="libelleTypeFinancement" column="LIBELLE_TYPE_FINANCEMENT" nullable="true"/>
<field name="sourceInsertDate" type="datetime" column="SOURCE_INSERT_DATE"/> <field name="sourceInsertDate" type="datetime" column="SOURCE_INSERT_DATE"/>
</entity> </entity>
......
Supports Markdown
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