From ea014e133e5849c7e4344db3c22a0ef3944a23b0 Mon Sep 17 00:00:00 2001 From: Antony Le Courtes <antony.lecourtes@unicaen.fr> Date: Mon, 4 Oct 2021 16:51:08 +0200 Subject: [PATCH] Adaptation MV_INTERVENANT.sql et statut autre... --- .../Octopus/MV_INTERVENANT.sql | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/doc/Connecteurs-Import/Octopus/MV_INTERVENANT.sql b/doc/Connecteurs-Import/Octopus/MV_INTERVENANT.sql index 416266e06a..f743af1471 100644 --- a/doc/Connecteurs-Import/Octopus/MV_INTERVENANT.sql +++ b/doc/Connecteurs-Import/Octopus/MV_INTERVENANT.sql @@ -1,6 +1,6 @@ CREATE MATERIALIZED VIEW MV_INTERVENANT AS -WITH i AS ( + WITH i AS ( SELECT DISTINCT code, MAX(z_statut_id) OVER (partition by code, z_statut_id) z_statut_id, @@ -22,14 +22,16 @@ WITH i AS ( ELSE 'vacataire' END z_type, 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, + CASE + WHEN icto.d_fin = to_date('01/09/2021', 'dd/mm/YYYY') THEN to_date('31/08/2021', 'dd/mm/YYYY') + ELSE COALESCE(icto.d_fin, to_date('01/01/9999', 'dd/mm/YYYY')) END validite_fin, NULL fin_affectation_siham FROM octo.v_individu_contrat_type_ose@octoprod icto 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 AND icto.code_ose IS NOT NULL - WHERE icto.d_debut - 184 <= SYSDATE AND icto.code_ose IS NOT NULL UNION ALL -- Step 2 : on prend tout le reste potentiel vacataire, notamment les hébergés @@ -40,7 +42,9 @@ WITH i AS ( ELSE 'vacataire' END z_type, uni.c_individu_chaine || '-autre' source_code, COALESCE(inds.d_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut, - COALESCE(inds.d_fin, to_date('01/01/9999', 'dd/mm/YYYY')) validite_fin, + CASE + WHEN inds.d_fin = to_date('01/09/2021', 'dd/mm/YYYY') THEN to_date('31/08/2021', 'dd/mm/YYYY') + ELSE COALESCE(inds.d_fin, to_date('01/01/9999', 'dd/mm/YYYY')) END validite_fin, CASE WHEN inds.c_source = 'SIHAM' THEN inds.d_fin ELSE NULL END fin_affectation_siham @@ -58,7 +62,7 @@ WITH i AS ( OR (inds.t_vacataire = 'O') OR (inds.t_heberge = 'O')) AND icto.individu_id IS NULL - 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') ) t ), @@ -277,6 +281,4 @@ FROM i 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)) - - +WHERE i.validite_fin >= (SYSDATE - (365 * 2)) \ No newline at end of file -- GitLab