# Dairy Report Generator Универсальный генератор аналитических отчётов в формате **DairyTrends** (стиль DT-палитры) с графиками и таблицами. ## Возможности - 📊 Многостраничные DOCX отчёты в едином дизайне - 📈 Графики (линейные, столбчатые, сценарные) — SVG → PNG через sharp - 🎨 Палитра DairyTrends: оранжевый/зелёный/красный/кремовый - 📑 Структура: KPI-обложка → выводы → методика → ретроспектива → сравнения → прогноз → рекомендации - 🔌 Полная параметризация — подавай данные, получай отчёт ## Применение - **Регионы РФ** — отчёты по областям/краям из БД `region_index` (Bitrix dairy-news.ru) - **МЗЫ** — отчёт по конкретному хозяйству на основе своих данных (надой, поголовье, закупочная цена) - **Сравнения предприятий** — анализ группы хозяйств - **Тематические выпуски** — экспорт, GDT, нетели и т.д. ## Установка ```bash npm install ``` ## Использование ```javascript const { generateReport } = require('@dairynews/report-generator') const fs = require('fs') const buf = await generateReport({ subject: { name: 'Вологодской области', shortName: 'Вологда', type: 'region', // 'region' | 'farm' | 'company' | 'custom' }, period: { historicalFrom: '2024-01-01', historicalTo: '2026-05-31', forecastTo: '2026-12-31', }, data: { prices: [{ date: '2024-01-15', price: 31.05 }, ...], costs: [{ date: '2024-01-15', cost: 28.50 }, ...], scenarios: { base: [...], opt: [...], pess: [...] }, kpi: [ { value: '33–35 ₽/кг', label: 'Закуп. цена (базовый)' }, { value: '+2.1%', label: 'Рост производства I кв.' }, ... ], leaders: [...], // опционально ebitda: [...], // опционально regionComparison: [...] // опционально }, text: { mainConclusion: '...', risks: ['Погодные условия...', 'Регуляторные риски...'], recommendations: { ... }, } }) fs.writeFileSync('output.docx', buf) ``` ## Структура проекта ``` src/ ├── index.js # Главный entry-point ├── generators/ │ ├── document.js # Сборка DOCX (header, footer, sections) │ ├── kpi.js # KPI-блок │ ├── tables.js # Таблицы (допущения, прогноз, ретроспектива) │ └── callout.js # Callout-блоки с красной полосой ├── charts/ │ ├── render.js # SVG → PNG через sharp │ ├── chart1.js # Линейный + маржа (главный) │ ├── chart2.js # Лидеры (2 горизонтальных бара) │ ├── chart3.js # EBITDA по группам │ ├── chart4.js # Сравнение регионов │ └── chart5.js # Сценарии маржи ├── templates/ │ └── default.js # Шаблон Вологда-style ├── data/ │ └── palette.js # DT-палитра examples/ ├── russia.js # Пример: общероссийский отчёт └── vologda.js # Пример: Вологодская область ``` ## Деплой Модуль интегрируется как зависимость в `new.dairy-news.ru`: ```bash # В админке /admin/dairytrends/reports/ # страница даёт UI для выбора региона + кнопку "Сгенерировать" ``` ## Лицензия MIT © ООО «Умный Байт» / Zeroday