Commit Graph

1015 Commits

Author SHA1 Message Date
Mikhail Trubnikov
16f97904eb feat(api,core,jobAutoControl): Валидация при получении запроса на синхронизацию групп, работ. JobAutoControlWorker - изменена логика, может обрабатывать группы и работы. 2026-06-30 16:12:52 +10:00
Mikhail Trubnikov
4a8a67247d feat(api): Работы - управление автоконтролем и кол-вом связей 2026-06-19 11:19:43 +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
3b6df1f617 Merge branch 'robot-snap' into dev 2026-06-11 11:42:22 +10:00
Mikhail Trubnikov
7d26f1cf55 feat(api,core,domain): Получение снапшотов работы роботов 2026-06-11 11:40:12 +10:00
Mikhail Kuznetsov
16f4944a62 feat(solution): добавлены настройки именования приватных полей с подчеркиванием 2026-06-11 11:14:22 +10:00
Mikhail Trubnikov
d736208a46 feat(api,core,dal,domain): Сохранение снапшотов состояния роботов. 2026-06-10 16:48:16 +10:00
Mikhail Kuznetsov
a64ab59de1 feat(templateMatcher): Для синхронизации негруппированных работ добавлены метрики для мониторинга основных этапов. 2026-06-10 12:08:07 +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 Trubnikov
83df669f84 feat(dal, domain): Удалена таблица UnitInFields. Удалены DateModified из таблиц JobFieldFilter, JobUnitFilter 2026-05-29 11:01:14 +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
04237cc826 fix(api): RobotTask - исправлено сохранение ip инициатора 2026-05-27 11:17:28 +10:00
Mikhail Trubnikov
c67f12081e fix(dal): Исправлен метод захвата заданий роботом. Теперь правильно захватываются зависшие задачи. 2026-05-27 08:19:20 +10:00
Mikhail Trubnikov
b952a83ab3 feat(api): StatRobotHistoryController - оптимизация запроса статистики по ошибкам роботов. 2026-05-26 16:28:36 +10:00
Mikhail Trubnikov
dfaa4b17c0 feat(api): Контроллер изменения статуса задания робота, принимает робот ИД 2026-05-26 12:24:44 +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
Mikhail Trubnikov
146e8f6f9a fix(core): Workload - исправлен метод удаления кэша отчетов 2026-05-25 12:02:36 +10:00
Mikhail Trubnikov
cb69be5528 feat(api): Доработка фильтра валидации 2026-05-25 11:40:22 +10:00
Mikhail Kuznetsov
ac363ff7fa fix(templateMatcher): Устранено лишнее обновление шаблонов из-за нестабильной сортировки юнитов 2026-05-21 10:46:40 +10:00
Mikhail Kuznetsov
6fc2fc22ac fix(api): Исправлена ошибка асинхронной валидации FluentValidation
- удалён устаревший пакет FluentValidation.AspNetCore, вызывавший конфликт версий (NU1605)
- реализован глобальный фильтр AsyncValidationFilter для поддержки MustAsync-правил
2026-05-21 10:21:00 +10:00
Mikhail Kuznetsov
4b96d1bebe merge to dev 2026-05-20 18:06:38 +10:00
Mikhail Kuznetsov
513e5f869a fix(templateMatcher): Исправление ошибок в именах шаблонов и рефакторинг синхронизации
- Устранена ошибка, когда при переиспользовании шаблона для шорткодов передавался ЭК "КОМПЛЕКСЫ-[ЗО]" вместо целевого ЭК шаблона.
- Проведен небольшой рефакторинг общих процессов синхронизации различных типов групп работ.
2026-05-20 17:59:06 +10:00
Mikhail Trubnikov
73f4cfd601 fix(TaskReconciliation): Исправлена версия .net в dockerfile 2026-05-20 16:43:56 +10:00