From 0f93c637e0114df2a007187416dfdb37f2792b35 Mon Sep 17 00:00:00 2001 From: Olga Nemt Date: Wed, 14 Feb 2024 15:28:37 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BB=D1=8C=D1=82=D1=80=20=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D1=82=D0=B8=D1=81=D1=82=D0=B8=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=B4=D0=B0=D1=82=D0=B5,=20=D0=B0=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=B3=D0=BB=D1=83=D0=B1=D0=B8=D0=BD=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AsbCloudApp/Repositories/IDataSaubStatRepository.cs | 7 ++++--- .../Repository/DataSaubStatRepository.cs | 6 +++--- .../Report/ProcessMapReportDataSaubStatService.cs | 4 +++- 3 files changed, 10 insertions(+), 7 deletions(-) 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();