Commit 5075b56a authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Correction bug tbl PJ

parent 0b58cdb8
Loading
Loading
Loading
Loading
+108 −86
Original line number Diff line number Diff line
@@ -30637,8 +30637,32 @@ END UNICAEN_TBL;',
      SELECT
        tv.*
      FROM
        (WITH pjf AS (
          SELECT DISTINCT
        (SELECT 
            annee_id,
            type_piece_jointe_id,
            intervenant_id,
            demandee,
            fournie,
            validee,
            heures_pour_seuil,
            obligatoire,
            date_archive
        FROM (
          SELECT
            COALESCE( pjd.annee_id, pjf.annee_id )                              annee_id,
            COALESCE( pjd.type_piece_jointe_id, pjf.type_piece_jointe_id )      type_piece_jointe_id,
            COALESCE( pjd.intervenant_id, pjf.intervenant_id )                  intervenant_id,
            CASE WHEN pjd.intervenant_id IS NULL THEN 0 ELSE 1 END              demandee,
            CASE WHEN pjf.fichier = pjf.count THEN 1 ELSE 0 END                 fournie,
            CASE WHEN pjf.validation = pjf.count THEN 1 ELSE 0 END              validee,
            COALESCE(pjd.heures_pour_seuil,0)                                   heures_pour_seuil,
            COALESCE(pjd.obligatoire,1)                                         obligatoire,
            pjf.date_archive                                                    date_archive,
            rank() over (partition by pjd.annee_id order by pjf.annee_id DESC)  rank1
          FROM
            tbl_piece_jointe_demande pjd
            FULL JOIN (
              SELECT
                pjf.annee_id,
                pjf.type_piece_jointe_id,
                pjf.intervenant_id,
@@ -30659,27 +30683,14 @@ END UNICAEN_TBL;',
                pjf.date_validite,
                pjf.duree_vie,
                pjf.date_archive
            ORDER BY pjf.annee_id ASC
        )
        SELECT DISTINCT
          COALESCE( pjd.annee_id, pjf.annee_id ) annee_id,
          COALESCE( pjd.type_piece_jointe_id, pjf.type_piece_jointe_id ) type_piece_jointe_id,
          COALESCE( pjd.intervenant_id, pjf.intervenant_id ) intervenant_id,
          CASE WHEN pjd.intervenant_id IS NULL THEN 0 ELSE 1 END demandee,
          CASE WHEN pjf.fichier = pjf.count THEN 1 ELSE 0 END fournie,
          CASE WHEN pjf.validation = pjf.count THEN 1 ELSE 0 END validee,
          COALESCE(pjd.heures_pour_seuil,0) heures_pour_seuil,
          COALESCE(pjd.obligatoire,1) obligatoire,
          pjf.date_archive
        FROM
          tbl_piece_jointe_demande pjd
          FULL JOIN pjf
            ) pjf
            ON pjf.type_piece_jointe_id = pjd.type_piece_jointe_id
            AND pjd.code_intervenant = pjf.code_intervenant
            AND pjd.annee_id BETWEEN pjf.annee_id AND (pjf.annee_id + pjf.duree_vie - 1)
            AND pjd.annee_id BETWEEN pjf.annee_id AND NVL(pjf.date_archive - 1,(pjf.annee_id + pjf.duree_vie - 1))
        ORDER By annee_id) tv
          ) t
          WHERE
            t.rank1 = 1) tv
      WHERE
        \' || conds || \'
@@ -30880,7 +30891,7 @@ END UNICAEN_TBL;',
          pj.id piece_jointe_id,
          v.id validation_id,
          f.id fichier_id,
          MAX(tpjs.duree_vie) duree_vie,
          MIN(tpjs.duree_vie) duree_vie,
          MAX(i.annee_id+duree_vie) date_validite,
          pj.date_archive date_archive
        FROM
@@ -36412,8 +36423,32 @@ FROM
    array (
      'name' => 'V_TBL_PIECE_JOINTE',
      'definition' => 'CREATE OR REPLACE FORCE VIEW V_TBL_PIECE_JOINTE AS
WITH pjf AS (
  SELECT DISTINCT
SELECT 
    annee_id,
    type_piece_jointe_id,
    intervenant_id,
    demandee,
    fournie,
    validee,
    heures_pour_seuil,
    obligatoire,
    date_archive
FROM (
  SELECT
    COALESCE( pjd.annee_id, pjf.annee_id )                              annee_id,
    COALESCE( pjd.type_piece_jointe_id, pjf.type_piece_jointe_id )      type_piece_jointe_id,
    COALESCE( pjd.intervenant_id, pjf.intervenant_id )                  intervenant_id,
    CASE WHEN pjd.intervenant_id IS NULL THEN 0 ELSE 1 END              demandee,
    CASE WHEN pjf.fichier = pjf.count THEN 1 ELSE 0 END                 fournie,
    CASE WHEN pjf.validation = pjf.count THEN 1 ELSE 0 END              validee,
    COALESCE(pjd.heures_pour_seuil,0)                                   heures_pour_seuil,
    COALESCE(pjd.obligatoire,1)                                         obligatoire,
    pjf.date_archive                                                    date_archive,
    rank() over (partition by pjd.annee_id order by pjf.annee_id DESC)  rank1
  FROM
    tbl_piece_jointe_demande pjd
    FULL JOIN (
      SELECT
        pjf.annee_id,
        pjf.type_piece_jointe_id,
        pjf.intervenant_id,
@@ -36434,27 +36469,14 @@ WITH pjf AS (
        pjf.date_validite,
        pjf.duree_vie,
        pjf.date_archive
    ORDER BY pjf.annee_id ASC
)
SELECT DISTINCT
  COALESCE( pjd.annee_id, pjf.annee_id ) annee_id,
  COALESCE( pjd.type_piece_jointe_id, pjf.type_piece_jointe_id ) type_piece_jointe_id,
  COALESCE( pjd.intervenant_id, pjf.intervenant_id ) intervenant_id,
  CASE WHEN pjd.intervenant_id IS NULL THEN 0 ELSE 1 END demandee,
  CASE WHEN pjf.fichier = pjf.count THEN 1 ELSE 0 END fournie,
  CASE WHEN pjf.validation = pjf.count THEN 1 ELSE 0 END validee,
  COALESCE(pjd.heures_pour_seuil,0) heures_pour_seuil,
  COALESCE(pjd.obligatoire,1) obligatoire,
  pjf.date_archive
FROM
  tbl_piece_jointe_demande pjd
  FULL JOIN pjf
    ) pjf
    ON pjf.type_piece_jointe_id = pjd.type_piece_jointe_id
    AND pjd.code_intervenant = pjf.code_intervenant
    AND pjd.annee_id BETWEEN pjf.annee_id AND (pjf.annee_id + pjf.duree_vie - 1)
    AND pjd.annee_id BETWEEN pjf.annee_id AND NVL(pjf.date_archive - 1,(pjf.annee_id + pjf.duree_vie - 1))
ORDER By annee_id',
  ) t
  WHERE
    t.rank1 = 1',
    ),
    'V_TBL_PIECE_JOINTE_DEMANDE' => 
    array (
@@ -36533,7 +36555,7 @@ SELECT DISTINCT
  pj.id piece_jointe_id,
  v.id validation_id,
  f.id fichier_id,
  MAX(tpjs.duree_vie) duree_vie,
  MIN(tpjs.duree_vie) duree_vie,
  MAX(i.annee_id+duree_vie) date_validite,
  pj.date_archive date_archive
FROM