Skip to content
Snippets Groups Projects
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
No related branches found
No related tags found
No related merge requests found
CREATE CREATE
MATERIALIZED VIEW MV_INTERVENANT AS MATERIALIZED VIEW MV_INTERVENANT AS
WITH i AS ( WITH i AS (
SELECT DISTINCT code, SELECT DISTINCT code,
...@@ -30,7 +31,7 @@ WITH i AS ( ...@@ -30,7 +31,7 @@ WITH i AS (
JOIN octo.individu_unique@octoprod uni ON icto.individu_id = uni.c_individu_chaine 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 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 UNION ALL
...@@ -52,7 +53,7 @@ WITH i AS ( ...@@ -52,7 +53,7 @@ WITH i AS (
FROM octo.individu_unique@octoprod uni FROM octo.individu_unique@octoprod uni
JOIN octo.individu_statut@octoprod inds ON inds.individu_id = uni.c_individu_chaine 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_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 WHERE inds.d_debut - 184 <= SYSDATE
--On ne remonte pas de statut autre pour ceux qui ont déjà un certain type de contrat --On ne remonte pas de statut autre pour ceux qui ont déjà un certain type de contrat
--AND icto.individu_id IS NULL --AND icto.individu_id IS NULL
...@@ -65,6 +66,8 @@ WITH i AS ( ...@@ -65,6 +66,8 @@ WITH i AS (
--AND (vinds.t_doctorant='N' OR vinds.individu_id IS NULL) --AND (vinds.t_doctorant='N' OR vinds.individu_id IS NULL)
AND inds.c_source IN ('HARP', 'OCTO', 'SIHAM') AND inds.c_source IN ('HARP', 'OCTO', 'SIHAM')
) t ) t
), ),
--Trouver le tel pro principal de l'intervenant --Trouver le tel pro principal de l'intervenant
...@@ -282,3 +285,7 @@ FROM i ...@@ -282,3 +285,7 @@ FROM i
--On récupére la discipline adaptée directement dans Octopus --On récupére la discipline adaptée directement dans Octopus
LEFT JOIN cnua cnua ON cnua.individu_id = induni.c_individu_chaine LEFT JOIN cnua cnua ON cnua.individu_id = induni.c_individu_chaine
WHERE i.validite_fin >= (SYSDATE - (365 * 2)) WHERE i.validite_fin >= (SYSDATE - (365 * 2))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment