fix(api): RobotTaskController, lastRun. nextRun

This commit is contained in:
Mikhail Trubnikov
2024-02-27 16:01:08 +10:00
parent d2f8dd024f
commit 42d886c300

View File

@@ -21,18 +21,21 @@ namespace PARR.API.Controllers.V1
private readonly SettingsFromDb settingsFromDb; private readonly SettingsFromDb settingsFromDb;
private readonly IRobotConfigurationService robotConfigurationService; private readonly IRobotConfigurationService robotConfigurationService;
private readonly IEsppScheduleTransformService esppScheduleTransformService; private readonly IEsppScheduleTransformService esppScheduleTransformService;
private readonly ILogger<RobotTaskController> logger;
public RobotTaskController( public RobotTaskController(
IMapper mapper, IMapper mapper,
SettingsFromDb settingsFromDb, SettingsFromDb settingsFromDb,
IRobotConfigurationService robotConfigurationService, IRobotConfigurationService robotConfigurationService,
IEsppScheduleTransformService esppScheduleTransformService IEsppScheduleTransformService esppScheduleTransformService,
ILogger<RobotTaskController> logger
) )
{ {
this.mapper = mapper; this.mapper = mapper;
this.settingsFromDb = settingsFromDb; this.settingsFromDb = settingsFromDb;
this.robotConfigurationService = robotConfigurationService; this.robotConfigurationService = robotConfigurationService;
this.esppScheduleTransformService = esppScheduleTransformService; this.esppScheduleTransformService = esppScheduleTransformService;
this.logger = logger;
} }
@@ -143,12 +146,28 @@ namespace PARR.API.Controllers.V1
// передаем LastRun, если его нет, то NextRun // передаем LastRun, если его нет, то NextRun
var nextRun = await esppScheduleTransformService.GetNextDateAsync(task.Template!.ApplicationInWorkId, task.Template.ApplicationsInWork!.LastRun ?? task.Template.ApplicationsInWork.NextRun); var nextRun = await esppScheduleTransformService.GetNextDateAsync(task.Template!.ApplicationInWorkId, task.Template.ApplicationsInWork!.LastRun ?? task.Template.ApplicationsInWork.NextRun);
if (nextRun != appInWorks.NextRun)
{
logger.LogDebug($"Для appilcationInWork id {task.Template.ApplicationInWorkId}, шаблона id {task.TemplateId} обновляю nextRun, новое значение {nextRun}, старое значение {appInWorks.NextRun}");
if (appInWorks.NextRun < DateTimeOffset.UtcNow)
{
logger.LogDebug($"Для appilcationInWork id {task.Template.ApplicationInWorkId}, шаблона id {task.TemplateId} обновляю lastRun, новое значение {appInWorks.NextRun}, старое значение {appInWorks.LastRun}");
appInWorks.LastRun = appInWorks.NextRun;
}
appInWorks.NextRun = nextRun;
await robotConfigurationService.CommitAsync();
}
//if (appInWorks.LastRun != null) // if - ерунда какая-то. ошибка видимо. //if (appInWorks.LastRun != null) // if - ерунда какая-то. ошибка видимо.
appInWorks.LastRun = appInWorks.NextRun; //if (nextRun > DateTimeOffset.UtcNow)
// appInWorks.LastRun = appInWorks.NextRun;
appInWorks.NextRun = nextRun; //appInWorks.NextRun = nextRun;
await robotConfigurationService.CommitAsync(); //await robotConfigurationService.CommitAsync();
} }
} }
} }