Stage 1c: ТЭП + финансовая модель + экспорты PDF/Excel/DXF #6

Closed
opened 2026-04-26 11:25:09 +00:00 by lekss361 · 2 comments
lekss361 commented 2026-04-26 11:25:09 +00:00 (Migrated from github.com)

Backend:

  • app/services/generative/teap.py — расчёт ТЭП (плотность, ФАР, паркинг по нормативам)
  • app/services/generative/financial.py — финмодель: revenue, cost, gross margin, IRR
  • app/services/exporters/pdf.py — WeasyPrint, шаблон с участком, корпусами, ТЭП, финмоделью
  • app/services/exporters/excel.py — openpyxl, выгрузка ТЭП и финмодели
  • app/services/exporters/dxf.py — ezdxf, AutoCAD-совместимый DXF корпусов

Frontend:

  • Кнопки скачивания PDF / Excel / DXF на странице варианта
  • Форма редактирования параметров финмодели (можно подкрутить себестоимость, цену продажи м², горизонт)

API:

  • POST /api/v1/concepts/{id}/export?format=pdf|excel|dxf

Acceptance Stage 1 (после этого иссю):

  • Полный flow: полигон → 3 варианта → ТЭП + финмодель → PDF/Excel/DXF
  • Артефакт продаваемый для встреч с месяца 2 (можно показывать инвестору/девелоперу)

Связанные: WorkSplit_Generative_Stage1, Stages_MVP_v1.

**Backend:** - `app/services/generative/teap.py` — расчёт ТЭП (плотность, ФАР, паркинг по нормативам) - `app/services/generative/financial.py` — финмодель: revenue, cost, gross margin, IRR - `app/services/exporters/pdf.py` — WeasyPrint, шаблон с участком, корпусами, ТЭП, финмоделью - `app/services/exporters/excel.py` — openpyxl, выгрузка ТЭП и финмодели - `app/services/exporters/dxf.py` — ezdxf, AutoCAD-совместимый DXF корпусов **Frontend:** - Кнопки скачивания PDF / Excel / DXF на странице варианта - Форма редактирования параметров финмодели (можно подкрутить себестоимость, цену продажи м², горизонт) **API:** - `POST /api/v1/concepts/{id}/export?format=pdf|excel|dxf` **Acceptance Stage 1 (после этого иссю):** - [ ] Полный flow: полигон → 3 варианта → ТЭП + финмодель → PDF/Excel/DXF - [ ] Артефакт **продаваемый** для встреч с месяца 2 (можно показывать инвестору/девелоперу) Связанные: `WorkSplit_Generative_Stage1`, `Stages_MVP_v1`.
Owner

Status update — Stage 1c НЕ реализован. ТЭП calc, финмодель, PDF/Excel/DXF exporters для Generative отсутствуют.

WeasyPrint и openpyxl уже используются в проекте для других exports (layout ТЗ — PR #199), pattern готов. ezdxf для DXF — новая dependency.

Issue остаётся в Stage 1 milestone, depend от #5 (Shapely service) + #12 (placement algorithm).

Status update — Stage 1c НЕ реализован. ТЭП calc, финмодель, PDF/Excel/DXF exporters для Generative отсутствуют. WeasyPrint и openpyxl уже используются в проекте для других exports (layout ТЗ — PR #199), pattern готов. ezdxf для DXF — новая dependency. Issue остаётся в Stage 1 milestone, depend от #5 (Shapely service) + #12 (placement algorithm).
Owner

Closing as duplicate of #56 (B1-3: Generative Stage 1c — TEAP + финмодель + PDF/Excel/DXF).

#56 — это superset с priority/critical и привязкой к B1 серии. TEAP + финмодель + 3 экспорта (PDF/Excel/DXF) — единая задача в #56. Reusable WeasyPrint infra уже готова в backend/app/services/exporters/pdf.py + layout_tz_pdf.py (cyrillic OK).

Audit reference: audits/issues_audit_2026_05_16.md (2026-05-17).

Closing as duplicate of #56 (B1-3: Generative Stage 1c — TEAP + финмодель + PDF/Excel/DXF). `#56` — это superset с priority/critical и привязкой к B1 серии. TEAP + финмодель + 3 экспорта (PDF/Excel/DXF) — единая задача в #56. Reusable WeasyPrint infra уже готова в `backend/app/services/exporters/pdf.py` + `layout_tz_pdf.py` (cyrillic OK). Audit reference: `audits/issues_audit_2026_05_16.md` (2026-05-17).
Sign in to join this conversation.
No project
No assignees
2 participants
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#6
No description provided.