gendesign/backend/app/services/exporters
bot-backend 704d886a67
All checks were successful
CI Trade-In / changes (pull_request) Successful in 10s
CI / changes (pull_request) Successful in 10s
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) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m24s
CI / backend-tests (pull_request) Successful in 14m48s
feat(exporters): PURE HTML §4-§7 полного PDF-отчёта (#2259 PR-B Sections)
build_full_report_html_part_b(forecast_result, concept_result, cad):
§4 рынок (market_now/velocity/конкуренты/confidence), §5 финмодель
(DCF из ConceptOutput.variants[].financial, опорный вариант = max NPV;
рыночный контекст из scoring.special_indices), §6 риски/дефицит
(future_market + честная плашка при scenarios_collapsed), §7 концепция
(ТЭП + программа, переисточенная из buildings_geojson.features[].properties
— поле building_program на выходном ConceptVariant НЕ существует;
1b-стратегии без section_type таблицу программы не рисуют). Плейсхолдер
{{MAP_CONCEPT}} для PR-C; concept=None → «не рассчитана» без падения.
Нормализация forecast-словаря — импорт _normalize/_as_dict/
_future_supply_pairs/_level_ru из report_pdf (без третьего набора
форматтеров). Один общий <style>.

ВАЖНО для PR-D: реальная schema форсайта = "1.0" (не forecast-1.0);
концепция НЕ персистится — server-side вызов POST /concepts обязателен,
без него §5 деградирует в рыночный контекст, §7 в заглушку.

Refs #2259
2026-07-03 14:54:46 +05:00
..
__init__.py init 2026-04-25 13:45:19 +03:00
dxf.py init 2026-04-25 13:45:19 +03:00
excel.py fix(forecasting): honest scenarios collapse when β rate-sensitivity gate fails (audit #1871 P1) 2026-06-22 19:06:22 +05:00
full_report_html.py feat(exporters): PURE HTML §4-§7 полного PDF-отчёта (#2259 PR-B Sections) 2026-07-03 14:54:46 +05:00
layout_tz_pdf.py feat(exporters): §4.2 supply-only блок в ТЗ-PDF (#2177) (#2260) 2026-07-03 06:38:23 +00:00
pdf.py init 2026-04-25 13:45:19 +03:00
report_docx.py fix(exporters): annotate scenario deficit horizon in docx/pptx (#1590 follow-up) 2026-06-17 14:35:48 +05:00
report_md.py merge: resolve conflicts with main (#1660) into week-review-finish 2026-06-17 20:21:06 +03:00
report_pdf.py fix(forecasting): honest scenarios collapse when β rate-sensitivity gate fails (audit #1871 P1) 2026-06-22 19:06:22 +05:00
report_pptx.py fix(exporters): annotate scenario deficit horizon in docx/pptx (#1590 follow-up) 2026-06-17 14:35:48 +05:00
snapshot_pdf.py Merge remote-tracking branch 'forgejo-backend/main' into fix/sf-feedback-batch 2026-06-18 10:01:43 +03:00
trade_in_pdf.py fix(week-review): backend-аудит v2 — 82 фиксов (#1660) 2026-06-17 17:13:38 +00:00