405 Commits

Author SHA1 Message Date
Mikhail Trubnikov
fddee13fff feat(dal): создана таблица ScheduleResponseAreaTimeOffsets. В таблицу JobGroup добавлено поле IsWorkGroupTimezone 2026-01-30 10:40:55 +10:00
Mikhail Trubnikov
3b7213182c feat(dal): templateDistributor теперь распределяет с учетом московского времени 2026-01-28 16:19:19 +10:00
Mikhail Trubnikov
76bd6aa111 feat(api,dal): статистика распределения. Список рабочих и выходных формируется в зависимости от времени МСК 2026-01-28 14:40:40 +10:00
Mikhail Trubnikov
3bae8917a6 feat(api,dal): tbl TemplateStatusType - добавлен новый тип Error. В API добавлен метод просмотра статистики распределения StatTemplateDistributionController 2026-01-26 14:29:47 +10:00
Mikhail Trubnikov
f724efb12b Merge branch 'job-group-distrib' into dev 2026-01-23 16:21:41 +10:00
Mikhail Trubnikov
21c957c3ca feat(api): jobGroup - управление автораспределением 2026-01-23 16:18:56 +10:00
Mikhail Kuznetsov
5b33c97c21 Merge branch 'dev' of http://gitlab.dvgd.oao.rzd/devptk/parr/parr_api into dev 2026-01-23 11:29:49 +10:00
Mikhail Kuznetsov
23e6b9f308 feat(dal, templateMatcher): небольшое улучшение быстродействия синхронизации, ShortcodesService добавлен проброс unitInTemplates для корректного подстановки шорткода %МАКС:...% 2026-01-23 11:29:42 +10:00
Mikhail Trubnikov
9964e3388d feat(nextRunWorker): реализация пересчета просроченных nextRun для работ с автораспределением 2026-01-23 09:28:14 +10:00
Mikhail Trubnikov
9e84ef8029 feat(api): JobGroupResponse, TemplateResponse - отображение настроек автораспределения 2026-01-22 14:05:48 +10:00
Mikhail Trubnikov
1845154b26 feat(templateGenerator, templateMatcher, dal): INextRunService прикручен к Matcher + Syncer. 2026-01-22 12:06:57 +10:00
Mikhail Trubnikov
9f035efb35 Merge branch 'distributor' into dev 2026-01-22 11:48:06 +10:00
Mikhail Trubnikov
91082915bc feat(api, dal, nextRun): переделал вызов рассчета NextRun на INextRunService 2026-01-22 11:46:05 +10:00
Mikhail Kuznetsov
555b946daa feat(dal, templateMatcher): UnitFilterService теперь возвращает модель Dto а не только Id 2026-01-21 18:25:09 +10:00
Mikhail Trubnikov
b83438d6ca feat(dal): NextRunService - получение актуального nextRun для нового или существующего шаблона 2026-01-21 15:36:54 +10:00
Mikhail Trubnikov
5ad26742e6 feat(dal): NextRunService, GetNextRunForJobGroupWithAutoDistributionAsync - реализация, распределение шаблонов 2026-01-21 12:19:27 +10:00
Mikhail Trubnikov
eb5bed5614 feat(dal): создана таблица GroupDistributionConfigs 2026-01-20 16:17:09 +10:00
Mikhail Trubnikov
5faa43e2d6 Merge branch 'distributor' into dev 2026-01-20 15:06:38 +10:00
Mikhail Trubnikov
2038f7b57d feat(dal): template distributor - логика получения NextRun. Рефакторинг 2026-01-20 15:04:36 +10:00
Mikhail Kuznetsov
01f51f7893 fix(templateMatcher): Добавлена сортировка связанных ЭК при сравнении группированных шаблонов. 2026-01-20 14:23:02 +10:00
Mikhail Trubnikov
6e8e3c89c2 feat(dal): TemplateDistributer - добавлен параметр, учитывать или нет выходные и праздничные дни 2026-01-19 16:33:11 +10:00
Mikhail Kuznetsov
d91877453a feat(dal, templateMatcher): изменена логика работы Shortcodes сервиса в сторону самостоятельной дозагрузки данных из БД, в Template сервис добавлен метод атомарного резервирования шаблона для TemplateMatcher 2026-01-16 18:26:06 +10:00
Mikhail Trubnikov
99a491ede8 feat(dal,api): IMatchingStatusService - управление статусами matcher`a. Отображение статусов в АПИ, нельзя повторно из апи отправить задание мэтчеру если сейчас идет matching 2026-01-16 11:04:26 +10:00
Mikhail Trubnikov
3205c1db8e feat(dal): CacheMatchigStatusService реализация 2026-01-15 15:46:50 +10:00
Mikhail Trubnikov
b5c25f3110 feat(dal): CacheService - структура + CacheMatchingStatusService 2026-01-15 15:01:56 +10:00
Mikhail Trubnikov
bd4ad918e3 feat(api,dal): в таблицу Jobs добавлено поле ResponseAreaMask. В JobController добавлено поле ResponseAreaMask. В TemplateController отображается фактическая РК, ЗО шаблона. RobotTask ЗО отдается согласно ResponseAreaMask. ShortcodeService теперь умеет принимать Template. 2026-01-13 14:36:07 +10:00
Mikhail Kuznetsov
0925c97e6b feat(dal,templateMatcher): добавлена сортировка связанных юнитов группированного типа групп работ 2026-01-12 15:28:28 +10:00
Mikhail Kuznetsov
ba465f4b26 fix(esppTemplateSyncer): добавлен Id Group для правильного формирования группированных значений %МАКС:...% 2026-01-12 11:06:47 +10:00
Mikhail Kuznetsov
ec53638c58 feat(dal,templateMatcher): уточнена логика UnitFilterService, в TemplateMatcher добавлены методы синхронизации и обновлению существующих шаблонов по группе 2025-12-30 14:27:59 +10:00
Mikhail Trubnikov
469fa56f9e feat(dal): в settingsFromDb добавлен параметр JobIdForUnusedTemplates 2025-12-30 12:16:51 +10:00
Mikhail Kuznetsov
4086484369 fix(dal): не собирался проект из-за удаленного сервиса. Исправлено. 2025-12-29 19:28:45 +10:00
Mikhail Kuznetsov
acf232ecdf feat(dal): уточнена логика получение имени связанных ЭК, переписано кэширование МАКС:FIELD, в синхронизацию и контролер заданий роботов добавлены include 2025-12-29 19:21:51 +10:00
Mikhail Trubnikov
d5d84c1853 feat(dal): заменен Аксенов на Овчаренко. Добавлены индексы в UnitInValue 2025-12-29 12:30:09 +10:00
Mikhail Kuznetsov
e8db55400c feat(templateMatcher): refactoring 2025-12-26 21:47:53 +10:00
Mikhail Trubnikov
4f4e009ad1 Merge branch 'schedule-exclude' into dev 2025-12-26 11:27:16 +10:00
Mikhail Trubnikov
61c46770e0 feat(api,dal): исключения расписаний ЕСПП привязаны к JobGroup, удалены константы из настроек. Кол-во шаблонов в Job считается только used. В JobFieldFilter добавлено поле IsInverse. 2025-12-26 11:21:45 +10:00
Mikhail Kuznetsov
aa14499d3a Merge branch 'dev' of http://gitlab.dvgd.oao.rzd/devptk/parr/parr_api into dev 2025-12-25 21:16:28 +10:00
Mikhail Kuznetsov
2af8ed26d8 feat(tempateMatcher,aihitLoader,dal): В UnitFilter добавлен Cache; в данные по ПТК добавлены аттрибуты "Холодный резерв" и "ДОПОЛНИТЕЛЬНАЯ_ИНФОРМАЦИЯ"; в синхронизаторах устанавливается неактуальная работа при деактивации 2025-12-25 21:16:20 +10:00
Mikhail Trubnikov
eb57f4b3cd feat(dal,api): добавлены таблицы исключений расписания еспп. 2025-12-25 17:01:42 +10:00
Mikhail Trubnikov
c7fdf9f97d feat(dal): в настройки добавлено поле EsppUnitTag 2025-12-25 13:53:38 +10:00
Mikhail Trubnikov
6a8f90c860 feat(distributor): реализована логика распределения всех шаблонов в методе DistributeTemplatesAsync 2025-12-25 12:07:53 +10:00
Mikhail Kuznetsov
b5bbc52473 fix(dal): при формировании групповых шорткодов не хватало include GroupType, изменен ключ кэширования 2025-12-24 11:25:25 +10:00
Mikhail Kuznetsov
00cace4255 feat(dal,templateMatcher): Shortcodes добавлены %МАКС:ИМЯ АТРИБУТА%, %ГР_ПОЛЕ-ПН%, %БУКВЫ:ИМЯ АТРИБУТА%, исправлена фильтрация в UnitFilter, TemplateMatcher отдельные классы для типов работ, Shortcodes теперь работает по своим моделям Dto 2025-12-23 18:27:31 +10:00
Mikhail Trubnikov
a7a82b902a feat(distributor): первая версия распределителя 2025-12-22 17:03:41 +10:00
Mikhail Kuznetsov
7ca536ce52 feat(templateMatcher,dal): Первая реализация SyncTemplatesForJobGroup для сгруппированных типов групп регламентных работ. 2025-12-19 19:21:42 +10:00
Mikhail Trubnikov
cef0e15077 feat(dal): создана связь между JobGroup & UnitField. Отключено каскадное удаление для этой связи 2025-12-19 09:31:25 +10:00
Mikhail Trubnikov
5256b434a3 feat(dal): добавлена таблица UnitKiiUnits + сервисы. Добавлен шорткод ИНДЕКС. В тбл JobGroups добавлено поле GroupingUnitFieldId 2025-12-19 09:09:22 +10:00
Mikhail Trubnikov
3dbe7f08ba feat(dal): добавлена таблица UnitRegionalEkPtkGroups, добавлен сервис IUnitRegionalEkPtkGroupService 2025-12-18 16:48:48 +10:00
Mikhail Kuznetsov
6bd22fa2e0 fix(templateMatcher): добавлена логика обработки StatusType, обновляем только когнда действительно поменялось состояние. Была ошибка когда Unsed повторно становился Unsed и в конце шаблона опять дописывался UnixTimeSeconds. 2025-12-16 17:05:26 +10:00
Mikhail Kuznetsov
8da4f226a7 feat(dal,templateMatcher): UnitFilterService переписан, теперь при подсчете количества связей для групп работ зонтик учитываются relationshipFilter. В TemplateMatcher добавлено изменение имени Unused шаблонов в конце имени добавляется DateTimeOffset.UtcNow.ToUnixTimeSeconds() для уникальности неиспользуемых шаблонов. Актуализированы unit-тесты 2025-12-15 11:50:12 +10:00