From 2e8a22ef90aa8d843054c721467634483008020f Mon Sep 17 00:00:00 2001 From: mama Date: Thu, 11 May 2017 12:04:55 +0200 Subject: [PATCH] =?UTF-8?q?:gear:=20Les=20questions=20sont=20ordonn=C3=A9e?= =?UTF-8?q?s=20par=20impact?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit L'impact étant pour l'instant le nombre de citation des ou de la variable résolues par la question --- règles/rémunération-travail/entités/ok/CDD.yaml | 2 +- .../rémunération-travail/entités/ok/CDD.événements.yaml | 9 +++++++-- source/engine/generateQuestions.js | 7 ++++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/règles/rémunération-travail/entités/ok/CDD.yaml b/règles/rémunération-travail/entités/ok/CDD.yaml index 852747d05..e955c859f 100644 --- a/règles/rémunération-travail/entités/ok/CDD.yaml +++ b/règles/rémunération-travail/entités/ok/CDD.yaml @@ -5,7 +5,7 @@ nom: CDD titre: Contrat à durée déterminée description: Contrat de travail pour lequel un employeur peut recruter un salarié pour une durée déterminée, car la cause de cette détermination, de la date ou échéance de fin de contrat est prévue explicitement par le Code du travail. - référence: https://fr.wikipedia.org/wiki/Contrat_de_travail_%C3%A0_dur%C3%A9e_d%C3%A9termin%C3%A9e_en_France + référence: https://fr.wikipedia.org/wiki/Contrat_de_travail_à_durée_déterminée_en_France # # TODO: règle de type : il faut q'un motif et une durée soient sélectionnés pour qu'un contrat soit un CDD. Cela revient à dire que les variables CDD et motif sont obligatoires *dans le contexte* de leur attache # implique: # - emploi temporaire diff --git a/règles/rémunération-travail/entités/ok/CDD.événements.yaml b/règles/rémunération-travail/entités/ok/CDD.événements.yaml index 8dee20bf7..48285fad8 100644 --- a/règles/rémunération-travail/entités/ok/CDD.événements.yaml +++ b/règles/rémunération-travail/entités/ok/CDD.événements.yaml @@ -3,9 +3,14 @@ titre: Événement de contrat question: Pensez-vous être confronté à l'un de ces événements au cours du contrat ? description: | - Certains événements impactent fortement les résultats de la simulation, et peuvent donc la racourcir. + Certains événements impactent fortement les obligations du CDD. - > Par exemple, dans l'hypothèse d'une poursuite du CDD en CDI, aucune majoration ou indemnité ne sera à verser ! + > Par exemple, dans l'hypothèse d'une poursuite du CDD en CDI, aucune majoration ou indemnité sur le CDD ne sera à verser. + + # TODO + # cette règle devrait n'être affichée que quand son espace, CDD, est valide + # CDD devrait être valide seulement si un motif de la liste des possibilités a été choisi + # elle apparaîtrait alors forcément _après_ la question du motif formule: une possibilité: - poursuite du CDD en CDI diff --git a/source/engine/generateQuestions.js b/source/engine/generateQuestions.js index 31607aec0..b3cbf5e53 100644 --- a/source/engine/generateQuestions.js +++ b/source/engine/generateQuestions.js @@ -83,6 +83,7 @@ let buildNextSteps = analysedSituation => { ) + /* Parmi les variables manquantes, certaines sont citées dans une règle de type 'une possibilité'. **On appelle ça des groupes de type 'variante'.** @@ -120,6 +121,7 @@ let buildNextSteps = analysedSituation => { }), R.values, R.unnest, + R.sort((a,b) => b.impact - a.impact), )(missingVariables) } @@ -179,7 +181,9 @@ export let generateGridQuestions = missingVariables => R.pipe( objectives: R.pipe( R.chain(v => missingVariables[v]), R.uniq() - )(relevantVariants) + )(relevantVariants), + // Mesure de l'impact de cette variable : combien de fois elle est citée par une règle + impact: relevantVariants.reduce((count, next) => count + missingVariables[next].length, 0) }) ) ) @@ -211,6 +215,7 @@ export let generateSimpleQuestions = missingVariables => R.pipe( }, { objectives: missingVariables[dottedName], + impact: missingVariables[dottedName].length } ) })