Loading data/ddl/package/OSE_PAIEMENT/body.sql +64 −8 Original line number Diff line number Diff line Loading @@ -64,7 +64,9 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PAIEMENT" AS Function get_taux_horaire (id_in IN NUMBER, date_val IN DATE) RETURN float IS valeur float; valeur_parent float; BEGIN SELECT valeur into valeur FROM ( SELECT trv.valeur Loading @@ -77,19 +79,47 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PAIEMENT" AS ) WHERE rownum = 1; SELECT( SELECT valeur FROM ( SELECT trv.valeur FROM taux_remu tr JOIN taux_remu_valeur trv ON tr.id = trv.taux_remu_id WHERE tr.id IN ( SELECT tr.taux_remu_id FROM taux_remu tr 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 ) into valeur_parent FROM dual; IF valeur_parent is NULL THEN RETURN valeur; ELSE RETURN valeur*valeur_parent; END IF; 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; Function get_taux_horaire_date (id_in IN NUMBER, date_val IN DATE) RETURN DATE IS date_valeur DATE; date_parent DATE; BEGIN SELECT id into valeur FROM SELECT date_effet into date_valeur FROM ( SELECT trv.id SELECT trv.date_effet FROM taux_remu tr JOIN taux_remu_valeur trv ON tr.id = trv.taux_remu_id WHERE tr.id = id_in Loading @@ -99,12 +129,38 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PAIEMENT" AS ) WHERE rownum = 1; RETURN valeur; SELECT( SELECT date_effet FROM ( SELECT trv.date_effet FROM taux_remu tr JOIN taux_remu_valeur trv ON tr.id = trv.taux_remu_id WHERE tr.id IN ( SELECT tr.taux_remu_id FROM taux_remu tr 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 ) into date_parent FROM dual; IF date_parent is NULL THEN RETURN date_valeur; ELSE RETURN GREATEST(date_valeur, date_parent); END IF; EXCEPTION WHEN OTHERS THEN return -1; END get_taux_horaire_valeur_id; return '00/00/0000'; END get_taux_horaire_date; Loading data/ddl/package/OSE_PAIEMENT/definition.sql +1 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ CREATE OR REPLACE PACKAGE "OSE_PAIEMENT" AS 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_taux_horaire_date(id_in IN NUMBER, date_val IN DATE) return DATE; FUNCTION get_code_taux_remu_legal RETURN VARCHAR2; Loading data/ddl/view/V_CONTRAT_MAIN.sql +2 −3 Original line number Diff line number Diff line Loading @@ -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(trv.valeur, 0), '999999.00')), '.', ',') "tauxHoraireValeur", COALESCE(to_char(trv.date_effet, 'dd/mm/YYYY'), 'TAUX INTROUVABLE') "tauxHoraireDate", REPLACE(ltrim(to_char(COALESCE(OSE_PAIEMENT.get_taux_horaire(COALESCE(si.taux_remu_id,tr.id), a.date_debut), 0), '999999.00')), '.', ',') "tauxHoraireValeur", COALESCE(to_char(OSE_PAIEMENT.get_taux_horaire_date(COALESCE(si.taux_remu_id,tr.id), a.date_debut), '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é' Loading Loading @@ -119,7 +119,6 @@ FROM (SELECT c.*, 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_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 Loading data/ddl/view/V_ETAT_PAIEMENT.sql +3 −0 Original line number Diff line number Diff line Loading @@ -204,4 +204,7 @@ SELECT ORDER BY annee_id, type_intervenant_id, statut_id, structure_id, periode_id, intervenant_nom No newline at end of file Loading
data/ddl/package/OSE_PAIEMENT/body.sql +64 −8 Original line number Diff line number Diff line Loading @@ -64,7 +64,9 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PAIEMENT" AS Function get_taux_horaire (id_in IN NUMBER, date_val IN DATE) RETURN float IS valeur float; valeur_parent float; BEGIN SELECT valeur into valeur FROM ( SELECT trv.valeur Loading @@ -77,19 +79,47 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PAIEMENT" AS ) WHERE rownum = 1; SELECT( SELECT valeur FROM ( SELECT trv.valeur FROM taux_remu tr JOIN taux_remu_valeur trv ON tr.id = trv.taux_remu_id WHERE tr.id IN ( SELECT tr.taux_remu_id FROM taux_remu tr 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 ) into valeur_parent FROM dual; IF valeur_parent is NULL THEN RETURN valeur; ELSE RETURN valeur*valeur_parent; END IF; 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; Function get_taux_horaire_date (id_in IN NUMBER, date_val IN DATE) RETURN DATE IS date_valeur DATE; date_parent DATE; BEGIN SELECT id into valeur FROM SELECT date_effet into date_valeur FROM ( SELECT trv.id SELECT trv.date_effet FROM taux_remu tr JOIN taux_remu_valeur trv ON tr.id = trv.taux_remu_id WHERE tr.id = id_in Loading @@ -99,12 +129,38 @@ CREATE OR REPLACE PACKAGE BODY "OSE_PAIEMENT" AS ) WHERE rownum = 1; RETURN valeur; SELECT( SELECT date_effet FROM ( SELECT trv.date_effet FROM taux_remu tr JOIN taux_remu_valeur trv ON tr.id = trv.taux_remu_id WHERE tr.id IN ( SELECT tr.taux_remu_id FROM taux_remu tr 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 ) into date_parent FROM dual; IF date_parent is NULL THEN RETURN date_valeur; ELSE RETURN GREATEST(date_valeur, date_parent); END IF; EXCEPTION WHEN OTHERS THEN return -1; END get_taux_horaire_valeur_id; return '00/00/0000'; END get_taux_horaire_date; Loading
data/ddl/package/OSE_PAIEMENT/definition.sql +1 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ CREATE OR REPLACE PACKAGE "OSE_PAIEMENT" AS 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_taux_horaire_date(id_in IN NUMBER, date_val IN DATE) return DATE; FUNCTION get_code_taux_remu_legal RETURN VARCHAR2; Loading
data/ddl/view/V_CONTRAT_MAIN.sql +2 −3 Original line number Diff line number Diff line Loading @@ -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(trv.valeur, 0), '999999.00')), '.', ',') "tauxHoraireValeur", COALESCE(to_char(trv.date_effet, 'dd/mm/YYYY'), 'TAUX INTROUVABLE') "tauxHoraireDate", REPLACE(ltrim(to_char(COALESCE(OSE_PAIEMENT.get_taux_horaire(COALESCE(si.taux_remu_id,tr.id), a.date_debut), 0), '999999.00')), '.', ',') "tauxHoraireValeur", COALESCE(to_char(OSE_PAIEMENT.get_taux_horaire_date(COALESCE(si.taux_remu_id,tr.id), a.date_debut), '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é' Loading Loading @@ -119,7 +119,6 @@ FROM (SELECT c.*, 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_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 Loading
data/ddl/view/V_ETAT_PAIEMENT.sql +3 −0 Original line number Diff line number Diff line Loading @@ -204,4 +204,7 @@ SELECT ORDER BY annee_id, type_intervenant_id, statut_id, structure_id, periode_id, intervenant_nom No newline at end of file