Commit 6d89f8b8 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Adaptation connecteur octopus ose

parent f520fb75
Loading
Loading
Loading
Loading
+42 −7
Changes for doc/Connecteurs Import/Octopus/MV_INTERVENANT.sql: 42 added lines, 7 removed lines.
Original line number Diff line number Diff line
CREATE
MATERIALIZED VIEW MV_INTERVENANT_OCTO AS
MATERIALIZED VIEW MV_INTERVENANT AS
   WITH i AS (
        SELECT DISTINCT code,
                        z_statut_id,
@@ -9,7 +9,9 @@ MATERIALIZED VIEW MV_INTERVENANT_OCTO AS
        FROM (
                --Step 1 : On prend tous les individus qui ont ou ont eu un contrat à l'université
                 SELECT icto.individu_id                                                         code,
                        CASE WHEN icto.code_ose IS NOT NULL THEN icto.code_ose ELSE 'AUTRES' END z_statut_id,
                        CASE WHEN icto.code_ose = 'ENS_2ND_DEGRE' THEN 'ENS_2ND_DEG'
                             WHEN icto.code_ose  IS NOT NULL THEN icto.code_ose
                             ELSE 'AUTRES' END                                                   z_statut_id,
                        icto.id_orig                                                             source_code,
                        COALESCE(icto.d_debut, to_date('01/01/1900', 'dd/mm/YYYY'))              validite_debut,
                        COALESCE(icto.d_fin, to_date('01/01/9999', 'dd/mm/YYYY'))                validite_fin
@@ -96,10 +98,11 @@ SELECT DISTINCT
    i.z_statut_id                                                        z_statut_id,
    grade.c_grade                                                        z_grade_id,
    /* Données nécessaires pour calculer la discipline */
    cnu.c_cnu                                                            z_discipline_id_cnu,
    CAST(NULL AS varchar2(255))                                          z_discipline_id_sous_cnu,
    cnus.c_cnu_specialite                                                z_discipline_id_spe_cnu,
    dissec.c_discipline                                                  z_discipline_id_dis2deg,
    d.source_code                                                        z_discipline_id,
    --    cnu.c_cnu                                                            z_discipline_id_cnu,
    --  CAST(NULL AS varchar2(255))                                          z_discipline_id_sous_cnu,
    -- cnus.c_cnu_specialite                                                z_discipline_id_spe_cnu,
    --dissec.c_discipline                                                  z_discipline_id_dis2deg,
    /* Données identifiantes de base */
    CASE ind.sexe
        WHEN 'M' THEN 'M.'
@@ -119,7 +122,15 @@ SELECT DISTINCT
    indc.email                                                           email_pro,
    ind.email_perso                                                      email_perso,
    /* Adresse */
    trim(adr.adresse1 || CHR(13) || adr.adresse2 || CHR(13) || adresse3) adresse_precisions,
    trim(adr.adresse1 ||
        CASE WHEN adr.adresse1 IS NOT NULL
                  AND adr.adresse2 IS NOT NULL
             THEN CHR(13)
             ELSE '' END || adr.adresse2 ||
        CASE WHEN adr.adresse2 IS NOT NULL
                  AND adr.adresse3 IS NOT NULL
             THEN CHR(13)
             ELSE '' END || adr.adresse3)                                adresse_precisions,
    CAST(NULL AS varchar2(255))                                          adresse_numero,
    CAST(NULL AS varchar2(255))                                          z_adresse_numero_compl_id,
    CAST(NULL AS varchar2(255))                                          z_adresse_voirie_id,
@@ -180,6 +191,30 @@ FROM i
    --On récupére le code de la structure d'affectation principal de l'individu
         LEFT JOIN v_structure@octoprod str ON str.id = spi.z_structure_id
         LEFT JOIN v_structure@octoprod str2 ON str.niv2_id = str2.id
         LEFT JOIN discipline d ON
          d.histo_destruction IS NULL
         AND 1 = CASE WHEN -- si rien n'a été défini
         COALESCE( cnu.c_cnu, cnus.c_cnu_specialite, dissec.c_discipline ) IS NULL
         AND d.source_code = '00'

         THEN 1 WHEN -- si une CNU ou une spécialité a été définie...

         COALESCE( cnu.c_cnu, cnus.c_cnu_specialite ) IS NOT NULL

        THEN CASE WHEN -- alors on teste par les sections CNU et spécialités

        (
           ',' || d.CODES_CORRESP_2 || ',' LIKE '%,' || cnu.c_cnu || ',%'
        OR ',' || d.CODES_CORRESP_2 || ',' LIKE '%,' || cnu.c_cnu || '00,%'
        )
        AND ',' || NVL(d.CODES_CORRESP_3,'000') || ',' LIKE  '%,' || NVL(CASE WHEN d.CODES_CORRESP_3 IS NOT NULL THEN cnus.c_cnu_specialite ELSE NULL END,'000') || ',%'

       THEN 1 ELSE 0 END ELSE CASE WHEN -- sinon on teste par les disciplines du 2nd degré

         dissec.c_discipline IS NOT NULL
         AND ',' || NVL(d.CODES_CORRESP_4,'') || ',' LIKE  '%,' || dissec.c_discipline || ',%'

       THEN 1 ELSE 0 END END -- fin du test
WHERE i.validite_fin >= (SYSDATE - (365 * 2))
--AND induni.c_individu_chaine = 4251-- Filtre avec code octopus
--AND ind.nom_famille = 'DURANDY'
+1 −1
Changes for doc/Connecteurs Import/Octopus/SRC_DEPARTEMENT.sql: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ SELECT LPAD(d.code, 3, 0) code,
       d.lib_court        libelle,
       s.id               source_id,
       LPAD(d.code, 3, 0) source_code
FROM departement@octoprod d
FROM octo.departement@octoprod d
         JOIN source s ON s.code = 'Octopus'
-- Tout sauf les deux anciens code département de mayotte (remplacé par le code 976)
WHERE d.code NOT IN ('970', '985')
+3 −3
Changes for doc/Connecteurs Import/Octopus/SRC_PAYS.sql: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
CREATE
OR REPLACE FORCE VIEW SRC_OCTO_PAYS AS
OR REPLACE FORCE VIEW SRC_PAYS AS
SELECT code_pays                                                     code,
       libelle_long                                                  libelle,
       coalesce(date_ouverture, TO_DATE('1900/01/01', 'YYYY/MM/DD')) validite_debut,
@@ -7,7 +7,7 @@ SELECT code_pays code,
       0                                                             temoin_ue,
       s.id                                                          source_id,
       code_pays                                                     source_code
FROM pays@octoprod p
FROM octo.pays@octoprod p
         JOIN source s ON s.code = 'Octopus'
--Filtre sur les codes pays inutiles
WHERE p.code_pays NOT IN ('19A', '19B', '$', '#')
 No newline at end of file
WHERE p.code_pays NOT IN ('19A', '19B', '$', '#', '999')
 No newline at end of file
+18 −10
Changes for doc/Connecteurs Import/Octopus/SRC_STRUCTURE.sql: 18 added lines, 10 removed lines.
Original line number Diff line number Diff line
CREATE
OR REPLACE VIEW SRC_OCTO_STRUCTURE AS
OR REPLACE VIEW SRC_STRUCTURE AS
SELECT s.code          code,
       s.libelle_court libelle_court,
       s.libelle_long  libelle_long,
       trim(sa.adresse1 || CHR(13) || sa.adresse2 || CHR(13) || sa.adresse3) adresse_precisions,
       null                                                                  adresse_numero,
       null                                                                  adresse_numero_compl_id,
       null                                                                  adresse_voirie_id,
       null                                                                  adresse_voie,
       null                                                                  adresse_lieu_dit,
       sa.code_postal                                                        adresse_code_postal,
       sa.ville_nom                                                          adresse_commune,
       sa.pays_id                                                            z_adresse_pays_id,
       /*trim(sa.adresse1 ||
        CASE WHEN sa.adresse1 IS NOT NULL
                  AND sa.adresse2 IS NOT NULL
             THEN CHR(13)
             ELSE '' END || sa.adresse2 ||
        CASE WHEN sa.adresse2 IS NOT NULL
                  AND sa.adresse3 IS NOT NULL
             THEN CHR(13)
             ELSE '' END || sa.adresse3)                                       adresse_precisions,*/
       --null                                                                  adresse_numero,
       --null                                                                  adresse_numero_compl_id,
       --null                                                                  adresse_voirie_id,
       --null                                                                  adresse_voie,
       --null                                                                  adresse_lieu_dit,
       --sa.code_postal                                                        adresse_code_postal,
       --sa.ville_nom                                                          adresse_commune,
       --sa.pays_id                                                            z_adresse_pays_id,
       src.id          source_id,
       s.code          source_code
FROM structure@octoprod s