Commit ec7a0926 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Merge branch 'master' into alc-recherche-intervenant

parents 90fd37a2 e07084bd
Loading
Loading
Loading
Loading
+53 −2
Original line number Diff line number Diff line
CREATE OR REPLACE PACKAGE BODY "OSE_PAIEMENT" AS

  code_taux_remu_legal 	CONSTANT VARCHAR2(3) := 'TLD';

  mois_extraction_paie VARCHAR2(50) := '01';
  annee_extraction_paie VARCHAR2(50) := '22';



  PROCEDURE check_bad_paiements(formule_res_service_id NUMERIC DEFAULT NULL, formule_res_service_ref_id NUMERIC DEFAULT NULL) IS
    cc NUMERIC;
  BEGIN
@@ -62,5 +62,56 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PAIEMENT" AS
    RETURN '20' || ose_paiement.annee_extraction_paie || '-' || ose_paiement.mois_extraction_paie;
  END;

  Function get_taux_horaire (id_in IN NUMBER, date_val IN DATE) RETURN float IS
    valeur float;
  BEGIN
    SELECT valeur into valeur FROM
    (
    SELECT trv.valeur
    FROM taux_remu tr
    JOIN taux_remu_valeur trv ON tr.id = trv.taux_remu_id
    WHERE tr.id = id_in
    AND tr.histo_destruction IS NULL
    AND trv.date_effet <= date_val
    ORDER BY trv.date_effet DESC
    )
    WHERE rownum = 1;

    RETURN valeur;

    EXCEPTION
    WHEN OTHERS THEN
       return -1;
  END get_taux_horaire;

  Function get_taux_horaire_valeur_id (id_in IN NUMBER, date_val IN DATE) RETURN NUMBER IS
    valeur NUMBER;
  BEGIN
    SELECT id into valeur FROM
    (
    SELECT trv.id
    FROM taux_remu tr
    JOIN taux_remu_valeur trv ON tr.id = trv.taux_remu_id
    WHERE tr.id = id_in
    AND tr.histo_destruction IS NULL
    AND trv.date_effet <= date_val
    ORDER BY trv.date_effet DESC
    )
    WHERE rownum = 1;

    RETURN valeur;

    EXCEPTION
    WHEN OTHERS THEN
       return -1;
  END get_taux_horaire_valeur_id;




  FUNCTION get_code_taux_remu_legal RETURN VARCHAR2 IS
  BEGIN
    RETURN code_taux_remu_legal;
  END;

END ose_paiement;
 No newline at end of file
+6 −0
Original line number Diff line number Diff line
@@ -12,4 +12,10 @@ CREATE OR REPLACE PACKAGE "OSE_PAIEMENT" AS

  FUNCTION get_format_mois_du RETURN VARCHAR2;

  FUNCTION get_taux_horaire(id_in IN NUMBER, date_val IN DATE) return float;

  FUNCTION get_taux_horaire_valeur_id(id_in IN NUMBER, date_val IN DATE) return NUMBER;

  FUNCTION get_code_taux_remu_legal RETURN VARCHAR2;

END ose_paiement;
 No newline at end of file
+4 −3
Original line number Diff line number Diff line
@@ -77,8 +77,8 @@ FROM (SELECT c.*,
             COALESCE(d.numero_insee, i.numero_insee)                                            "numInsee",
             si.libelle                                                                          "statut",
             REPLACE(ltrim(to_char(COALESCE(c.total_hetd, fr.total, 0), '999999.00')), '.', ',') "totalHETD",
             REPLACE(ltrim(to_char(COALESCE(th.valeur, 0), '999999.00')), '.', ',')              "tauxHoraireValeur",
             COALESCE(to_char(th.histo_modification, 'dd/mm/YYYY'), 'TAUX INTROUVABLE')              "tauxHoraireDate",
             REPLACE(ltrim(to_char(COALESCE(trv.valeur, 0), '999999.00')), '.', ',')              "tauxHoraireValeur",
             COALESCE(to_char(trv.date_effet, 'dd/mm/YYYY'), 'TAUX INTROUVABLE')              "tauxHoraireDate",
             to_char(COALESCE(v.histo_creation, a.date_debut), 'dd/mm/YYYY')                 "dateSignature",
             CASE
                 WHEN c.structure_id <> COALESCE(cp.structure_id, 0) THEN 'modifié'
@@ -118,7 +118,8 @@ FROM (SELECT c.*,
         JOIN type_volume_horaire tvh ON tvh.code = 'PREVU'
         JOIN etat_volume_horaire evh ON evh.code = 'valide'
    LEFT JOIN formule_resultat     fr ON fr.intervenant_id = i.id AND fr.type_volume_horaire_id = tvh.id AND fr.etat_volume_horaire_id = evh.id
    LEFT JOIN taux_horaire_hetd    th ON th.valeur = OSE_FORMULE.GET_TAUX_HORAIRE_HETD(a.date_debut)
    LEFT JOIN taux_remu            tr ON tr.code = OSE_PAIEMENT.get_code_taux_remu_legal()
    LEFT JOIN taux_remu_valeur    trv ON trv.id = OSE_PAIEMENT.get_taux_horaire_valeur_id(COALESCE(si.taux_remu_id,tr.id), a.date_debut)
    LEFT JOIN                      hs ON hs.contrat_id = c.id
    LEFT JOIN contrat              cp ON cp.id = c.contrat_id
  WHERE
+12 −1
Original line number Diff line number Diff line
@@ -116,7 +116,15 @@ SELECT
                                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
                                OSE_PAIEMENT.GET_TAUX_HORAIRE(
                                    COALESCE(
                                        ep.taux_remu_id ,
                                        si.taux_remu_id ,
                                        tr.id),
                                        NVL(mep.date_mise_en_paiement,SYSDATE)
                                )      taux_horaire
                             --OSE_FORMULE.GET_TAUX_HORAIRE_HETD( NVL(mep.date_mise_en_paiement,SYSDATE) )      taux_horaire

                         FROM
                                     tbl_paiement mis
                                JOIN mise_en_paiement        mep ON mep.id = mis.mise_en_paiement_id AND mep.histo_destruction IS NULL
@@ -130,6 +138,9 @@ SELECT
                           LEFT JOIN validation                v ON   v.id = mep.validation_id       AND v.histo_destruction IS NULL
                           LEFT JOIN domaine_fonctionnel      df ON  df.id = mis.domaine_fonctionnel_id
                           LEFT JOIN periode                   p ON   p.id = mep.periode_paiement_id
                           LEFT JOIN service                  se ON   mis.service_id = se.id
                           LEFT JOIN element_pedagogique      ep ON   ep.id = se.element_pedagogique_id
                           LEFT JOIN taux_remu                tr ON   tr.code = OSE_PAIEMENT.get_code_taux_remu_legal()
                     )
                     SELECT
                            periode_id,
+35 −0
Original line number Diff line number Diff line
@@ -899,6 +899,41 @@ return [
        ],
    ],

    'TAUX_REMU' => [
        [
            'ID'      => 1,
            'CODE'    => 'TLD',
            'LIBELLE' => 'Taux légal par défaut',
        ],
    ],

    'TAUX_REMU_VALEUR' => [
        [
            'ID'           => 1,
            'TAUX_REMu_ID' => 1,
            'DATE_EFFET'   => '27/07/2009',
            'VALEUR'       => 40.58,
        ],
        [
            'ID'           => 2,
            'TAUX_REMu_ID' => 1,
            'DATE_EFFET'   => '25/06/2014',
            'VALEUR'       => 40.91,
        ],
        [
            'ID'           => 3,
            'TAUX_REMu_ID' => 1,
            'DATE_EFFET'   => '01/02/2017',
            'VALEUR'       => 41.41,
        ],
        [
            'ID'           => 4,
            'TAUX_REMu_ID' => 1,
            'DATE_EFFET'   => '01/07/2022',
            'VALEUR'       => 42.86,
        ],
    ],

    'UTILISATEUR' => [
        [
            'USERNAME'             => 'oseappli',
Loading