@@ -26,6 +26,9 @@ ne sont plus affichées lorsqu'on clique sur l'utilisateur en haut à droite.
## Nouveautés
* Nouveau script de test d'accès à la BDD depuis le script de mise à jour (./bin/ose test-bdd)
* Formules de calcul : nouveau système de récupération des paramètres spécifiques directement implanté dans les formules.
Les vues V_FORMULE_LOCAL_I_PARAMS et V_FORMULE_LOCAL_VH_PARAMS ne sont plus nécessaires.
* Renforcement du script de mise à jour (pour les futures mises à jour) : détection de l'accès à la BDD OK ou non avant de démarrer la procédure et avertissement sans blocage si le cache ne peut pas se nettoyer.
FUNCTION calcCell( c VARCHAR2, l NUMERIC ) RETURN FLOAT;
FUNCTION INTERVENANT_QUERY RETURN CLOB;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB;
END FORMULE_ENSICAEN;',
'body' => 'CREATE OR REPLACE PACKAGE BODY FORMULE_ENSICAEN AS
decalageLigne NUMERIC DEFAULT 20;
...
...
@@ -19564,6 +19567,41 @@ END FORMULE_ENSICAEN;',
END LOOP;
END;
FUNCTION INTERVENANT_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fi.*,
NULL param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_intervenant fi
\';
END;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fvh.*,
NULL param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_volume_horaire fvh
ORDER BY
ordre\';
END;
END FORMULE_ENSICAEN;',
),
'FORMULE_MONTPELLIER' =>
...
...
@@ -19575,6 +19613,9 @@ END FORMULE_ENSICAEN;',
FUNCTION calcCell( c VARCHAR2, l NUMERIC ) RETURN FLOAT;
FUNCTION INTERVENANT_QUERY RETURN CLOB;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB;
END FORMULE_MONTPELLIER;',
'body' => 'CREATE OR REPLACE PACKAGE BODY "FORMULE_MONTPELLIER" AS
decalageLigne NUMERIC DEFAULT 20;
...
...
@@ -20193,6 +20234,41 @@ END FORMULE_MONTPELLIER;',
END LOOP;
END;
FUNCTION INTERVENANT_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fi.*,
NULL param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_intervenant fi
\';
END;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fvh.*,
NULL param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_volume_horaire fvh
ORDER BY
ordre\';
END;
END FORMULE_MONTPELLIER;',
),
'FORMULE_NANTERRE' =>
...
...
@@ -20204,6 +20280,9 @@ END FORMULE_MONTPELLIER;',
FUNCTION calcCell( c VARCHAR2, l NUMERIC ) RETURN FLOAT;
FUNCTION INTERVENANT_QUERY RETURN CLOB;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB;
END FORMULE_NANTERRE;',
'body' => 'CREATE OR REPLACE PACKAGE BODY FORMULE_NANTERRE AS
decalageLigne NUMERIC DEFAULT 21;
...
...
@@ -21012,6 +21091,43 @@ END FORMULE_NANTERRE;',
END LOOP;
END;
FUNCTION INTERVENANT_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fi.*,
NULL param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_intervenant fi
\';
END;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fvh.*,
str.code param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_volume_horaire fvh
JOIN intervenant i ON i.id = fvh.intervenant_id
LEFT JOIN structure str ON str.id = COALESCE(fvh.structure_id,i.structure_id)
ORDER BY
ordre\';
END;
END FORMULE_NANTERRE;',
),
'FORMULE_UBO' =>
...
...
@@ -21023,6 +21139,9 @@ END FORMULE_NANTERRE;',
FUNCTION calcCell( c VARCHAR2, l NUMERIC ) RETURN FLOAT;
FUNCTION INTERVENANT_QUERY RETURN CLOB;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB;
END FORMULE_UBO;',
'body' => 'CREATE OR REPLACE PACKAGE BODY "FORMULE_UBO" AS
decalageLigne NUMERIC DEFAULT 0;
...
...
@@ -21953,6 +22072,43 @@ END FORMULE_UBO;',
END LOOP;
END;
FUNCTION INTERVENANT_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fi.*,
CASE WHEN fi.type_intervenant_code = \'\'P\'\' AND si.source_code NOT IN (\'\'ATER\'\',\'\'ATER_MI_TPS\'\',\'\'LECTEUR\'\') THEN \'\'oui\'\' ELSE \'\'non\'\' END param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_intervenant fi
JOIN intervenant i ON i.id = fi.intervenant_id
JOIN statut_intervenant si ON si.id = i.id
\';
END;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fvh.*,
NULL param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_volume_horaire fvh
ORDER BY
ordre\';
END;
END FORMULE_UBO;',
),
'FORMULE_ULHN' =>
...
...
@@ -21964,6 +22120,9 @@ END FORMULE_UBO;',
FUNCTION calcCell( c VARCHAR2, l NUMERIC ) RETURN FLOAT;
FUNCTION INTERVENANT_QUERY RETURN CLOB;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB;
END FORMULE_ULHN;',
'body' => 'CREATE OR REPLACE PACKAGE BODY "FORMULE_ULHN" AS
decalageLigne NUMERIC DEFAULT 21;
...
...
@@ -22357,6 +22516,41 @@ END FORMULE_ULHN;',
END LOOP;
END;
FUNCTION INTERVENANT_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fi.*,
NULL param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_intervenant fi
\';
END;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fvh.*,
NULL param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_volume_horaire fvh
ORDER BY
ordre\';
END;
END FORMULE_ULHN;',
),
'FORMULE_UNICAEN' =>
...
...
@@ -22373,6 +22567,9 @@ END FORMULE_ULHN;',
PROCEDURE PURGE_EM_NON_FC;
FUNCTION INTERVENANT_QUERY RETURN CLOB;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB;
END FORMULE_UNICAEN;',
'body' => 'CREATE OR REPLACE PACKAGE BODY "FORMULE_UNICAEN" AS
...
...
@@ -23370,6 +23567,41 @@ END FORMULE_UNICAEN;',
END;
FUNCTION INTERVENANT_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fi.*,
NULL param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_intervenant fi
\';
END;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB IS
BEGIN
RETURN \'
SELECT
fvh.*,
NULL param_1,
NULL param_2,
NULL param_3,
NULL param_4,
NULL param_5
FROM
v_formule_volume_horaire fvh
ORDER BY
ordre\';
END;
END FORMULE_UNICAEN;',
),
'OSE_CHARGENS' =>
...
...
@@ -24586,54 +24818,46 @@ END OSE_FORMULE;',
PROCEDURE LOAD_INTERVENANT_FROM_BDD IS
dsdushc NUMERIC DEFAULT 0;
cur SYS_REFCURSOR;
query CLOB;
i_dep_service_du_sans_hc NUMERIC DEFAULT 0;
BEGIN
intervenant.service_du := 0;
intervenant.total := NULL;
intervenant.solde := NULL;
SELECT
fi.intervenant_id,
fi.annee_id,
fi.structure_id,
fi.type_intervenant_code,
fi.heures_service_statutaire,
fi.depassement_service_du_sans_hc,
fi.heures_service_modifie,
fi.heures_decharge,
fli.param_1,
fli.param_2,
fli.param_3,
fli.param_4,
fli.param_5
INTO
intervenant.id,
intervenant.annee_id,
intervenant.structure_id,
intervenant.type_intervenant_code,
intervenant.heures_service_statutaire,
dsdushc,
intervenant.heures_service_modifie,
intervenant.heures_decharge,
intervenant.param_1,
intervenant.param_2,
intervenant.param_3,
intervenant.param_4,
intervenant.param_5
FROM
v_formule_intervenant fi
LEFT JOIN v_formule_local_i_params fli ON fli.intervenant_id = fi.intervenant_id
WHERE
fi.intervenant_id = intervenant.id;
EXECUTE IMMEDIATE \'SELECT \' || formule_definition.package_name || \'.intervenant_query FROM DUAL\' INTO query;
LEFT JOIN v_formule_local_vh_params flvh ON COALESCE(to_number(flvh.volume_horaire_id),0) = COALESCE(fvh.volume_horaire_id,0) AND COALESCE(to_number(flvh.volume_horaire_ref_id),0) = COALESCE(fvh.volume_horaire_ref_id,0)