feat(site-finder): Celery + §3 точки выхода газосети (#2119 B2, PR-4/4 — финал формы-6) #2251

Merged
bot-backend merged 1 commit from feat/gas-outlet-wiring into main 2026-07-03 04:26:42 +00:00
Collaborator

Summary

  • Финал конвейера формы-6 (schema #2246 → loader #2247/#2248 → geocode #2249/#2250 → этот PR).
  • Backend: sync_gas_outlet_points (load → geocode(apply), шаги graceful, сессии независимые) + beat вт 05:15 МСК (идемпотентно — UPSERT, geom не затирается); §3 — gas_outlet_points (гео-точки в радиусе 2 км, latest period, LIMIT 40; Seq Scan ~13 мс на 1k строк — задокументировано с рецептом функционального GIST при росте) + city-level счётчики outlets_total/deficit/needs_calc в газ-агрегате (форма-6 grs_name — block-marker, не строгий ключ B1-набора → без per-ГРС split, честно).
  • Frontend: GasOutletPointsLayer (цвет по знаку: профицит/дефицит/гидрорасчёт, max-info попапы «Форма 6 АО «Екатеринбурггаз» · млн м³/мес»), чекбокс+легенда только при непустом списке, строка-сводка в ГАЗ-блоке карточки с caveat. Размерность млн м³/мес ≠ тыс. м³/ч — на всех слоях.
  • api-types — офлайн-регенерация (ревью поймало hand-applied drift: порядок схем + докстринг).

Test plan

  • backend 96+ тестов поднабора (радиус-SQL, счётчики, Celery graceful, beat), ruff clean; frontend tsc/eslint clean
  • code-reviewer ⚠️→resolved (codegen-parity перегенерирован; план запроса задокументирован)
  • post-merge: qa-скриншот §3 — сводка в ГАЗ-блоке + слой точек на карте у участка с геокоженными выходами

Refs #2119

## Summary - **Финал конвейера формы-6** (schema #2246 → loader #2247/#2248 → geocode #2249/#2250 → этот PR). - Backend: `sync_gas_outlet_points` (load → geocode(apply), шаги graceful, сессии независимые) + beat **вт 05:15 МСК** (идемпотентно — UPSERT, geom не затирается); §3 — `gas_outlet_points` (гео-точки в радиусе 2 км, latest period, LIMIT 40; Seq Scan ~13 мс на 1k строк — задокументировано с рецептом функционального GIST при росте) + city-level счётчики `outlets_total/deficit/needs_calc` в газ-агрегате (форма-6 grs_name — block-marker, не строгий ключ B1-набора → без per-ГРС split, честно). - Frontend: `GasOutletPointsLayer` (цвет по знаку: профицит/дефицит/гидрорасчёт, max-info попапы «Форма 6 АО «Екатеринбурггаз» · млн м³/мес»), чекбокс+легенда только при непустом списке, строка-сводка в ГАЗ-блоке карточки с caveat. Размерность млн м³/мес ≠ тыс. м³/ч — на всех слоях. - api-types — офлайн-регенерация (ревью поймало hand-applied drift: порядок схем + докстринг). ## Test plan - [x] backend 96+ тестов поднабора (радиус-SQL, счётчики, Celery graceful, beat), ruff clean; frontend tsc/eslint clean - [x] code-reviewer ⚠️→resolved (codegen-parity перегенерирован; план запроса задокументирован) - [ ] post-merge: qa-скриншот §3 — сводка в ГАЗ-блоке + слой точек на карте у участка с геокоженными выходами Refs #2119
bot-backend added 1 commit 2026-07-03 04:10:48 +00:00
feat(site-finder): Celery + §3 точки выхода газосети (#2119 B2, PR-4/4)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 8s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 1m46s
CI / openapi-codegen-check (pull_request) Successful in 2m38s
CI / backend-tests (pull_request) Successful in 14m58s
e63cd8ac10
bot-backend merged commit 15757685c9 into main 2026-07-03 04:26:42 +00:00
bot-backend deleted branch feat/gas-outlet-wiring 2026-07-03 04:26:42 +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#2251
No description provided.