fix(pipeline): enrich obj_class via objective_lots COALESCE fallback
domrf_kn_objects.obj_class всегда NULL (Bug_Kn_API_Obj_Class_Always_Null_OPEN). Pipeline 24mo UI показывал 'Не указан: 4075 квартир'. Fix: SQL COALESCE с correlated subquery через objective_complex_mapping → objective_lots.class. Mapped complexes (114/4548) теперь резолвят корректный класс — комфорт/стандарт/бизнес/премиум. ## Coverage impact (verified via MCP) Pre-fix: 0 of 1316 planned ЖК имели obj_class Post-fix: 339 of 1316 (25.8%) — 249 комфорт, 45 стандарт, 42 бизнес Не-mapped objects остаются 'Не указан' (upstream kn-scraper fix всё ещё open). Closes #162
This commit is contained in:
parent
46584d7c75
commit
ee16d6c3fd
1 changed files with 13 additions and 3 deletions
|
|
@ -375,8 +375,9 @@ def _aggregate_pipeline(rows: list[Any]) -> dict[str, Any]:
|
||||||
- top_objects: PIPELINE_TOP_OBJECTS_LIMIT крупнейших ЖК по flat_count
|
- top_objects: PIPELINE_TOP_OBJECTS_LIMIT крупнейших ЖК по flat_count
|
||||||
|
|
||||||
NB: `obj_class` в production часто NULL (см.
|
NB: `obj_class` в production часто NULL (см.
|
||||||
`fixes/Bug_Kn_API_Obj_Class_Always_Null_OPEN`) — by_class dominated by
|
`fixes/Bug_Kn_API_Obj_Class_Always_Null_OPEN`). Pipeline SQL обогащает
|
||||||
"unknown" пока не закрыт D6/#38.
|
obj_class через objective_lots + objective_complex_mapping (COALESCE
|
||||||
|
fallback). Объекты без маппинга остаются "unknown".
|
||||||
|
|
||||||
Используется для UI pipeline-bar и severity badge.
|
Используется для UI pipeline-bar и severity badge.
|
||||||
"""
|
"""
|
||||||
|
|
@ -1312,7 +1313,16 @@ def analyze_parcel(
|
||||||
SELECT obj_id,
|
SELECT obj_id,
|
||||||
comm_name,
|
comm_name,
|
||||||
dev_name,
|
dev_name,
|
||||||
obj_class,
|
COALESCE(
|
||||||
|
obj_class,
|
||||||
|
(SELECT DISTINCT ol.class
|
||||||
|
FROM objective_lots ol
|
||||||
|
JOIN objective_complex_mapping m
|
||||||
|
ON m.objective_complex_name = ol.project_name
|
||||||
|
WHERE m.domrf_obj_id = o.obj_id
|
||||||
|
AND ol.class IS NOT NULL
|
||||||
|
LIMIT 1)
|
||||||
|
) AS obj_class,
|
||||||
flat_count,
|
flat_count,
|
||||||
ready_dt,
|
ready_dt,
|
||||||
ST_Distance(
|
ST_Distance(
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue