From 93278473601f2c982702e661584dee9cdc2b74f5 Mon Sep 17 00:00:00 2001 From: Maxime Quandalle Date: Mon, 2 Sep 2019 17:55:34 +0200 Subject: [PATCH] =?UTF-8?q?:gear:=20Support=20des=20unit=C3=A9s=20dans=20u?= =?UTF-8?q?n=20bar=C3=A8me=20lin=C3=A9aire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/engine/mecanismViews/Barème.css | 3 ++ source/engine/mecanismViews/Barème.js | 14 ++++--- source/engine/mecanisms/barème-linéaire.js | 10 ++--- source/règles/base.yaml | 45 ++++++++++++---------- 4 files changed, 39 insertions(+), 33 deletions(-) diff --git a/source/engine/mecanismViews/Barème.css b/source/engine/mecanismViews/Barème.css index 68c2f3fad..a24711323 100644 --- a/source/engine/mecanismViews/Barème.css +++ b/source/engine/mecanismViews/Barème.css @@ -21,6 +21,9 @@ .barème table th { font-weight: 500; } +.barème table th:first-letter { + text-transform: uppercase; +} .barème .tranche:nth-child(2n) { background: #f1f1f1; } diff --git a/source/engine/mecanismViews/Barème.js b/source/engine/mecanismViews/Barème.js index ae040adae..74f2c4561 100644 --- a/source/engine/mecanismViews/Barème.js +++ b/source/engine/mecanismViews/Barème.js @@ -1,6 +1,7 @@ import classNames from 'classnames' import { ShowValuesConsumer } from 'Components/rule/ShowValuesContext' import withLanguage from 'Components/utils/withLanguage' +import { numberFormatter } from 'Components/Value' import { trancheValue } from 'Engine/mecanisms/barème' import { identity } from 'ramda' import React from 'react' @@ -8,7 +9,6 @@ import { Trans } from 'react-i18next' import { makeJsx } from '../evaluation' import './Barème.css' import { Node, NodeValuePointer } from './common' -import { numberFormatter } from 'Components/Value' export let BarèmeAttributes = ({ explanation, lazyEval = identity }) => ( <> @@ -58,11 +58,13 @@ let Component = withLanguage(function Barème({ Tranche de l'assiette - - {explanation.tranches[0].taux != null - ? 'Taux' - : 'Montant'} - + {unit || ( + + {explanation.tranches[0].taux != null + ? 'Taux' + : 'Montant'} + + )} {showValues && explanation.tranches[0].taux != null && ( diff --git a/source/engine/mecanisms/barème-linéaire.js b/source/engine/mecanisms/barème-linéaire.js index d4543c600..30453685b 100644 --- a/source/engine/mecanisms/barème-linéaire.js +++ b/source/engine/mecanisms/barème-linéaire.js @@ -1,10 +1,8 @@ -import { defaultNode, evaluateObject } from 'Engine/evaluation' -import Barème from 'Engine/mecanismViews/Barème' -import variations from 'Engine/mecanisms/variations' +import { defaultNode, evaluateObject, parseObject } from 'Engine/evaluation' import { decompose } from 'Engine/mecanisms/utils' +import variations from 'Engine/mecanisms/variations' +import Barème from 'Engine/mecanismViews/Barème' import { val } from 'Engine/traverse-common-functions' -import { inferUnit, parseUnit } from 'Engine/units' -import { parseObject } from 'Engine/evaluation' import { desugarScale } from './barème' /* on réécrit en une syntaxe plus bas niveau mais plus régulière les tranches : `en-dessous de: 1` @@ -61,6 +59,6 @@ export default (recurse, k, v) => { barème: 'en taux', type: 'numeric', - unit: explanation.assiette.unit + unit: v['unité'] || explanation.assiette.unit } } diff --git a/source/règles/base.yaml b/source/règles/base.yaml index 20a71df01..70bf0f873 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -4045,28 +4045,28 @@ - nom: barème trimestres générique espace: protection sociale . retraite . trimestres validés par an période: aucune - unité: trimestres formule: variations: - si: oui alors: barème linéaire: + unité: trimestres assiette: revenu moyen [annuel] multiplicateur: SMIC horaire tranches: - en-dessous de: 150 - montant: 0 trimestres + montant: 0 - de: 150 à: 300 - montant: 1 trimestres + montant: 1 - de: 300 à: 450 - montant: 2 trimestres + montant: 2 - de: 450 à: 600 - montant: 3 trimestres + montant: 3 - au-dessus de: 600 - montant: 4 trimestres + montant: 4 références: cnav.fr: https://www.legislation.cnav.fr/Pages/bareme.aspx?Nom=salaire_validant_un_trimestre_montant_bar @@ -4080,59 +4080,62 @@ - si: entreprise . catégorie d'activité = 'libérale' alors: barème linéaire: + unité: trimestres assiette: entreprise . chiffre d'affaires [annuel] tranches: - en-dessous de: 2880 - montant: 0 trimestres + montant: 0 - de: 2880 à: 5062 - montant: 1 trimestres + montant: 1 - de: 5062 à: 7266 - montant: 2 trimestres + montant: 2 - de: 7266 à: 9675 - montant: 3 trimestres + montant: 3 - au-dessus de: 9675 - montant: 4 trimestres + montant: 4 - si: une de ces conditions: - entreprise . catégorie d'activité . service ou vente = 'vente de biens' - entreprise . catégorie d'activité . restauration ou hébergement alors: barème linéaire: + unité: trimestres assiette: entreprise . chiffre d'affaires [annuel] tranches: - en-dessous de: 4137 - montant: 0 trimestres + montant: 0 - de: 4137 à: 7286 - montant: 1 trimestres + montant: 1 - de: 7286 à: 10426 - montant: 2 trimestres + montant: 2 - de: 10426 à: 20740 - montant: 3 trimestres + montant: 3 - au-dessus de: 20740 - montant: 4 trimestres + montant: 4 - sinon: barème linéaire: + unité: trimestres assiette: entreprise . chiffre d'affaires [annuel] tranches: - en-dessous de: 2412 - montant: 0 trimestres + montant: 0 - de: 2412 à: 4239 - montant: 1 trimestres + montant: 1 - de: 4239 à: 6071 - montant: 2 trimestres + montant: 2 - de: 6071 à: 12030 - montant: 3 trimestres + montant: 3 - au-dessus de: 12030 - montant: 4 trimestres + montant: 4 références: service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F23369