feat(site-finder): ЕЭСК-резервы городских ПС/ТП + тепло из ФГИС ФАС (#2119 B2) #2165
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#2165
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/eesk-heat-reserves"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что (issue #2119, Фаза B2)
Два больших пробела закрыты: городские ПС получают числовые резервы (вместо «по запросу в ЕЭСК») и в карточке §3 появляется четвёртый ресурс — тепло.
Backend
power_supply_centers+reserve_unit('МВА'/'МВт') +district(адм. район ЕКБ);heat_system_reserves(UNIQUE NULLS NOT DISTINCT).eesk_reserve_loader(RUN-ON-PROD): хаб раскрытия eesk.ru (147 файлов, серии с 2012) → свежайшие xlsx по (год, квартал) из текста ссылки:power_tp_rp_reserves.eias_heat_loader(RUN-ON-PROD): ФГИС ФАС ri.eias.ru (в CA-бандл добавлен GlobalSign-интермедиат — сервер не шлёт цепочку, та же болезнь что у Газпрома): карточки ЕТК/Екатеринбургэнерго → публикации свежайшего квартала → TemplatePrinter base64-ZIP → tpl XLSX → defensive-парс («СТ №N» + правейшее число) →heat_system_reserves(живой пример: СТ №54 → 3,26 Гкал/ч).power_points+reserve_unit/district, новый heat-блок (per-org MAX(period), graceful до миграции); схемы аддитивны, api-types +29/−0.Frontend
Проверки
После merge
Deploy (182 schema-first) → прогоны
sync_eesk_reserves+sync_heat_reserves(docker exec) → верификация счётчиков (matched>0 из 70 ПС, parsed>0 систем) → скриншот карточки.Городские числа вместо «по запросу» + четвёртый ресурс (тепло) в карточке §3. - Миграция 182: power_supply_centers +reserve_unit ('МВА'/'МВт') +district; heat_system_reserves (UNIQUE NULLS NOT DISTINCT). - eesk_reserve_loader (RUN-ON-PROD): хаб раскрытия eesk.ru → свежайшие xlsx по (год, квартал) из текста ссылки; ПС 35-220 (структура снята: r7+, доля 0.41→41.0, свободная МВт) → UPDATE 70 городских ПС (только dzo ЕЭСК; «ФСК ЕЭС» не матчится — проверено ревью); ТП/РП ниже 35 (r4+, ~2014 строк города) → power_tp_rp_reserves. ДОПУЩЕНИЕ: % загрузки в источнике — доля (0..1); если ЕЭСК перейдёт на целые проценты, load_pct тихо ×100. - eias_heat_loader (RUN-ON-PROD, SSL: в CA-бандл добавлен GlobalSign-интермедиат — ri.eias.ru не шлёт цепочку): карточка орг (ЕТК 30814352, Екатеринбургэнерго 26479450) → публикации свежайшего квартала → TemplatePrinter base64-ZIP → tpl XLSX → defensive-парс «СТ №N»+правейшее число → heat_system_reserves. - Celery вт 05:30/06:00; endpoint: power_points +reserve_unit/district, heat-блок (per-org MAX(period), graceful); схемы аддитивны, api-types +29/-0. - Фронт: блок «ТЕПЛО» (бейджи резерв/исчерпана, свёртка >5, суммарно Гкал/ч); попап ПС: район + unit ТОЛЬКО на строке резерва (у ЕЭСК installed МВА, резерв МВт — разные единицы источника). - B1-хвост: «(выход №N)» матчится в середине имени ГРС. 64+ тестов зелёные; deep-review ✅ APPROVE.