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

Ajout d'un COALESCE sur les date de fin de contrat dans MV_INTERVENANT.sql

parent 193730ad
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
CREATE
MATERIALIZED VIEW MV_INTERVENANT AS

WITH i AS (

     SELECT DISTINCT code,
@@ -30,7 +31,7 @@ WITH i AS (
                      JOIN octo.individu_unique@octoprod uni ON icto.individu_id = uni.c_individu_chaine
                      JOIN octo.v_individu_statut@octoprod vinds ON vinds.individu_id = uni.c_individu_chaine

             WHERE (icto.d_debut - 184 <= SYSDATE OR icto.d_fin >= SYSDATE)  AND icto.code_ose IS NOT NULL
             WHERE (COALESCE(icto.d_debut, to_date('01/01/1900', 'dd/mm/YYYY')) - 184 <= SYSDATE OR COALESCE(icto.d_fin, to_date('01/01/9999', 'dd/mm/YYYY')) >= SYSDATE)  AND icto.code_ose IS NOT NULL


             UNION ALL
@@ -52,7 +53,7 @@ WITH i AS (
             FROM octo.individu_unique@octoprod uni
                      JOIN octo.individu_statut@octoprod inds ON inds.individu_id = uni.c_individu_chaine
   					  LEFT JOIN octo.v_individu_statut@octoprod vinds ON vinds.individu_id = uni.c_individu_chaine
					  LEFT JOIN octo.v_individu_contrat_type_ose@octoprod icto ON uni.c_individu_chaine = icto.individu_id AND icto.d_debut - 184 <= SYSDATE AND icto.d_fin >= SYSDATE AND icto.code_ose IS NOT NULL AND icto.code_ose NOT IN('NON_AUTORISE')
					  LEFT JOIN octo.v_individu_contrat_type_ose@octoprod icto ON uni.c_individu_chaine = icto.individu_id AND  COALESCE(icto.d_debut, to_date('01/01/1900', 'dd/mm/YYYY')) - 184 <= SYSDATE AND COALESCE(inds.d_fin, to_date('01/01/9999', 'dd/mm/YYYY'))  >= SYSDATE AND icto.code_ose IS NOT NULL AND icto.code_ose NOT IN('NON_AUTORISE')
             WHERE inds.d_debut - 184 <= SYSDATE
               --On ne remonte pas de statut autre pour ceux qui ont déjà un certain type de contrat
	           --AND icto.individu_id IS NULL
@@ -65,6 +66,8 @@ WITH i AS (
               --AND (vinds.t_doctorant='N' OR vinds.individu_id IS NULL)
               AND inds.c_source IN ('HARP', 'OCTO', 'SIHAM')
         ) t


),

     --Trouver le tel pro principal de l'intervenant
@@ -282,3 +285,7 @@ FROM i
    --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))