Commit a4e9c6de authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

MAJ n° de retenus pour Winpaye et finalisation du changelog pour la 8.1

parent 8a9c814b
......@@ -3,7 +3,7 @@ title: "Changements intervenus sur OSE"
author: Laurent Lécluse - DSI - Unicaen
---
# OSE 8.1 (béta)
# OSE 8.1
## Corrections de bugs
......@@ -47,6 +47,8 @@ Attention toutefois : le travail de mise en place du dispositif n'en est qu'au t
* La recherche d'intervenants saisis directement dans OSE fonctionne maintenant même sans avoir de vue source Intervenant
* Les fonctions référentielles peuvent être regroupées par types, avec des plafonds et indicateurs associés
* Un plafond par composante a été ajouté pour le référentiel.
* Pour suivre l'évolution de la règlementation des heures supplémentaires, l'export Winpaye a été modifié :
le code retenue est passé à 2251 pour les vacataires. Les permanents restent à 0204.
## Notes de mise à jour
......@@ -63,8 +65,11 @@ dev,test ou prod. Les anciennes valeurs development et production doivent donc
mis à jour sans aucun soucis. Par contre, veillez bien à ne pas insérer deux fois les mêmes données, ou bien à ne pas tenter de créer deux fois les mêmes colonnes ou les mêmes clés étrangères.
Le mieux est de dupliquer votre instance de production en test si vous en avez une, puis ensuite d'appliquer la mise à jour avec la dernière version disponible.
* Les versions béta ne sont pas prévues pour êtres installées sur une base vierge. Seules les mises à jour depuis la version 8.0 sont possibles pour le moment.
Le script d'installation d'une nouvelle base de données n'a pour le moment pas été mis à jour.
* La vue export Winpaye a légèrement évolué : le code retenue n'est désormais plus le même pour les vacataires et les permanents (cf. nouveautés ci-dessus).
Cela devrait n'avoir aucune incidence sur vos paramétrages d'états de sortie Winpaye.
* Pour les universités de Bretagne Occidentale et de Nanterre : votre formule de calcul nécessite des vues spécifiques (V_FORMULE_LOCAL_*)
qui vous ont été fournies, à implanter dans votre base de données. Veillez à bien implanter ces vues également sur votre serveur de production.
# OSE 8.0.3
......
......@@ -6121,102 +6121,104 @@ SELECT
nom,
'20' carte,
code_origine,
'0204' retenue,
CASE WHEN type_intervenant_code = 'P' THEN '0204' ELSE '2251' END retenue,
'0' sens,
'B' mc,
nbu,
montant,
libelle || ' ' || LPAD(TO_CHAR(FLOOR(nbu)),2,'00') || ' H' ||
CASE to_char(ROUND( nbu-FLOOR(nbu), 2 )*100,'00')
WHEN ' 00' THEN '' ELSE ' ' || LPAD(ROUND( nbu-FLOOR(nbu), 2 )*100,2,'00') END libelle
WHEN ' 00' THEN '' ELSE ' ' || LPAD(ROUND( nbu-FLOOR(nbu), 2 )*100,2,'00') END libelle
FROM (
SELECT
i.annee_id annee_id,
si.type_intervenant_id type_intervenant_id,
t2.structure_id structure_id,
t2.periode_paiement_id periode_id,
i.id intervenant_id,
'''' || NVL(i.numero_insee,'') || TRIM(NVL(TO_CHAR(i.numero_insee_cle,'00'),'')) insee,
i.nom_usuel || ',' || i.prenom nom,
t2.code_origine code_origine,
CASE WHEN ind <> CEIL(t2.nbu/max_nbu) THEN max_nbu ELSE t2.nbu - max_nbu*(ind-1) END nbu,
t2.nbu tnbu,
OSE_FORMULE.GET_TAUX_HORAIRE_HETD( NVL(t2.date_mise_en_paiement,SYSDATE) ) montant,
COALESCE(t2.unite_budgetaire,'') || ' ' || to_char(i.annee_id) || ' ' || to_char(i.annee_id+1) libelle
FROM (
SELECT
structure_id,
periode_paiement_id,
intervenant_id,
code_origine,
ROUND( SUM(nbu), 2) nbu,
unite_budgetaire,
date_mise_en_paiement
FROM (
WITH mep AS (
SELECT
-- pour les filtres
mep.id,
mis.structure_id,
mep.periode_paiement_id,
mis.intervenant_id,
mep.heures,
cc.unite_budgetaire,
mep.date_mise_en_paiement
FROM
v_mep_intervenant_structure mis
JOIN mise_en_paiement mep ON mep.id = mis.mise_en_paiement_id AND mep.histo_destruction IS NULL
JOIN centre_cout cc ON cc.id = mep.centre_cout_id
JOIN type_heures th ON th.id = mep.type_heures_id
WHERE
mep.date_mise_en_paiement IS NOT NULL
AND mep.periode_paiement_id IS NOT NULL
AND th.eligible_extraction_paie = 1
)
SELECT
mep.id,
mep.structure_id,
mep.periode_paiement_id,
mep.intervenant_id,
2 code_origine,
mep.heures * 4 / 10 nbu,
mep.unite_budgetaire,
mep.date_mise_en_paiement
FROM
mep
WHERE
mep.heures * 4 / 10 > 0
UNION
SELECT
mep.id,
mep.structure_id,
mep.periode_paiement_id,
mep.intervenant_id,
1 code_origine,
mep.heures * 6 / 10 nbu,
mep.unite_budgetaire,
mep.date_mise_en_paiement
FROM
mep
WHERE
mep.heures * 6 / 10 > 0
) t1
GROUP BY
structure_id,
periode_paiement_id,
intervenant_id,
code_origine,
unite_budgetaire,
date_mise_en_paiement
) t2
JOIN (SELECT level ind, 99 max_nbu FROM dual CONNECT BY 1=1 AND LEVEL <= 11) tnbu ON ceil(t2.nbu / max_nbu) >= ind
JOIN intervenant i ON i.id = t2.intervenant_id
JOIN statut_intervenant si ON si.id = i.statut_id
JOIN structure s ON s.id = t2.structure_id
) t3
SELECT
i.annee_id annee_id,
ti.id type_intervenant_id,
ti.code type_intervenant_code,
t2.structure_id structure_id,
t2.periode_paiement_id periode_id,
i.id intervenant_id,
'''' || NVL(i.numero_insee,'') || TRIM(NVL(TO_CHAR(i.numero_insee_cle,'00'),'')) insee,
i.nom_usuel || ',' || i.prenom nom,
t2.code_origine code_origine,
CASE WHEN ind <> CEIL(t2.nbu/max_nbu) THEN max_nbu ELSE t2.nbu - max_nbu*(ind-1) END nbu,
t2.nbu tnbu,
OSE_FORMULE.GET_TAUX_HORAIRE_HETD( NVL(t2.date_mise_en_paiement,SYSDATE) ) montant,
COALESCE(t2.unite_budgetaire,'') || ' ' || to_char(i.annee_id) || ' ' || to_char(i.annee_id+1) libelle
FROM (
SELECT
structure_id,
periode_paiement_id,
intervenant_id,
code_origine,
ROUND( SUM(nbu), 2) nbu,
unite_budgetaire,
date_mise_en_paiement
FROM (
WITH mep AS (
SELECT
-- pour les filtres
mep.id,
mis.structure_id,
mep.periode_paiement_id,
mis.intervenant_id,
mep.heures,
cc.unite_budgetaire,
mep.date_mise_en_paiement
FROM
v_mep_intervenant_structure mis
JOIN mise_en_paiement mep ON mep.id = mis.mise_en_paiement_id AND mep.histo_destruction IS NULL
JOIN centre_cout cc ON cc.id = mep.centre_cout_id
JOIN type_heures th ON th.id = mep.type_heures_id
WHERE
mep.date_mise_en_paiement IS NOT NULL
AND mep.periode_paiement_id IS NOT NULL
AND th.eligible_extraction_paie = 1
)
SELECT
mep.id,
mep.structure_id,
mep.periode_paiement_id,
mep.intervenant_id,
2 code_origine,
mep.heures * 4 / 10 nbu,
mep.unite_budgetaire,
mep.date_mise_en_paiement
FROM
mep
WHERE
mep.heures * 4 / 10 > 0
UNION
SELECT
mep.id,
mep.structure_id,
mep.periode_paiement_id,
mep.intervenant_id,
1 code_origine,
mep.heures * 6 / 10 nbu,
mep.unite_budgetaire,
mep.date_mise_en_paiement
FROM
mep
WHERE
mep.heures * 6 / 10 > 0
) t1
GROUP BY
structure_id,
periode_paiement_id,
intervenant_id,
code_origine,
unite_budgetaire,
date_mise_en_paiement
) t2
JOIN (SELECT level ind, 99 max_nbu FROM dual CONNECT BY 1=1 AND LEVEL <= 11) tnbu ON ceil(t2.nbu / max_nbu) >= ind
JOIN intervenant i ON i.id = t2.intervenant_id
JOIN statut_intervenant si ON si.id = i.statut_id
JOIN type_intervenant ti ON ti.id = si.type_intervenant_id
JOIN structure s ON s.id = t2.structure_id
) t3
ORDER BY
annee_id, type_intervenant_id, structure_id, periode_id, nom, code_origine, nbu DESC;
/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment