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
=========================
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)
------------------
......
......@@ -2,9 +2,9 @@
return [
'unicaen-app' => [
'app_infos' => [
'version' => '1.3.2',
'date' => '24/01/2020',
'version' => '1.3.3',
'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
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) :
- Modifier la vue `V_SYGAL_DOCTORANT` pour ajouter la nouvelle colonne.
- Modifier la vue `SYGAL_DOCTORANT` pour ajouter la nouvelle colonne, exemple :
`alter table SYGAL_DOCTORANT add INE VARCHAR(20);`
- Modifier la table `SYGAL_DOCTORANT` pour ajouter la nouvelle colonne, exemple :
`alter table SYGAL_DOCTORANT add INE VARCHAR2(20);`
- 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`
- 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.
NB: pas besoin de setter puisqu'il s'agit d'une vue en base de données.
### Tests
- En ligne de commande :
- Lancer si besoin le web service dans Docker :
......@@ -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 :
`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
protected $quotiteFinancement;
protected $dateDebutFinancement;
protected $dateFinFinancement;
protected $codeTypeFinancement;
protected $libelleTypeFinancement;
private $sourceInsertDate;
......@@ -100,4 +102,20 @@ class Financement
{
return $this->sourceInsertDate;
}
/**
* @return mixed
*/
public function getCodeTypeFinancement()
{
return $this->codeTypeFinancement;
}
/**
* @return mixed
*/
public function getLibelleTypeFinancement()
{
return $this->libelleTypeFinancement;
}
}
......@@ -12,6 +12,8 @@
<field name="quotiteFinancement" type="integer" column="QUOTITE_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="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"/>
</entity>
......
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