up stats
This commit is contained in:
parent
409bff6d4c
commit
c4cc4a4050
4 changed files with 52 additions and 16 deletions
|
@ -58,22 +58,51 @@ class Stats
|
|||
// calcule le pourcentage de complétion de la zone
|
||||
public function computeCompletionPercent(): ?int
|
||||
{
|
||||
|
||||
$places_count = $this->places->count();
|
||||
// Si aucun commerce, on retourne 0
|
||||
if ($this->places_count === 0 || $this->places_count === null) {
|
||||
if ($places_count === 0 || $places_count === null) {
|
||||
$this->setCompletionPercent(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// On prend le maximum entre les différents critères
|
||||
$max = max(
|
||||
$this->avec_horaires ?? 0,
|
||||
$this->avec_adresse ?? 0,
|
||||
$this->avec_site ?? 0,
|
||||
$this->avec_accessibilite ?? 0,
|
||||
$this->avec_note ?? 0
|
||||
);
|
||||
$computed = round(($max) / $this->places_count * 100);
|
||||
$this->setCompletionPercent($computed);
|
||||
// On réinitialise les compteurs
|
||||
$this->avec_horaires = 0;
|
||||
$this->avec_adresse = 0;
|
||||
$this->avec_site = 0;
|
||||
$this->avec_accessibilite = 0;
|
||||
$this->avec_note = 0;
|
||||
|
||||
$somme_completions = 0;
|
||||
|
||||
|
||||
// On boucle sur chaque place pour compter les attributs renseignés
|
||||
foreach ($this->places as $place) {
|
||||
$place_completions = 0;
|
||||
if ($place->hasAddress()) {
|
||||
$this->avec_adresse++;
|
||||
$place_completions++;
|
||||
}
|
||||
if ($place->hasWebsite()) {
|
||||
$this->avec_site++;
|
||||
$place_completions++;
|
||||
}
|
||||
if ($place->hasWheelchair()) {
|
||||
$this->avec_accessibilite++;
|
||||
$place_completions++;
|
||||
}
|
||||
if ($place->hasOpeningHours()) {
|
||||
$this->avec_horaires++;
|
||||
$place_completions++;
|
||||
}
|
||||
if($place->hasNote()) {
|
||||
$this->avec_note++;
|
||||
}
|
||||
$somme_completions += $place_completions / 5;
|
||||
}
|
||||
|
||||
$this->setPlacesCount($places_count);
|
||||
$this->setCompletionPercent(round($somme_completions / $places_count * 100));
|
||||
return $this->completion_percent;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue