Commit f7c797ed authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Affinage vu MV_INTERVENANT octopus et préparation des vues SRC octopus (Grade,...

Affinage vu MV_INTERVENANT octopus et préparation des vues SRC octopus (Grade, departement, structure etc...)
parent 8ad317de
Loading
Loading
Loading
Loading
+32 −40
Changes for doc/Connecteurs Import/Octopus/MV_INTERVENANT_OCTO.sql: 32 added lines, 40 removed lines.
Original line number Diff line number Diff line
@@ -4,33 +4,25 @@ WITH i AS (
    SELECT DISTINCT
        code,
        z_statut_id,
        '**id_cnu**'																								     z_discipline_id_cnu,
        '**id_sous_cnu**'																								 z_discipline_id_sous_cnu,
        '**id_spe_cnu**'																								 z_discipline_id_spe_cnu,
        '**id_dis2deg**'																								 z_discipline_id_dis2deg,
        --FIRST_VALUE(z_discipline_id_cnu) OVER (partition by code, z_statut_id order by validite_fin desc)      z_discipline_id_cnu,
        --FIRST_VALUE(z_discipline_id_sous_cnu) OVER (partition by code, z_statut_id order by validite_fin desc) z_discipline_id_sous_cnu,
        --FIRST_VALUE(z_discipline_id_spe_cnu) OVER (partition by code, z_statut_id order by validite_fin desc)  z_discipline_id_spe_cnu,
        --FIRST_VALUE(z_discipline_id_dis2deg) OVER (partition by code, z_statut_id order by validite_fin desc)  z_discipline_id_dis2deg,
        MIN(source_code) OVER (partition by code, z_statut_id)                                                 source_code,
        MIN(validite_debut) OVER (partition by code, z_statut_id)                                              validite_debut,
        MAX(validite_fin) OVER (partition by code, z_statut_id)                                                validite_fin
    FROM(SELECT uni.c_src_individu                                            code,
                '**AUTRES**'                                                      z_statut_id, --Voir comment récuperer les statuts OSE
                icto.code_ose                                                 z_statut_id, --Voir comment récuperer les statuts OSE
                COALESCE(aff.date_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut,
                COALESCE(aff.date_fin, to_date('01/01/1900', 'dd/mm/YYYY'))   validite_fin,
                --Voir pour le lien entre discipline et individu
                --psc.c_section_cnu                                                                                    z_discipline_id_cnu,
                --psc.c_sous_section_cnu                                                                               z_discipline_id_sous_cnu,
                --psc.c_specialite_cnu                                                                                 z_discipline_id_spe_cnu,
                --pss.c_disc_second_degre                                                                              z_discipline_id_dis2deg,
                --il faut retrouver a.no_seq_affectation en attendant on met id_orig
                uni.c_individu_chaine || '-a-' || aff.id_orig                 source_code
                uni.c_individu_chaine || '-a-' || aff.id_orig                 source_code,
                aff.t_principale												  affectation_principale
         FROM individu_affectation@octodev aff
                  JOIN individu_affectation_type@octodev aft ON (aff.type_id = aft.id)
                  JOIN individu_unique@octodev uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source = 'HARP')
                  --LEFT JOIN v_individu_contrat_type_ose icto ON icto.individu_id = uni.c_individu_chaine
         WHERE aff.date_debut - 184 <= SYSDATE
           AND aft.nom = 'AFFECTATION'
           --Uniquement si on veut que les affectations principales
           --AND aff.t_principale = 'O'

         UNION ALL
         --AFFECTATION ENSEIGNEMENT
@@ -38,18 +30,16 @@ WITH i AS (
                '**AUTRES**'                                                      z_statut_id, --Voir comment récuperer les statuts OSE
                COALESCE(aff.date_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut,
                COALESCE(aff.date_fin, to_date('01/01/1900', 'dd/mm/YYYY'))   validite_fin,
                --Voir pour le lien entre discipline et individu
                --psc.c_section_cnu                                                                                    z_discipline_id_cnu,
                --psc.c_sous_section_cnu                                                                               z_discipline_id_sous_cnu,
                --psc.c_specialite_cnu                                                                                 z_discipline_id_spe_cnu,
                --pss.c_disc_second_degre                                                                              z_discipline_id_dis2deg,
                --il faut retrouver a.no_seq_affectation en attendant on met id_orig
                uni.c_individu_chaine || '-a-' || aff.id_orig                 source_code
                uni.c_individu_chaine || '-a-' || aff.id_orig                 source_code,
                aff.t_principale											  affectation_principale
         FROM individu_affectation@octodev aff
                  JOIN individu_affectation_type@octodev aft ON (aff.type_id = aft.id)
                  JOIN individu_unique@octodev uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source = 'HARP')
         WHERE aff.date_debut - 184 <= SYSDATE
           AND aft.nom = 'ENSEIGNEMENT'
           --Uniquement si on veut que les affectations principales
           --AND aff.t_principale = 'O'

         UNION ALL
         --AFFECTATION RECHERCHE
@@ -57,18 +47,17 @@ WITH i AS (
                '**AUTRES**'                                                      z_statut_id, --Voir comment récuperer les statuts OSE
                COALESCE(aff.date_debut, to_date('01/01/1900', 'dd/mm/YYYY'))     validite_debut,
                COALESCE(aff.date_fin, to_date('01/01/1900', 'dd/mm/YYYY'))       validite_fin,
                --Voir pour le lien entre discipline et individu
                --psc.c_section_cnu                                                                                    z_discipline_id_cnu,
                --psc.c_sous_section_cnu                                                                               z_discipline_id_sous_cnu,
                --psc.c_specialite_cnu                                                                                 z_discipline_id_spe_cnu,
                --pss.c_disc_second_degre                                                                              z_discipline_id_dis2deg,
                --il faut retrouver a.no_seq_affectation en attendant on met id_orig
                uni.c_individu_chaine || '-a-' || aff.id_orig                 source_code
                uni.c_individu_chaine || '-a-' || aff.id_orig                     source_code,
                aff.t_principale												  affectation_principale
         FROM individu_affectation@octodev aff
                  JOIN individu_affectation_type@octodev aft ON (aff.type_id = aft.id)
                  JOIN individu_unique@octodev uni ON (aff.individu_id = uni.c_individu_chaine AND uni.c_source = 'HARP')
         WHERE aff.date_debut - 184 <= SYSDATE
         AND aft.nom = 'RECHERCHE') t
           AND aft.nom = 'RECHERCHE'
            --Uniquement si on veut que les affectations principales
            --AND aff.t_principale = 'O'
        ) t
),
     telephone_pro_principal AS(
         SELECT
@@ -77,24 +66,24 @@ WITH i AS (
         FROM individu_telephone@octodev    indtel
                  JOIN telephone@octodev tel ON (tel.id = indtel.telephone_id AND tel.t_principal = 'O')
     )
SELECT ind.c_individu_chaine                                           individu_id,
    /* Code de l'intervenant = numéro Harpège */
       ltrim(TO_CHAR(induni.c_src_individu, '99999999'))               code,
SELECT
    /*Octopus id, id unique pour un individu immuable dans le temps, remplace le code harpege*/
    induni.c_individu_chaine                          code,
    /* Code RH */
    ltrim(TO_CHAR(induni.c_src_individu, '99999999')) code_rh,
    i.source_code                                     source_code,
    /* = supannempid du LDAP Unicaen */
       lpad(ltrim(TO_CHAR(induni.c_src_individu, '99999999')), 8, '0') utilisateur_code,
    /* Code structure Harpège (il sera plus tard transformé par la vue source en ID de strucutre OSE) */
       '**Code STRUCTURE Harpège**'                                    z_structure_id,
    /* Code statut */
    indc.ldap_uid                                     utilisateur_code,
    indg.structure_id                                 z_structure_id,
    i.z_statut_id                                     z_statut_id,
    /* Récupération du grade actuel */
    --pbs_divers__cicg.c_grade@harpprod(individu.no_individu, COALESCE(i.validite_fin,SYSDATE) ) z_grade_id,
       '**Grade individu**'                                            z_grade_id,
    indg.grade_id                                     z_grade_id,
    /* Données nécessaires pour calculer la discipline */
       i.z_discipline_id_cnu                                           z_discipline_id_cnu,
       i.z_discipline_id_sous_cnu                                      z_discipline_id_sous_cnu,
       i.z_discipline_id_spe_cnu                                       z_discipline_id_spe_cnu,
       i.z_discipline_id_dis2deg                                       z_discipline_id_dis2deg,
    indg.cnu_id                                       z_discipline_id_cnu,
    NULL                                              z_discipline_id_sous_cnu,
    indg.cnu_specialite_id                            z_discipline_id_spe_cnu,
    indg.discipline_sec_id                            z_discipline_id_dis2deg,
    /* Données identifiantes de base */
    CASE ind.sexe WHEN 'M' THEN 'M.' ELSE 'Mme' END   z_civilite_id,
    initcap(ind.nom_usage)                            nom_usuel,
@@ -112,7 +101,7 @@ SELECT ind.c_individu_chaine individu_

    telpro.numero                                     tel_pro,
    ind.tel_perso                                     tel_perso,
       '**Email pro**'                                                 email_pro,
    indc.email                                        email_pro,
    ind.email_perso                                   email_perso,
    /* Adresse */
    '**Adr précision**'                               adresse_precisions,
@@ -136,5 +125,8 @@ SELECT ind.c_individu_chaine individu_
FROM i
         JOIN individu_unique@octodev induni ON (i.code = induni.c_src_individu AND induni.c_source = 'HARP')
         LEFT JOIN individu@octodev ind ON ind.c_individu_chaine = induni.c_individu_chaine
         LEFT JOIN individu_grade@octodev indg ON induni.c_individu_chaine = indg.individu_id
         LEFT JOIN telephone_pro_principal telpro ON telpro.individu_id = induni.c_individu_chaine
         LEFT JOIN individu_compte@octodev indc ON indc.individu_id = induni.c_individu_chaine
WHERE i.validite_fin + 1 >= (SYSDATE - (365 * 2))
--AND code = 184
+11 −0
Changes for doc/Connecteurs Import/Octopus/SRC_CORPS_OCTO.sql: 11 added lines, 0 removed lines.
Original line number Diff line number Diff line
CREATE
OR REPLACE FORCE VIEW SRC_CORPS_OCTO AS
SELECT c.lib_long  libelle_long,
       c.lib_court libelle_court,
       s.id        source_id,
       c.c_corps   source_code
FROM corps@octodev c
         JOIN source s
              ON s.code = 'Octopus'
WHERE SYSDATE BETWEEN COALESCE(c.d_ouverture, SYSDATE) AND COALESCE(c.d_fermeture + 1, SYSDATE)
  AND c.c_corps = '843'
+9 −0
Changes for doc/Connecteurs Import/Octopus/SRC_DEPARTEMENT_OCTO.sql: 9 added lines, 0 removed lines.
Original line number Diff line number Diff line
CREATE
OR REPLACE FORCE VIEW SRC_DEPARTEMENT_OCTO AS
SELECT d.code      code,
       d.lib_court libelle,
       s.id        source_id,
       d.code      source_code
FROM departement@octodev d
         JOIN source s
              ON s.code = 'Octopus'
 No newline at end of file
+10 −0
Changes for doc/Connecteurs Import/Octopus/SRC_GRADE_OCTO.sql: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
CREATE
OR REPLACE FORCE VIEW SRC_GRADE_OCTO AS
SELECT g.lib_court libelle_court,
       g.lib_long  libelle_long,
       s.id        source_id,
       g.c_grade   source_code,
       null        echelle,
       null        corps_id
FROM grade@octodev g
         JOIN source s ON s.code = 'Octopus'
+10 −0
Changes for doc/Connecteurs Import/Octopus/SRC_PAYS_OCTO.sql: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
CREATE
OR REPLACE FORCE VIEW SRC_PAYS_OCTO AS
SELECT code_pays                                                     code,
       libelle_court                                                 libelle,
       coalesce(date_ouverture, TO_DATE('1900/01/01', 'YYYY/MM/DD')) validite_debut,
       date_fermeture                                                validite_fin,
       s.id                                                          source_id,
       code_pays                                                     source_code
FROM pays@octodev p
         JOIN source s ON s.code = 'Octopus';
 No newline at end of file
Loading