diff --git a/backend/app/services/analytics_queries.py b/backend/app/services/analytics_queries.py index e80ca003..0b3855df 100644 --- a/backend/app/services/analytics_queries.py +++ b/backend/app/services/analytics_queries.py @@ -1349,10 +1349,9 @@ def _district_cadastre_baseline(db: Session, *, district_name: str) -> dict[str, WHERE cb.cost_value IS NOT NULL AND cb.area IS NOT NULL AND cb.area >= 100 - -- floors хранится как TEXT (встречаются '1-2', '2-3') — - -- считаем только чистые числа ≥3, либо purpose-fallback. - AND ((cb.floors ~ '^[0-9]+$' AND cb.floors::int >= 3) - OR cb.purpose ILIKE '%многокв%') + -- floors INTEGER (Rosreestr ETL приводит к int); NULL = unknown. + -- Считаем МКД если floors ≥3 или purpose содержит «многокв». + AND (cb.floors >= 3 OR cb.purpose ILIKE '%многокв%') AND (cb.cost_value / NULLIF(cb.area, 0)) BETWEEN 5000 AND 500000 )