up labourage nouvelle ville

This commit is contained in:
Tykayn 2025-07-15 21:46:30 +02:00 committed by tykayn
parent cc6c991090
commit c0a1780fce
4 changed files with 44 additions and 31 deletions

View file

@ -179,4 +179,8 @@ table tbody {
overflow: auto; overflow: auto;
display: block; display: block;
border: solid 3px rgb(255, 255, 255); border: solid 3px rgb(255, 255, 255);
}
#citySuggestions{
z-index: 10;
} }

View file

@ -743,8 +743,10 @@ final class AdminController extends AbstractController
} }
$stats = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $insee_code]); $stats = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $insee_code]);
if (!$stats) { if (!$stats) {
$this->addFlash('error', '3 Aucune stats trouvée pour ce code INSEE.'); $stats = new Stats();
return $this->redirectToRoute('app_public_index'); $stats->setZone($insee_code);
// $this->addFlash('error', '3 Aucune stats trouvée pour ce code INSEE.');
// return $this->redirectToRoute('app_public_index');
} }
// Mettre à jour la date de requête de labourage // Mettre à jour la date de requête de labourage
$stats->setDateLabourageRequested(new \DateTime()); $stats->setDateLabourageRequested(new \DateTime());
@ -771,10 +773,10 @@ final class AdminController extends AbstractController
$this->addFlash('warning', "Le serveur est trop sollicité actuellement (RAM insuffisante). La mise à jour des lieux sera effectuée plus tard automatiquement."); $this->addFlash('warning', "Le serveur est trop sollicité actuellement (RAM insuffisante). La mise à jour des lieux sera effectuée plus tard automatiquement.");
} }
// Toujours générer les CityFollowUp (mais ne jamais les supprimer) // Toujours générer les CityFollowUp (mais ne jamais les supprimer)
$themes = \App\Service\FollowUpService::getFollowUpThemes(); // $themes = \App\Service\FollowUpService::getFollowUpThemes();
foreach (array_keys($themes) as $theme) { // foreach (array_keys($themes) as $theme) {
$this->followUpService->generateCityFollowUps($stats, $this->motocultrice, $this->entityManager, true, $theme); // $this->followUpService->generateCityFollowUps($stats, $this->motocultrice, $this->entityManager, true, $theme);
} // }
$this->entityManager->flush(); $this->entityManager->flush();
return $this->redirectToRoute('app_admin_stats', ['insee_code' => $insee_code]); return $this->redirectToRoute('app_admin_stats', ['insee_code' => $insee_code]);
} }

View file

@ -458,11 +458,13 @@ class PublicController extends AbstractController
$stats = $place->getStats(); $stats = $place->getStats();
if (!$stats) { if (!$stats) {
$stats = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $place->getZipCode()]); $stats_exist = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $place->getZipCode()]);
} if ($stats_exist) {
if (!$stats) { $stats = $stats_exist;
$stats = new Stats(); } else {
$stats->setZone($place->getZipCode()); $stats = new Stats();
$stats->setZone($place->getZipCode());
}
} }
$stats->addPlace($place); $stats->addPlace($place);

View file

@ -86,16 +86,19 @@ class FollowUpService
foreach ($types as $type => $data) { foreach ($types as $type => $data) {
// Suivi du nombre // Suivi du nombre
$followupCount = new CityFollowUp(); $measureCount = $type === 'places' ? $stats->getPlacesCount() : count($data['objects']);
$followupCount->setName($type . '_count') if ($measureCount !== null) {
->setMeasure($type === 'places' ? $stats->getPlacesCount() : count($data['objects'])) $followupCount = new CityFollowUp();
->setDate($now) $followupCount->setName($type . '_count')
->setStats($stats); ->setMeasure($measureCount)
$em->persist($followupCount); ->setDate($now)
$persisted++; ->setStats($stats);
if ($persisted % 100 === 0) { $em->persist($followupCount);
$em->flush(); $persisted++;
$em->clear(); if ($persisted % 100 === 0) {
$em->flush();
$em->clear();
}
} }
// Suivi de la complétion basé sur les tags attendus // Suivi de la complétion basé sur les tags attendus
@ -139,16 +142,18 @@ class FollowUpService
} else { } else {
$completion = count($partialCompletions) > 0 ? round(array_sum($partialCompletions) / count($partialCompletions) * 100) : 0; $completion = count($partialCompletions) > 0 ? round(array_sum($partialCompletions) / count($partialCompletions) * 100) : 0;
} }
$followupCompletion = new CityFollowUp(); if ($completion !== null) {
$followupCompletion->setName($type . '_completion') $followupCompletion = new CityFollowUp();
->setMeasure($completion) $followupCompletion->setName($type . '_completion')
->setDate($now) ->setMeasure($completion)
->setStats($stats); ->setDate($now)
$em->persist($followupCompletion); ->setStats($stats);
$persisted++; $em->persist($followupCompletion);
if ($persisted % 100 === 0) { $persisted++;
$em->flush(); if ($persisted % 100 === 0) {
$em->clear(); $em->flush();
$em->clear();
}
} }
} }
$em->flush(); $em->flush();