Commit 175883b8 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Finalisation AA/AC

parent 63271084
Loading
Loading
Loading
Loading
+0 −3
Changes for data/ddl/package/OSE_DIVERS/body.sql: 0 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -64,9 +64,6 @@ CREATE OR REPLACE PACKAGE BODY "OSE_DIVERS" AS
          RETURN 1;
        END IF;

        ose_test.echo('nbjaa=' || nbjaa);
        ose_test.echo('nbjac=' || nbjac);

        RETURN ROUND(nbjaa / (nbjaa + nbjac), 2);
      END IF;
    END IF;
+35 −16
Changes for data/ddl/package/OSE_PARAMETRE/body.sql: 35 added lines, 16 removed lines.
Original line number Diff line number Diff line
CREATE OR REPLACE PACKAGE BODY "OSE_PARAMETRE" AS

  cache_ose_user NUMERIC;
  cache_annee_id NUMERIC;
  oseuser NUMERIC;
  annee NUMERIC;

  annee_import NUMERIC;
  etablissement VARCHAR2(50);
  regle_paiement_annee_civile VARCHAR2(50);
  pourc_s1_pour_annee_civile FLOAT;

@@ -10,19 +13,22 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PARAMETRE" AS
  FUNCTION get_etablissement return Numeric AS
    etab_id numeric;
  BEGIN
    select to_number(valeur) into etab_id from parametre where nom = 'etablissement';
    RETURN etab_id;
    IF etablissement IS NULL THEN
      select to_number(valeur) into etablissement from parametre where nom = 'etablissement';
    END IF;

    RETURN etablissement;
  END get_etablissement;



  FUNCTION get_annee return Numeric AS
    annee_id numeric;
  BEGIN
    IF cache_annee_id IS NOT NULL THEN RETURN cache_annee_id; END IF;
    select to_number(valeur) into annee_id from parametre where nom = 'annee';
    cache_annee_id := annee_id;
    RETURN cache_annee_id;
    IF annee IS NULL THEN
      SELECT to_number(valeur) into annee from parametre where nom = 'annee';
    END IF;

    RETURN annee;
  END get_annee;


@@ -30,19 +36,22 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PARAMETRE" AS
  FUNCTION get_annee_import RETURN NUMERIC AS
    annee_id NUMERIC;
  BEGIN
    SELECT to_number(valeur) INTO annee_id FROM parametre WHERE nom = 'annee_import';
    RETURN annee_id;
    IF annee_import IS NULL THEN
      SELECT to_number(valeur) INTO annee_import FROM parametre WHERE nom = 'annee_import';
    END IF;

    RETURN annee_import;
  END get_annee_import;



  FUNCTION get_ose_user return NUMERIC AS
    ose_user_id numeric;
  BEGIN
    IF cache_ose_user IS NOT NULL THEN RETURN cache_ose_user; END IF;
    select to_number(valeur) into ose_user_id from parametre where nom = 'oseuser';
    cache_ose_user := ose_user_id;
    RETURN cache_ose_user;
    IF oseuser IS NULL THEN
      SELECT to_number(valeur) into oseuser from parametre where nom = 'oseuser';
    END IF;

    RETURN oseuser;
  END get_ose_user;


@@ -56,6 +65,7 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PARAMETRE" AS
      formule f
      JOIN parametre p ON f.id = to_number(p.valeur)
    WHERE p.nom = 'formule';

    RETURN fdata;
  END;

@@ -81,4 +91,13 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PARAMETRE" AS
    RETURN pourc_s1_pour_annee_civile;
  END;


  PROCEDURE CLEAR_CACHE IS
  BEGIN
    annee := NULL;
    oseuser := NULL;
    regle_paiement_annee_civile := NULL;
    pourc_s1_pour_annee_civile := NULL;
  END;

END OSE_PARAMETRE;
 No newline at end of file
+2 −0
Changes for data/ddl/package/OSE_PARAMETRE/definition.sql: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -8,4 +8,6 @@ CREATE OR REPLACE PACKAGE "OSE_PARAMETRE" AS
  FUNCTION get_regle_paiement_annee_civ RETURN VARCHAR2;
  FUNCTION get_pourc_s1_annee_civ RETURN VARCHAR2;

  PROCEDURE CLEAR_CACHE;

END OSE_PARAMETRE;
 No newline at end of file
+40 −4
Changes for data/ddl/package/UNICAEN_TBL/body.sql: 40 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -1186,8 +1186,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
          count(*) OVER(PARTITION BY frs.id)          heures_a_payer_pond,
          NVL(mep.heures,0)                           heures_demandees,
          CASE WHEN mep.periode_paiement_id IS NULL THEN 0 ELSE mep.heures END heures_payees,
          4 / 10                                      pourc_exercice_aa,
          6 / 10                                      pourc_exercice_ac
          pea.pourc_exercice_aa                       pourc_exercice_aa,
          1 - pea.pourc_exercice_aa                   pourc_exercice_ac
        FROM
                    formule_resultat_service        frs
               JOIN type_volume_horaire             tvh ON tvh.code = ''REALISE''
@@ -1199,6 +1199,24 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS

               JOIN intervenant                       i ON i.id = fr.intervenant_id /*@INTERVENANT_ID=i.id*/ /*@ANNEE_ID=a.annee_id*/
               JOIN service                           s ON s.id = frs.service_id
               JOIN (
                 SELECT
                   frvh.formule_resultat_id,
                   vh.service_id,
                   CASE WHEN SUM(vh.heures) > 0 THEN
                     SUM(ose_divers.CALC_POURC_AA(vh.periode_id, vh.horaire_debut, vh.horaire_fin, i.annee_id) * vh.heures) / SUM(vh.heures)
                   ELSE
                     SUM(ose_divers.CALC_POURC_AA(vh.periode_id, vh.horaire_debut, vh.horaire_fin, i.annee_id))
                   END pourc_exercice_aa
                 FROM
                   volume_horaire             vh
                   JOIN service                s ON s.id = vh.service_id
                   JOIN intervenant            i ON i.id = s.intervenant_id /*@INTERVENANT_ID=i.id*/ /*@ANNEE_ID=a.annee_id*/
                   JOIN formule_resultat_vh frvh ON frvh.volume_horaire_id = vh.id
                 GROUP BY
                   frvh.formule_resultat_id,
                   vh.service_id
                 )                                  pea ON pea.formule_resultat_id = fr.id AND pea.service_id = s.id
          LEFT JOIN element_pedagogique              ep ON ep.id = s.element_pedagogique_id
          LEFT JOIN etape                             e ON e.id = ep.etape_id
          LEFT JOIN mise_en_paiement                mep ON mep.formule_res_service_id = frs.id
@@ -1221,8 +1239,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
          count(*) OVER(PARTITION BY frs.id)          heures_a_payer_pond,
          NVL(mep.heures,0)                           heures_demandees,
          CASE WHEN mep.periode_paiement_id IS NULL THEN 0 ELSE mep.heures END heures_payees,
          4 / 10                                      pourc_exercice_aa,
          6 / 10                                      pourc_exercice_ac
          pea.pourc_exercice_aa                       pourc_exercice_aa,
          1 - pea.pourc_exercice_aa                   pourc_exercice_ac
        FROM
                    formule_resultat_service_ref    frs
               JOIN type_volume_horaire             tvh ON tvh.code = ''REALISE''
@@ -1233,6 +1251,24 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS

               JOIN intervenant                       i ON i.id = fr.intervenant_id /*@INTERVENANT_ID=i.id*/ /*@ANNEE_ID=a.annee_id*/
               JOIN service_referentiel              sr ON sr.id = frs.service_referentiel_id
               JOIN (
                 SELECT
                   frvhr.formule_resultat_id,
                   vhr.service_referentiel_id,
                   CASE WHEN SUM(vhr.heures) > 0 THEN
                     SUM(ose_divers.CALC_POURC_AA(NULL, vhr.horaire_debut, vhr.horaire_fin, i.annee_id) * vhr.heures) / SUM(vhr.heures)
                   ELSE
                     SUM(ose_divers.CALC_POURC_AA(NULL, vhr.horaire_debut, vhr.horaire_fin, i.annee_id))
                   END pourc_exercice_aa
                 FROM
                   volume_horaire_ref vhr
                   JOIN service_referentiel        sr ON sr.id = vhr.service_referentiel_id
                   JOIN intervenant                 i ON i.id = sr.intervenant_id /*@INTERVENANT_ID=i.id*/ /*@ANNEE_ID=a.annee_id*/
                   JOIN formule_resultat_vh_ref frvhr ON frvhr.volume_horaire_ref_id = vhr.id
                 GROUP BY
                   frvhr.formule_resultat_id,
                   vhr.service_referentiel_id
                 ) 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';
+6 −0
Changes for data/ddl/trigger/PARAMETRE_S.sql: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
CREATE OR REPLACE TRIGGER "PARAMETRE_S"
AFTER UPDATE ON PARAMETRE
FOR EACH ROW
BEGIN
  ose_parametre.clear_cache;
END;
 No newline at end of file
Loading