From 7e6c81eb55d1e9b24b8e289bf161be9c6ec3d4c5 Mon Sep 17 00:00:00 2001
From: Antony Le Courtes <antony.lecourtes@unicaen.fr>
Date: Fri, 8 Oct 2021 14:24:43 +0200
Subject: [PATCH] Corrections sur les PJ...

---
 data/ddl/package/UNICAEN_TBL/body.sql        | 4 ++--
 data/ddl/view/V_TBL_PIECE_JOINTE.sql         | 4 ++--
 data/ddl/view/V_TBL_PIECE_JOINTE_FOURNIE.sql | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/data/ddl/package/UNICAEN_TBL/body.sql b/data/ddl/package/UNICAEN_TBL/body.sql
index 2b911551ee..b0f00aada6 100644
--- a/data/ddl/package/UNICAEN_TBL/body.sql
+++ b/data/ddl/package/UNICAEN_TBL/body.sql
@@ -1421,7 +1421,7 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
                       tbl_piece_jointe_demande  pjd
             LEFT JOIN tbl_piece_jointe_fournie  pjf ON pjf.code_intervenant = pjd.code_intervenant
                                                    AND pjf.type_piece_jointe_id = pjd.type_piece_jointe_id
-                                                   AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite, (pjf.annee_id + pjf.duree_vie - 1))
+                                                   AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite - 1, (pjf.annee_id + pjf.duree_vie - 1))
           WHERE
             1=1
             /*@INTERVENANT_ID=pjd.intervenant_id*/
@@ -1659,7 +1659,7 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
           --CASE WHEN MIN(COALESCE(tpjs.duree_vie,1)) IS NULL THEN 1 ELSE MIN(COALESCE(tpjs.duree_vie,1)) END duree_vie,
           --CASE WHEN MIN(COALESCE(tpjs.duree_vie,1)) IS NULL THEN i.annee_id+1 ELSE MIN(i.annee_id+COALESCE(tpjs.duree_vie,1)) END date_validite,
           MIN(COALESCE(tpjs.duree_vie,1)) duree_vie,
-          MIN(COALESCE(tpjs.annee_fin_id, i.annee_id+COALESCE(tpjs.duree_vie,1))) date_validite,
+          MIN(COALESCE(tpjs.annee_fin_id+1, i.annee_id+COALESCE(tpjs.duree_vie,1))) date_validite,
           pj.date_archive date_archive
         FROM
                     piece_jointe          pj
diff --git a/data/ddl/view/V_TBL_PIECE_JOINTE.sql b/data/ddl/view/V_TBL_PIECE_JOINTE.sql
index f530e2c853..ab10ea861c 100644
--- a/data/ddl/view/V_TBL_PIECE_JOINTE.sql
+++ b/data/ddl/view/V_TBL_PIECE_JOINTE.sql
@@ -1,4 +1,4 @@
-CREATE OR REPLACE FORCE VIEW V_TBL_PIECE_JOINTE AS
+--CREATE OR REPLACE FORCE VIEW V_TBL_PIECE_JOINTE AS
 WITH t AS (
   SELECT
     pjd.annee_id                                                annee_id,
@@ -13,7 +13,7 @@ WITH t AS (
               tbl_piece_jointe_demande  pjd
     LEFT JOIN tbl_piece_jointe_fournie  pjf ON pjf.code_intervenant = pjd.code_intervenant
                                            AND pjf.type_piece_jointe_id = pjd.type_piece_jointe_id
-                                           AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite,(pjf.annee_id + pjf.duree_vie - 1))
+                                           AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite - 1,(pjf.annee_id + pjf.duree_vie - 1))
   WHERE
     1=1
     /*@INTERVENANT_ID=pjd.intervenant_id*/
diff --git a/data/ddl/view/V_TBL_PIECE_JOINTE_FOURNIE.sql b/data/ddl/view/V_TBL_PIECE_JOINTE_FOURNIE.sql
index 26999cfa2b..0ec074559d 100644
--- a/data/ddl/view/V_TBL_PIECE_JOINTE_FOURNIE.sql
+++ b/data/ddl/view/V_TBL_PIECE_JOINTE_FOURNIE.sql
@@ -10,7 +10,7 @@ SELECT
 --  CASE WHEN MIN(COALESCE(tpjs.duree_vie,1)) IS NULL THEN 1 ELSE MIN(COALESCE(tpjs.duree_vie,1)) END duree_vie,
   --CASE WHEN MIN(COALESCE(tpjs.duree_vie,1)) IS NULL THEN i.annee_id+1 ELSE MIN(i.annee_id+COALESCE(tpjs.duree_vie,1)) END date_validite,
   MIN(COALESCE(tpjs.duree_vie,1)) duree_vie,
-  MIN(COALESCE(tpjs.annee_fin_id, i.annee_id+COALESCE(tpjs.duree_vie,1))) date_validite,
+  MIN(COALESCE(tpjs.annee_fin_id+1, i.annee_id+COALESCE(tpjs.duree_vie,1))) date_validite,
 
   pj.date_archive date_archive
 FROM
-- 
GitLab