Mikhail Kuznetsov
343468cf71
feat(unitFilter): Оптимизация фильрации юнитов. Проверка значений аттрибутов теперь выполняется в 2 запроса:
...
- проверяем доступные в базе значения
- проверяем наличие значений в юнитах по id значений
2026-07-28 16:34:04 +10:00
Mikhail Trubnikov
eacda75649
refactor(core,domain): Переименованы shared dto
2026-07-24 13:35:56 +10:00
Mikhail Trubnikov
b3879062a6
feat(api,core,domain): Изменен контроллер RobotTaskRobotStatusController, метод изменения статуса задания вынесен в сервисы. Добавлена логика успрешного переименования шаблона.
2026-07-23 14:39:55 +10:00
Mikhail Trubnikov
58b4d98b16
feat(dal,core): Рефакторинг методов и логики выдачи заданий роботом при переименовании шаблонов
2026-07-23 10:48:59 +10:00
Mikhail Trubnikov
1cc2beb9ca
feat(core): Логика выдачи задания роботу для переименованных шаблонов
2026-07-22 16:02:04 +10:00
Mikhail Trubnikov
0b0c0b04ad
feat(dal,templateUpdater): Сохранение шаблонов для переименования в таблицу TemplateRenamePending
2026-07-22 09:49:27 +10:00
Mikhail Trubnikov
5094945c8e
feat(dal,domain): Таблицы роботов перенесены в схему robot. Создана таблица TemplateRenamePendings - Шаблоны находящиеся в процессе переименования
2026-07-21 11:48:21 +10:00
Mikhail Kuznetsov
cdcb4fd9bc
fix(unitFilter): Снижен размер чанка для фильтрации по полям для устранения ошибки таймаута при работе templateMatcher
2026-07-20 09:54:28 +10:00
Mikhail Trubnikov
751b693e72
feat(api,core): Методы в API для получения метрик заданий роботам, StatRobotMetricsController.
2026-07-16 10:12:56 +10:00
Mikhail Trubnikov
50556ef605
feat(core,dal,domain,snapshotWorker): Воркер по управлению снапшотами. Создание сгапшотов для таблицы RobotConfigurations
2026-07-13 15:29:48 +10:00
Mikhail Trubnikov
9194d127d2
fix(core): Задания роботам
2026-07-10 18:35:18 +10:00
Mikhail Trubnikov
33b0576ccc
feat(api,core): Задания роботам на обновление расписаний, выдается с периодом охлаждения, если последнее изменение было NextRunWorker или EsppScheduleWorker и значение lastRun+ период охлаждения, меньше чем сейчас.
2026-07-10 14:11:16 +10:00
Mikhail Trubnikov
d7d4713953
fix(core): NextRun расчет ЕСПП, исправлен метод регулярного расчета
2026-07-08 14:47:59 +10:00
Mikhail Trubnikov
9d3273191b
fix(core): Доработка методов расчета NextRun по алгоритму ЕСПП, добавлена проверка, что расчитанная дата новее чем refDate.
2026-07-07 15:24:59 +10:00
Mikhail Kuznetsov
1affa34b07
fix(core, api, templateMatcher, nextRun, templateDestributor, jobAutoControl): Исправление using после предыдущего рафакторинга
2026-07-03 11:25:39 +10:00
Mikhail Kuznetsov
3c9e03adbb
refactor(dal,api,templateMatcher,templateGenerator,templateActivator): Немного порядка в namespaceах
2026-07-03 11:17:48 +10:00
Mikhail Trubnikov
16f97904eb
feat(api,core,jobAutoControl): Валидация при получении запроса на синхронизацию групп, работ. JobAutoControlWorker - изменена логика, может обрабатывать группы и работы.
2026-06-30 16:12:52 +10:00
Mikhail Trubnikov
8151ea89b9
feat(api,core,dal): Группы работ - управление автокнотролем
2026-06-18 16:39:35 +10:00
Mikhail Trubnikov
108eb05853
feat(dal,domain): Таблицы для JobGroup фильтров.
2026-06-15 16:56:23 +10:00
Mikhail Trubnikov
1fb5cbd2e8
fix(core): Исправлена функция расчета кол-во работающих роботов
2026-06-15 14:39:03 +10:00
Mikhail Kuznetsov
c0720b38de
Merge branch 'dev' of http://gitlab.dvgd.oao.rzd/devptk/parr/parr_api into dev
2026-06-15 11:48:05 +10:00
Mikhail Kuznetsov
db270dbb1c
fix(shortcodesService): Для реализации шорткода %ГР_ПОЛЕ-ПН% добавлена сортировка для детерминации выходного списка.
2026-06-15 11:47:55 +10:00
Mikhail Trubnikov
dd206b44e9
Merge branch 'robot-report' into dev
2026-06-15 11:02:00 +10:00
Mikhail Trubnikov
21e00ce42e
feat(api,core,domain): Статистика по роботам, кол-во работающих роботов в час
2026-06-15 11:00:53 +10:00
Mikhail Kuznetsov
1b21ee4a79
Merge branch 'dev' of http://gitlab.dvgd.oao.rzd/devptk/parr/parr_api into dev
2026-06-11 15:10:08 +10:00
Mikhail Kuznetsov
a438f18480
refactor(templateMatcher): Переход на Pipeline-архитектуру для SimpleSync и GroupedSync.
...
- SimpleTemplateSynchronizer и GroupedTemplateSynchronizer переведены на паттерн Pipeline с разделением на Read/Write этапы
- Выделены контракты этапов (ISimpleSyncStage, IGroupedSyncStage) и контексты (SimpleSyncContext, GroupedSyncContext)
- Read-этапы безопасны для тестов (не пишут в БД/MQ), Write-этапы изолированы через отдельные интерфейсы
- Добавлено [Perf]-логирование каждого этапа с метриками времени выполнения
- Логи приведены к человекочитаемому формату 'Имя' (ID) для Job, JobGroup и Unit
- Устранено дублирование данных в контекстах (FilteredUnits перезаписывается, TemplateGroups строго типизирован)
- Константы неиспользуемых шаблонов вынесены в UnusedTemplateConstants
- Структура проекта реорганизована: SimpleSync, GroupedSync, Implementations, Interfaces
2026-06-11 15:09:46 +10:00
Mikhail Trubnikov
19cb6b50bf
feat(api,core,domain): RobotSnapshot - почасовой отчет о загрузке роботов
2026-06-11 14:44:39 +10:00
Mikhail Trubnikov
7d26f1cf55
feat(api,core,domain): Получение снапшотов работы роботов
2026-06-11 11:40:12 +10:00
Mikhail Trubnikov
d736208a46
feat(api,core,dal,domain): Сохранение снапшотов состояния роботов.
2026-06-10 16:48:16 +10:00
Mikhail Kuznetsov
535e87ec21
refactor(unitFilterService): Этапы фильтрации вынесены в отдельные классы
2026-06-09 17:46:43 +10:00
Mikhail Kuznetsov
6f8d889680
Merge branch 'dev' of http://gitlab.dvgd.oao.rzd/devptk/parr/parr_api into dev
2026-06-09 11:42:30 +10:00
Mikhail Trubnikov
6fa9c3d445
feat(api,core,infrastructure): Workload - дополнительная фильтрация по свяанным ЗО и РГ. RedisCacheService - при формирование hash key, дополнительная фильтрация на null, empty.
2026-06-09 10:16:32 +10:00
Mikhail Trubnikov
8cb7a2d599
feat(api, domain, core): StatWorkloadTemplate - дополнительная фильтрация по РГ и ЗО.
2026-06-05 10:28:15 +10:00
Mikhail Trubnikov
1baa8f2296
feat(api,core,domain): StatWorkloadTemplate - статистика загруженности, шаблоны
2026-06-04 17:20:16 +10:00
Mikhail Kuznetsov
0e8dea4c48
feat(aihitSyncer): RemoveFromCacheAsync после обновления атрибутов ЭК
2026-06-04 14:14:10 +10:00
Mikhail Trubnikov
1f4d338422
feat(api, core): Workload - отчет по РГ - список работ.
2026-06-03 15:17:36 +10:00
Mikhail Trubnikov
66d1fe7b0d
feat(core, infrastructure): RedisCacheService - изменение/добавление полей в кэше списокм. UnitCacheService - оптимизация при получении данных.
2026-06-03 12:09:47 +10:00
Mikhail Trubnikov
d1de63e939
feat(api, core): Workload - отчет по одной ЗО - РГ.
2026-06-02 12:31:53 +10:00
Mikhail Trubnikov
d27d594e57
feat(core, infrastructure): UnitService - удаление/массовое удаление юнитов
2026-06-01 16:10:00 +10:00
Mikhail Trubnikov
bdcc858bc5
feat(core, infrastructure): UnitService - массовое получение юнитов
2026-06-01 11:58:08 +10:00
Mikhail Trubnikov
437f996ea8
feat(core): UnitService - работа с кэш
2026-05-29 17:09:36 +10:00
Mikhail Kuznetsov
5ec0e801e2
Merge branch 'dev' of http://gitlab.dvgd.oao.rzd/devptk/parr/parr_api into dev
2026-05-28 16:56:54 +10:00
Mikhail Kuznetsov
51bb383d06
feat(templateMatcher): Убран хардкод РАБОЧАЯ_ГР_ОТВ_ЗА_ЭК при формировании шаблонов; добавлен метод для поиска аттрибутов ЭК по значению Code.
2026-05-28 16:54:51 +10:00
Mikhail Trubnikov
613d4cb4f4
feat(api,core,domain): Ключи для редис
2026-05-28 15:50:14 +10:00
Mikhail Trubnikov
b4946aebd7
Merge branch 'robot-tasks' into dev
2026-05-26 11:53:40 +10:00
Mikhail Trubnikov
2024056871
feat(dal,api): В таблицу истории роботов, добавлено поле RobotId. Обновлены методы в api для ведения истории роботов.
2026-05-26 11:43:15 +10:00
Mikhail Trubnikov
856b273e6b
feat(api, core): Доделал атомарный захват задачи роботом.
2026-05-26 11:26:52 +10:00
Mikhail Kuznetsov
f5e9c036f6
refactor(shortcodes): %СВЯЗЬ% теперь возвращает самое популярное значение вместо первого
2026-05-26 10:35:11 +10:00
Mikhail Trubnikov
ab563f88b9
feat(api,core,dal): RobotTasks - вынесение логики в Core, оптимизация взятия задания роботом
2026-05-25 16:59:42 +10:00
Mikhail Kuznetsov
f3183e5f68
feat(core): В ShortcodesService добавлена реализация %ТЕГ% и %ТЕГ_СВЯЗИ% для работы с тегами ЭК
...
- Реализован %ТЕГ:ПРЕФИКС% для извлечения значения тега текущего юнита по правилу "префикс + двоеточие".
- Реализован %ТЕГ_СВЯЗИ:ПРЕФИКС% для агрегации тегов связанных юнитов (UnitsInTemplate) с выбором самого популярного значения (сортировка по алфавиту при равенстве частоты).
- Добавлены флаги ленивой загрузки UnitTags и UnitsInTemplateTags в ShortcodeDataRequirementsEnum.
- Расширена запись TemplateForShortcode и метод PrepareTemplateDataAsync для пакетной подгрузки тегов из базы данных.
- Зарегистрированы новые хендлеры в DI-контейнере и в методе GetAvailableShortcodesAsync.
2026-05-25 16:35:37 +10:00