Loading data/ddl/sequence.php +8 −2 Original line number Diff line number Diff line Loading @@ -39,9 +39,15 @@ return [ 'FICHIER_ID_SEQ', 'FONCTION_REFERENTIEL_ID_SEQ', 'FORMULE_ID_SEQ', 'FORMULE_RESULTAT_ID_SEQ', 'FORMULE_RESULTAT_INTERVENANT_ID_SEQ', 'FORMULE_RESULTAT_SERREF_ID_SEQ', 'FORMULE_RESULTAT_SERVIC_ID_SEQ', 'FORMULE_RESULTAT_VH_ID_SEQ', 'FORMULE_RESULTAT_VH_REF_ID_SEQ', 'FORMULE_RESULTAT_VOLUME_HORAIRE_ID_SEQ', 'FTEST_INTERVENANT_ID_SEQ', 'FTEST_STRUCTURE_ID_SEQ', 'FTEST_VOLUME_HORAIRE_ID_SEQ', 'GRADE_ID_SEQ', 'GROUPE_ID_SEQ', Loading Loading @@ -161,15 +167,15 @@ return [ 'UNICAEN_SIGNATURE_PROCESS_STEP_ID_SEQ', 'UNICAEN_SIGNATURE_RECIPIENT_ID_SEQ', 'UNICAEN_SIGNATURE_SIGNATUREFLO', 'UNICAEN_SIGNATURE_SIGNATUREFLOWSTEP_ID_SEQ', 'UNICAEN_SIGNATURE_SIGNATUREFLOW_ID_SEQ', 'UNICAEN_SIGNATURE_SIGNATUREFLOWSTEP_ID_SEQ', 'UNICAEN_SIGNATURE_SIGNATURE_ID', 'UNICAEN_SIGNATURE_SIGNATURE_ID_SEQ', 'UNICAEN_SIGNATURE_SIGNATUR_ID', 'UTILISATEUR_ID_SEQ', 'VALIDATION_ID_SEQ', 'VALIDATION_VOL_HORAIRE_ID_SEQ', 'VALIDATION_VOL_HORAIRE__ID_SEQ', 'VALIDATION_VOL_HORAIRE_ID_SEQ', 'VOIRIE_ID_SEQ', 'VOLUME_HORAIRE_CHARGE_ID_SEQ', 'VOLUME_HORAIRE_ENS_ID_SEQ', Loading data/ddl/view/V_CONTRAT_MAIN.sql +2 −2 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", SUM("hetd") "hetdContrat" FROM V_CONTRAT_SERVICES GROUP BY contrat_id SELECT contrat_id, SUM(heures) "serviceTotal", SUM(hetd) "hetdContrat" FROM tbl_contrat GROUP BY contrat_id ), la AS( SELECT Loading Loading @@ -39,7 +39,7 @@ lm AS( ) GROUP BY contrat_id ) SELECT ct.annee_id, SELECT DISTINCT ct.annee_id, ct.structure_id, ct.intervenant_id, ct.formule_resultat_id, Loading data/ddl/view/V_CONTRAT_SERVICES.sql +82 −202 Original line number Diff line number Diff line CREATE OR REPLACE FORCE VIEW V_CONTRAT_SERVICES AS WITH services AS ( SELECT s.intervenant_id intervenant_id, c.id contrat_id, str.id structure_id, str.libelle_court "serviceComposante", ep.code "serviceCode", ep.libelle "serviceLibelle", ep.id element_pedagogique_id, NULL fonction_referentiel_id, NULL type_mission_id, NULL mission_id, SUM(CASE WHEN ti.code = 'CM' THEN vh.heures ELSE 0 END) heures_cm, SUM(CASE WHEN ti.code = 'TD' THEN vh.heures ELSE 0 END) heures_td, SUM(CASE WHEN ti.code = 'TP' THEN vh.heures ELSE 0 END) heures_tp, SUM(CASE WHEN ti.code NOT IN ('CM','TD','TP') THEN vh.heures ELSE 0 END) heures_autres, SUM(vh.heures) heures_totales, SUM(frvh.total) hetd, 'ENS' "typeServiceCode", p.libelle_long "periode" FROM volume_horaire vh JOIN service s ON s.id = vh.service_id JOIN type_intervention ti ON ti.id = vh.type_intervention_id JOIN element_pedagogique ep ON ep.id = s.element_pedagogique_id JOIN type_volume_horaire tvh ON tvh.id = vh.type_volume_horaire_id JOIN etat_volume_horaire evh ON evh.code = 'valide' JOIN formule_resultat_intervenant fr ON fr.intervenant_id = s.intervenant_id AND fr.etat_volume_horaire_id = evh.id JOIN formule_resultat_volume_horaire frvh ON frvh.volume_horaire_id = vh.id AND frvh.formule_resultat_intervenant_id = fr.id JOIN STRUCTURE str ON ep.structure_id = str.id LEFT JOIN contrat c ON c.id = vh.contrat_id LEFT JOIN periode p on vh.periode_id = p.id WHERE vh.histo_destruction IS NULL AND tvh.code = 'PREVU' GROUP BY s.intervenant_id, c.id, str.libelle_court, ep.code, ep.libelle, str.id, ep.id, p.libelle_long t.intervenant_id, t.contrat_id, t.type_service_id, t.structure_id, t.element_pedagogique_id, t.fonction_referentiel_id, t.mission_id, t.type_mission_id, t.type_service "typeService", t.service_composante "serviceComposante", t.periode "periode", t.service_code, t.service_code "serviceCode", t.service_libelle, t.service_libelle "serviceLibelle", UNION ALL t.service_heures, t.service_heures "serviceHeures", SUM(t.heures) heures, SUM(t.hetd) "hetd", CASE WHEN SUM(t.cm) = 0 THEN '0' ELSE REPLACE(ltrim(to_char(SUM(t.cm), '999999.00')),'.',',') END "cm", CASE WHEN SUM(t.td) = 0 THEN '0' ELSE REPLACE(ltrim(to_char(SUM(t.td), '999999.00')),'.',',') END "td", CASE WHEN SUM(t.tp) = 0 THEN '0' ELSE REPLACE(ltrim(to_char(SUM(t.tp), '999999.00')),'.',',') END "tp", CASE WHEN SUM(t.autres) = 0 THEN '0' ELSE REPLACE(ltrim(to_char(SUM(t.autres), '999999.00')),'.',',') END "autres" FROM ( SELECT sr.intervenant_id intervenant_id, c.id contrat_id, tblc.intervenant_id intervenant_id, tblc.contrat_id contrat_id, tblc.type_service_id type_service_id, str.id structure_id, str.libelle_court "serviceComposante", fr.code "serviceCode", fr.libelle_long "serviceLibelle", NULL element_pedagogique_id, ep.id element_pedagogique_id, fr.id fonction_referentiel_id, NULL type_mission_id, NULL mission_id, 0 heures_cm, 0 heures_td, 0 heures_tp, SUM(vhr.heures) heures_autres, SUM(vhr.heures) heures_totales, SUM(frvh.total) hetd, 'REF' "typeServiceCode", NULL "periode" FROM volume_horaire_ref vhr JOIN service_referentiel sr ON sr.id = vhr.service_referentiel_id JOIN fonction_referentiel fr ON fr.id = sr.fonction_id JOIN type_volume_horaire tvh ON tvh.id = vhr.type_volume_horaire_id JOIN etat_volume_horaire evh ON evh.code = 'valide' JOIN formule_resultat_intervenant fri ON fri.intervenant_id = sr.intervenant_id AND fri.etat_volume_horaire_id = evh.id LEFT JOIN formule_resultat_volume_horaire frvh ON frvh.volume_horaire_ref_id = vhr.id AND frvh.formule_resultat_intervenant_id = fri.id LEFT JOIN contrat c ON c.id = vhr.contrat_id LEFT JOIN STRUCTURE str ON sr.structure_id = str.id WHERE vhr.histo_destruction IS NULL AND tvh.code = 'PREVU' GROUP BY sr.intervenant_id, c.id, str.libelle_court, fr.code, fr.libelle_long, str.id, fr.id m.id mission_id, tm.id type_mission_id, UNION ALL ts.code type_service, str.libelle_court service_composante, p.libelle_long periode, COALESCE(tm.code, fr.code, ep.code) service_code, COALESCE(tm.libelle, fr.libelle_long, ep.libelle) service_libelle, -- somme par contrat SUM(tblc.heures) OVER (PARTITION BY tblc.intervenant_id, tblc.contrat_id, tblc.type_service_id, COALESCE(ep.id,tm.id,fr.id) ,p.libelle_long) service_heures, -- heures atomiques tblc.heures heures, tblc.hetd hetd, tblc.cm cm, tblc.td td, tblc.tp tp, tblc.autres autres SELECT m.intervenant_id intervenant_id, c.id contrat_id, str.id structure_id, str.libelle_court "serviceComposante", tm.code "serviceCode", tm.libelle "serviceLibelle", NULL element_pedagogique_id, NULL fonction_referentiel_id, tm.id type_mission_id, m.id mission_id, 0 heures_cm, 0 heures_td, 0 heures_tp, SUM(vhm.heures) heures_autres, SUM(vhm.heures) heures_totales, SUM(vhm.heures) hetd, 'MIS' "typeServiceCode", NULL "periode" FROM volume_horaire_mission vhm JOIN mission m ON m.id = vhm.mission_id JOIN type_mission tm ON m.type_mission_id = tm.id LEFT JOIN contrat c ON c.id = vhm.contrat_id JOIN STRUCTURE str ON m.structure_id = str.id LEFT JOIN validation_vol_horaire_miss vvhm ON vvhm.volume_horaire_mission_id = vhm.id JOIN validation v ON v.id = vvhm.validation_id AND v.histo_destruction IS NULL JOIN type_volume_horaire tvh ON tvh.id = vhm.type_volume_horaire_id JOIN validation_mission vm ON vm.mission_id = m.id JOIN validation v2 ON v2.id = vm.validation_id AND v2.histo_destruction IS NULL tbl_contrat tblc JOIN type_service ts ON ts.id = tblc.type_service_id LEFT JOIN service s ON s.id = tblc.service_id LEFT JOIN element_pedagogique ep ON ep.id = s.element_pedagogique_id LEFT JOIN volume_horaire vh ON vh.id = tblc.volume_horaire_id LEFT JOIN periode p ON p.id = vh.periode_id LEFT JOIN service_referentiel sr ON sr.id = tblc.service_referentiel_id LEFT JOIN fonction_referentiel fr ON fr.id = sr.fonction_id LEFT JOIN mission m ON m.id = tblc.mission_id LEFT JOIN type_mission tm ON tm.id = m.type_mission_id LEFT JOIN structure str ON str.id = COALESCE(m.structure_id, sr.structure_id, ep.structure_id) WHERE vhm.histo_destruction IS NULL AND tvh.code = 'PREVU' AND (v.id IS NOT NULL OR vhm.auto_validation = 1) AND m.histo_destruction IS NULL AND (v2.id IS NOT NULL OR vhm.auto_validation = 1) tblc.actif = 1 ) t GROUP BY m.intervenant_id, c.id, str.libelle_court, tm.code, tm.libelle, str.id, tm.id, m.id ) t.intervenant_id, t.contrat_id, t.type_service_id, t.structure_id, t.element_pedagogique_id, t.fonction_referentiel_id, t.mission_id, t.type_mission_id, SELECT rownum id, res.intervenant_id, res.contrat_id, res.type_service_id, res.structure_id, res."serviceCode" service_code, res."serviceLibelle" service_libelle, res.element_pedagogique_id, res.fonction_referentiel_id, res.type_mission_id, res.mission_id, res."cm" cm, res."td" td, res."tp" tp, res."autres" autres, res.heures, res."serviceHeures" service_heures, res."serviceComposante", res."serviceCode", res."serviceLibelle", res."cm", res."td", res."tp", res."autres", res."serviceHeures", res."hetd", res."typeService", res."periode" FROM ( SELECT s.intervenant_id intervenant_id, s.contrat_id contrat_id, ts.id type_service_id, s.structure_id structure_id, s."serviceComposante" "serviceComposante", s."serviceCode" "serviceCode", s."serviceLibelle" "serviceLibelle", s.element_pedagogique_id element_pedagogique_id, s.fonction_referentiel_id fonction_referentiel_id, s.type_mission_id type_mission_id, s.mission_id mission_id, CASE WHEN SUM(s.heures_cm) = 0 THEN to_char(0) ELSE REPLACE(ltrim(to_char(SUM(s.heures_cm), '999999.00')),'.',',') END "cm", CASE WHEN SUM(s.heures_td) = 0 THEN to_char(0) ELSE REPLACE(ltrim(to_char(SUM(s.heures_td), '999999.00')),'.',',') END "td", CASE WHEN SUM(s.heures_tp) = 0 THEN to_char(0) ELSE REPLACE(ltrim(to_char(SUM(s.heures_tp), '999999.00')),'.',',') END "tp", CASE WHEN SUM(s.heures_autres) = 0 THEN to_char(0) ELSE REPLACE(ltrim(to_char(SUM(s.heures_autres), '999999.00')),'.',',') END "autres", SUM(heures_totales) heures, SUM(heures_totales) "serviceHeures", SUM(hetd) "hetd", s."typeServiceCode" "typeService", s."periode" "periode" FROM services s JOIN TYPE_SERVICE ts ON ts.code = s."typeServiceCode" GROUP BY s.intervenant_id, s.contrat_id, s."serviceComposante", s."serviceCode", s."serviceLibelle", s."typeServiceCode", s.structure_id, ts.id, element_pedagogique_id, fonction_referentiel_id, type_mission_id, mission_id, s."periode" ) res No newline at end of file t.type_service, t.service_composante, t.periode, t.service_code, t.service_libelle, t.service_heures No newline at end of file data/ddl_columns_pos.php +72 −0 Original line number Diff line number Diff line Loading @@ -2887,6 +2887,78 @@ return [ 'PJ_ACTIVE', 'DOSSIER_SITUATION_MATRIMONIALE', ], 'SAVE_V24_FRES_SERVICE' => [ 'ID', 'FORMULE_RESULTAT_ID', 'SERVICE_ID', 'HEURES_COMPL_FI', 'HEURES_COMPL_FA', 'HEURES_COMPL_FC', 'HEURES_COMPL_FC_MAJOREES', 'SERVICE_FA', 'SERVICE_FC', 'SERVICE_FI', 'TOTAL', ], 'SAVE_V24_FRES_SERVICE_REF' => [ 'ID', 'FORMULE_RESULTAT_ID', 'SERVICE_REFERENTIEL_ID', 'HEURES_COMPL_REFERENTIEL', 'SERVICE_REFERENTIEL', 'TOTAL', ], 'SAVE_V24_FRES_VH' => [ 'ID', 'FORMULE_RESULTAT_ID', 'VOLUME_HORAIRE_ID', 'HEURES_COMPL_FI', 'HEURES_COMPL_FA', 'HEURES_COMPL_FC', 'HEURES_COMPL_FC_MAJOREES', 'SERVICE_FA', 'SERVICE_FC', 'SERVICE_FI', 'TOTAL', ], 'SAVE_V24_FRES_VH_REF' => [ 'ID', 'FORMULE_RESULTAT_ID', 'VOLUME_HORAIRE_REF_ID', 'HEURES_COMPL_REFERENTIEL', 'SERVICE_REFERENTIEL', 'TOTAL', ], 'VCS' => [ 'ID', 'INTERVENANT_ID', 'CONTRAT_ID', 'TYPE_SERVICE_ID', 'STRUCTURE_ID', 'SERVICE_CODE', 'SERVICE_LIBELLE', 'ELEMENT_PEDAGOGIQUE_ID', 'FONCTION_REFERENTIEL_ID', 'TYPE_MISSION_ID', 'MISSION_ID', 'CM', 'TD', 'TP', 'AUTRES', 'HEURES', 'SERVICE_HEURES', 'serviceComposante', 'serviceCode', 'serviceLibelle', 'cm', 'td', 'tp', 'autres', 'serviceHeures', 'hetd', 'typeService', 'periode', ], ]; //@formatter:on Loading
data/ddl/sequence.php +8 −2 Original line number Diff line number Diff line Loading @@ -39,9 +39,15 @@ return [ 'FICHIER_ID_SEQ', 'FONCTION_REFERENTIEL_ID_SEQ', 'FORMULE_ID_SEQ', 'FORMULE_RESULTAT_ID_SEQ', 'FORMULE_RESULTAT_INTERVENANT_ID_SEQ', 'FORMULE_RESULTAT_SERREF_ID_SEQ', 'FORMULE_RESULTAT_SERVIC_ID_SEQ', 'FORMULE_RESULTAT_VH_ID_SEQ', 'FORMULE_RESULTAT_VH_REF_ID_SEQ', 'FORMULE_RESULTAT_VOLUME_HORAIRE_ID_SEQ', 'FTEST_INTERVENANT_ID_SEQ', 'FTEST_STRUCTURE_ID_SEQ', 'FTEST_VOLUME_HORAIRE_ID_SEQ', 'GRADE_ID_SEQ', 'GROUPE_ID_SEQ', Loading Loading @@ -161,15 +167,15 @@ return [ 'UNICAEN_SIGNATURE_PROCESS_STEP_ID_SEQ', 'UNICAEN_SIGNATURE_RECIPIENT_ID_SEQ', 'UNICAEN_SIGNATURE_SIGNATUREFLO', 'UNICAEN_SIGNATURE_SIGNATUREFLOWSTEP_ID_SEQ', 'UNICAEN_SIGNATURE_SIGNATUREFLOW_ID_SEQ', 'UNICAEN_SIGNATURE_SIGNATUREFLOWSTEP_ID_SEQ', 'UNICAEN_SIGNATURE_SIGNATURE_ID', 'UNICAEN_SIGNATURE_SIGNATURE_ID_SEQ', 'UNICAEN_SIGNATURE_SIGNATUR_ID', 'UTILISATEUR_ID_SEQ', 'VALIDATION_ID_SEQ', 'VALIDATION_VOL_HORAIRE_ID_SEQ', 'VALIDATION_VOL_HORAIRE__ID_SEQ', 'VALIDATION_VOL_HORAIRE_ID_SEQ', 'VOIRIE_ID_SEQ', 'VOLUME_HORAIRE_CHARGE_ID_SEQ', 'VOLUME_HORAIRE_ENS_ID_SEQ', Loading
data/ddl/view/V_CONTRAT_MAIN.sql +2 −2 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", SUM("hetd") "hetdContrat" FROM V_CONTRAT_SERVICES GROUP BY contrat_id SELECT contrat_id, SUM(heures) "serviceTotal", SUM(hetd) "hetdContrat" FROM tbl_contrat GROUP BY contrat_id ), la AS( SELECT Loading Loading @@ -39,7 +39,7 @@ lm AS( ) GROUP BY contrat_id ) SELECT ct.annee_id, SELECT DISTINCT ct.annee_id, ct.structure_id, ct.intervenant_id, ct.formule_resultat_id, Loading
data/ddl/view/V_CONTRAT_SERVICES.sql +82 −202 Original line number Diff line number Diff line CREATE OR REPLACE FORCE VIEW V_CONTRAT_SERVICES AS WITH services AS ( SELECT s.intervenant_id intervenant_id, c.id contrat_id, str.id structure_id, str.libelle_court "serviceComposante", ep.code "serviceCode", ep.libelle "serviceLibelle", ep.id element_pedagogique_id, NULL fonction_referentiel_id, NULL type_mission_id, NULL mission_id, SUM(CASE WHEN ti.code = 'CM' THEN vh.heures ELSE 0 END) heures_cm, SUM(CASE WHEN ti.code = 'TD' THEN vh.heures ELSE 0 END) heures_td, SUM(CASE WHEN ti.code = 'TP' THEN vh.heures ELSE 0 END) heures_tp, SUM(CASE WHEN ti.code NOT IN ('CM','TD','TP') THEN vh.heures ELSE 0 END) heures_autres, SUM(vh.heures) heures_totales, SUM(frvh.total) hetd, 'ENS' "typeServiceCode", p.libelle_long "periode" FROM volume_horaire vh JOIN service s ON s.id = vh.service_id JOIN type_intervention ti ON ti.id = vh.type_intervention_id JOIN element_pedagogique ep ON ep.id = s.element_pedagogique_id JOIN type_volume_horaire tvh ON tvh.id = vh.type_volume_horaire_id JOIN etat_volume_horaire evh ON evh.code = 'valide' JOIN formule_resultat_intervenant fr ON fr.intervenant_id = s.intervenant_id AND fr.etat_volume_horaire_id = evh.id JOIN formule_resultat_volume_horaire frvh ON frvh.volume_horaire_id = vh.id AND frvh.formule_resultat_intervenant_id = fr.id JOIN STRUCTURE str ON ep.structure_id = str.id LEFT JOIN contrat c ON c.id = vh.contrat_id LEFT JOIN periode p on vh.periode_id = p.id WHERE vh.histo_destruction IS NULL AND tvh.code = 'PREVU' GROUP BY s.intervenant_id, c.id, str.libelle_court, ep.code, ep.libelle, str.id, ep.id, p.libelle_long t.intervenant_id, t.contrat_id, t.type_service_id, t.structure_id, t.element_pedagogique_id, t.fonction_referentiel_id, t.mission_id, t.type_mission_id, t.type_service "typeService", t.service_composante "serviceComposante", t.periode "periode", t.service_code, t.service_code "serviceCode", t.service_libelle, t.service_libelle "serviceLibelle", UNION ALL t.service_heures, t.service_heures "serviceHeures", SUM(t.heures) heures, SUM(t.hetd) "hetd", CASE WHEN SUM(t.cm) = 0 THEN '0' ELSE REPLACE(ltrim(to_char(SUM(t.cm), '999999.00')),'.',',') END "cm", CASE WHEN SUM(t.td) = 0 THEN '0' ELSE REPLACE(ltrim(to_char(SUM(t.td), '999999.00')),'.',',') END "td", CASE WHEN SUM(t.tp) = 0 THEN '0' ELSE REPLACE(ltrim(to_char(SUM(t.tp), '999999.00')),'.',',') END "tp", CASE WHEN SUM(t.autres) = 0 THEN '0' ELSE REPLACE(ltrim(to_char(SUM(t.autres), '999999.00')),'.',',') END "autres" FROM ( SELECT sr.intervenant_id intervenant_id, c.id contrat_id, tblc.intervenant_id intervenant_id, tblc.contrat_id contrat_id, tblc.type_service_id type_service_id, str.id structure_id, str.libelle_court "serviceComposante", fr.code "serviceCode", fr.libelle_long "serviceLibelle", NULL element_pedagogique_id, ep.id element_pedagogique_id, fr.id fonction_referentiel_id, NULL type_mission_id, NULL mission_id, 0 heures_cm, 0 heures_td, 0 heures_tp, SUM(vhr.heures) heures_autres, SUM(vhr.heures) heures_totales, SUM(frvh.total) hetd, 'REF' "typeServiceCode", NULL "periode" FROM volume_horaire_ref vhr JOIN service_referentiel sr ON sr.id = vhr.service_referentiel_id JOIN fonction_referentiel fr ON fr.id = sr.fonction_id JOIN type_volume_horaire tvh ON tvh.id = vhr.type_volume_horaire_id JOIN etat_volume_horaire evh ON evh.code = 'valide' JOIN formule_resultat_intervenant fri ON fri.intervenant_id = sr.intervenant_id AND fri.etat_volume_horaire_id = evh.id LEFT JOIN formule_resultat_volume_horaire frvh ON frvh.volume_horaire_ref_id = vhr.id AND frvh.formule_resultat_intervenant_id = fri.id LEFT JOIN contrat c ON c.id = vhr.contrat_id LEFT JOIN STRUCTURE str ON sr.structure_id = str.id WHERE vhr.histo_destruction IS NULL AND tvh.code = 'PREVU' GROUP BY sr.intervenant_id, c.id, str.libelle_court, fr.code, fr.libelle_long, str.id, fr.id m.id mission_id, tm.id type_mission_id, UNION ALL ts.code type_service, str.libelle_court service_composante, p.libelle_long periode, COALESCE(tm.code, fr.code, ep.code) service_code, COALESCE(tm.libelle, fr.libelle_long, ep.libelle) service_libelle, -- somme par contrat SUM(tblc.heures) OVER (PARTITION BY tblc.intervenant_id, tblc.contrat_id, tblc.type_service_id, COALESCE(ep.id,tm.id,fr.id) ,p.libelle_long) service_heures, -- heures atomiques tblc.heures heures, tblc.hetd hetd, tblc.cm cm, tblc.td td, tblc.tp tp, tblc.autres autres SELECT m.intervenant_id intervenant_id, c.id contrat_id, str.id structure_id, str.libelle_court "serviceComposante", tm.code "serviceCode", tm.libelle "serviceLibelle", NULL element_pedagogique_id, NULL fonction_referentiel_id, tm.id type_mission_id, m.id mission_id, 0 heures_cm, 0 heures_td, 0 heures_tp, SUM(vhm.heures) heures_autres, SUM(vhm.heures) heures_totales, SUM(vhm.heures) hetd, 'MIS' "typeServiceCode", NULL "periode" FROM volume_horaire_mission vhm JOIN mission m ON m.id = vhm.mission_id JOIN type_mission tm ON m.type_mission_id = tm.id LEFT JOIN contrat c ON c.id = vhm.contrat_id JOIN STRUCTURE str ON m.structure_id = str.id LEFT JOIN validation_vol_horaire_miss vvhm ON vvhm.volume_horaire_mission_id = vhm.id JOIN validation v ON v.id = vvhm.validation_id AND v.histo_destruction IS NULL JOIN type_volume_horaire tvh ON tvh.id = vhm.type_volume_horaire_id JOIN validation_mission vm ON vm.mission_id = m.id JOIN validation v2 ON v2.id = vm.validation_id AND v2.histo_destruction IS NULL tbl_contrat tblc JOIN type_service ts ON ts.id = tblc.type_service_id LEFT JOIN service s ON s.id = tblc.service_id LEFT JOIN element_pedagogique ep ON ep.id = s.element_pedagogique_id LEFT JOIN volume_horaire vh ON vh.id = tblc.volume_horaire_id LEFT JOIN periode p ON p.id = vh.periode_id LEFT JOIN service_referentiel sr ON sr.id = tblc.service_referentiel_id LEFT JOIN fonction_referentiel fr ON fr.id = sr.fonction_id LEFT JOIN mission m ON m.id = tblc.mission_id LEFT JOIN type_mission tm ON tm.id = m.type_mission_id LEFT JOIN structure str ON str.id = COALESCE(m.structure_id, sr.structure_id, ep.structure_id) WHERE vhm.histo_destruction IS NULL AND tvh.code = 'PREVU' AND (v.id IS NOT NULL OR vhm.auto_validation = 1) AND m.histo_destruction IS NULL AND (v2.id IS NOT NULL OR vhm.auto_validation = 1) tblc.actif = 1 ) t GROUP BY m.intervenant_id, c.id, str.libelle_court, tm.code, tm.libelle, str.id, tm.id, m.id ) t.intervenant_id, t.contrat_id, t.type_service_id, t.structure_id, t.element_pedagogique_id, t.fonction_referentiel_id, t.mission_id, t.type_mission_id, SELECT rownum id, res.intervenant_id, res.contrat_id, res.type_service_id, res.structure_id, res."serviceCode" service_code, res."serviceLibelle" service_libelle, res.element_pedagogique_id, res.fonction_referentiel_id, res.type_mission_id, res.mission_id, res."cm" cm, res."td" td, res."tp" tp, res."autres" autres, res.heures, res."serviceHeures" service_heures, res."serviceComposante", res."serviceCode", res."serviceLibelle", res."cm", res."td", res."tp", res."autres", res."serviceHeures", res."hetd", res."typeService", res."periode" FROM ( SELECT s.intervenant_id intervenant_id, s.contrat_id contrat_id, ts.id type_service_id, s.structure_id structure_id, s."serviceComposante" "serviceComposante", s."serviceCode" "serviceCode", s."serviceLibelle" "serviceLibelle", s.element_pedagogique_id element_pedagogique_id, s.fonction_referentiel_id fonction_referentiel_id, s.type_mission_id type_mission_id, s.mission_id mission_id, CASE WHEN SUM(s.heures_cm) = 0 THEN to_char(0) ELSE REPLACE(ltrim(to_char(SUM(s.heures_cm), '999999.00')),'.',',') END "cm", CASE WHEN SUM(s.heures_td) = 0 THEN to_char(0) ELSE REPLACE(ltrim(to_char(SUM(s.heures_td), '999999.00')),'.',',') END "td", CASE WHEN SUM(s.heures_tp) = 0 THEN to_char(0) ELSE REPLACE(ltrim(to_char(SUM(s.heures_tp), '999999.00')),'.',',') END "tp", CASE WHEN SUM(s.heures_autres) = 0 THEN to_char(0) ELSE REPLACE(ltrim(to_char(SUM(s.heures_autres), '999999.00')),'.',',') END "autres", SUM(heures_totales) heures, SUM(heures_totales) "serviceHeures", SUM(hetd) "hetd", s."typeServiceCode" "typeService", s."periode" "periode" FROM services s JOIN TYPE_SERVICE ts ON ts.code = s."typeServiceCode" GROUP BY s.intervenant_id, s.contrat_id, s."serviceComposante", s."serviceCode", s."serviceLibelle", s."typeServiceCode", s.structure_id, ts.id, element_pedagogique_id, fonction_referentiel_id, type_mission_id, mission_id, s."periode" ) res No newline at end of file t.type_service, t.service_composante, t.periode, t.service_code, t.service_libelle, t.service_heures No newline at end of file
data/ddl_columns_pos.php +72 −0 Original line number Diff line number Diff line Loading @@ -2887,6 +2887,78 @@ return [ 'PJ_ACTIVE', 'DOSSIER_SITUATION_MATRIMONIALE', ], 'SAVE_V24_FRES_SERVICE' => [ 'ID', 'FORMULE_RESULTAT_ID', 'SERVICE_ID', 'HEURES_COMPL_FI', 'HEURES_COMPL_FA', 'HEURES_COMPL_FC', 'HEURES_COMPL_FC_MAJOREES', 'SERVICE_FA', 'SERVICE_FC', 'SERVICE_FI', 'TOTAL', ], 'SAVE_V24_FRES_SERVICE_REF' => [ 'ID', 'FORMULE_RESULTAT_ID', 'SERVICE_REFERENTIEL_ID', 'HEURES_COMPL_REFERENTIEL', 'SERVICE_REFERENTIEL', 'TOTAL', ], 'SAVE_V24_FRES_VH' => [ 'ID', 'FORMULE_RESULTAT_ID', 'VOLUME_HORAIRE_ID', 'HEURES_COMPL_FI', 'HEURES_COMPL_FA', 'HEURES_COMPL_FC', 'HEURES_COMPL_FC_MAJOREES', 'SERVICE_FA', 'SERVICE_FC', 'SERVICE_FI', 'TOTAL', ], 'SAVE_V24_FRES_VH_REF' => [ 'ID', 'FORMULE_RESULTAT_ID', 'VOLUME_HORAIRE_REF_ID', 'HEURES_COMPL_REFERENTIEL', 'SERVICE_REFERENTIEL', 'TOTAL', ], 'VCS' => [ 'ID', 'INTERVENANT_ID', 'CONTRAT_ID', 'TYPE_SERVICE_ID', 'STRUCTURE_ID', 'SERVICE_CODE', 'SERVICE_LIBELLE', 'ELEMENT_PEDAGOGIQUE_ID', 'FONCTION_REFERENTIEL_ID', 'TYPE_MISSION_ID', 'MISSION_ID', 'CM', 'TD', 'TP', 'AUTRES', 'HEURES', 'SERVICE_HEURES', 'serviceComposante', 'serviceCode', 'serviceLibelle', 'cm', 'td', 'tp', 'autres', 'serviceHeures', 'hetd', 'typeService', 'periode', ], ]; //@formatter:on