fix(site-finder): unify §3 «Сети» table↔map source + enrich popups (#1953, batch C) #2097

Merged
bot-backend merged 1 commit from fix/networks-unify-batchC-1953 into main 2026-06-29 11:56:12 +00:00
Collaborator

Контекст

Батч C пересборки report'а (#1953), из live-walkthrough Anton'а по 66:41:0702017:131, пункт #2: «написано электричество 5 точек, а на карте 10+; счётчики не сходятся; хочу видеть что за точка».

Корень (прод-анализ): таблица «Сети» читала data.utilities (osm_noise_sources_ekb агрегат), карта — osm_utility_infrastructure_ekb (другой OSM-источник), плюс НСПД connection-points — 3 разных источника → счётчики не совпадали. 191-ФЗ engineering_networksпуста (не используется).

Изменения (frontend, унификация — данные не трогаем)

Что
Канон Таблица §3 переориентирована на тот же источник, что карта (useUtilityInfrastructuregroupUtilityByKind). Новый хелпер utility-table.ts: row.count === число объектов вида на карте by construction (+тест-инвариант)
Счётчики Две чёткие плашки: «Инж.сети (OSM): N в радиусе 2 км» vs «Точки подключения (НСПД): M по кад.кварталу» — разные сущности, больше не путаются
Попапы OSM-объект: вид + метка «Инж.сеть (OSM)» + тип/название/расстояние до участка/источник. НСПД-точка: метка «Точка подключения (НСПД)» + тип/адрес/расстояние. Отсутствующие поля не рендерятся (напряжение/диаметр в OSM/НСПД нет — не выдумываем)

Verify

  • type-check / eslint / prettier чисто · vitest 97/97 site-finder (incl. 6 новых на инвариант count)
  • бэкенд не тронут (data.utilities остался для ЛЭП-охранная-зона caveat)
  • 🔜 визуальный verify скриншотами на проде

Roadmap #1953: A · B · C (этот PR) · D (концепция — план на утверждении).

Замечание: напряжение/диаметр в osm_utility_infrastructure_ekb/НСПД отсутствуют — для них нужен отдельный backend-источник (191-ФЗ пуст → нужен ETL). Вне scope этого PR.

## Контекст Батч C пересборки report'а (#1953), из live-walkthrough Anton'а по **66:41:0702017:131**, пункт **#2**: «написано электричество 5 точек, а на карте 10+; счётчики не сходятся; хочу видеть что за точка». **Корень (прод-анализ):** таблица «Сети» читала `data.utilities` (`osm_noise_sources_ekb` агрегат), карта — `osm_utility_infrastructure_ekb` (другой OSM-источник), плюс НСПД connection-points — **3 разных источника** → счётчики не совпадали. 191-ФЗ `engineering_networks` — **пуста** (не используется). ## Изменения (frontend, унификация — данные не трогаем) | | Что | |---|---| | **Канон** | Таблица §3 переориентирована на **тот же источник, что карта** (`useUtilityInfrastructure`→`groupUtilityByKind`). Новый хелпер `utility-table.ts`: `row.count === число объектов вида на карте` **by construction** (+тест-инвариант) | | **Счётчики** | Две чёткие плашки: «Инж.сети (OSM): N в радиусе 2 км» vs «Точки подключения (НСПД): M по кад.кварталу» — разные сущности, больше не путаются | | **Попапы** | OSM-объект: вид + метка «Инж.сеть (OSM)» + тип/название/расстояние до участка/источник. НСПД-точка: метка «Точка подключения (НСПД)» + тип/адрес/расстояние. Отсутствующие поля не рендерятся (напряжение/диаметр в OSM/НСПД нет — не выдумываем) | ## Verify - ✅ type-check / eslint / prettier чисто · vitest **97/97** site-finder (incl. 6 новых на инвариант count) - ✅ бэкенд не тронут (`data.utilities` остался для ЛЭП-охранная-зона caveat) - 🔜 визуальный verify скриншотами на проде Roadmap #1953: A ✅ · B ✅ · **C** (этот PR) · D (концепция — план на утверждении). _Замечание: напряжение/диаметр в `osm_utility_infrastructure_ekb`/НСПД отсутствуют — для них нужен отдельный backend-источник (191-ФЗ пуст → нужен ETL). Вне scope этого PR._
bot-backend added 1 commit 2026-06-29 11:53:32 +00:00
fix(site-finder): unify §3 «Сети» table source with map + enrich popups (#1953)
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 57s
CI / openapi-codegen-check (pull_request) Successful in 1m48s
48148c9627
Из live-walkthrough Anton'а (66:41:0702017:131, #2 «счётчики не сходятся»).
Таблица «Сети» теперь выводится из osm_utility_infrastructure (useUtilityInfrastructure
→ groupUtilityByKind), как карта, а НЕ из data.utilities/osm_noise_sources →
счётчики таблицы == счётчики карты by construction (+тест-инвариант). Точки
подключения (НСПД) разведены в отдельный подписанный счётчик/слой. Попапы OSM-сетей
и НСПД-точек обогащены имеющимися атрибутами (тип/название/расстояние/источник;
напряжение/диаметр в OSM/НСПД отсутствуют — не выдумываем). 191-ФЗ engineering_networks
пуста — не используется. Бэкенд не тронут (data.utilities остался для ЛЭП-caveat).

Edit-only. +6 unit-тестов (utility-table инвариант), site-finder suite 97/97.
bot-backend merged commit d9915c7834 into main 2026-06-29 11:56:12 +00:00
bot-backend deleted branch fix/networks-unify-batchC-1953 2026-06-29 11:56:12 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2097
No description provided.