Commit Graph

78 Commits

Author SHA1 Message Date
Mikhail Kuznetsov
343468cf71 feat(unitFilter): Оптимизация фильрации юнитов. Проверка значений аттрибутов теперь выполняется в 2 запроса:
- проверяем доступные в базе значения
- проверяем наличие значений в юнитах по id значений
2026-07-28 16:34:04 +10:00
Mikhail Kuznetsov
9c27f81fe8 feat(templateMatcher): Приоритет автоконтроля JobGroup>Job при создании/переиспользовании шаблона 2026-07-03 11:59:46 +10:00
Mikhail Trubnikov
36e866f637 fix(test): Исправлен using 2026-07-03 11:36:12 +10:00
Mikhail Kuznetsov
52bd0d8ce1 fix(aihitLoader): Добавлены параметры понижения версии TLS 2026-06-26 12:23:07 +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
d736208a46 feat(api,core,dal,domain): Сохранение снапшотов состояния роботов. 2026-06-10 16:48:16 +10:00
Mikhail Kuznetsov
0e8dea4c48 feat(aihitSyncer): RemoveFromCacheAsync после обновления атрибутов ЭК 2026-06-04 14:14:10 +10:00
Mikhail Trubnikov
613d4cb4f4 feat(api,core,domain): Ключи для редис 2026-05-28 15:50:14 +10:00
Mikhail Trubnikov
75e791bd8c feat(all): Обновление до netCore 9.0 2026-05-19 11:43:05 +10:00
Mikhail Trubnikov
a89605d02a feat(dal,core): Перенесены оставшиеся объекты из dal в core. 2026-05-04 11:55:07 +10:00
Mikhail Trubnikov
eb78dfd6a8 feat: Из dal перенесены все модели в Domain. Из dal переименованы service в repository, вынесены в Core. 2026-04-30 10:35:31 +10:00
Mikhail Trubnikov
188ebc20a0 feat: Перенесены внешние сервисы в Infrastructure. Удалены лишние проекты. 2026-04-14 16:27:27 +10:00
Mikhail Trubnikov
13dd2815d4 feat: Перенесен IntervalService 2026-04-14 13:49:43 +10:00
Mikhail Trubnikov
e892aa12d3 feat: Сервисы и модели RabbitMq разнесены согласно архитектуры 2026-04-14 12:01:49 +10:00
Mikhail Trubnikov
b2b5516326 feat(api): статистика отображается в часовом поясе клиента 2026-03-05 10:19:54 +10:00
Mikhail Trubnikov
10bf68709b feat(nextRunWorker): добавлен еще один backgroundWorker, который смотрит очередь, и пересчитывает nextRun для jobGroupId 2026-02-27 14:05:25 +10:00
Mikhail Trubnikov
d9edbc6400 Merge branch 'next-run-service' into dev
# Conflicts:
#	PARR.DAL/Contracts/SettingsFromDb.cs
2026-02-26 08:42:07 +10:00
Mikhail Trubnikov
8bdb641332 feat(api,dal): templateController - убрана страрая логика ЗО. StatTemplateDistributorController - обновлена логика отображения статистики 2026-02-20 10:39:53 +10:00
Mikhail Kuznetsov
d056f8b0c9 fix(dal): в UnitFilter исправлена ошибка когда один ЭК попадал в несколько работ одной группы работ типа зонтик. 2026-02-19 17:28:12 +10:00
Mikhail Trubnikov
35f64c051c feat(dal,api,nextRunWorker): подключена логика NextRunServiceV2 в nextRunWorker, в api RobotTaskController 2026-02-16 16:54:06 +10:00
Mikhail Trubnikov
62dcf80aa3 feat(dal,): NextRunServiceV2 - метод получения nextRun для существующего шаблона 2026-02-16 14:48:43 +10:00
Mikhail Trubnikov
361338f433 feat(dal,): NextRunServiceV2 - метод получения nextRun для нового шаблона 2026-02-16 12:23:24 +10:00
Mikhail Trubnikov
89b6cdf731 feat(dal, TemplateDistributorWorker): NextRunServiceV2 - реализован метод распределения шаблонов. Обновлен TemplateDistributorWorker для использования новой логики. 2026-02-13 15:39:21 +10:00
Mikhail Trubnikov
858dd8c31c feat(dal): NextRunServiceV2 - заготовка распределения шаблонов в рамках JobGroup 2026-02-12 16:15:36 +10:00
Mikhail Trubnikov
999da9bf84 feat(dal): TemplateDistributorV2 - если в периоде распределения нет рабочих дней, то период может расшириться еще 2 раза 2026-02-12 12:01:36 +10:00
Mikhail Trubnikov
a581db5787 feat(dal): ITemplateDistributorV2 - изменена логика получения nextRun если он находится в периоде, но в выходной день 2026-02-12 10:07:53 +10:00
Mikhail Trubnikov
e857248142 feat(dal): ITemplateDistributorV2 - метод получения актуального nextRun 2026-02-11 17:01:23 +10:00
Mikhail Trubnikov
7c8f8bbf97 feat(dal): ITemplateDistributorV2 - распределяет шаблоны с учетом часового пояса 2026-02-10 15:50:30 +10:00
Mikhail Trubnikov
930e215089 fix(api,dal,nextRun): исправлена логика рассчета nextRun для шаблонов с параметром IsResponseAreaTimezone 2026-02-05 15:41:36 +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
21c957c3ca feat(api): jobGroup - управление автораспределением 2026-01-23 16:18:56 +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
2038f7b57d feat(dal): template distributor - логика получения NextRun. Рефакторинг 2026-01-20 15:04:36 +10:00
Mikhail Trubnikov
6e8e3c89c2 feat(dal): TemplateDistributer - добавлен параметр, учитывать или нет выходные и праздничные дни 2026-01-19 16:33:11 +10:00
Mikhail Trubnikov
6a8f90c860 feat(distributor): реализована логика распределения всех шаблонов в методе DistributeTemplatesAsync 2025-12-25 12:07:53 +10:00
Mikhail Kuznetsov
7e708e4aee fix(esppTemplateSync): Имя шаблона переводится в верхний регистр для правильного сравнения с объектом из ЕСПП 2025-11-28 15:32:06 +10:00
Mikhail Kuznetsov
ba01ebb206 feat(test): очистил тестовый проект 2025-08-26 12:24:57 +10:00
Mikhail Kuznetsov
2c005f038e feat(templateGeneratorWorker): Создан Worker читающий очередь и генерирующий новые объекты Template 2025-08-14 15:20:04 +10:00
Mikhail Kuznetsov
1272ce92ec feat(dal): Реализован сервис UnitFilterService для получения Unit, для которых требуется создать или уже создан шаблон по Job.Id 2025-08-12 11:50:29 +10:00
Mikhail Kuznetsov
5bbf2e2db5 feat(api): Реализованы JobController, JobGroupController 2025-07-01 17:20:48 +10:00
Mikhail Kuznetsov
03c7852378 feat(all): ! Критические изменения логики работы всех сервисорв, База Данных имееет неокончательную версию. Template, Scheduler переведены на работу с Unit+Job+JobGroup вместо Host+ApplicationsInWork 2025-06-25 14:17:34 +10:00
Mikhail Kuznetsov
504a17b301 feat(aihitRelationshipsSyncer): изменена частота коммитов при обновлении поля synced 2025-06-18 15:22:28 +10:00
Mikhail Kuznetsov
4b0ece1a2e feat(dal): Добавлен TemplateNameGeneratorService для генерации имени шаблонов по маске в Job 2025-06-18 09:58:23 +10:00
Mikhail Kuznetsov
078c8b540f feat(aihitRelationshipsSyncer): Реализована логика синхронизации связей между Unit+CI/CD 2025-05-27 11:32:05 +10:00
Mikhail Trubnikov
2a774bc413 fix(api, esppOrderLoader, esppOrderManager): исправлена часовая зона УЗ ЕСПП 2024-09-04 12:29:49 +10:00
Mikhail Kuznetsov
7220bdd8af refactor(templateDistributor): добавлены комментарии 2024-07-25 14:05:00 +10:00
Mikhail Kuznetsov
2cc5100576 fix(bll): справления в CalnedarService 2024-07-02 10:52:15 +10:00
Mikhail Kuznetsov
453164a4a0 feat(bll, dal): distributionPeriod - добавили типы, адаптировали методы 2024-07-01 16:56:59 +10:00