feat(api): jobGroup при создании и обновлении принимает поле GroupingUnitFieldId. Валидации. Контроллеры KiiUnitController, RegionalEkPtkGroupController

This commit is contained in:
Mikhail Trubnikov
2025-12-19 10:48:41 +10:00
parent cef0e15077
commit a03b882880
9 changed files with 222 additions and 6 deletions

View File

@@ -100,7 +100,8 @@ namespace PARR.API.Controllers.V1
{
query = query
.Include(t => t.Tnk)
.Include(t => t.Group).ThenInclude(t => t.GroupType);
.Include(t => t.Group).ThenInclude(t => t.GroupType)
.Include(t => t.Group).ThenInclude(t => t.GroupingUnitField);
query = query
.Include(t => t.UnitFilters)
@@ -140,6 +141,7 @@ namespace PARR.API.Controllers.V1
var job = await jobService.Get()
.Include(t => t.Tnk)
.Include(t => t.Group).ThenInclude(t => t.GroupType)
.Include(t => t.Group).ThenInclude(t => t.GroupingUnitField)
.Include(t => t.UnitFilters)
.ThenInclude(t => t.FieldFilters)
.ThenInclude(t => t.UnitField)
@@ -178,14 +180,15 @@ namespace PARR.API.Controllers.V1
return BadRequest(new Response(jobValidateResult.Errors));
#endregion
//TODO: !!!!!!! проверить, если тип ЗОНТИК или ГРУППИРОВКА, то обязательно должны быть заполнены поля min max
#region Проверка существования работы с такими же параметрами
var isExistTheSameLinks = await jobService.Get()
.Include(t => t.Group).ThenInclude(t => t.GroupType)
.CountAsync(t =>
//t.Group!.IsUmbrella == true &&
t.Group!.GroupType!.Code == JobGroupTypesEnum.Umbrella &&
//t.Group!.GroupType!.Code == JobGroupTypesEnum.Umbrella
(t.Group!.GroupType!.Code == JobGroupTypesEnum.Umbrella || t.Group!.GroupType!.Code == JobGroupTypesEnum.Group) &&
t.GroupId == request.GroupId &&
(t.MinValueRelationships == request.MinValueRelationships ||
t.MaxValueRelationships == request.MaxValueRelationships)
@@ -215,6 +218,7 @@ namespace PARR.API.Controllers.V1
var createdJob = await jobService.Get()
.Include(t => t.Tnk)
.Include(t => t.Group).ThenInclude(t => t.GroupType)
.Include(t => t.Group).ThenInclude(t => t.GroupingUnitField)
.Include(t => t.UnitFilters)
.ThenInclude(t => t.FieldFilters)
.ThenInclude(t => t.UnitField)
@@ -249,6 +253,7 @@ namespace PARR.API.Controllers.V1
var orig = await jobService.Get()
.Include(t => t.Tnk)
.Include(t => t.Group).ThenInclude(t => t.GroupType)
.Include(t => t.Group).ThenInclude(t => t.GroupingUnitField)
.Include(t => t.UnitFilters)
.ThenInclude(t => t.FieldFilters)
.Include(t => t.UnitFilters)
@@ -263,6 +268,11 @@ namespace PARR.API.Controllers.V1
// если изменили маску шаблона, ниже отправим в очередь, на изменение связанных имен шаблонов
var isChangedTemplateNameMask = orig.TemplateNameMask != request.TemplateNameMask.Trim();
//TODO: ВОТ ЭТО ВООБЩЕ МЫ БУДЕМ ПРОВЕРЯТЬ, АААА???? - Проверка существования работы с такими же параметрами
//TODO: !!!!!!! проверить, если тип ЗОНТИК или ГРУППИРОВКА, то обязательно должны быть заполнены поля min max
#region обновление полей задания на работу
orig.Name = request.Name.Trim();
@@ -331,6 +341,7 @@ namespace PARR.API.Controllers.V1
var updatedJob = await jobService.Get()
.Include(t => t.Tnk)
.Include(t => t.Group).ThenInclude(t => t.GroupType)
.Include(t => t.Group).ThenInclude(t => t.GroupingUnitField)
.Include(t => t.UnitFilters)
.ThenInclude(t => t.FieldFilters)
.ThenInclude(t => t.UnitField)