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
Mikhail Trubnikov
61c21e60b6
fix(api, core): Перенес пакеты asp в api
2026-05-20 16:08:45 +10:00
Mikhail Trubnikov
68808e761b
feat(api, core, dal, domain): В таблицу Tasks добавлено поле процент выполнения, так же добавлено это поле в response - статус формирования отчета. Создан интерфейс для отслеживания прогресса IProgressAsync. Из сервиса WorkloadService исключен ITaskManagementService.
2026-05-20 14:26:25 +10:00
Mikhail Trubnikov
8f61bbb73e
feat(api): Отключена ручаня валидация в контроллере
2026-05-19 16:52:33 +10:00
Mikhail Trubnikov
d8af0253b1
feat(api, domain, core): Глобальные модели ошибок. ConfigureValidator - валидатор контроллеров. GlobalExceptionHandler - глобальный обработчик ошибок в API.
2026-05-19 16:19:55 +10:00
Mikhail Trubnikov
c0148088c1
fix(all): Во всех проектах обновлен dockerfile, проект собирается под root.
2026-05-19 13:51:25 +10:00
Mikhail Trubnikov
30b5501900
fix(api): Dockerfile - port 80
2026-05-19 12:39:50 +10:00
Mikhail Trubnikov
2f5f8ca80b
fix(api): Dockerfile - user root
2026-05-19 12:17:23 +10:00
Mikhail Trubnikov
f7649c3e43
fix(api): Dockerfile
2026-05-19 12:07:14 +10:00
Mikhail Trubnikov
bd93f9dffb
fix(cicd): Исправлен перенос строк
2026-05-19 11:53:24 +10:00
Mikhail Trubnikov
75e791bd8c
feat(all): Обновление до netCore 9.0
2026-05-19 11:43:05 +10:00
Mikhail Trubnikov
edc96bda33
Merge branch 'report' into dev
2026-05-19 09:51:51 +10:00
Mikhail Kuznetsov
b267dfe7c5
feat(core): Добавлены помощники по клонированию JobGroup и синхронизации Job в JobGroup по старшему MaxValueRelationships
2026-05-19 09:47:35 +10:00
Mikhail Trubnikov
178d136dba
feat(docker, api, core, dal, domain, workloadBuilder): WorkloadBuillder - формирование кэша по интервалу.
2026-05-19 09:45:38 +10:00
Mikhail Trubnikov
e5535857d4
feat(api, core): Workload - статус формирования отчетности. RedisCacheService - получить первую запись из кэш типа Hash.
2026-05-18 16:46:42 +10:00
Mikhail Kuznetsov
3f3ab8617d
feat(templateMatcher): Отключены промежуточные статусы синхронизации неиспользуемых шаблонов и добавлен словарь выборки ЭК КОМПЛЕКСЫ-[ЗО] для снижения нагрузки на базу данных
2026-05-18 12:29:55 +10:00
Mikhail Kuznetsov
df4927d9c1
feat(aihitLoader): Добавлено поле "Тип инфраструктурного сервиса" направления ПТК
2026-05-15 19:05:36 +10:00
Mikhail Trubnikov
911e6febcd
fix(api): Task - получение статусов задач, доработка отчетов workload
2026-05-15 16:09:49 +10:00
Mikhail Kuznetsov
a015e90fdc
feat(core): ShortcodeService в классы реализации шорткодов добавлены требования по загрузке таблиц
2026-05-15 15:11:04 +10:00
Mikhail Kuznetsov
2fea1ddfe6
feat(templateGenerator,templateUpdater): Добавлена валидация входных UnitsInTemplate
2026-05-14 18:41:44 +10:00
Mikhail Kuznetsov
4dc89ffd2d
fix(templateGenerator): Исправлена ошибка преобразования сообщений из RabbitMq
2026-05-14 18:06:19 +10:00
Mikhail Kuznetsov
90e6352117
feat(templateMatcher): Рефакторинг, основной метод синхронизации GroupedTemplateSynchronizer разбит на отдельные классы; Неиспользуемые шаблоны теперь привязываются к ЭК КОСМПЛЕКСЫ-[ЗО].
2026-05-14 16:47:27 +10:00
Mikhail Kuznetsov
f7a74d315a
feat(core): Рефакторинг ShortcodesService, реализован паттерн стратегия
2026-05-14 16:31:03 +10:00
Mikhail Trubnikov
87db7c5fd6
fix(core): WorkloadService - исправлен расчет периода дней отчета
2026-05-13 16:37:49 +10:00
Mikhail Trubnikov
e5900be547
feat(dal, domain): Для таблице UnitInTemplates добавлена связь с UnitFieldValues. В таблице Templates убраны значения по умолчанию для поле JobId, UnitId.
2026-05-12 16:34:31 +10:00
Mikhail Trubnikov
97964111c3
Merge branch 'dev' of gitlab.dvgd.oao.rzd:devptk/parr/parr_api into dev
2026-05-12 12:20:02 +10:00
Mikhail Kuznetsov
0cc7b0dfbb
feat(templateMatcher): Добавлена проверка принадлежности связанного ЭК к КИИ, который имеет больший приоритет.
2026-05-12 11:24:17 +10:00
Mikhail Trubnikov
5c1ba5a143
feat(api, core): WorkloadReport - добавлено поле max
2026-05-12 10:41:02 +10:00
Mikhail Kuznetsov
0235fe0028
fix(core,dal): Устранены возможные случаи реализации шорткодов по шаблону с Id 00000000-0000-0000-0000-000000000000
2026-05-07 14:35:11 +10:00
Mikhail Trubnikov
395ef6a0ea
feat(core, infrastructure): IRedisCacheService - данные теперь можно архивировать
2026-05-07 12:27:57 +10:00
Mikhail Trubnikov
277bf0caa3
feat(core, api): Workload - Controller для формирования отчетов
2026-05-07 10:33:53 +10:00
Mikhail Trubnikov
eb6036f2c9
feat(core): WorkloadService - реализация логики формирования отчета
2026-05-06 17:00:08 +10:00
Mikhail Kuznetsov
1233d9b4fe
fix(core, templateMatcher): Исправлен метод ApplyRelationshipFiltersToUnitsAsync - неверно фильтровались ЭК при одновременно включенном IsFullMatch и IsInverse, теперь учитываются все связи; В GroupedTemplateSynchronizer изменен порядок индексации шаблонов.
2026-05-06 13:54:41 +10:00
Mikhail Trubnikov
7d42a80556
feat(core, dal): WorkloadCacheService - методы для работы с кэшем отчетности workload
2026-05-05 14:52:17 +10:00
Mikhail Kuznetsov
7a127a6edb
feat(aihitSyncer): Символ точки убран из разделителей тегов, добавлен #
2026-05-05 12:15:34 +10:00
Mikhail Trubnikov
a89605d02a
feat(dal,core): Перенесены оставшиеся объекты из dal в core.
2026-05-04 11:55:07 +10:00
Mikhail Trubnikov
238244790b
feat(core): WorkloadCacheService - логика
2026-04-30 15:10:35 +10:00
Mikhail Trubnikov
eb78dfd6a8
feat: Из dal перенесены все модели в Domain. Из dal переименованы service в repository, вынесены в Core.
2026-04-30 10:35:31 +10:00
Mikhail Trubnikov
f1ea69da1f
Merge branch 'report' into dev
2026-04-29 14:40:28 +10:00
Mikhail Trubnikov
7ddc8b1bed
feat(core): Заготовка WorkloadCacheService
2026-04-29 14:27:02 +10:00
Mikhail Kuznetsov
4cf5223ff5
fix(api): Восстановлен функционал подготовки заданий для обновления расписаний
2026-04-28 09:27:46 +10:00
Mikhail Kuznetsov
0d8895d3aa
feat(api): Добавлена нормализация символов перевода текста на новую строку к единому с АСУ ЕСПП формату CRLF (\r\n)
2026-04-27 14:03:10 +10:00
Mikhail Trubnikov
ee119caf91
feat(taskReconciliation, workloadBuilder): Dockerfile, ci-cd
2026-04-24 09:49:13 +10:00