Capacite : niveau de fin tire d'un releve photo_autonomie marque estime

This commit is contained in:
Tallagrand Thierry
2026-10-12 23:31:54 +02:00
parent 8a6c7479d4
commit ce18162977
2 changed files with 16 additions and 1 deletions

View File

@@ -200,6 +200,10 @@ WITH tr AS (
WHERE r.vehicule = v.vehicule AND r.niveau_pct IS NOT NULL
AND r.ts >= v.debranche AND r.ts <= v.debranche + interval '1 hour'
ORDER BY r.ts LIMIT 1) AS niveau_releve_apres,
(SELECT r.source FROM releve_km r
WHERE r.vehicule = v.vehicule AND r.niveau_pct IS NOT NULL
AND r.ts >= v.debranche AND r.ts <= v.debranche + interval '1 hour'
ORDER BY r.ts LIMIT 1) AS niveau_releve_source,
(SELECT nf.niveau_pct FROM niveau_fin nf
WHERE nf.saisi_a >= v.debranche - interval '15 minutes' AND nf.saisi_a <= v.debranche + interval '1 hour'
ORDER BY nf.saisi_a LIMIT 1) AS niveau_fin_saisi,
@@ -213,7 +217,9 @@ WITH tr AS (
SELECT branche, debranche, coalesce(vehicule, '?') AS vehicule, niveau_pct, niveau_fin,
kwh_livres, plein,
-- Un des deux niveaux est deduit de l'autonomie affichee (pas une lecture).
(coalesce(source, '') ILIKE '%autonomie%' OR coalesce(niveau_fin_source, '') ILIKE '%autonomie%') AS niveau_estime,
(coalesce(source, '') ILIKE '%autonomie%'
OR (niveau_fin_saisi IS NOT NULL AND coalesce(niveau_fin_source, '') ILIKE '%autonomie%')
OR (niveau_fin_saisi IS NULL AND NOT plein AND coalesce(niveau_releve_source, '') ILIKE '%autonomie%')) AS niveau_estime,
CASE WHEN vehicule IS NOT NULL AND niveau_fin - niveau_pct >= 10 AND kwh_livres > 0
THEN kwh_livres / ((niveau_fin - niveau_pct) / 100.0) END AS capacite_kwh
FROM f`;