command remove zero followups

This commit is contained in:
Tykayn 2025-07-05 17:47:00 +02:00 committed by tykayn
parent be97910177
commit 44b4f49289
2 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,38 @@
<?php
namespace App\Command;
use App\Entity\CityFollowUp;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
#[AsCommand(
name: 'app:delete-zero-cityfollowup',
description: 'Supprime tous les CityFollowUp dont la mesure vaut 0.'
)]
class DeleteZeroCityFollowUpCommand extends Command
{
public function __construct(private EntityManagerInterface $em)
{
parent::__construct();
}
protected function execute(InputInterface $input, OutputInterface $output): int
{
$repo = $this->em->getRepository(CityFollowUp::class);
$toDelete = $repo->createQueryBuilder('c')
->where('c.measure = 0')
->getQuery()
->getResult();
$count = count($toDelete);
foreach ($toDelete as $entity) {
$this->em->remove($entity);
}
$this->em->flush();
$output->writeln("$count CityFollowUp supprimés (mesure = 0)");
return Command::SUCCESS;
}
}

View file

@ -540,6 +540,16 @@ final class AdminController extends AbstractController
return [null, null];
};
list($tagKey, $tagValue) = $extractTag($themeQueries[$theme] ?? '');
// DEBUG : journaliser les main_tag et le filtrage
$all_main_tags = array_map(fn($p) => $p->getMainTag(), $places);
$debug_info = [
'theme' => $theme,
'tagKey' => $tagKey,
'tagValue' => $tagValue,
'main_tags' => $all_main_tags,
'places_count' => count($places),
];
$debug_filtered = [];
foreach ($places as $place) {
$match = false;
$main_tag = $place->getMainTag();
@ -577,8 +587,16 @@ final class AdminController extends AbstractController
'uuid' => $place->getUuidForUrl(),
'zip_code' => $place->getZipCode(),
];
$debug_filtered[] = $main_tag;
}
}
$debug_info['filtered_count'] = count($objects);
$debug_info['filtered_main_tags'] = $debug_filtered;
if (property_exists($this, 'actionLogger') && $this->actionLogger) {
$this->actionLogger->log('[DEBUG][followupThemeGraph]', $debug_info);
} else {
error_log('[DEBUG][followupThemeGraph] ' . json_encode($debug_info));
}
$geojson = [
'type' => 'FeatureCollection',
'features' => array_map(function ($obj) {
@ -617,6 +635,7 @@ final class AdminController extends AbstractController
'center' => $center,
'maptiler_token' => $_ENV['MAPTILER_TOKEN'] ?? null,
'completion_tags' => \App\Service\FollowUpService::getFollowUpCompletionTags(),
'debug_info' => $debug_info,
]);
}