From 42d886c3004ee192e2dad9115db93af0f6d17117 Mon Sep 17 00:00:00 2001 From: Mikhail Trubnikov Date: Tue, 27 Feb 2024 16:01:08 +1000 Subject: [PATCH] fix(api): RobotTaskController, lastRun. nextRun --- .../Controllers/V1/RobotTaskController.cs | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/PARR.API/Controllers/V1/RobotTaskController.cs b/PARR.API/Controllers/V1/RobotTaskController.cs index 1730ebee..bd46b437 100644 --- a/PARR.API/Controllers/V1/RobotTaskController.cs +++ b/PARR.API/Controllers/V1/RobotTaskController.cs @@ -21,18 +21,21 @@ namespace PARR.API.Controllers.V1 private readonly SettingsFromDb settingsFromDb; private readonly IRobotConfigurationService robotConfigurationService; private readonly IEsppScheduleTransformService esppScheduleTransformService; + private readonly ILogger logger; public RobotTaskController( IMapper mapper, SettingsFromDb settingsFromDb, IRobotConfigurationService robotConfigurationService, - IEsppScheduleTransformService esppScheduleTransformService + IEsppScheduleTransformService esppScheduleTransformService, + ILogger logger ) { this.mapper = mapper; this.settingsFromDb = settingsFromDb; this.robotConfigurationService = robotConfigurationService; this.esppScheduleTransformService = esppScheduleTransformService; + this.logger = logger; } @@ -143,12 +146,28 @@ namespace PARR.API.Controllers.V1 // передаем LastRun, если его нет, то 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 - ерунда какая-то. ошибка видимо. - appInWorks.LastRun = appInWorks.NextRun; + //if (nextRun > DateTimeOffset.UtcNow) + // appInWorks.LastRun = appInWorks.NextRun; - appInWorks.NextRun = nextRun; + //appInWorks.NextRun = nextRun; - await robotConfigurationService.CommitAsync(); + //await robotConfigurationService.CommitAsync(); } } }