feat(api): JobGroupController добавлена выдача расписания и количество связанных Job

This commit is contained in:
Mikhail Kuznetsov
2025-09-04 14:51:51 +10:00
parent 0793c169f9
commit c9dcdedeca
9 changed files with 214 additions and 79 deletions

View File

@@ -70,12 +70,12 @@ namespace PARR.API.Validators
// .WithMessage("Не удалось найти подходящую конфигруцию планировщика задания на выполнение работ");
#endregion
RuleFor(t => t.Schedule)
.NotNull().NotEmpty()
.When(t => t.Schedule.Count() > 0)
.WithMessage("Настройки планировщика не могут быть пустыми")
.Must((entity, value, c) => IsEsppSchValuesExist(entity.Schedule))
.WithMessage("Не удалось найти подходящую конфигруцию планировщика задания");
//RuleFor(t => t.Schedule)
// .NotNull().NotEmpty()
// .When(t => t.Schedule.Count() > 0)
// .WithMessage("Настройки планировщика не могут быть пустыми")
// .Must((entity, value, c) => IsEsppSchValuesExist(entity.Schedule))
// .WithMessage("Не удалось найти подходящую конфигруцию планировщика задания");
#region comment
@@ -109,7 +109,7 @@ namespace PARR.API.Validators
}
private async Task<bool> IsAllowAutoDistributionEnabledAsync(ApplicationInWorkRequest entity, bool value)
private async Task<bool> IsAllowAutoDistributionEnabledAsync(ApplicationInWorkRequest entity, bool value)//TODO JobGroupRequest
{
//Автораспределение может быть включено, только если у EsppSchTypeValues не пустое поле DistributionPeriodId
@@ -118,13 +118,13 @@ namespace PARR.API.Validators
//Распределение включено, смотрим, разрешено ли оно в расписании
//по идее, это расписание только с одним значением в EsppSchValues, но мы проверим у всех, но такого быть не может по хорошему
foreach (var item in entity.Schedule)
{
var schVal = await esppSchTypeValueService.GetAsync(item.TypeValueId);
if (schVal != null)
if (schVal.DistributionPeriodId == null)
return false;
}
//foreach (var item in entity.Schedule)
//{
// var schVal = await esppSchTypeValueService.GetAsync(item.TypeValueId);
// if (schVal != null)
// if (schVal.DistributionPeriodId == null)
// return false;
//}
return true;
}