diff --git a/AsbCloudApp/Repositories/IDataSaubStatRepository.cs b/AsbCloudApp/Repositories/IDataSaubStatRepository.cs index 941d6465..9dfa351c 100644 --- a/AsbCloudApp/Repositories/IDataSaubStatRepository.cs +++ b/AsbCloudApp/Repositories/IDataSaubStatRepository.cs @@ -1,4 +1,5 @@ using AsbCloudApp.Data; +using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -14,11 +15,11 @@ namespace AsbCloudApp.Repositories /// Получение записей по ключу телеметрии /// /// ключ телеметрии - /// начальная глубина - /// конечная глубина + /// начальная дата + /// конечная дата /// /// - Task> GetAsync(int idTelemetry, double geDepth, double leDepth, CancellationToken token); + Task> GetAsync(int idTelemetry, DateTimeOffset geDate, DateTimeOffset leDate, CancellationToken token); /// /// Получение последних по дате окончания бурения записей в разрезе телеметрий diff --git a/AsbCloudInfrastructure/Repository/DataSaubStatRepository.cs b/AsbCloudInfrastructure/Repository/DataSaubStatRepository.cs index 72737a0b..f4783356 100644 --- a/AsbCloudInfrastructure/Repository/DataSaubStatRepository.cs +++ b/AsbCloudInfrastructure/Repository/DataSaubStatRepository.cs @@ -40,14 +40,14 @@ namespace AsbCloudInfrastructure.Repository return result; } - public async Task> GetAsync(int idTelemetry, double geDepth, double leDepth, CancellationToken token) + public async Task> GetAsync(int idTelemetry, DateTimeOffset geDate, DateTimeOffset leDate, CancellationToken token) { var timeSpan = TimeSpan.FromHours(telemetryService.GetTimezone(idTelemetry).Hours); var stats = await db.Set() .Where(s => s.IdTelemetry == idTelemetry) - .Where(s => s.DepthStart >= geDepth) - .Where(s => s.DepthEnd <= leDepth) + .Where(s => s.DateStart >= geDate) + .Where(s => s.DateEnd <= leDate) .ToArrayAsync(token); var result = stats.Select(s => ConvertToDto(s, timeSpan)); diff --git a/AsbCloudInfrastructure/Services/ProcessMaps/Report/ProcessMapReportDataSaubStatService.cs b/AsbCloudInfrastructure/Services/ProcessMaps/Report/ProcessMapReportDataSaubStatService.cs index 0dfbf755..ae90510e 100644 --- a/AsbCloudInfrastructure/Services/ProcessMaps/Report/ProcessMapReportDataSaubStatService.cs +++ b/AsbCloudInfrastructure/Services/ProcessMaps/Report/ProcessMapReportDataSaubStatService.cs @@ -67,8 +67,10 @@ namespace AsbCloudInfrastructure.Services.ProcessMaps.Report if (!wellOperations.Any()) return Enumerable.Empty(); + var geDate = wellOperations.Min(p => p.DateStart).ToUniversalTime(); + var leDate = wellOperations.Max(p => (p.DateStart.AddHours(p.DurationHours))).ToUniversalTime(); var dataSaubStats = - (await dataSaubStatRepository.GetAsync(well.IdTelemetry.Value, geDepth, leDepth, token)).ToArray(); + (await dataSaubStatRepository.GetAsync(well.IdTelemetry.Value, geDate, leDate, token)).ToArray(); if (!dataSaubStats.Any()) return Enumerable.Empty();