feat(api): задания роботам выдаются сначала для активных шаблонов, потом сортируется по NextRun и берется ближайшее
This commit is contained in:
@@ -129,7 +129,7 @@ namespace PARR.API.Controllers.V1
|
|||||||
.ThenInclude(t => t.ScheduleExcludeTypeCalendar)
|
.ThenInclude(t => t.ScheduleExcludeTypeCalendar)
|
||||||
.Include(t => t.Template)
|
.Include(t => t.Template)
|
||||||
.ThenInclude(t => t!.Job)
|
.ThenInclude(t => t!.Job)
|
||||||
.ThenInclude(t=>t!.Tnk)
|
.ThenInclude(t => t!.Tnk)
|
||||||
.Include(t => t.Template)
|
.Include(t => t.Template)
|
||||||
.ThenInclude(t => t!.UnitsInTemplate);
|
.ThenInclude(t => t!.UnitsInTemplate);
|
||||||
|
|
||||||
@@ -138,16 +138,21 @@ namespace PARR.API.Controllers.V1
|
|||||||
.Where(t => t.RobotCode == (int)RobotsEnum.TemplateOrder && (t.TaskStatusCode == (int)TaskStatusEnum.Ok))
|
.Where(t => t.RobotCode == (int)RobotsEnum.TemplateOrder && (t.TaskStatusCode == (int)TaskStatusEnum.Ok))
|
||||||
.Select(t => t.TemplateId);
|
.Select(t => t.TemplateId);
|
||||||
query = query.Where(t => t.RobotCode == (int)RobotsEnum.ScheduleOrder && createdTemplates.Contains(t.TemplateId));
|
query = query.Where(t => t.RobotCode == (int)RobotsEnum.ScheduleOrder && createdTemplates.Contains(t.TemplateId));
|
||||||
// query = query.Where(t => t.RobotCode == (int)RobotsEnum.ScheduleOrder && t.TemplateId==Guid.Parse("7cb7c3be-506d-40e0-a63f-4554edb52459"));
|
// query = query.Where(t => t.RobotCode == (int)RobotsEnum.ScheduleOrder && t.TemplateId==Guid.Parse("7cb7c3be-506d-40e0-a63f-4554edb52459"));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region old
|
||||||
// сортируем по NextRun, чтобы те у которых дата след срабатывания ближе к текущей, выполнились скорее
|
// сортируем по NextRun, чтобы те у которых дата след срабатывания ближе к текущей, выполнились скорее
|
||||||
//query = query.Where(t => t.Template.Job.GroupId == Guid.Parse("8a75030e-d2dc-4006-a773-002db36ebe27"));
|
//query = query.Where(t => t.Template.Job.GroupId == Guid.Parse("8a75030e-d2dc-4006-a773-002db36ebe27"));
|
||||||
query = query.OrderBy(t => t.Template!.NextRun);
|
//query = query.OrderBy(t => t.Template!.NextRun);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
// Сортируем сначала по StatusTypeId, т е те что used, будут первыми, потом сортируем по NextRun, чтобы ближайшие даты выполнились скорее
|
||||||
|
query = query.OrderBy(t => t.Template!.StatusTypeId).ThenBy(t => t.Template!.NextRun);
|
||||||
|
|
||||||
RobotConfiguration? task = null;
|
RobotConfiguration? task = null;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user