feat(api): заготовка для перерасчета nextRun

This commit is contained in:
Mikhail Trubnikov
2024-02-26 14:27:54 +10:00
parent 57fdb4e2bc
commit dc3ba807cc
5 changed files with 2596 additions and 3 deletions

View File

@@ -95,7 +95,7 @@ namespace PARR.DAL.Context
new { Name = nameof(SettingsFromDb.ScheduleTimezone), Description = "Расписание регламентной работы - В каком часовом поясе", Value = "MSK" },
new { Name = nameof(SettingsFromDb.ScheduleExclude), Description = "Расписание регламентной работы - Тип исключения", Value = "Нет исключений" },
new { Name = nameof(SettingsFromDb.ScheduleRepeatRange), Description = "Расписание регламентной работы - Диапазн повторов", Value = "Отсутствует дата завершения" },
new { Name = nameof(SettingsFromDb.OrderSearchDeltaDate), Description = "Промежуток времени для поиска нарядов в ЕСПП", Value = new TimeSpan(1, 30, 0).ToString() }
new { Name = nameof(SettingsFromDb.OrderSearchDeltaDate), Description = "Промежуток времени для поиска нарядов в ЕСПП", Value = new TimeSpan(1, 0, 0).ToString() }
);
});
#endregion

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,32 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PARR.DAL.Migrations
{
/// <inheritdoc />
public partial class tblSettingsUpdOrderSearchDeltaDate : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "Settings",
keyColumn: "Name",
keyValue: "OrderSearchDeltaDate",
column: "Value",
value: "01:00:00");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "Settings",
keyColumn: "Name",
keyValue: "OrderSearchDeltaDate",
column: "Value",
value: "01:30:00");
}
}
}

View File

@@ -1854,7 +1854,7 @@ namespace PARR.DAL.Migrations
{
Name = "OrderSearchDeltaDate",
Description = "Промежуток времени для поиска нарядов в ЕСПП",
Value = "01:30:00"
Value = "01:00:00"
});
});

View File

@@ -53,7 +53,8 @@ namespace PARR.EsppOrderLoader.Services
StatusCode = (int)orderStatusService.GetOrderStatusByName(esppOrder.Status),
GenerateDate = template == null ?
null
: CalcGenerationDate(esppOrder.ExpirationDateUTC, template.ApplicationsInWork!.TemplateDurationTimeSpan),
: CalcGenerationDate(template.ApplicationsInWork!.NextRun),
//CalcGenerationDate(esppOrder.ExpirationDateUTC, template.ApplicationsInWork!.TemplateDurationTimeSpan),
ExpirationDate = esppOrder.ExpirationDateUTC
};
@@ -64,6 +65,12 @@ namespace PARR.EsppOrderLoader.Services
}
/// <summary>
/// Рассчет GenerationDate относительно templateDuration
/// </summary>
/// <param name="expirationDateUTC"></param>
/// <param name="templateDuration"></param>
/// <returns></returns>
private DateTimeOffset? CalcGenerationDate(DateTimeOffset expirationDateUTC, TimeSpan? templateDuration)
{
//TimeSpan duration;
@@ -89,5 +96,29 @@ namespace PARR.EsppOrderLoader.Services
}
}
/// <summary>
/// Рассчет GenerationDate относительно текущей даты и nextRun из ApplicationInWorks
/// </summary>
/// <param name="expirationDateUTC"></param>
/// <param name="nextRun"></param>
/// <returns></returns>
private DateTimeOffset? CalcGenerationDate(DateTimeOffset nextRun)
{
var date = DateTimeOffset.UtcNow;
// подумать о переходе суток.
// подумать о NextRun, если он уже пересчитался
//DateCreated = dtUtcNow
var generationDate = new DateTimeOffset(2024, 2, 26, 12, 36, 0, new TimeSpan(0));
return generationDate;
}
}
}