Commit 83bae166 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

MAJ DDL

parent d74e5002
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -162,7 +162,7 @@ FROM ( SELECT c.*,
            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 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
        WHERE
+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ SELECT
FROM
    tbl_candidature tc
WHERE
	tc.candidature_id IS NOT null
  tc.candidature_id IS NOT NULL
  AND tc.validation_id IS NULL
GROUP BY
  tc.intervenant_id,
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ CREATE OR REPLACE FORCE VIEW V_INDICATEUR_350 AS
SELECT DISTINCT
  w.intervenant_id,
  w.structure_id,
  Max(m.HISTO_MODIFICATION) AS "Date de modification"
  MAX(m.HISTO_MODIFICATION) AS "Date de modification"
FROM
  tbl_workflow w
  JOIN tbl_mission tm ON tm.intervenant_id = w.intervenant_id
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ CREATE OR REPLACE FORCE VIEW V_INDICATEUR_370 AS
SELECT DISTINCT
  w.intervenant_id,
  w.structure_id,
  Max(vhm.HISTO_MODIFICATION) AS "Date de modification"
  MAX(vhm.HISTO_MODIFICATION) AS "Date de modification"
FROM
  tbl_workflow w
  JOIN mission m ON m.intervenant_id = w.intervenant_id
+115 −0
Original line number Diff line number Diff line
@@ -15,7 +15,49 @@ SELECT
  CASE WHEN p.heures > COALESCE(p.PLAFOND,ps.heures,0) + COALESCE(pd.heures, 0) + 0.05 THEN 1 ELSE 0 END depassement
FROM
  (
  SELECT 8 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                             annee_id,
        fr.type_volume_horaire_id              type_volume_horaire_id,
        i.id                                   intervenant_id,
        fr.service_referentiel + fr.heures_compl_referentiel heures
      FROM
        intervenant                     i
        JOIN etat_volume_horaire      evh ON evh.code = 'saisi'
        JOIN formule_resultat          fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id
        JOIN statut                    si ON si.id = i.statut_id
    ) p

    UNION ALL

  SELECT 9 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                annee_id,
        vh.type_volume_horaire_id type_volume_horaire_id,
        i.id                      intervenant_id,
        SUM(vh.heures)            heures
      FROM
        volume_horaire vh
        JOIN service s ON s.id = vh.service_id
        JOIN intervenant i ON i.id = s.intervenant_id
        JOIN statut si ON si.id = i.statut_id
      WHERE
        vh.histo_destruction IS NULL
        AND i.histo_destruction IS NULL
        AND vh.motif_non_paiement_id IS NULL
        AND si.code IN ('IMP')
      GROUP BY
        i.annee_id,
        vh.type_volume_horaire_id,
        i.id,
        i.statut_id
      HAVING
        SUM(vh.heures) >= 0
    ) p

    UNION ALL

  SELECT 10 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                  annee_id,
        vhm.type_volume_horaire_id  type_volume_horaire_id,
@@ -30,6 +72,79 @@ FROM
      GROUP BY
        i.annee_id, vhm.type_volume_horaire_id, i.id
    ) p

    UNION ALL

  SELECT 1 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                          annee_id,
        fr.type_volume_horaire_id           type_volume_horaire_id,
        fr.intervenant_id                   intervenant_id,
        fr.heures_compl_fi + fr.heures_compl_fc + fr.heures_compl_fa + fr.heures_compl_referentiel heures
      FROM
             intervenant                i
        JOIN statut                    si ON si.id = i.statut_id
        JOIN etat_volume_horaire      evh ON evh.code = 'saisi'
        JOIN formule_resultat          fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id
    ) p

    UNION ALL

  SELECT 2 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                             annee_id,
        fr.type_volume_horaire_id              type_volume_horaire_id,
        i.id                                   intervenant_id,
        fr.total - fr.heures_compl_fc_majorees heures
      FROM
        intervenant                     i
        JOIN etat_volume_horaire      evh ON evh.code = 'saisi'
        JOIN formule_resultat          fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id
        JOIN statut                    si ON si.id = i.statut_id
    ) p

    UNION ALL

  SELECT 3 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                          annee_id,
        fr.type_volume_horaire_id           type_volume_horaire_id,
        i.id                                intervenant_id,
        fr.heures_compl_fc_majorees         heures
        /*ROUND( (COALESCE(si.plafond_hc_remu_fc,0) - COALESCE(i.montant_indemnite_fc,0)) / a.taux_hetd, 2 ) plafond*/

      FROM
             intervenant                i
        JOIN annee                      a ON a.id = i.annee_id
        JOIN statut                    si ON si.id = i.statut_id
        JOIN etat_volume_horaire      evh ON evh.code = 'saisi'
        JOIN formule_resultat          fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id
    ) p

    UNION ALL

  SELECT 4 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                annee_id,
        fr.type_volume_horaire_id type_volume_horaire_id,
        i.id                      intervenant_id,
        SUM(frvh.heures_compl_fi) heures
      FROM
        intervenant                     i
        JOIN etat_volume_horaire      evh ON evh.code = 'saisi'
        JOIN formule_resultat          fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id
        JOIN formule_resultat_vh     frvh ON frvh.formule_resultat_id = fr.id
        JOIN volume_horaire            vh ON vh.id = frvh.volume_horaire_id
        JOIN type_intervention         ti ON ti.id = vh.type_intervention_id
        JOIN statut                    si ON si.id = i.statut_id
      WHERE
        ti.regle_foad = 0
      GROUP BY
        fr.type_volume_horaire_id,
        i.annee_id,
        i.id,
        i.statut_id
    ) p
  ) p
  JOIN intervenant i ON i.id = p.intervenant_id
  LEFT JOIN plafond_statut ps ON ps.plafond_id = p.plafond_id AND ps.statut_id = i.statut_id AND ps.annee_id = i.annee_id AND ps.histo_destruction IS NULL
Loading