fix(dal): TransformService в методе получения расписания агенту добавляется lastRun если оно уже является будущим временем
This commit is contained in:
@@ -82,8 +82,15 @@ namespace PARR.DAL.TransformServices
|
|||||||
public List<DateTimeOffset> GetNextSchedule(EsppScheduleDto esppSchedule, DateTimeOffset lastRun)
|
public List<DateTimeOffset> GetNextSchedule(EsppScheduleDto esppSchedule, DateTimeOffset lastRun)
|
||||||
{
|
{
|
||||||
// расписание на оставшееся на сегодня время. его так мало...
|
// расписание на оставшееся на сегодня время. его так мало...
|
||||||
|
lastRun = lastRun.UtcDateTime;
|
||||||
var schedules = new List<DateTimeOffset>();
|
var schedules = new List<DateTimeOffset>();
|
||||||
var curTime = lastRun;
|
var curTime = lastRun;
|
||||||
|
|
||||||
|
//Если ещё не произошло то добавляем расписание, возможно это новое AiW и он ещё ниразу не запускался.
|
||||||
|
//lastRun это будущее
|
||||||
|
if (lastRun >= DateTimeOffset.UtcNow && lastRun <= DateTimeOffset.UtcNow.EndOfDay())
|
||||||
|
schedules.Add(lastRun);
|
||||||
|
|
||||||
while (curTime < DateTimeOffset.UtcNow.EndOfDay())
|
while (curTime < DateTimeOffset.UtcNow.EndOfDay())
|
||||||
{
|
{
|
||||||
switch (esppSchedule.TypeSchedule.Id)
|
switch (esppSchedule.TypeSchedule.Id)
|
||||||
@@ -118,20 +125,20 @@ namespace PARR.DAL.TransformServices
|
|||||||
|
|
||||||
public async Task<DateTimeOffset> GetNextDateAsync(Guid applicationInWorkId, DateTimeOffset lastRun)
|
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)
|
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);
|
var nextSchedule = GetNextSchedule(esppSchedule, lastRun);
|
||||||
|
|
||||||
return nextSchedule;
|
return nextSchedule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private async Task<EsppScheduleDto> GetEsppSchedule(Guid applicationInWorkId)
|
private async Task<EsppScheduleDto> GetEsppScheduleAsync(Guid applicationInWorkId)
|
||||||
{
|
{
|
||||||
var esppSchedule = await esppSchTypeConfigService.GetEsppScheduleDtoAsync(applicationInWorkId);
|
var esppSchedule = await esppSchTypeConfigService.GetEsppScheduleDtoAsync(applicationInWorkId);
|
||||||
if (esppSchedule == null)
|
if (esppSchedule == null)
|
||||||
|
|||||||
Reference in New Issue
Block a user