Commit 1060d414 authored by Florian Joriot's avatar Florian Joriot
Browse files

Correction vue V_CONTRAT_MAIN.sql

parent c8100840
Loading
Loading
Loading
Loading
+35 −33
Original line number Diff line number Diff line
CREATE OR REPLACE FORCE VIEW V_CONTRAT_MAIN AS
WITH hs AS (
  SELECT contrat_id, SUM(heures) "serviceTotal" FROM V_CONTRAT_SERVICES GROUP BY contrat_id
  SELECT contrat_id, SUM(heures) "serviceTotal", SUM("hetd") "hetdContrat" FROM V_CONTRAT_SERVICES GROUP BY contrat_id
),


@@ -58,6 +59,7 @@ SELECT ct.annee_id,
       'Exemplaire à retourner' || ct."exemplaire2"                                                                         "exemplaire2",
       ct."totalDiviseParDix",
       ct."serviceTotal",
       ct."hetdContrat",
       ct."serviceTotalPaye",
       ct."legendeAutresHeures",
       ct."enteteAutresHeures",
@@ -116,14 +118,14 @@ FROM ( SELECT c.*,
               COALESCE(d.numero_insee, i.numero_insee)                                                                                                       "numInsee",
               si.libelle                                                                                                                                     "statut",
               REPLACE(ltrim(to_char(COALESCE(c.total_hetd, fr.total, 0), '999999.00')), '.', ',')                                                            "totalHETD",
               REPLACE(ltrim(to_char(COALESCE(OSE_PAIEMENT.get_taux_horaire(COALESCE(trm.id, trs.id,tr.id), a.date_debut), 0), '999999.00')), '.', ',')       "tauxHoraireValeur",
               COALESCE(to_char(OSE_PAIEMENT.get_taux_horaire_date(COALESCE(trm.id, trs.id,tr.id), a.date_debut), 'dd/mm/YYYY'), 'TAUX INTROUVABLE')          "tauxHoraireDate",
               COALESCE(trm.id, trs.id,tr.id)                                                                                                                 "tauxId",
               COALESCE(trm.libelle, trs.libelle,tr.libelle)                                                                                                  "tauxNom",
               REPLACE(ltrim(to_char(COALESCE(OSE_PAIEMENT.get_taux_horaire(COALESCE(tmm.id,trm.id, trs.id,tr.id), a.date_debut), 0), '999999.00')), '.', ',')"tauxMajoreHoraireValeur",
               COALESCE(to_char(OSE_PAIEMENT.get_taux_horaire_date(COALESCE(tmm.id,trm.id, trs.id,tr.id), a.date_debut), 'dd/mm/YYYY'), 'TAUX INTROUVABLE')   "tauxMajoreHoraireDate",
               COALESCE(tmm.id,trm.id, trs.id,tr.id)                                                                                                          "tauxMajoreId",
               COALESCE(tmm.libelle,trm.libelle, trs.libelle,tr.libelle)                                                                                       "tauxMajoreNom",
               REPLACE(ltrim(to_char(COALESCE(OSE_PAIEMENT.get_taux_horaire(tr.id, a.date_debut), 0), '999999.00')), '.', ',')                              "tauxHoraireValeur",
               COALESCE(to_char(OSE_PAIEMENT.get_taux_horaire_date(tr.id, a.date_debut), 'dd/mm/YYYY'), 'TAUX INTROUVABLE')                                 "tauxHoraireDate",
               tr.id                                                                                                                                        "tauxId",
               tr.libelle                                                                                                                                   "tauxNom",
               REPLACE(ltrim(to_char(COALESCE(OSE_PAIEMENT.get_taux_horaire(trm.id, a.date_debut), 0), '999999.00')), '.', ',')                             "tauxMajoreHoraireValeur",
               COALESCE(to_char(OSE_PAIEMENT.get_taux_horaire_date(trm.id, a.date_debut), 'dd/mm/YYYY'), 'TAUX INTROUVABLE')                                "tauxMajoreHoraireDate",
               trm.id                                                                                                                                       "tauxMajoreId",
               trm.libelle                                                                                                                                  "tauxMajoreNom",
               to_char(COALESCE(v.histo_creation, a.date_debut), 'dd/mm/YYYY')                                                                                "dateSignature",
               CASE
                 WHEN c.structure_id <> COALESCE(cp.structure_id, 0) THEN 'modifié'
@@ -140,6 +142,8 @@ FROM ( SELECT c.*,
                                                       ), chr(13), ' - ')
                 ELSE '' END                                                                                                                                "exemplaire2",
               REPLACE(ltrim(to_char(COALESCE(hs."serviceTotal", 0), '999999.00')), '.', ',')                                                                 "serviceTotal",
               REPLACE(ltrim(to_char(COALESCE(hs."hetdContrat", 0), '999999.00')), '.', ',')                                                                 "hetdContrat",

               CASE
                 WHEN COALESCE(hs."serviceTotal"/10, 0) < 1
                   THEN CONCAT('0', REPLACE(ltrim(to_char(COALESCE(hs."serviceTotal"/10, 0), '999999.00')), '.', ','))
@@ -171,7 +175,6 @@ FROM ( SELECT c.*,
            JOIN intervenant                i ON i.id = c.intervenant_id
            JOIN annee                      a ON a.id = i.annee_id
            JOIN statut                     si ON si.id = i.statut_id
            LEFT JOIN taux_remu             trs ON si.taux_remu_id = trs.id
            JOIN STRUCTURE                  s ON s.id = c.structure_id
            LEFT JOIN intervenant_dossier   d ON d.intervenant_id = i.id AND d.histo_destruction IS NULL
            LEFT JOIN pays                  p ON d.pays_nationalite_id = p.id
@@ -180,15 +183,14 @@ FROM ( SELECT c.*,
            JOIN type_volume_horaire        tvh ON tvh.code = 'PREVU'
            JOIN etat_volume_horaire        evh ON evh.code = 'valide'
            LEFT JOIN formule_resultat      fr ON fr.intervenant_id = i.id AND fr.type_volume_horaire_id = tvh.id AND fr.etat_volume_horaire_id = evh.id
            JOIN parametre                  p ON p.nom = 'taux-remu'
            LEFT JOIN taux_remu             tr ON tr.id = p.valeur
            JOIN parametre                  ptr ON ptr.nom = 'taux-remu'
            LEFT JOIN                       hs ON hs.contrat_id = c.id
            LEFT JOIN                       la ON la.contrat_id = c.id
            LEFT JOIN contrat               cp ON cp.id = c.contrat_id
            LEFT JOIN mission               m ON c.mission_id = m.id
            LEFT JOIN type_mission          tm ON m.type_mission_id = tm.id
            LEFT JOIN taux_remu             trm ON tm.taux_remu_id = trm.id
            LEFT JOIN taux_remu             tmm ON tmm.id = m.taux_remu_majore_id
            JOIN taux_remu                  tr ON tr.id = COALESCE(m.taux_remu_id, tm.taux_remu_id, si.taux_remu_id, to_number(ptr.valeur))
            JOIN taux_remu                  trm ON trm.id = COALESCE(m.taux_remu_majore_id,m.taux_remu_id, tm.taux_remu_majore_id, tm.taux_remu_id, si.taux_remu_id, to_number(ptr.valeur))
        WHERE
          c.histo_destruction IS NULL
     ) ct
 No newline at end of file