Реализует issue #21: добавлен фильтр по категории в summary/by-category и UI аналитики, сохранены фильтры по периоду и счету, добавлена SQL-проверка category filter. Выписки из temp/накопительные счета уже совместимы с текущим JSON import и не требуют отдельного CSV-пути.
Реализует 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.
getTimeseries фильтрует операции только границами периода-бакета (p.period_start..p.period_end), но не исходными params.from/to. Для недельного/месячного графика запрос, например, 2026-08-05..2026-08-07, включает операции 3 и 8 августа из того же бакета. Это нарушает критерий согласования с выбранным периодом; нужны глобальные условия исходного диапазона и тест частичного бакета.
Поведение операций без категории не доведено до 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 main2026-08-21 03:08:01 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Реализует 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.
Review завершён. Найдены блокирующие замечания:
getTimeseriesфильтрует операции только границами периода-бакета (p.period_start..p.period_end), но не исходнымиparams.from/to. Для недельного/месячного графика запрос, например, 2026-08-05..2026-08-07, включает операции 3 и 8 августа из того же бакета. Это нарушает критерий согласования с выбранным периодом; нужны глобальные условия исходного диапазона и тест частичного бакета.Поведение операций без категории не доведено до UI и не покрыто тестами: выпадающий список не содержит «Без категории», а
categoryId=0не выбираетNULL(SQL используетt.category_id = 0). Такие операции нельзя отфильтровать; отсутствуют проверки их участия/исключения для summary, by-category и timeseries, включаяonlyConfirmed. Это прямо входит в критерии issue #21.