Commit 6562c9b3 authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

MAJ suite gen DDL

parent a3f948da
......@@ -384,4 +384,4 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_ARTOIS AS
ordre';
END;
END FORMULE_ARTOIS;
END FORMULE_ARTOIS;
\ No newline at end of file
......@@ -959,4 +959,4 @@ CREATE OR REPLACE PACKAGE BODY "OSE_FORMULE" AS
END LOOP;
END;
END OSE_FORMULE;
END OSE_FORMULE;
\ No newline at end of file
......@@ -1786,24 +1786,24 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
OPEN c FOR '
SELECT
v.INTERVENANT_ID,
v.PLAFOND_ID,
v.ANNEE_ID,
v.TYPE_VOLUME_HORAIRE_ID,
v.ELEMENT_PEDAGOGIQUE_ID,
v.HEURES,
v.PLAFOND,
v.DEROGATION,
CASE WHEN
t.INTERVENANT_ID = v.INTERVENANT_ID
AND COALESCE(t.PLAFOND_ID,0) = COALESCE(v.PLAFOND_ID,0)
COALESCE(t.PLAFOND_ID,0) = COALESCE(v.PLAFOND_ID,0)
AND t.ANNEE_ID = v.ANNEE_ID
AND COALESCE(t.TYPE_VOLUME_HORAIRE_ID,0) = COALESCE(v.TYPE_VOLUME_HORAIRE_ID,0)
AND t.INTERVENANT_ID = v.INTERVENANT_ID
AND t.ELEMENT_PEDAGOGIQUE_ID = v.ELEMENT_PEDAGOGIQUE_ID
AND t.HEURES = v.HEURES
AND t.PLAFOND = v.PLAFOND
AND t.DEROGATION = v.DEROGATION
THEN -1 ELSE t.ID END ID
THEN -1 ELSE t.ID END ID,
v.PLAFOND_ID,
v.ANNEE_ID,
v.TYPE_VOLUME_HORAIRE_ID,
v.INTERVENANT_ID,
v.ELEMENT_PEDAGOGIQUE_ID,
v.HEURES,
v.PLAFOND,
v.DEROGATION
FROM
(' || QUERY_APPLY_PARAM(viewQuery,param,value) || ') v
FULL JOIN TBL_PLAFOND_ELEMENT t ON
......@@ -1852,179 +1852,7 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
p.DEROGATION
FROM
(
SELECT 1 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
i.annee_id annee_id,
i.id intervenant_id,
fr.type_volume_horaire_id type_volume_horaire_id,
ROUND( (COALESCE(si.plafond_hc_remu_fc,0) - COALESCE(i.montant_indemnite_fc,0)) / a.taux_hetd, 2 ) plafond,
fr.heures_compl_fc_majorees heures
FROM
intervenant i
JOIN annee a ON a.id = i.annee_id
JOIN statut_intervenant 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, 0 DEROGATION, p.* FROM (
SELECT
i.annee_id annee_id,
i.id intervenant_id,
fr.type_volume_horaire_id type_volume_horaire_id,
si.plafond_referentiel plafond,
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_intervenant si ON si.id = i.statut_id
) p
UNION ALL
SELECT 3 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
i.annee_id,
t.intervenant_id,
t.type_volume_horaire_id,
AVG(t.plafond) plafond,
AVG(t.heures) heures
FROM
(
SELECT
vhr.type_volume_horaire_id type_volume_horaire_id,
sr.intervenant_id intervenant_id,
fr.plafond plafond,
fr.id fr_id,
SUM(vhr.heures) heures
FROM
service_referentiel sr
JOIN fonction_referentiel fr ON fr.id = sr.fonction_id
JOIN volume_horaire_ref vhr ON vhr.service_referentiel_id = sr.id AND vhr.histo_destruction IS NULL
WHERE
sr.histo_destruction IS NULL
GROUP BY
vhr.type_volume_horaire_id,
sr.intervenant_id,
fr.plafond,
fr.id
) t
JOIN intervenant i ON i.id = t.intervenant_id
GROUP BY
t.type_volume_horaire_id,
i.annee_id,
t.intervenant_id
) p
UNION ALL
SELECT 4 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
fr.type_volume_horaire_id type_volume_horaire_id,
i.annee_id annee_id,
i.id intervenant_id,
si.maximum_hetd plafond,
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_intervenant si ON si.id = i.statut_id
) p
UNION ALL
SELECT 5 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
fr.type_volume_horaire_id type_volume_horaire_id,
i.annee_id annee_id,
fr.intervenant_id intervenant_id,
si.plafond_hc_hors_remu_fc plafond,
fr.heures_compl_fi + fr.heures_compl_fc + fr.heures_compl_fa + fr.heures_compl_referentiel heures
FROM
intervenant i
JOIN statut_intervenant 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 6 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
i.annee_id,
t.intervenant_id,
t.type_volume_horaire_id,
AVG(t.plafond) plafond,
AVG(t.heures) heures
FROM
(
SELECT
vhr.type_volume_horaire_id type_volume_horaire_id,
sr.intervenant_id intervenant_id,
fr.plafond plafond,
fr.id fr_id,
SUM(vhr.heures) heures
FROM
service_referentiel sr
JOIN fonction_referentiel frf ON frf.id = sr.fonction_id
JOIN fonction_referentiel fr ON fr.id = frf.parent_id
JOIN volume_horaire_ref vhr ON vhr.service_referentiel_id = sr.id AND vhr.histo_destruction IS NULL
WHERE
sr.histo_destruction IS NULL
GROUP BY
vhr.type_volume_horaire_id,
sr.intervenant_id,
fr.plafond,
fr.id
) t
JOIN intervenant i ON i.id = t.intervenant_id
GROUP BY
t.type_volume_horaire_id,
i.annee_id,
t.intervenant_id
) p
UNION ALL
SELECT 8 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
t.type_volume_horaire_id,
t.annee_id,
t.intervenant_id,
si.plafond_hc_fi_hors_ead plafond,
t.heures
FROM
(
SELECT
fr.type_volume_horaire_id type_volume_horaire_id,
i.annee_id annee_id,
i.id intervenant_id,
i.statut_id statut_intervenant_id,
si.plafond_hc_fi_hors_ead plafond,
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_intervenant 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,
si.plafond_hc_fi_hors_ead
) t
JOIN statut_intervenant si ON si.id = t.statut_intervenant_id
) p
SELECT NULL PLAFOND_ID,NULL ANNEE_ID,NULL TYPE_VOLUME_HORAIRE_ID,NULL INTERVENANT_ID,NULL HEURES,NULL PLAFOND,NULL DEROGATION FROM dual WHERE 0 = 1
) p
JOIN plafond_application pa ON pa.plafond_id = p.plafond_id AND pa.type_volume_horaire_id = p.type_volume_horaire_id AND p.annee_id BETWEEN COALESCE(pa.annee_debut_id,p.annee_id) AND COALESCE(pa.annee_fin_id,p.annee_id)
WHERE
......@@ -2130,24 +1958,24 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
OPEN c FOR '
SELECT
v.INTERVENANT_ID,
v.PLAFOND_ID,
v.ANNEE_ID,
v.TYPE_VOLUME_HORAIRE_ID,
v.FONCTION_REFERENTIEL_ID,
v.HEURES,
v.PLAFOND,
v.DEROGATION,
CASE WHEN
t.INTERVENANT_ID = v.INTERVENANT_ID
AND COALESCE(t.PLAFOND_ID,0) = COALESCE(v.PLAFOND_ID,0)
COALESCE(t.PLAFOND_ID,0) = COALESCE(v.PLAFOND_ID,0)
AND t.ANNEE_ID = v.ANNEE_ID
AND COALESCE(t.TYPE_VOLUME_HORAIRE_ID,0) = COALESCE(v.TYPE_VOLUME_HORAIRE_ID,0)
AND t.INTERVENANT_ID = v.INTERVENANT_ID
AND t.FONCTION_REFERENTIEL_ID = v.FONCTION_REFERENTIEL_ID
AND t.HEURES = v.HEURES
AND t.PLAFOND = v.PLAFOND
AND t.DEROGATION = v.DEROGATION
THEN -1 ELSE t.ID END ID
THEN -1 ELSE t.ID END ID,
v.PLAFOND_ID,
v.ANNEE_ID,
v.TYPE_VOLUME_HORAIRE_ID,
v.INTERVENANT_ID,
v.FONCTION_REFERENTIEL_ID,
v.HEURES,
v.PLAFOND,
v.DEROGATION
FROM
(' || QUERY_APPLY_PARAM(viewQuery,param,value) || ') v
FULL JOIN TBL_PLAFOND_REFERENTIEL t ON
......@@ -2222,20 +2050,20 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
COALESCE(t.PLAFOND_ID,0) = COALESCE(v.PLAFOND_ID,0)
AND t.ANNEE_ID = v.ANNEE_ID
AND COALESCE(t.TYPE_VOLUME_HORAIRE_ID,0) = COALESCE(v.TYPE_VOLUME_HORAIRE_ID,0)
AND t.INTERVENANT_ID = v.INTERVENANT_ID
AND t.STRUCTURE_ID = v.STRUCTURE_ID
AND t.HEURES = v.HEURES
AND t.PLAFOND = v.PLAFOND
AND t.DEROGATION = v.DEROGATION
AND t.INTERVENANT_ID = v.INTERVENANT_ID
THEN -1 ELSE t.ID END ID,
v.PLAFOND_ID,
v.ANNEE_ID,
v.TYPE_VOLUME_HORAIRE_ID,
v.INTERVENANT_ID,
v.STRUCTURE_ID,
v.HEURES,
v.PLAFOND,
v.DEROGATION,
v.INTERVENANT_ID
v.DEROGATION
FROM
(' || QUERY_APPLY_PARAM(viewQuery,param,value) || ') v
FULL JOIN TBL_PLAFOND_STRUCTURE t ON
......@@ -2312,22 +2140,22 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
COALESCE(t.PLAFOND_ID,0) = COALESCE(v.PLAFOND_ID,0)
AND t.ANNEE_ID = v.ANNEE_ID
AND COALESCE(t.TYPE_VOLUME_HORAIRE_ID,0) = COALESCE(v.TYPE_VOLUME_HORAIRE_ID,0)
AND t.INTERVENANT_ID = v.INTERVENANT_ID
AND t.ELEMENT_PEDAGOGIQUE_ID = v.ELEMENT_PEDAGOGIQUE_ID
AND COALESCE(t.TYPE_INTERVENTION_ID,0) = COALESCE(v.TYPE_INTERVENTION_ID,0)
AND t.HEURES = v.HEURES
AND t.PLAFOND = v.PLAFOND
AND t.DEROGATION = v.DEROGATION
AND t.INTERVENANT_ID = v.INTERVENANT_ID
THEN -1 ELSE t.ID END ID,
v.PLAFOND_ID,
v.ANNEE_ID,
v.TYPE_VOLUME_HORAIRE_ID,
v.INTERVENANT_ID,
v.ELEMENT_PEDAGOGIQUE_ID,
v.TYPE_INTERVENTION_ID,
v.HEURES,
v.PLAFOND,
v.DEROGATION,
v.INTERVENANT_ID
v.DEROGATION
FROM
(' || QUERY_APPLY_PARAM(viewQuery,param,value) || ') v
FULL JOIN TBL_PLAFOND_VOLUME_HORAIRE t ON
......
......@@ -3,57 +3,13 @@
//@formatter:off
return [
'ADRESSE_INTERVENANT_ID_SEQ',
'ADRESSE_STRUCTURE_ID_SEQ',
'AFFECTATION_ID_SEQ',
'AFFECTATION_RECHERCHE_ID_SEQ',
'AGREMENT_ID_SEQ',
'CAMPAGNE_SAISIE_ID_SEQ',
'CATEGORIE_PRIVILEGE_ID_SEQ',
'CC_ACTIVITE_ID_SEQ',
'CENTRE_COUT_EP_ID_SEQ',
'CENTRE_COUT_ID_SEQ',
'CENTRE_COUT_STRUCTURE_ID_SEQ',
'CHEMIN_PEDAGOGIQUE_ID_SEQ',
'CIVILITE_ID_SEQ',
'CONTRAT_FICHIER_ID_SEQ',
'CONTRAT_ID_SEQ',
'CORPS_ID_SEQ',
'DEPARTEMENT_ID_SEQ',
'DISCIPLINE_ID_SEQ',
'DISCIPLINE_MAPPING_ID_SEQ',
'DOMAINE_FONCTIONNEL_ID_SEQ',
'DOSSIER_ID_SEQ',
'DOTATION_ID_SEQ',
'EFFECTIFS_ETAPE_ID_SEQ',
'EFFECTIFS_ID_SEQ',
'ELEMENT_MODULATEUR_ID_SEQ',
'ELEMENT_PEDAGOGIQUE_ID_SEQ',
'ELEMENT_TAUX_REGIMES_ID_SEQ',
'EMPLOYEUR_ID_SEQ',
'ETABLISSEMENT_ID_SEQ',
'ETAPE_ID_SEQ',
'ETAT_SORTIE_ID_SEQ',
'FICHIER_ID_SEQ',
'FONCTION_REFERENTIEL_ID_SEQ',
'FORMULE_RESULTAT_ID_SEQ',
'FORMULE_RESULTAT_SERREF_ID_SEQ',
'FORMULE_RESULTAT_SERVIC_ID_SEQ',
'FORMULE_RESULTAT_VH_ID_SEQ',
'FORMULE_RESULTAT_VH_REF_ID_SEQ',
'FTEST_INTERVENANT_ID_SEQ',
'FTEST_STRUCTURE_ID_SEQ',
'FTEST_VOLUME_HORAIRE_ID_SEQ',
'GRADE_ID_SEQ',
'GROUPE_ID_SEQ',
'GROUPE_TYPE_FORMATION_ID_SEQ',
'HISTO_INTERVENANT_SERVI_ID_SEQ',
'INDICATEUR_ID_SEQ',
'INDIC_MODIF_DOSSIER_ID_SEQ',
'INTERVENANT_DOSSIER_ID_SEQ',
'TBL_NOEUD_ID_SEQ',
'INTERVENANT_ID_SEQ',
'INTERVENANT_DOSSIER_ID_SEQ',
'INTERVENANT_PAR_DEFAUT_ID_SEQ',
'INTERVENANT_SAISIE_ID_SEQ',
'LIEN_ID_SEQ',
'MISE_EN_PAIEMENT_ID_SEQ',
'MODELE_CONTRAT_ID_SEQ',
......@@ -65,29 +21,28 @@ return [
'NOTIFICATION_INDICATEUR_ID_SEQ',
'PARAMETRE_ID_SEQ',
'PAYS_ID_SEQ',
'TYPE_DOTATION_ID_SEQ',
'PERIMETRE_ID_SEQ',
'PERIODE_ID_SEQ',
'PIECE_JOINTE_FICHIER_ID_SEQ',
'PIECE_JOINTE_ID_SEQ',
'PLAFOND_ID_SEQ',
'PLAFOND_APPLICATION_ID_SEQ',
'PLAFOND_ETAT_ID_SEQ',
'PLAFOND_ID_SEQ',
'PRIVILEGE_ID_SEQ',
'REGLE_STRUCTURE_VALIDAT_ID_SEQ',
'ROLE_ID_SEQ',
'ROLE_PRIVILEGE_ID_SEQ',
'SCENARIO_ID_SEQ',
'SCENARIO_LIEN_ID_SEQ',
'SCENARIO_NOEUD_EFFECTIF_ID_SEQ',
'SCENARIO_NOEUD_ID_SEQ',
'SCENARIO_NOEUD_EFFECTIF_ID_SEQ',
'SCENARIO_NOEUD_SEUIL_ID_SEQ',
'SERVICE_ID_SEQ',
'SERVICE_REFERENTIEL_ID_SEQ',
'SEUIL_CHARGE_ID_SEQ',
'VALIDATION_VOL_HORAIRE_ID_SEQ',
'VALIDATION_VOL_HORAIRE__ID_SEQ',
'SOURCE_ID_SEQ',
'STATUT_INTERVENANT_ID_SEQ',
'STATUT_INTERVENANT_MAPP_ID_SEQ',
'STATUT_PRIVILEGE_ID_SEQ',
'STRUCTURE_ID_SEQ',
'SYNC_LOG_ID_SEQ',
'TAUX_HORAIRE_HETD_ID_SEQ',
......@@ -96,15 +51,13 @@ return [
'TBL_CHARGENS_SEUILS_DEF_ID_SEQ',
'TBL_CLOTURE_REALISE_ID_SEQ',
'TBL_CONTRAT_ID_SEQ',
'TBL_DEMS_ID_SEQ',
'TBL_DMEP_LIQUIDATION_ID_SEQ',
'TBL_DOSSIER_ID_SEQ',
'TBL_LIEN_ID_SEQ',
'TBL_NOEUD_ID_SEQ',
'TBL_PAIEMENT_ID_SEQ',
'TBL_PIECE_JOINTE_ID_SEQ',
'TBL_PIECE_JOINTE_DEMAND_ID_SEQ',
'TBL_PIECE_JOINTE_FOURNI_ID_SEQ',
'TBL_PIECE_JOINTE_ID_SEQ',
'TBL_PLAFOND_ELEMENT_ID_SEQ',
'TBL_PLAFOND_INTERVENANT_ID_SEQ',
'TBL_PLAFOND_REFERENTIEL_ID_SEQ',
......@@ -118,35 +71,82 @@ return [
'TBL_WORKFLOW_ID_SEQ',
'TEST_BUFFER_ID_SEQ',
'TYPE_AGREMENT_ID_SEQ',
'ADRESSE_INTERVENANT_ID_SEQ',
'ADRESSE_STRUCTURE_ID_SEQ',
'TYPE_AGREMENT_STATUT_ID_SEQ',
'TYPE_CONTRAT_ID_SEQ',
'TYPE_DOTATION_ID_SEQ',
'TYPE_FORMATION_ID_SEQ',
'TYPE_HEURES_ID_SEQ',
'TYPE_INTERVENANT_ID_SEQ',
'TYPE_INTERVENTION_EP_ID_SEQ',
'TYPE_INTERVENTION_ID_SEQ',
'TYPE_INTERVENTION_EP_ID_SEQ',
'TYPE_INTERVENTION_STATU_ID_SEQ',
'TYPE_INTERVENTION_STRUC_ID_SEQ',
'TYPE_MODULATEUR_EP_ID_SEQ',
'TYPE_MODULATEUR_ID_SEQ',
'TYPE_MODULATEUR_EP_ID_SEQ',
'CONTRAT_FICHIER_ID_SEQ',
'TYPE_MODULATEUR_STRUCTU_ID_SEQ',
'TYPE_PIECE_JOINTE_ID_SEQ',
'TYPE_PIECE_JOINTE_STATU_ID_SEQ',
'TYPE_RESSOURCE_ID_SEQ',
'DISCIPLINE_MAPPING_ID_SEQ',
'TYPE_VALIDATION_ID_SEQ',
'DOSSIER_ID_SEQ',
'UTILISATEUR_ID_SEQ',
'VALIDATION_ID_SEQ',
'VALIDATION_VOL_HORAIRE_ID_SEQ',
'VALIDATION_VOL_HORAIRE__ID_SEQ',
'VOIRIE_ID_SEQ',
'VOLUME_HORAIRE_ID_SEQ',
'VOLUME_HORAIRE_CHARGE_ID_SEQ',
'VOLUME_HORAIRE_ENS_ID_SEQ',
'VOLUME_HORAIRE_ID_SEQ',
'VOLUME_HORAIRE_REF_ID_SEQ',
'WF_DEP_BLOQUANTE_ID_SEQ',
'WF_ETAPE_DEP_ID_SEQ',
'WF_ETAPE_ID_SEQ',
'WF_ETAPE_DEP_ID_SEQ',
'FTEST_STRUCTURE_ID_SEQ',
'INTERVENANT_SAISIE_ID_SEQ',
'PIECE_JOINTE_FICHIER_ID_SEQ',
'ROLE_PRIVILEGE_ID_SEQ',
'STATUT_INTERVENANT_MAPP_ID_SEQ',
'STATUT_PRIVILEGE_ID_SEQ',
'TBL_DEMS_ID_SEQ',
'AFFECTATION_ID_SEQ',
'AFFECTATION_RECHERCHE_ID_SEQ',
'AGREMENT_ID_SEQ',
'CAMPAGNE_SAISIE_ID_SEQ',
'CATEGORIE_PRIVILEGE_ID_SEQ',
'CC_ACTIVITE_ID_SEQ',
'CENTRE_COUT_ID_SEQ',
'CENTRE_COUT_EP_ID_SEQ',
'CENTRE_COUT_STRUCTURE_ID_SEQ',
'CHEMIN_PEDAGOGIQUE_ID_SEQ',
'CIVILITE_ID_SEQ',
'CONTRAT_ID_SEQ',
'CORPS_ID_SEQ',
'DEPARTEMENT_ID_SEQ',
'DISCIPLINE_ID_SEQ',
'DOMAINE_FONCTIONNEL_ID_SEQ',
'DOTATION_ID_SEQ',
'EFFECTIFS_ID_SEQ',
'EFFECTIFS_ETAPE_ID_SEQ',
'ELEMENT_MODULATEUR_ID_SEQ',
'ELEMENT_PEDAGOGIQUE_ID_SEQ',
'ELEMENT_TAUX_REGIMES_ID_SEQ',
'EMPLOYEUR_ID_SEQ',
'ETABLISSEMENT_ID_SEQ',
'ETAPE_ID_SEQ',
'ETAT_SORTIE_ID_SEQ',
'FICHIER_ID_SEQ',
'FONCTION_REFERENTIEL_ID_SEQ',
'FORMULE_RESULTAT_ID_SEQ',
'FORMULE_RESULTAT_SERVIC_ID_SEQ',
'FORMULE_RESULTAT_SERREF_ID_SEQ',
'FORMULE_RESULTAT_VH_ID_SEQ',
'FORMULE_RESULTAT_VH_REF_ID_SEQ',
'FTEST_INTERVENANT_ID_SEQ',
'FTEST_VOLUME_HORAIRE_ID_SEQ',
'GRADE_ID_SEQ',
'GROUPE_ID_SEQ',
'GROUPE_TYPE_FORMATION_ID_SEQ',
];
//@formatter:on
......@@ -9,179 +9,7 @@ SELECT
p.DEROGATION
FROM
(
SELECT 1 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
i.annee_id annee_id,
i.id intervenant_id,
fr.type_volume_horaire_id type_volume_horaire_id,
ROUND( (COALESCE(si.plafond_hc_remu_fc,0) - COALESCE(i.montant_indemnite_fc,0)) / a.taux_hetd, 2 ) plafond,
fr.heures_compl_fc_majorees heures
FROM
intervenant i
JOIN annee a ON a.id = i.annee_id
JOIN statut_intervenant 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, 0 DEROGATION, p.* FROM (
SELECT
i.annee_id annee_id,
i.id intervenant_id,
fr.type_volume_horaire_id type_volume_horaire_id,
si.plafond_referentiel plafond,
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_intervenant si ON si.id = i.statut_id
) p
UNION ALL
SELECT 3 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
i.annee_id,
t.intervenant_id,
t.type_volume_horaire_id,
AVG(t.plafond) plafond,
AVG(t.heures) heures
FROM
(
SELECT
vhr.type_volume_horaire_id type_volume_horaire_id,
sr.intervenant_id intervenant_id,
fr.plafond plafond,
fr.id fr_id,
SUM(vhr.heures) heures
FROM
service_referentiel sr
JOIN fonction_referentiel fr ON fr.id = sr.fonction_id
JOIN volume_horaire_ref vhr ON vhr.service_referentiel_id = sr.id AND vhr.histo_destruction IS NULL
WHERE
sr.histo_destruction IS NULL
GROUP BY
vhr.type_volume_horaire_id,
sr.intervenant_id,
fr.plafond,
fr.id
) t
JOIN intervenant i ON i.id = t.intervenant_id
GROUP BY
t.type_volume_horaire_id,
i.annee_id,
t.intervenant_id
) p
UNION ALL
SELECT 4 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
fr.type_volume_horaire_id type_volume_horaire_id,
i.annee_id annee_id,
i.id intervenant_id,
si.maximum_hetd plafond,
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_intervenant si ON si.id = i.statut_id
) p
UNION ALL
SELECT 5 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
fr.type_volume_horaire_id type_volume_horaire_id,
i.annee_id annee_id,
fr.intervenant_id intervenant_id,
si.plafond_hc_hors_remu_fc plafond,
fr.heures_compl_fi + fr.heures_compl_fc + fr.heures_compl_fa + fr.heures_compl_referentiel heures
FROM
intervenant i
JOIN statut_intervenant 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 6 PLAFOND_ID, 0 DEROGATION, p.* FROM (
SELECT
i.annee_id,
t.intervenant_id,
t.type_volume_horaire_id,