Loading data/ddl/package/OSE_DIVERS/body.sql +16 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,7 @@ CREATE OR REPLACE PACKAGE BODY "OSE_DIVERS" AS RETURN 1; END IF; RETURN ROUND(nbjaa / (nbjaa + nbjac), 2); RETURN nbjaa / (nbjaa + nbjac); END IF; END IF; Loading @@ -74,6 +74,21 @@ CREATE OR REPLACE PACKAGE BODY "OSE_DIVERS" AS FUNCTION CALC_HEURES_AA(heures FLOAT, pourc_exercice_aa FLOAT, total_heures FLOAT, cumul_heures FLOAT) RETURN FLOAT IS BEGIN IF cumul_heures <= total_heures * pourc_exercice_aa THEN RETURN heures; END IF; IF total_heures * pourc_exercice_aa - cumul_heures + heures > 0 THEN RETURN total_heures * pourc_exercice_aa - cumul_heures + heures; END IF; RETURN 0; END; PROCEDURE CALCULER_TABLEAUX_BORD IS BEGIN FOR d IN ( Loading data/ddl/package/OSE_DIVERS/definition.sql +1 −0 Original line number Diff line number Diff line CREATE OR REPLACE PACKAGE "OSE_DIVERS" AS FUNCTION CALC_POURC_AA( periode_id NUMERIC, horaire_debut DATE, horaire_fin DATE, annee_id NUMERIC ) RETURN FLOAT; FUNCTION CALC_HEURES_AA(heures FLOAT, pourc_exercice_aa FLOAT, total_heures FLOAT, cumul_heures FLOAT) RETURN FLOAT; PROCEDURE CALCULER_TABLEAUX_BORD; PROCEDURE CALCUL_FEUILLE_DE_ROUTE( INTERVENANT_ID NUMERIC ); Loading data/ddl/package/UNICAEN_TBL/body.sql +56 −12 Original line number Diff line number Diff line Loading @@ -1172,27 +1172,57 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS viewQuery CLOB; BEGIN viewQuery := 'SELECT annee_id, service_id, service_referentiel_id, formule_res_service_id, formule_res_service_ref_id, intervenant_id, structure_id, mise_en_paiement_id, periode_paiement_id, domaine_fonctionnel_id, heures_a_payer, heures_a_payer_pond, heures_demandees, heures_payees, ROUND(pourc_exercice_aa,2) pourc_exercice_aa, 1 - ROUND(pourc_exercice_aa,2) pourc_exercice_ac, ROUND(heures_aa,2) heures_aa, heures_demandees - ROUND(heures_aa,2) heures_ac FROM ( SELECT i.annee_id annee_id, frs.service_id service_id, null service_referentiel_id, NULL service_referentiel_id, frs.id formule_res_service_id, null formule_res_service_ref_id, NULL formule_res_service_ref_id, i.id intervenant_id, COALESCE( ep.structure_id, i.structure_id ) structure_id, mep.id mise_en_paiement_id, mep.periode_paiement_id periode_paiement_id, COALESCE(mep.domaine_fonctionnel_id, e.domaine_fonctionnel_id, to_number(p.valeur)) domaine_fonctionnel_id, frs.heures_compl_fi + frs.heures_compl_fc + frs.heures_compl_fa + frs.heures_compl_fc_majorees heures_a_payer, count(*) OVER(PARTITION BY frs.id) heures_a_payer_pond, NVL(mep.heures,0) heures_demandees, COUNT(*) OVER(PARTITION BY frs.id) heures_a_payer_pond, COALESCE(mep.heures,0) heures_demandees, CASE WHEN mep.periode_paiement_id IS NULL THEN 0 ELSE mep.heures END heures_payees, pea.pourc_exercice_aa pourc_exercice_aa, 1 - pea.pourc_exercice_aa pourc_exercice_ac SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id) total_heures, SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id) * pea.pourc_exercice_aa total_heures_aa, SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id ORDER BY mep.id) cumul_heures, CASE WHEN p2.valeur = ''prorata'' THEN mep.heures * pea.pourc_exercice_aa ELSE ose_divers.CALC_HEURES_AA( COALESCE(mep.heures,0), -- heures pea.pourc_exercice_aa, -- pourc_exercice_aa SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id), -- total_heures SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id ORDER BY mep.id) -- cumul_heures ) END heures_aa FROM formule_resultat_service frs JOIN type_volume_horaire tvh ON tvh.code = ''REALISE'' JOIN etat_volume_horaire evh ON evh.code = ''valide'' JOIN parametre p ON p.nom = ''domaine_fonctionnel_ens_ext'' JOIN parametre p2 ON p2.nom = ''regle_repartition_annee_civile'' JOIN formule_resultat fr ON fr.id = frs.formule_resultat_id AND fr.type_volume_horaire_id = tvh.id AND fr.etat_volume_horaire_id = evh.id Loading Loading @@ -1226,9 +1256,9 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS SELECT i.annee_id annee_id, null service_id, NULL service_id, frs.service_referentiel_id service_referentiel_id, null formule_res_service_id, NULL formule_res_service_id, frs.id formule_res_service_ref_id, i.id intervenant_id, sr.structure_id structure_id, Loading @@ -1236,15 +1266,24 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS mep.periode_paiement_id periode_paiement_id, COALESCE(mep.domaine_fonctionnel_id, fncr.domaine_fonctionnel_id) domaine_fonctionnel_id, frs.heures_compl_referentiel heures_a_payer, count(*) OVER(PARTITION BY frs.id) heures_a_payer_pond, NVL(mep.heures,0) heures_demandees, COUNT(*) OVER(PARTITION BY frs.id) heures_a_payer_pond, COALESCE(mep.heures,0) heures_demandees, CASE WHEN mep.periode_paiement_id IS NULL THEN 0 ELSE mep.heures END heures_payees, pea.pourc_exercice_aa pourc_exercice_aa, 1 - pea.pourc_exercice_aa pourc_exercice_ac SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id) total_heures, SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id) * pea.pourc_exercice_aa total_heures_aa, SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id ORDER BY mep.id) cumul_heures, CASE WHEN p2.valeur = ''prorata'' THEN mep.heures * pea.pourc_exercice_aa ELSE ose_divers.CALC_HEURES_AA( COALESCE(mep.heures,0), -- heures pea.pourc_exercice_aa, -- pourc_exercice_aa SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id), -- total_heures SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id ORDER BY mep.id) -- cumul_heures ) END heures_aa FROM formule_resultat_service_ref frs JOIN type_volume_horaire tvh ON tvh.code = ''REALISE'' JOIN etat_volume_horaire evh ON evh.code = ''valide'' JOIN parametre p2 ON p2.nom = ''regle_repartition_annee_civile'' JOIN formule_resultat fr ON fr.id = frs.formule_resultat_id AND fr.type_volume_horaire_id = tvh.id AND fr.etat_volume_horaire_id = evh.id Loading @@ -1271,7 +1310,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS ) pea ON pea.formule_resultat_id = fr.id AND pea.service_referentiel_id = sr.id JOIN fonction_referentiel fncr ON fncr.id = sr.fonction_id LEFT JOIN mise_en_paiement mep ON mep.formule_res_service_ref_id = frs.id AND mep.histo_destruction IS NULL'; AND mep.histo_destruction IS NULL ) t'; IF param IS NULL THEN filter := '1=1'; Loading Loading @@ -1300,6 +1340,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS AND t.HEURES_PAYEES = v.HEURES_PAYEES AND t.POURC_EXERCICE_AA = v.POURC_EXERCICE_AA AND t.POURC_EXERCICE_AC = v.POURC_EXERCICE_AC AND t.HEURES_AA = v.HEURES_AA AND t.HEURES_AC = v.HEURES_AC THEN -1 ELSE t.ID END ID, v.ANNEE_ID, v.SERVICE_ID, Loading @@ -1316,7 +1358,9 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS v.HEURES_DEMANDEES, v.HEURES_PAYEES, v.POURC_EXERCICE_AA, v.POURC_EXERCICE_AC v.POURC_EXERCICE_AC, v.HEURES_AA, v.HEURES_AC FROM (' || QUERY_APPLY_PARAM(viewQuery,param,value) || ') v FULL JOIN TBL_PAIEMENT t ON Loading data/ddl/table/TBL_PAIEMENT.php +24 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,30 @@ return [ 'position' => 6, 'commentaire' => NULL, ], 'HEURES_AA' => [ 'name' => 'HEURES_AA', 'type' => 'float', 'bdd-type' => 'FLOAT', 'length' => 0, 'scale' => NULL, 'precision' => 126, 'nullable' => FALSE, 'default' => '0', 'position' => 18, 'commentaire' => NULL, ], 'HEURES_AC' => [ 'name' => 'HEURES_AC', 'type' => 'float', 'bdd-type' => 'FLOAT', 'length' => 0, 'scale' => NULL, 'precision' => 126, 'nullable' => FALSE, 'default' => '0', 'position' => 19, 'commentaire' => NULL, ], 'HEURES_A_PAYER' => [ 'name' => 'HEURES_A_PAYER', 'type' => 'float', Loading data/ddl/view/V_ETAT_PAIEMENT.sql +2 −2 Original line number Diff line number Diff line Loading @@ -106,8 +106,8 @@ SELECT df.libelle domaine_fonctionnel_libelle, CASE WHEN th.code = 'fc_majorees' THEN 0 ELSE mep.heures END hetd, CASE WHEN th.code = 'fc_majorees' THEN mep.heures ELSE 0 END fc_majorees, mep.heures * mis.pourc_exercice_aa exercice_aa, mep.heures * mis.pourc_exercice_ac exercice_ac, mis.heures_aa exercice_aa, mis.heures_ac exercice_ac, --CASE WHEN th.code = 'fc_majorees' THEN 0 ELSE mep.heures END * 4 / 10 exercice_aa, --CASE WHEN th.code = 'fc_majorees' THEN 0 ELSE mep.heures END * 6 / 10 exercice_ac, OSE_FORMULE.GET_TAUX_HORAIRE_HETD( NVL(mep.date_mise_en_paiement,SYSDATE) ) taux_horaire Loading Loading
data/ddl/package/OSE_DIVERS/body.sql +16 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,7 @@ CREATE OR REPLACE PACKAGE BODY "OSE_DIVERS" AS RETURN 1; END IF; RETURN ROUND(nbjaa / (nbjaa + nbjac), 2); RETURN nbjaa / (nbjaa + nbjac); END IF; END IF; Loading @@ -74,6 +74,21 @@ CREATE OR REPLACE PACKAGE BODY "OSE_DIVERS" AS FUNCTION CALC_HEURES_AA(heures FLOAT, pourc_exercice_aa FLOAT, total_heures FLOAT, cumul_heures FLOAT) RETURN FLOAT IS BEGIN IF cumul_heures <= total_heures * pourc_exercice_aa THEN RETURN heures; END IF; IF total_heures * pourc_exercice_aa - cumul_heures + heures > 0 THEN RETURN total_heures * pourc_exercice_aa - cumul_heures + heures; END IF; RETURN 0; END; PROCEDURE CALCULER_TABLEAUX_BORD IS BEGIN FOR d IN ( Loading
data/ddl/package/OSE_DIVERS/definition.sql +1 −0 Original line number Diff line number Diff line CREATE OR REPLACE PACKAGE "OSE_DIVERS" AS FUNCTION CALC_POURC_AA( periode_id NUMERIC, horaire_debut DATE, horaire_fin DATE, annee_id NUMERIC ) RETURN FLOAT; FUNCTION CALC_HEURES_AA(heures FLOAT, pourc_exercice_aa FLOAT, total_heures FLOAT, cumul_heures FLOAT) RETURN FLOAT; PROCEDURE CALCULER_TABLEAUX_BORD; PROCEDURE CALCUL_FEUILLE_DE_ROUTE( INTERVENANT_ID NUMERIC ); Loading
data/ddl/package/UNICAEN_TBL/body.sql +56 −12 Original line number Diff line number Diff line Loading @@ -1172,27 +1172,57 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS viewQuery CLOB; BEGIN viewQuery := 'SELECT annee_id, service_id, service_referentiel_id, formule_res_service_id, formule_res_service_ref_id, intervenant_id, structure_id, mise_en_paiement_id, periode_paiement_id, domaine_fonctionnel_id, heures_a_payer, heures_a_payer_pond, heures_demandees, heures_payees, ROUND(pourc_exercice_aa,2) pourc_exercice_aa, 1 - ROUND(pourc_exercice_aa,2) pourc_exercice_ac, ROUND(heures_aa,2) heures_aa, heures_demandees - ROUND(heures_aa,2) heures_ac FROM ( SELECT i.annee_id annee_id, frs.service_id service_id, null service_referentiel_id, NULL service_referentiel_id, frs.id formule_res_service_id, null formule_res_service_ref_id, NULL formule_res_service_ref_id, i.id intervenant_id, COALESCE( ep.structure_id, i.structure_id ) structure_id, mep.id mise_en_paiement_id, mep.periode_paiement_id periode_paiement_id, COALESCE(mep.domaine_fonctionnel_id, e.domaine_fonctionnel_id, to_number(p.valeur)) domaine_fonctionnel_id, frs.heures_compl_fi + frs.heures_compl_fc + frs.heures_compl_fa + frs.heures_compl_fc_majorees heures_a_payer, count(*) OVER(PARTITION BY frs.id) heures_a_payer_pond, NVL(mep.heures,0) heures_demandees, COUNT(*) OVER(PARTITION BY frs.id) heures_a_payer_pond, COALESCE(mep.heures,0) heures_demandees, CASE WHEN mep.periode_paiement_id IS NULL THEN 0 ELSE mep.heures END heures_payees, pea.pourc_exercice_aa pourc_exercice_aa, 1 - pea.pourc_exercice_aa pourc_exercice_ac SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id) total_heures, SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id) * pea.pourc_exercice_aa total_heures_aa, SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id ORDER BY mep.id) cumul_heures, CASE WHEN p2.valeur = ''prorata'' THEN mep.heures * pea.pourc_exercice_aa ELSE ose_divers.CALC_HEURES_AA( COALESCE(mep.heures,0), -- heures pea.pourc_exercice_aa, -- pourc_exercice_aa SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id), -- total_heures SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id ORDER BY mep.id) -- cumul_heures ) END heures_aa FROM formule_resultat_service frs JOIN type_volume_horaire tvh ON tvh.code = ''REALISE'' JOIN etat_volume_horaire evh ON evh.code = ''valide'' JOIN parametre p ON p.nom = ''domaine_fonctionnel_ens_ext'' JOIN parametre p2 ON p2.nom = ''regle_repartition_annee_civile'' JOIN formule_resultat fr ON fr.id = frs.formule_resultat_id AND fr.type_volume_horaire_id = tvh.id AND fr.etat_volume_horaire_id = evh.id Loading Loading @@ -1226,9 +1256,9 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS SELECT i.annee_id annee_id, null service_id, NULL service_id, frs.service_referentiel_id service_referentiel_id, null formule_res_service_id, NULL formule_res_service_id, frs.id formule_res_service_ref_id, i.id intervenant_id, sr.structure_id structure_id, Loading @@ -1236,15 +1266,24 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS mep.periode_paiement_id periode_paiement_id, COALESCE(mep.domaine_fonctionnel_id, fncr.domaine_fonctionnel_id) domaine_fonctionnel_id, frs.heures_compl_referentiel heures_a_payer, count(*) OVER(PARTITION BY frs.id) heures_a_payer_pond, NVL(mep.heures,0) heures_demandees, COUNT(*) OVER(PARTITION BY frs.id) heures_a_payer_pond, COALESCE(mep.heures,0) heures_demandees, CASE WHEN mep.periode_paiement_id IS NULL THEN 0 ELSE mep.heures END heures_payees, pea.pourc_exercice_aa pourc_exercice_aa, 1 - pea.pourc_exercice_aa pourc_exercice_ac SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id) total_heures, SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id) * pea.pourc_exercice_aa total_heures_aa, SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id ORDER BY mep.id) cumul_heures, CASE WHEN p2.valeur = ''prorata'' THEN mep.heures * pea.pourc_exercice_aa ELSE ose_divers.CALC_HEURES_AA( COALESCE(mep.heures,0), -- heures pea.pourc_exercice_aa, -- pourc_exercice_aa SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id), -- total_heures SUM(COALESCE(mep.heures,0)) OVER (partition BY frs.id ORDER BY mep.id) -- cumul_heures ) END heures_aa FROM formule_resultat_service_ref frs JOIN type_volume_horaire tvh ON tvh.code = ''REALISE'' JOIN etat_volume_horaire evh ON evh.code = ''valide'' JOIN parametre p2 ON p2.nom = ''regle_repartition_annee_civile'' JOIN formule_resultat fr ON fr.id = frs.formule_resultat_id AND fr.type_volume_horaire_id = tvh.id AND fr.etat_volume_horaire_id = evh.id Loading @@ -1271,7 +1310,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS ) pea ON pea.formule_resultat_id = fr.id AND pea.service_referentiel_id = sr.id JOIN fonction_referentiel fncr ON fncr.id = sr.fonction_id LEFT JOIN mise_en_paiement mep ON mep.formule_res_service_ref_id = frs.id AND mep.histo_destruction IS NULL'; AND mep.histo_destruction IS NULL ) t'; IF param IS NULL THEN filter := '1=1'; Loading Loading @@ -1300,6 +1340,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS AND t.HEURES_PAYEES = v.HEURES_PAYEES AND t.POURC_EXERCICE_AA = v.POURC_EXERCICE_AA AND t.POURC_EXERCICE_AC = v.POURC_EXERCICE_AC AND t.HEURES_AA = v.HEURES_AA AND t.HEURES_AC = v.HEURES_AC THEN -1 ELSE t.ID END ID, v.ANNEE_ID, v.SERVICE_ID, Loading @@ -1316,7 +1358,9 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS v.HEURES_DEMANDEES, v.HEURES_PAYEES, v.POURC_EXERCICE_AA, v.POURC_EXERCICE_AC v.POURC_EXERCICE_AC, v.HEURES_AA, v.HEURES_AC FROM (' || QUERY_APPLY_PARAM(viewQuery,param,value) || ') v FULL JOIN TBL_PAIEMENT t ON Loading
data/ddl/table/TBL_PAIEMENT.php +24 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,30 @@ return [ 'position' => 6, 'commentaire' => NULL, ], 'HEURES_AA' => [ 'name' => 'HEURES_AA', 'type' => 'float', 'bdd-type' => 'FLOAT', 'length' => 0, 'scale' => NULL, 'precision' => 126, 'nullable' => FALSE, 'default' => '0', 'position' => 18, 'commentaire' => NULL, ], 'HEURES_AC' => [ 'name' => 'HEURES_AC', 'type' => 'float', 'bdd-type' => 'FLOAT', 'length' => 0, 'scale' => NULL, 'precision' => 126, 'nullable' => FALSE, 'default' => '0', 'position' => 19, 'commentaire' => NULL, ], 'HEURES_A_PAYER' => [ 'name' => 'HEURES_A_PAYER', 'type' => 'float', Loading
data/ddl/view/V_ETAT_PAIEMENT.sql +2 −2 Original line number Diff line number Diff line Loading @@ -106,8 +106,8 @@ SELECT df.libelle domaine_fonctionnel_libelle, CASE WHEN th.code = 'fc_majorees' THEN 0 ELSE mep.heures END hetd, CASE WHEN th.code = 'fc_majorees' THEN mep.heures ELSE 0 END fc_majorees, mep.heures * mis.pourc_exercice_aa exercice_aa, mep.heures * mis.pourc_exercice_ac exercice_ac, mis.heures_aa exercice_aa, mis.heures_ac exercice_ac, --CASE WHEN th.code = 'fc_majorees' THEN 0 ELSE mep.heures END * 4 / 10 exercice_aa, --CASE WHEN th.code = 'fc_majorees' THEN 0 ELSE mep.heures END * 6 / 10 exercice_ac, OSE_FORMULE.GET_TAUX_HORAIRE_HETD( NVL(mep.date_mise_en_paiement,SYSDATE) ) taux_horaire Loading