diff --git a/app/Repository/GraphDataRepository.php b/app/Repository/GraphDataRepository.php index 335e7d5b34c0e06156b783f66fbd080b9a84b9a0..f950ae3e09a6bc79ed9172c971c0144be3c223ff 100644 --- a/app/Repository/GraphDataRepository.php +++ b/app/Repository/GraphDataRepository.php @@ -210,16 +210,16 @@ public function getBestMeasuresForEvaluation(Evaluation $evaluation): array $bestMeasures = array_map(function ($i) {return 0; }, array_flip($measures->pluck('id')->toArray())); -// $res = DB::select('select measures.id, count(*) as qty from measures -//-- join measure_scenario on measures.id=measure_scenario.measure_id -//-- join danger_scenario on danger_scenario.scenario_id=measure_scenario.scenario_id -//group by measures.id'); + $res = DB::select('select measures.id, count(*) as qty from measures +join measure_scenario on measures.id=measure_scenario.measure_id +join danger_scenario on danger_scenario.scenario_id=measure_scenario.scenario_id +group by measures.id'); $measureCount = []; -// foreach ($res as $row) { -// $measureCount[$row->id] = $row->qty; -// } + foreach ($res as $row) { + $measureCount[$row->id] = $row->qty; + } /** * @var DangerLevelEvaluation $dangerLevel @@ -270,7 +270,7 @@ public function getBestMeasuresForEvaluation(Evaluation $evaluation): array // est pondérée par la perception du danger // puis ajouté au score pour cette mesure - $ponderatedIncrement = ($l2 - $l1) * $dangerLevel->level->value;// / $measureCount[$measure->id]; + $ponderatedIncrement = ($l2 - $l1) * $dangerLevel->level->value / $measureCount[$measure->id]; $bestMeasures[$measure->id] += $ponderatedIncrement; Log::info('Incrément pondéré : ' . $ponderatedIncrement); Log::info('Valeur courante de la mesure ' . $measure->id . ' (' . $measure->short_name . ') : ' . $bestMeasures[$measure->id]);