ROUND(CASE to_char( vhm.horaire_debut, ''mm'' ) WHEN ''07'' THEN 150 WHEN ''08'' THEN 150 ELSE 67 END / 30 * (m.date_fin - m.date_debut),2) plafond_tranche_mission,
CASE to_char( vhm.horaire_debut, ''mm'' ) WHEN ''07'' THEN 150 WHEN ''08'' THEN 150 ELSE 67 END plafond_tranche
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
volume_horaire_mission vhm
JOIN type_volume_horaire tvh ON tvh.id = vhm.type_volume_horaire_id AND tvh.code = ''REALISE''
JOIN mission m ON m.id = vhm.mission_id AND m.histo_destruction IS NULL
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
vhm.histo_destruction IS NULL
) t
ti.regle_foad = 0
GROUP BY
intervenant_id,
type_volume_horaire_id,
tranche
) t
JOIN intervenant i ON i.id = t.intervenant_id
WHERE
heures > plafond
AND rownum = 1
fr.type_volume_horaire_id,
i.annee_id,
i.id,
i.statut_id
) p
UNION ALL
SELECT 8 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
LEFT JOIN plafond_referentiel ps ON ps.plafond_id = p.plafond_id AND ps.fonction_referentiel_id = p.fonction_referentiel_id AND ps.annee_id = i.annee_id AND ps.histo_destruction IS NULL
@@ -2597,7 +2662,23 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
CASE WHEN p.heures > COALESCE(p.PLAFOND,ps.heures,0) + COALESCE(pd.heures, 0) + 0.05 THEN 1 ELSE 0 END depassement
FROM
(
SELECT NULL PLAFOND_ID,NULL ANNEE_ID,NULL TYPE_VOLUME_HORAIRE_ID,NULL INTERVENANT_ID,NULL STRUCTURE_ID,NULL HEURES,NULL PLAFOND,NULL PLAFOND_ETAT_ID,NULL DEROGATION FROM dual WHERE 0 = 1
SELECT 6 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
LEFT JOIN plafond_structure ps ON ps.plafond_id = p.plafond_id AND ps.structure_id = p.structure_id AND ps.annee_id = i.annee_id AND ps.histo_destruction IS NULL
@@ -2691,7 +2772,64 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
CASE WHEN p.heures > COALESCE(p.PLAFOND,ps.heures,0) + COALESCE(pd.heures, 0) + 0.05 THEN 1 ELSE 0 END depassement
FROM
(
SELECT NULL PLAFOND_ID,NULL ANNEE_ID,NULL TYPE_VOLUME_HORAIRE_ID,NULL INTERVENANT_ID,NULL ELEMENT_PEDAGOGIQUE_ID,NULL TYPE_INTERVENTION_ID,NULL HEURES,NULL PLAFOND,NULL PLAFOND_ETAT_ID,NULL DEROGATION FROM dual WHERE 0 = 1
SELECT 5 PLAFOND_ID, NULL PLAFOND_ETAT_ID, p.* FROM (