From 3bb5c1ec67b9a13d611961c0cdcd88a2befd910a Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Tue, 5 Nov 2019 14:17:09 +0100 Subject: [PATCH] =?UTF-8?q?:hammer:=20d=C3=A9commente=20les=20r=C3=A8gles?= =?UTF-8?q?=20pour=20les=20sportifs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/components/PaySlipSections.js | 4 +- source/engine/parseReference.js | 4 +- source/règles/base.yaml | 219 ++++++++++++++------------- test/mécanismes/applicable.yaml | 11 +- 4 files changed, 126 insertions(+), 112 deletions(-) diff --git a/source/components/PaySlipSections.js b/source/components/PaySlipSections.js index c447ecc3a..ac7545025 100644 --- a/source/components/PaySlipSections.js +++ b/source/components/PaySlipSections.js @@ -12,7 +12,8 @@ export let SalaireBrutSection = ({ getRule }) => { 'contrat salarié . rémunération . heures supplémentaires' ), salaireDeBase = getRule('contrat salarié . rémunération . brut de base'), - rémunérationBrute = getRule('contrat salarié . rémunération . brut') + rémunérationBrute = getRule('contrat salarié . rémunération . brut'), + primes = getRule('contrat salarié . rémunération . primes') return (
@@ -25,6 +26,7 @@ export let SalaireBrutSection = ({ getRule }) => { {heuresSupplémentaires.nodeValue !== 0 && ( )} + {primes.nodeValue !== 0 && } {rémunérationBrute.nodeValue !== salaireDeBase.nodeValue && ( )} diff --git a/source/engine/parseReference.js b/source/engine/parseReference.js index 2b56e187b..6e444f7a2 100644 --- a/source/engine/parseReference.js +++ b/source/engine/parseReference.js @@ -31,12 +31,12 @@ let evaluateReference = (filter, contextRuleName) => ( .filter( ({ whiteListedNames }) => !whiteListedNames || - whiteListedNames.some(name => name === contextRuleName) + whiteListedNames.some(name => contextRuleName.startsWith(name)) ) .filter( ({ blackListedNames }) => !blackListedNames || - blackListedNames.every(name => name !== contextRuleName) + blackListedNames.every(name => !contextRuleName.startsWith(name)) ) .filter(({ referenceNode }) => { const { nodeValue, missingVariables } = evaluateApplicability( diff --git a/source/règles/base.yaml b/source/règles/base.yaml index dea7f213e..6cbff4bf5 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -881,10 +881,12 @@ contrat salarié . rémunération . assiette de vérification du SMIC: - primes . activité contrat salarié . rémunération . primes: + unité: € période: flexible formule: activité contrat salarié . rémunération . primes . activité: période: flexible + unité: € titre: primes d'activité description: > Primes et gratifications versées en contrepartie, ou à l’occasion du travail, directement liées à l’exécution par le salarié de sa prestation de travail. Tel est le cas, par exemple, d’une prime de vente exclusivement basée sur les résultats du salarié. @@ -897,10 +899,12 @@ contrat salarié . rémunération . primes . activité: contrat salarié . rémunération . primes . activité . base: période: flexible + unité: € formule: 0 contrat salarié . rémunération . primes . activité . conventionnelles: période: flexible + unité: € formule: 0 contrat salarié . rémunération . brut: @@ -5161,116 +5165,124 @@ contrat salarié . convention collective . sportifs . cotisations: assiette: cotisations . assiette taux: 1% -# ? contrat salarié . convention collective . sportifs . cotisations . assiette franchisée -# : période: flexible -# formule: -# allègement: -# assiette: cotisations . assiette -# abattement: franchise +? contrat salarié . convention collective . sportifs . cotisations . assiette franchisée +: période: flexible + formule: + allègement: + assiette: cotisations . assiette + abattement: franchise -# contrat salarié . convention collective . sportifs . joueur entraineur: -# question: le joueur est-il aussi entraineur ? -# par défaut: non +contrat salarié . convention collective . sportifs . joueur entraineur: + question: le joueur est-il aussi entraineur ? + par défaut: non -# contrat salarié . convention collective . sportifs . exonération taux AT: -# non applicable si: joueur entraineur -# question: l'employeur a-t'il décidé de ne pas être exonéré de taux AT ? -# rend non applicable: -# - ATMP -# par défaut: non +contrat salarié . convention collective . sportifs . exonération taux AT: + non applicable si: joueur entraineur + question: l'employeur a-t'il décidé de ne pas être exonéré de taux AT ? + rend non applicable: + - ATMP + par défaut: non -# ? contrat salarié . convention collective . sportifs . cotisations . assiette forfaitaire -# : -# applicable si: assiette franchisée < 115 * SMIC horaire -# période: mois -# remplace: contrat salarié . cotisations . assiette forfaitaire -# formule: -# barème linéaire: -# assiette: assiette franchisée -# multiplicateur: SMIC horaire -# tranches: -# - en-dessous de: 45 -# montant: 5 * SMIC horaire -# - de: 45 -# à: 60 -# montant: 15 * SMIC horaire -# - de: 60 -# à: 80 -# montant: 25 * SMIC horaire -# - de: 80 -# à: 100 -# montant: 35 * SMIC horaire -# - de: 100 -# à: 115 -# montant: 50 * SMIC horaire +? contrat salarié . convention collective . sportifs . cotisations . assiette forfaitaire +: + applicable si: assiette franchisée < 115 * SMIC horaire + période: mois + remplace: contrat salarié . cotisations . assiette forfaitaire + formule: + barème linéaire: + assiette: assiette franchisée + multiplicateur: SMIC horaire + tranches: + - en-dessous de: 45 + montant: 5 * SMIC horaire + - de: 45 + à: 60 + montant: 15 * SMIC horaire + - de: 60 + à: 80 + montant: 25 * SMIC horaire + - de: 80 + à: 100 + montant: 35 * SMIC horaire + - de: 100 + à: 115 + montant: 50 * SMIC horaire -# ? contrat salarié . convention collective . sportifs . primes . nombre de manifestations -# : question: combien de manifestations le joueur a-t'il effectué ce mois-ci ? -# unité: manifestations/mois -# par défaut: 0 +? contrat salarié . convention collective . sportifs . primes . nombre de manifestations +: question: Combien de manifestations le joueur a-t'il effectué ce mois-ci ? + unité: manifestations/mois + par défaut: 0 -# contrat salarié . convention collective . sportifs . primes: -# remplace: rémunération . primes . activité . conventionnelles -# période: flexible -# formule: -# somme: -# - manifestation 1 -# - manifestation 2 -# - manifestation 3 -# - manifestation 4 -# - manifestation 5 -# - autres manifestations +contrat salarié . convention collective . sportifs . primes: + titre: primes de manifestation + applicable si: période = 'mois' + remplace: rémunération . primes . activité . conventionnelles + unité: € + période: mois + formule: + somme: + - manifestation 1 + - manifestation 2 + - manifestation 3 + - manifestation 4 + - manifestation 5 + - autres manifestations -# contrat salarié . convention collective . sportifs . primes . manifestation 1: -# période: mois -# question: Quelle prime pour la première manifestation ? -# applicable si: nombre de manifestations > 0 -# unité: € -# contrat salarié . convention collective . sportifs . primes . manifestation 2: -# période: mois -# question: Quelle prime pour la deuxième manifestation ? -# applicable si: nombre de manifestations > 1 -# unité: € -# contrat salarié . convention collective . sportifs . primes . manifestation 3: -# période: mois -# question: Quelle prime pour la troisième manifestation ? -# applicable si: nombre de manifestations > 2 -# unité: € -# contrat salarié . convention collective . sportifs . primes . manifestation 4: -# période: mois -# question: Quelle prime pour la quatrième manifestation ? -# applicable si: nombre de manifestations > 3 -# unité: € -# contrat salarié . convention collective . sportifs . primes . manifestation 5: -# question: Quelle prime pour la cinquième manifestation ? -# applicable si: nombre de manifestations > 4 -# période: mois -# unité: € -# ? contrat salarié . convention collective . sportifs . primes . autres manifestations -# : question: Quelles primes pour les autres manifestations ? -# applicable si: nombre de manifestations > 5 -# période: mois -# unité: € +contrat salarié . convention collective . sportifs . primes . manifestation 1: + période: mois + question: Quelle prime pour la première manifestation ? + applicable si: nombre de manifestations > 0 + par défaut: 50 + unité: € +contrat salarié . convention collective . sportifs . primes . manifestation 2: + période: mois + question: Quelle prime pour la deuxième manifestation ? + applicable si: nombre de manifestations > 1 + par défaut: 50 + unité: € +contrat salarié . convention collective . sportifs . primes . manifestation 3: + période: mois + question: Quelle prime pour la troisième manifestation ? + applicable si: nombre de manifestations > 2 + par défaut: 50 + unité: € +contrat salarié . convention collective . sportifs . primes . manifestation 4: + période: mois + question: Quelle prime pour la quatrième manifestation ? + applicable si: nombre de manifestations > 3 + par défaut: 50 + unité: € +contrat salarié . convention collective . sportifs . primes . manifestation 5: + question: Quelle prime pour la cinquième manifestation ? + applicable si: nombre de manifestations > 4 + par défaut: 50 + période: mois + unité: € +? contrat salarié . convention collective . sportifs . primes . autres manifestations +: question: Quelles primes pour les autres manifestations ? + applicable si: nombre de manifestations > 5 + période: mois + unité: € -# contrat salarié . convention collective . sportifs . cotisations . franchise: -# applicable si: entreprise . effectif > 10 -# période: mois -# somme: -# - le minimum de: -# - 70% * plafond journalier sécurité sociale -# - primes . manifestation 1 -# - le minimum de: -# - 70% * plafond journalier sécurité sociale -# - primes . manifestation 2 -# - le minimum de: -# - 70% * plafond journalier sécurité sociale -# - primes . manifestation 3 -# - le minimum de: -# - 70% * plafond journalier sécurité sociale -# - primes . manifestation 4 -# - le minimum de: -# - 70% * plafond journalier sécurité sociale -# - primes . manifestation 5 +contrat salarié . convention collective . sportifs . cotisations . franchise: + applicable si: entreprise . effectif > 10 + période: mois + somme: + - le minimum de: + - 70% * plafond journalier sécurité sociale + - primes . manifestation 1 + - le minimum de: + - 70% * plafond journalier sécurité sociale + - primes . manifestation 2 + - le minimum de: + - 70% * plafond journalier sécurité sociale + - primes . manifestation 3 + - le minimum de: + - 70% * plafond journalier sécurité sociale + - primes . manifestation 4 + - le minimum de: + - 70% * plafond journalier sécurité sociale + - primes . manifestation 5 # contrat salarié . convention collective . intermittents du spectacle: # par défaut: non @@ -5464,6 +5476,7 @@ contrat salarié . cotisations . assiette forfaitaire . montant: - retraite complémentaire - contribution d'équilibre général - contribution d'équilibre technique + - convention collective - assiette CSG et CRDS . assiette abattue formule: le maximum de: diff --git a/test/mécanismes/applicable.yaml b/test/mécanismes/applicable.yaml index 498f194cd..9e39b38ce 100644 --- a/test/mécanismes/applicable.yaml +++ b/test/mécanismes/applicable.yaml @@ -1,6 +1,6 @@ - nom: statut cadre - formule: - variations: + formule: + variations: - si: 3 > 2 alors: oui - sinon: choix du statut cadre @@ -14,13 +14,12 @@ multiplication: assiette: 1500 taux: 1.5% - exemples: + exemples: - nom: Applicabilité - situation: + situation: statut cadre: oui valeur attendue: 22.5 - nom: Non Applicabilité - situation: + situation: statut cadre: non valeur attendue: 0 -