From 3c67d22bbd70051ea145c83eec38004b26664d3e Mon Sep 17 00:00:00 2001 From: ngfrolov Date: Fri, 29 Apr 2022 15:54:01 +0500 Subject: [PATCH] Fix filter --- .../DetectOperations/DetectedOperationService.cs | 4 ++-- .../{ => Detectors}/DetectorAbstract.cs | 15 ++++++++------- .../Services/DetectOperations/Readme.md | 5 +++++ .../Services/DetectOperations/Readme.md.txt | 1 - 4 files changed, 15 insertions(+), 10 deletions(-) rename AsbCloudInfrastructure/Services/DetectOperations/{ => Detectors}/DetectorAbstract.cs (83%) create mode 100644 AsbCloudInfrastructure/Services/DetectOperations/Readme.md delete mode 100644 AsbCloudInfrastructure/Services/DetectOperations/Readme.md.txt diff --git a/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs b/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs index 76068849..ca358a21 100644 --- a/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs +++ b/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs @@ -67,13 +67,13 @@ namespace AsbCloudInfrastructure.Services.DetectOperations query = query.Where(o => o.DateStart >= request.GtDate.Value.ToUtcDateTimeOffset(well.Timezone.Hours)); if (request.LtDate is not null) - query = query.Where(o => o.DateStart <= request.LtDate.Value.ToUtcDateTimeOffset(well.Timezone.Hours)); + query = query.Where(o => o.DateEnd <= request.LtDate.Value.ToUtcDateTimeOffset(well.Timezone.Hours)); if (request.GtDepth is not null) query = query.Where(o => o.DepthStart >= request.GtDepth); if (request.LtDepth is not null) - query = query.Where(o => o.DepthStart <= request.LtDepth); + query = query.Where(o => o.DepthEnd <= request.LtDepth); if (request.EqIdTelemetryUser is not null) query = query.Where(o => o.IdUsersAtStart == request.EqIdTelemetryUser); diff --git a/AsbCloudInfrastructure/Services/DetectOperations/DetectorAbstract.cs b/AsbCloudInfrastructure/Services/DetectOperations/Detectors/DetectorAbstract.cs similarity index 83% rename from AsbCloudInfrastructure/Services/DetectOperations/DetectorAbstract.cs rename to AsbCloudInfrastructure/Services/DetectOperations/Detectors/DetectorAbstract.cs index 256fa268..8c3a42ce 100644 --- a/AsbCloudInfrastructure/Services/DetectOperations/DetectorAbstract.cs +++ b/AsbCloudInfrastructure/Services/DetectOperations/Detectors/DetectorAbstract.cs @@ -1,9 +1,4 @@ using AsbCloudDb.Model; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace AsbCloudInfrastructure.Services.DetectOperations { @@ -39,12 +34,18 @@ namespace AsbCloudInfrastructure.Services.DetectOperations { if (DetectEnd(telemetry, skip)) { + var dateStart = telemetry[position].DateTime; + var dateEnd = telemetry[skip].DateTime; + var durationSec = (dateEnd - dateStart).TotalSeconds; + if (durationSec < MinDurationSeconds || durationSec > MaxDurationSeconds) + return null; + var result = new DetectedOperation { IdCategory = IdCategory, IdUsersAtStart = telemetry[position].IdUser ?? -1, - DateStart = telemetry[position].DateTime, - DateEnd = telemetry[skip].DateTime, + DateStart = dateStart, + DateEnd = dateEnd, DepthStart = telemetry[position].WellDepth ?? -1d, DepthEnd = telemetry[skip].WellDepth ?? -1d, }; diff --git a/AsbCloudInfrastructure/Services/DetectOperations/Readme.md b/AsbCloudInfrastructure/Services/DetectOperations/Readme.md new file mode 100644 index 00000000..5a7c6528 --- /dev/null +++ b/AsbCloudInfrastructure/Services/DetectOperations/Readme.md @@ -0,0 +1,5 @@ +# Сервис определения операций по данным телеметрии + +Классы: + +**DetectableTelemetry** - обертка над классами телеметрий, которые можно проанализировать. \ No newline at end of file diff --git a/AsbCloudInfrastructure/Services/DetectOperations/Readme.md.txt b/AsbCloudInfrastructure/Services/DetectOperations/Readme.md.txt deleted file mode 100644 index 5f282702..00000000 --- a/AsbCloudInfrastructure/Services/DetectOperations/Readme.md.txt +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file