fix(api): исправлена ошибка при запросе заданий роботу на обновление расписаний, получали null при запросе даты следующего запуска РР в include EsppSchTypeValues

This commit is contained in:
Mikhail Kuznetsov
2024-07-11 14:42:55 +10:00
parent 150d774398
commit 96d0c999ab
2 changed files with 21 additions and 6 deletions

View File

@@ -46,7 +46,7 @@ namespace PARR.TemplateDistributor
// сохранить в БД
//applicationInWorkId = Guid.Parse("bdfefd77-bce3-4f62-a484-5042c06f4467");
//var appInWork = await applicationsInWorkService.Get()
var appInWork = await applicationsInWorkService.GetAsync(applicationInWorkId );
// .Include(aiw => aiw.EsppSchValues)
// .ThenInclude(esv => esv.EsppSchTypeValue)
// .ThenInclude(etv => etv!.DistributionPeriod)
@@ -69,6 +69,13 @@ namespace PARR.TemplateDistributor
if (!values.Any())
continue;
//Обновляем сразу время при необходимости
values.ForEach(t=>{
if (t.NextRun.TimeOfDay != appInWork!.ReferenceDate.TimeOfDay)
t.NextRun = new DateTimeOffset(t.NextRun.DateTime, new TimeSpan(appInWork!.ReferenceDate.Hour, appInWork!.ReferenceDate.Minute, appInWork!.ReferenceDate.Second));
});
var distrTemplates = await DistributeTemplateAsync(values, applicationInWorkId, wgId);
}
@@ -108,7 +115,10 @@ namespace PARR.TemplateDistributor
if (existingTemplates.Count > 0)
templateToDistrib = GetTemplatesToDistribute(ref distrPlan, existingTemplates);
templateToDistrib.AddRange(templates);
templateToDistrib.AddRange(templates.Where(t=>existingTemplates.Any(et=>et.Id==t.Id)==false));
if (!templateToDistrib.Any())
return new List<Template>();
var distributedTemplates = 0;
@@ -224,7 +234,7 @@ namespace PARR.TemplateDistributor
{
var wrokDateTimeOffset = new DateTimeOffset(
wd.Year, wd.Month, wd.Day,
0, 0, 0,
appInWork.ReferenceDate.Hour, appInWork.ReferenceDate.Minute, appInWork.ReferenceDate.Second,
new TimeSpan(0, 0, 0));
if (wrokDateTimeOffset < DateTimeOffset.UtcNow)
{