feat(templateGeneratorWorker): добавлена проверка на существование шаблона пришедшего на создание
This commit is contained in:
@@ -38,6 +38,7 @@ namespace PARR.DAL.DomainServices.Implementations
|
|||||||
.ThenInclude(t => t.FieldFilters)
|
.ThenInclude(t => t.FieldFilters)
|
||||||
.Include(t => t.UnitFilters)
|
.Include(t => t.UnitFilters)
|
||||||
.ThenInclude(t => t.RelationshipFilters)
|
.ThenInclude(t => t.RelationshipFilters)
|
||||||
|
.Include(t => t.Group)
|
||||||
.FirstOrDefaultAsync(t => t.Id == jobId);
|
.FirstOrDefaultAsync(t => t.Id == jobId);
|
||||||
|
|
||||||
if (job == null)
|
if (job == null)
|
||||||
@@ -94,6 +95,10 @@ namespace PARR.DAL.DomainServices.Implementations
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (job.Group?.IsUmbrella == true)
|
||||||
|
query = query.Where(t => t.ChildUnits.Count() >= job.MinValueRelationships && t.ChildUnits.Count() <= job.MaxValueRelationships);
|
||||||
|
|
||||||
var newUnits = await query.Select(t => t.Id).ToListAsync();
|
var newUnits = await query.Select(t => t.Id).ToListAsync();
|
||||||
result.AddRange(newUnits);
|
result.AddRange(newUnits);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,16 +48,28 @@ namespace PARR.TemplateGeneratorWorker
|
|||||||
if (query == null)
|
if (query == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
var isTemplateExist = templateService.Get()
|
||||||
|
.AsNoTracking()
|
||||||
|
.Any(t => t.JobId == query.JobId && t.UnitId == query.UnitId);
|
||||||
|
|
||||||
if (!await validatorService.IsValidAsync(query.JobId, query.UnitId))
|
if (!await validatorService.IsValidAsync(query.JobId, query.UnitId))
|
||||||
{
|
{
|
||||||
logger.LogError($"Некорректные параметры регламентной работы или Unit {nameof(Job)}: {query.JobId}, {nameof(Unit)}: {query.UnitId}");
|
logger.LogError($"Некорректные параметры регламентной работы или Unit {nameof(Job)}: {query.JobId}, {nameof(Unit)}: {query.UnitId}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isTemplateExist)
|
||||||
|
{
|
||||||
|
logger.LogWarning($"Шаблон с JobId={query.JobId} и UnitId={query.UnitId} уже существует");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var job = await jobService
|
var job = await jobService
|
||||||
.Get().AsNoTracking()
|
.Get().AsNoTracking()
|
||||||
.FirstOrDefaultAsync(t => t.Id == query.JobId);
|
.FirstOrDefaultAsync(t => t.Id == query.JobId);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var templateName = await shortcodesService.ApplyShortcodesAsync(job!.TemplateNameMask!, query.UnitId, query.JobId);
|
var templateName = await shortcodesService.ApplyShortcodesAsync(job!.TemplateNameMask!, query.UnitId, query.JobId);
|
||||||
|
|
||||||
var template = new Template
|
var template = new Template
|
||||||
|
|||||||
Reference in New Issue
Block a user