Changes for data/ddl/package/UNICAEN_TBL/body.sql: 37 added lines, 13 removed lines.
Original line number
Diff line number
Diff line
@@ -1256,20 +1256,33 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
m.id mission_id,
m.structure_id structure_id,
i.structure_id intervenant_structure_id,
CASE WHEN m.auto_validation = 1 OR vm.id IS NOT NULL THEN 1 ELSE 0 END valide,
COALESCE(SUM(vhm.heures),0) heures_realisees,
SUM(CASE WHEN vvhm.id IS NOT NULL OR vhm.auto_validation = 1 THEN vhm.heures ELSE 0 END) heures_validees
CASE WHEN m.auto_validation = 1 OR vm.mission_id IS NOT NULL THEN 1 ELSE 0 END valide,
vm.validation_id validation_id,
0 contractualise,
null contrat_id,
SUM(CASE WHEN tvh.code = ''PREVU'' THEN COALESCE(vhm.heures,0) ELSE 0 END) heures_prevues_saisies,
SUM(CASE WHEN tvh.code = ''PREVU'' AND (vhm.auto_validation = 1 OR vvhm.volume_horaire_mission_id IS NOT NULL) THEN COALESCE(vhm.heures,0) ELSE 0 END) heures_prevues_validees,
SUM(CASE WHEN tvh.code = ''REALISE'' THEN COALESCE(vhm.heures,0) ELSE 0 END) heures_realisees_saisies,
SUM(CASE WHEN tvh.code = ''REALISE'' AND (vhm.auto_validation = 1 OR vvhm.volume_horaire_mission_id IS NOT NULL) THEN COALESCE(vhm.heures,0) ELSE 0 END) heures_realisees_validees
FROM
intervenant i
JOIN statut si ON si.id = i.statut_id
JOIN type_validation tvm ON tvm.code = ''MISSION''
JOIN type_validation tvvh ON tvvh.code = ''MISSION_REALISE''
LEFT JOIN mission m ON m.intervenant_id = i.id AND m.histo_destruction IS NULL
LEFT JOIN validation_mission vml ON vml.mission_id = m.id
LEFT JOIN validation vm ON vm.id = vml.validation_id AND vm.histo_destruction IS NULL
LEFT JOIN (SELECT vml.mission_id, v.id validation_id
FROM validation v
JOIN validation_mission vml ON vml.validation_id = v.id
WHERE v.histo_destruction IS NULL
GROUP BY vml.mission_id, v.id) vm ON vm.mission_id = m.id
LEFT JOIN volume_horaire_mission vhm ON vhm.mission_id = m.id AND vhm.histo_destruction IS NULL
LEFT JOIN validation_vol_horaire_miss vvhml ON vvhml.volume_horaire_mission_id = vhm.id
LEFT JOIN validation vvhm ON vvhm.id = vvhml.validation_id AND vvhm.histo_destruction IS NULL
LEFT JOIN (SELECT vvhm.volume_horaire_mission_id
FROM validation v
JOIN validation_vol_horaire_miss vvhm ON vvhm.validation_id = v.id
WHERE v.histo_destruction IS NULL
GROUP BY vvhm.volume_horaire_mission_id
) vvhm ON vvhm.volume_horaire_mission_id = vhm.id
LEFT JOIN type_volume_horaire tvh ON tvh.id = vhm.type_volume_horaire_id
WHERE
i.histo_destruction IS NULL
AND si.mission = 1
@@ -1277,10 +1290,11 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
i.annee_id,
i.id,
m.id,
vm.validation_id,
m.structure_id,
i.structure_id,
m.auto_validation,
vm.id';
vm.mission_id';
OPENcFOR'
SELECT
@@ -1292,8 +1306,13 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
AND COALESCE(t.STRUCTURE_ID,0) = COALESCE(v.STRUCTURE_ID,0)
AND COALESCE(t.INTERVENANT_STRUCTURE_ID,0) = COALESCE(v.INTERVENANT_STRUCTURE_ID,0)
AND t.VALIDE = v.VALIDE
AND t.HEURES_REALISEES = v.HEURES_REALISEES
AND t.HEURES_VALIDEES = v.HEURES_VALIDEES
AND COALESCE(t.VALIDATION_ID,0) = COALESCE(v.VALIDATION_ID,0)
AND t.CONTRACTUALISE = v.CONTRACTUALISE
AND COALESCE(t.CONTRAT_ID,0) = COALESCE(v.CONTRAT_ID,0)
AND t.HEURES_PREVUES_SAISIES = v.HEURES_PREVUES_SAISIES
AND t.HEURES_PREVUES_VALIDEES = v.HEURES_PREVUES_VALIDEES
AND t.HEURES_REALISEES_SAISIES = v.HEURES_REALISEES_SAISIES
AND t.HEURES_REALISEES_VALIDEES = v.HEURES_REALISEES_VALIDEES
THEN -1 ELSE t.ID END ID,
v.ANNEE_ID,
v.INTERVENANT_ID,
@@ -1302,8 +1321,13 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS