feat(all): ! Критические изменения логики работы всех сервисорв, База Данных имееет неокончательную версию. Template, Scheduler переведены на работу с Unit+Job+JobGroup вместо Host+ApplicationsInWork

This commit is contained in:
Mikhail Kuznetsov
2025-06-25 14:17:34 +10:00
parent 1b867585d8
commit 03c7852378
54 changed files with 5176 additions and 989 deletions

View File

@@ -35,11 +35,11 @@ internal class TemplateActivator : ITemplateActivator
}
public async Task ChangeStateAsync(Guid applicationInWorkId, TemplateActivatorActionsEnum action, IHistoryInitiator? historyInitiator)
public async Task ChangeStateAsync(Guid applicationInWorkId, TemplateActivatorActionsEnum action, IHistoryInitiator? historyInitiator)//TODO Migratin to Job
{
var query = templateService.Get()
.Include(t => t.RobotConfigurations).ThenInclude(t => t.Robot)
.Where(t => t.ApplicationInWorkId == applicationInWorkId);
.Where(t => t.JobId == applicationInWorkId);//TODO Migratin to Job
var changes = 0;
switch (action)
{
@@ -121,7 +121,7 @@ internal class TemplateActivator : ITemplateActivator
var changes = 0;
//Добавляем информацию о рабочих группах для возможности их фильтрации
query = query.Include(t => t.Host).ThenInclude(h => h!.WorkGroup);
query = query.Include(t => t.Unit);//TODO Migratin to Job
//Получаем настройки авто-контроля
var jobAutoControlSettings = await GetJobAutoControlSettingsAsync(applicationInWorkId);
@@ -149,7 +149,7 @@ internal class TemplateActivator : ITemplateActivator
//Фильтруем по рабочим группам
var appInWorkWorkGroups = GetApplicationInWorkWorkGroups(applicationInWorkId);
if (appInWorkWorkGroups.Any())
templates = templates.Where(t => appInWorkWorkGroups.Any(awg => t.Host!.WorkGroupId == awg.WorkGroupId)).ToList();
templates = templates.Where(t => appInWorkWorkGroups.Any(awg => t.Unit!.BaseFields!.WorkGroup == awg.WorkGroup!.Name)).ToList();//TODO Migratin to Job
//Фильтруем соответствие статусов ЭК условиям автоконтроля
var checkEkStatus = FilterTemplatesByWrongEkStatus(templates, trueEkStatuses, isActivate);
@@ -177,9 +177,9 @@ internal class TemplateActivator : ITemplateActivator
private List<Template> FilterTemplatesByWrongEkStatus(List<Template> templates, ICollection<JobAutoControlInEkStatus> trueEkStatuses, bool isActivate)
{
if (isActivate)
return templates.Where(t => trueEkStatuses.Any(tes => tes.EkStatusCode == t.Host!.EkStatusCode)).ToList();
return templates.Where(t => trueEkStatuses.Any(tes => tes.EkStatus!.Name == t.Unit!.BaseFields!.Status)).ToList();//TODO Migratin to Job
return templates.Where(t => !trueEkStatuses.Any(tes => tes.EkStatusCode == t.Host!.EkStatusCode)).ToList();
return templates.Where(t => !trueEkStatuses.Any(tes => tes.EkStatus!.Name == t.Unit!.BaseFields!.Status)).ToList();//TODO Migratin to Job
}
private List<Template> FilterTemplatesByNameNotMatchToMasks(IQueryable<Template> query, ICollection<JobEkMask> trueMasks)
@@ -187,7 +187,7 @@ internal class TemplateActivator : ITemplateActivator
var result = new List<Template>();
foreach (var mask in trueMasks)
{
var templates = query.Where(t => EF.Functions.Like(t.Host!.Ek.ToLower(), SqlHelpers.RegexToLike(mask.Name))).ToList();
var templates = query.Where(t => EF.Functions.Like(t.Unit!.Name.ToLower(), SqlHelpers.RegexToLike(mask.Name))).ToList();
result.AddRange(templates);
}