fix(dal): TransformService в методе получения расписания агенту добавляется lastRun если оно уже является будущим временем

This commit is contained in:
Mikhail Kuznetsov
2023-11-28 11:59:26 +10:00
parent 8f385ed2d2
commit 4ea2be0634

View File

@@ -82,8 +82,15 @@ namespace PARR.DAL.TransformServices
public List<DateTimeOffset> GetNextSchedule(EsppScheduleDto esppSchedule, DateTimeOffset lastRun)
{
// расписание на оставшееся на сегодня время. его так мало...
lastRun = lastRun.UtcDateTime;
var schedules = new List<DateTimeOffset>();
var curTime = lastRun;
//Если ещё не произошло то добавляем расписание, возможно это новое AiW и он ещё ниразу не запускался.
//lastRun это будущее
if (lastRun >= DateTimeOffset.UtcNow && lastRun <= DateTimeOffset.UtcNow.EndOfDay())
schedules.Add(lastRun);
while (curTime < DateTimeOffset.UtcNow.EndOfDay())
{
switch (esppSchedule.TypeSchedule.Id)
@@ -118,20 +125,20 @@ namespace PARR.DAL.TransformServices
public async Task<DateTimeOffset> GetNextDateAsync(Guid applicationInWorkId, DateTimeOffset lastRun)
{
return GetNextDate(await GetEsppSchedule(applicationInWorkId), lastRun);
return GetNextDate(await GetEsppScheduleAsync(applicationInWorkId), lastRun);
}
public async Task<List<DateTimeOffset>> GetNextScheduleAsync(Guid applicationInWorkId, DateTimeOffset lastRun)
{
var esppSchedule = await GetEsppSchedule(applicationInWorkId);
var esppSchedule = await GetEsppScheduleAsync(applicationInWorkId);
var nextSchedule = GetNextSchedule(esppSchedule, lastRun);
return nextSchedule;
}
private async Task<EsppScheduleDto> GetEsppSchedule(Guid applicationInWorkId)
private async Task<EsppScheduleDto> GetEsppScheduleAsync(Guid applicationInWorkId)
{
var esppSchedule = await esppSchTypeConfigService.GetEsppScheduleDtoAsync(applicationInWorkId);
if (esppSchedule == null)