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

Merge branch 'release-1.3.3' into develop

parents 57f7a4bf 0d9d1ee7
Loading
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
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)
------------------

+3 −3
Original line number Diff line number Diff line
@@ -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',
];
+11 −7
Original line number Diff line number Diff line
@@ -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...
+86 −0
Original line number Diff line number Diff line
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 −0
Original line number Diff line number Diff line
@@ -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;
    }
}
Loading