first commit
This commit is contained in:
144
goals.md
Normal file
144
goals.md
Normal file
@@ -0,0 +1,144 @@
|
||||
Проект: econom-calculator
|
||||
Стек: Laravel 13, PHP 8.3, Inertia.js v3, Vue 3, Wayfinder, Pest, Tailwind v4.
|
||||
|
||||
Цель проекта:
|
||||
Перенести Excel-логику в веб-приложение. Конечный целевой отчет — лист `АНАЛИЗ`.
|
||||
|
||||
Что выяснили по Excel:
|
||||
- Итог книги — лист `АНАЛИЗ`.
|
||||
- `Расход-2026` — отдельный ручной ввод расхода медикаментов.
|
||||
- `2026` не является прямым автогенератором `Расход-2026`.
|
||||
- Более вероятная логика листа `2026`:
|
||||
- службы/отделения вводят, сколько услуг они оказали другим отделениям,
|
||||
- у услуги есть стоимость,
|
||||
- затем по получателям считаются затраты,
|
||||
- эти затраты попадают в `АНАЛИЗ`.
|
||||
- То есть правильная модель для аналога `2026`:
|
||||
- отделение-исполнитель
|
||||
- отделение-получатель
|
||||
- услуга
|
||||
- количество
|
||||
- цена
|
||||
- сумма
|
||||
|
||||
Что уже реализовано:
|
||||
- Раздел `Справочники -> Отделения`
|
||||
- Раздел `Отчеты -> Периоды`
|
||||
- Раздел `Отчеты -> Объемные показатели`
|
||||
- Раздел `Отчеты -> Расход медикаментов`
|
||||
- Раздел `Отчеты -> Анализ`
|
||||
|
||||
Как сейчас устроена бизнес-модель:
|
||||
1. `report_periods`
|
||||
- период по команде (`team_id`, `year`, `month`, `status`)
|
||||
- статус: `draft` / `approved`
|
||||
|
||||
2. `service_catalogs`
|
||||
- каталог услуг
|
||||
- поля:
|
||||
- `code`
|
||||
- `name`
|
||||
- `unit`
|
||||
- `default_price`
|
||||
- `sort_order`
|
||||
- `is_active`
|
||||
|
||||
3. `service_entries`
|
||||
- журнал оказанных услуг
|
||||
- поля:
|
||||
- `report_period_id`
|
||||
- `service_catalog_id`
|
||||
- `provider_department_id`
|
||||
- `recipient_department_id`
|
||||
- `quantity`
|
||||
- `unit_price`
|
||||
|
||||
4. `medication_expense_rows`
|
||||
- строка расхода медикаментов на `период + отделение`
|
||||
|
||||
5. `medication_expense_values`
|
||||
- детализация расхода по:
|
||||
- источнику финансирования
|
||||
- категории расхода
|
||||
|
||||
Справочники расхода медикаментов:
|
||||
- funding_source:
|
||||
- `oms`
|
||||
- `budget`
|
||||
- `paid`
|
||||
- `vmp_oms`
|
||||
- `vmp_budget`
|
||||
- expense_category:
|
||||
- `alcohol`
|
||||
- `narcotic`
|
||||
- `solutions`
|
||||
- `medicines`
|
||||
- `dressing`
|
||||
|
||||
Как сейчас должен работать пользовательский поток:
|
||||
1. Создать отделения и профили отделений.
|
||||
2. Создать период, например `Февраль 2026`.
|
||||
3. В `Объемные показатели`:
|
||||
- выбрать период
|
||||
- выбрать отделение-исполнитель
|
||||
- выбрать услугу
|
||||
- ввести по каждому отделению-получателю:
|
||||
- количество
|
||||
- цену
|
||||
- система считает сумму как `количество × цена`
|
||||
|
||||
4. В `Расход медикаментов`:
|
||||
- выбрать период
|
||||
- выбрать отделение
|
||||
- ввести первичные суммы по сетке:
|
||||
- источник финансирования
|
||||
- категория расхода
|
||||
|
||||
5. В `Анализ`:
|
||||
- выбрать период
|
||||
- получить по каждому отделению:
|
||||
- услуги и затраты по ним
|
||||
- общий итог по услугам
|
||||
- расход медикаментов
|
||||
- итоговые расчетные поля
|
||||
|
||||
Что сейчас считает `Анализ`:
|
||||
- входящие услуги по отделению-получателю
|
||||
- затраты по каждой услуге
|
||||
- общий итог по услугам
|
||||
- расход без перевязки
|
||||
- перевязка / ИМН
|
||||
- общий расход медикаментов
|
||||
- расход медикаментов без бюджета
|
||||
|
||||
Что НЕ сделано:
|
||||
- `Приемник` не подключен
|
||||
- `зарплата` не подключена
|
||||
- нет полной копии всех строк и служебных блоков Excel
|
||||
- нет полной сверки с реальным месяцем Excel
|
||||
- нет импорта из Excel
|
||||
- нет итоговых служебных групп, как в Excel
|
||||
|
||||
Что важно технически:
|
||||
- Новая схема уже переосмыслена под `service_catalogs + service_entries`
|
||||
- Старую упрощенную схему `operational_metric_catalogs + operational_values` лучше не возвращать
|
||||
- `Анализ` должен дальше развиваться именно от модели услуг, а не от абстрактных показателей
|
||||
|
||||
Проблемы/ограничения окружения:
|
||||
- Feature-тесты не запускаются, потому что в окружении нет `pdo_sqlite`
|
||||
- Unit-тесты проходили
|
||||
- Если миграции уже применялись на старой версии схемы, может потребоваться `php artisan migrate:fresh`
|
||||
|
||||
Что стоит проверить первым делом в новом чате:
|
||||
1. Текущее состояние миграций и моделей реально соответствует `service_catalogs/service_entries`
|
||||
2. Маршруты и Inertia-страницы не остались на старых `operational_*` сущностях
|
||||
3. `Анализ` действительно читает услуги как затраты по получателям
|
||||
4. Нужно ли сразу добавлять сверку с конкретным кейсом:
|
||||
- КДЛ
|
||||
- Гематологическое
|
||||
- февраль
|
||||
- 2471 услуг
|
||||
|
||||
Следующий логичный шаг:
|
||||
- пройти по текущему коду и проверить, что весь проект консистентно переведен на модель услуг,
|
||||
- потом взять 1 реальный кейс из Excel и вручную сверить расчет в UI и в `Анализе`.
|
||||
Reference in New Issue
Block a user