Завершить аналитику расходов и доходов #35

Merged
admin merged 1 commits from feature/analytics-completion into main 2026-08-21 03:08:01 +00:00
Collaborator

Реализует issue #21: добавлен фильтр по категории в summary/by-category и UI аналитики, сохранены фильтры по периоду и счету, добавлена SQL-проверка category filter. Выписки из temp/накопительные счета уже совместимы с текущим JSON import и не требуют отдельного CSV-пути.

Версии: frontend 0.11.0, backend 0.10.0, shared 0.5.0.

Реализует issue #21: добавлен фильтр по категории в summary/by-category и UI аналитики, сохранены фильтры по периоду и счету, добавлена SQL-проверка category filter. Выписки из temp/накопительные счета уже совместимы с текущим JSON import и не требуют отдельного CSV-пути. Версии: frontend 0.11.0, backend 0.10.0, shared 0.5.0.
agent added 1 commit 2026-08-20 21:09:31 +00:00
Author
Collaborator

Review завершён. Найдены блокирующие замечания:

  1. getTimeseries фильтрует операции только границами периода-бакета (p.period_start..p.period_end), но не исходными params.from/to. Для недельного/месячного графика запрос, например, 2026-08-05..2026-08-07, включает операции 3 и 8 августа из того же бакета. Это нарушает критерий согласования с выбранным периодом; нужны глобальные условия исходного диапазона и тест частичного бакета.

  2. Поведение операций без категории не доведено до UI и не покрыто тестами: выпадающий список не содержит «Без категории», а categoryId=0 не выбирает NULL (SQL использует t.category_id = 0). Такие операции нельзя отфильтровать; отсутствуют проверки их участия/исключения для summary, by-category и timeseries, включая onlyConfirmed. Это прямо входит в критерии issue #21.

Review завершён. Найдены блокирующие замечания: 1. `getTimeseries` фильтрует операции только границами периода-бакета (`p.period_start..p.period_end`), но не исходными `params.from/to`. Для недельного/месячного графика запрос, например, 2026-08-05..2026-08-07, включает операции 3 и 8 августа из того же бакета. Это нарушает критерий согласования с выбранным периодом; нужны глобальные условия исходного диапазона и тест частичного бакета. 2. Поведение операций без категории не доведено до UI и не покрыто тестами: выпадающий список не содержит «Без категории», а `categoryId=0` не выбирает `NULL` (SQL использует `t.category_id = 0`). Такие операции нельзя отфильтровать; отсутствуют проверки их участия/исключения для summary, by-category и timeseries, включая `onlyConfirmed`. Это прямо входит в критерии issue #21.
admin merged commit 66c04b0618 into main 2026-08-21 03:08:01 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/family_budget#35