up embed themes

This commit is contained in:
Tykayn 2025-06-30 15:26:32 +02:00 committed by tykayn
parent f4e8c70ead
commit f1d2374119
3 changed files with 14 additions and 34 deletions

View file

@ -75,6 +75,7 @@ class FollowUpService
];
}
$now = new \DateTime();
$persisted = 0;
foreach ($types as $type => $data) {
// Suivi du nombre
$followupCount = new CityFollowUp();
@ -83,7 +84,11 @@ class FollowUpService
->setDate($now)
->setStats($stats);
$em->persist($followupCount);
$persisted++;
if ($persisted % 100 === 0) {
$em->flush();
$em->clear();
}
// Suivi de la complétion personnalisé (exemples)
$completed = [];
@ -198,8 +203,14 @@ class FollowUpService
->setDate($now)
->setStats($stats);
$em->persist($followupCompletion);
$persisted++;
if ($persisted % 100 === 0) {
$em->flush();
$em->clear();
}
}
$em->flush();
$em->clear();
}
public function generateGlobalFollowUps(EntityManagerInterface $em): void

View file

@ -1,10 +1,10 @@
{% extends 'base_embed.html.twig' %}
{% block title %}Graphe thématique : {{ label }}{% endblock %}
{% block title %}Graphe thématique : {{ label }} - {{ stats.name }}{% endblock %}
{% block body %}
<div class="container mt-4">
<h1><i class="bi {{ icon }} fs-2"></i> {{ label }}</h1>
<h1><i class="bi {{ icon }} fs-2"></i> {{ label }} <small class="text-muted">- {{ stats.name }}</small></h1>
<canvas id="embedThemeChart" width="600" height="300"></canvas>
<div class="mb-3 mt-2">
<a href="{{ path('app_admin_stats', {'insee_code': stats.zone}) }}" class="btn btn-info me-2">

View file

@ -131,37 +131,6 @@
<div id="followups">
{% set followup_icons = {
'fire_hydrant': 'bi-droplet',
'charging_station': 'bi-lightning-charge',
'toilets': 'bi-toilet',
'bus_stop': 'bi-bus-front',
'defibrillator': 'bi-heart-pulse',
'camera': 'bi-camera-video',
'recycling': 'bi-recycle',
'substation': 'bi-plug',
'laboratory': 'bi-beaker',
'school': 'bi-mortarboard',
'police': 'bi-shield-lock',
'healthcare': 'bi-hospital',
'places': 'bi-geo-alt'
} %}
{% set followup_labels = {
'fire_hydrant': 'Bornes incendie',
'charging_station': 'Bornes de recharge',
'toilets': 'Toilettes publiques',
'bus_stop': 'Arrêts de bus',
'defibrillator': 'Défibrillateurs',
'camera': 'Caméras de surveillance',
'recycling': 'Points de recyclage',
'substation': 'Sous-stations électriques',
'laboratory': "Laboratoires d'analyse",
'school': 'Écoles',
'police': 'Commissariats',
'healthcare': 'Lieux de santé',
'places': 'Lieux'
} %}
{% set overpass_type_queries = {
'fire_hydrant': 'nwr["emergency"="fire_hydrant"](area.searchArea);',
'charging_station': 'nwr["amenity"="charging_station"](area.searchArea);',