Commit bbc0c436 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Merge branch 'master' of https://git.unicaen.fr/open-source/OSE into actul

 Conflicts:
	data/ddl_config.php
parents 4a721ecd d359e77c
Loading
Loading
Loading
Loading
+10 −1
Changes for CHANGELOG.md: 10 added lines, 1 removed line.
Original line number Diff line number Diff line
# Versions stables

[OSE 15.4](#ose-154-30062021)
[OSE 15.5](#ose-155-01072021)

[OSE 14.20](#ose-1420-09062021)

@@ -16,6 +16,15 @@ Objectif : Connecteur import Actul+ & système différentiel pour comparer des c



# OSE 15.5 (01/07/2021)

## Correction de bug

* Retour de la vua matérialisée MV_EXT_SERVICE qui avait disparu de OSE par erreur depuis la V15
* Correction d'un problème de MAJ de MV_EXT_SERVICE depuis la 15.4 qui provoquait une erreur suite à la l'ajout d'une colonne sur l'export des services.  





# OSE 15.4 (30/06/2021)
+46 −0
Changes for admin/migration/MigrationESCodeRh.php: 46 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php





class MigrationESCodeRh extends AbstractMigration
{
    protected $contexte = self::CONTEXTE_PRE;



    public function description(): string
    {
        return "Suppression de la vue métérialisée MV_EXT_SERVICE, qui sera recréée ensuite avec une nouvelle colonne";
    }



    public function utile(): bool
    {
        try {
            $this->manager->getBdd()->exec('SELECT intervenant_code_rh FROM v_export_service WHERE 1=0');

            // colonne trouvée => pas besoin de pêter mv_ext_service
            return false;
        } catch (\Exception $e) {
            // colonne non trouvée => on supprimera la MV_ext_service
            return true;
        }

        return $this->manager->hasNew('table', 'DOSSIER_CHAMP_AUTRE');
    }



    public function action(string $contexte)
    {
        try {
            $this->manager->getBdd()->exec('DROP MATERIALIZED VIEW MV_EXT_SERVICE');
        } catch (\Exception $e) {
            // rien à faire si la MV n'existait pas...
        }
    }

}
 No newline at end of file
+1 −0
Changes for data/ddl/materialized-view/MV_EXT_SERVICE.sql: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
SELECT * FROM V_EXPORT_SERVICE
 No newline at end of file
+0 −3
Changes for data/ddl_config.php: 0 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -15,9 +15,6 @@ return [
        'includes' => [

        ],
        'excludes' => [
            'MV_EXT_SERVICE',
        ],
    ],
    'view'              => [
        'includes' => [
+20 −5
Changes for doc/Connecteurs-Import/Octopus/MV_INTERVENANT.sql: 20 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -129,14 +129,28 @@ WITH i AS (
			JOIN intervenant_dossier d ON d.intervenant_id = i.id AND d.histo_destruction IS null
			WHERE  i.annee_id = 2020 AND i.histo_destruction IS NULL AND d.iban IS NOT NULL AND d.rib_hors_sepa = 0 AND i.source_id = '24'
			GROUP BY i.code
         ),
         compte as
         (
	         SELECT
				MAX(individu_id) individu_id,
				MAX(ldap_uid) KEEP (DENSE_RANK  FIRST ORDER BY histo_creation)  ldap_uid,
				MAX(email) KEEP (DENSE_RANK  FIRST ORDER BY histo_creation)  email,
				MAX(histo_creation) KEEP (DENSE_RANK  FIRST ORDER BY histo_creation)  histo_creation
			 FROM  octo.individu_compte@octoprod indc
			 WHERE not regexp_like(ldap_uid, 'e[0-9]{8}')
			 AND indc.statut_id = 1
			 GROUP BY individu_id
			 ORDER BY histo_creation ASC
         )

SELECT DISTINCT
    /*Octopus id, id unique pour un individu immuable dans le temps, remplace le code harpege*/
    ltrim(TO_CHAR(i.code, '99999999'))                             code,
    'Octopus'                                                      z_source_id,
    /*Code RH si l'utilisateur est dans SIHAM*/
    ind.c_rh    												   code_rh,
    indc.ldap_uid                                                  utilisateur_code,
    compte.ldap_uid                                                utilisateur_code,
    str2.code                                                      z_structure_id,
    i.z_statut_id                                                  z_statut_id,
    grade.c_grade                                                  z_grade_id,
@@ -157,7 +171,7 @@ SELECT DISTINCT
    COALESCE(ind.c_pays_nationalite_ow, ind.c_pays_nationalite)    z_pays_nationalite_id,
    telpro.numero                                                  tel_pro,
    COALESCE(ind.tel_perso_ow, ind.tel_perso)                      tel_perso,
    indc.email                                                     email_pro,
    compte.email                                                   email_pro,
    COALESCE(ind.email_perso_ow, ind.email_perso)                  email_perso,
    /* Adresse */
    trim(adr.adresse1 ||
@@ -232,9 +246,10 @@ FROM i
    --On récupére le téléphone pro principal de l'indivdu
         LEFT JOIN telephone_pro_principal telpro ON telpro.individu_id = induni.c_individu_chaine
    -- On ne prend que les comptes qui ne sont pas étudiants
         LEFT JOIN octo.individu_compte@octoprod indc
                   ON indc.individu_id = induni.c_individu_chaine AND not regexp_like(ldap_uid, 'e[0-9]{8}') AND
                      indc.statut_id = 1
         --LEFT JOIN octo.individu_compte@octoprod indc
           --        ON indc.individu_id = induni.c_individu_chaine AND not regexp_like(ldap_uid, 'e[0-9]{8}') AND
             --         indc.statut_id = 1
         LEFT JOIN compte ON compte.individu_id = induni.c_individu_chaine
    --On récupére la discipline adaptée directement dans Octopus
         LEFT JOIN cnua cnua ON cnua.individu_id = induni.c_individu_chaine
WHERE i.validite_fin >= (SYSDATE - (365 * 2))