fix(recommend): cad_buildings.floors is INTEGER not TEXT (HOTFIX) #218
1 changed files with 3 additions and 4 deletions
|
|
@ -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
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue