diff --git a/AsbCloudApp/Data/SAUB/TelemetryDataSaubDto.cs b/AsbCloudApp/Data/SAUB/TelemetryDataSaubDto.cs
index cf2ee0ad..d1fd540b 100644
--- a/AsbCloudApp/Data/SAUB/TelemetryDataSaubDto.cs
+++ b/AsbCloudApp/Data/SAUB/TelemetryDataSaubDto.cs
@@ -44,162 +44,162 @@ namespace AsbCloudApp.Data.SAUB
public string? User { get; set; }
///
- /// Глубина забоя
+ /// Глубина забоя, м
///
public float? WellDepth { get; set; }
///
- /// Глубина долота
+ /// Глубина долота, м
///
public float? BitDepth { get; set; }
///
- /// Талевый блок. Положение
+ /// Талевый блок. Положение, м
///
public float? BlockPosition { get; set; }
///
- /// Талевый блок. Мин положение
+ /// Талевый блок. Мин положение, м
///
public float? BlockPositionMin { get; set; }
///
- /// Талевый блок. Макс положение
+ /// Талевый блок. Макс положение, м
///
public float? BlockPositionMax { get; set; }
///
- /// Талевый блок. Скорость
+ /// Талевый блок. Скорость, м/час
///
public float? BlockSpeed { get; set; }
///
- /// Талевый блок. Задание скорости
+ /// Талевый блок. Задание скорости, м/час
///
public float? BlockSpeedSp { get; set; }
///
- /// Талевый блок. Задание скорости для роторного бурения
+ /// Талевый блок. Задание скорости для роторного бурения, м/час
///
public float? BlockSpeedSpRotor { get; set; }
///
- /// Талевый блок. Задание скорости для режима слайда
+ /// Талевый блок. Задание скорости для режима слайда, м/час
///
public float? BlockSpeedSpSlide { get; set; }
///
- /// Талевый блок. Задание скорости для проработки
+ /// Талевый блок. Задание скорости для проработки, м/час
///
public float? BlockSpeedSpDevelop { get; set; }
///
- /// Давление
+ /// Давление, атм
///
public float? Pressure { get; set; }
///
- /// Давление при холостом ходе.
+ /// Давление при холостом ходе, атм
///
public float? PressureIdle { get; set; }
///
- /// действующее задание давления
+ /// действующее задание давления, атм
///
public float? PressureSp { get; set; }
///
- /// задание давления для роторного режима
+ /// задание давления для роторного режима, атм
///
public float? PressureSpRotor { get; set; }
///
- /// задание давления для режима слайда
+ /// задание давления для режима слайда, атм
///
public float? PressureSpSlide { get; set; }
///
- /// задание давления для проработки
+ /// задание давления для проработки, атм
///
public float? PressureSpDevelop { get; set; }
///
- /// ограничение макс перепада давления
+ /// ограничение макс перепада давления, атм
///
public float? PressureDeltaLimitMax { get; set; }
///
- /// осевая нагрузка
+ /// осевая нагрузка, т
///
public float? AxialLoad { get; set; }
///
- /// задание осевой нагрузки
+ /// задание осевой нагрузки, т
///
public float? AxialLoadSp { get; set; }
///
- /// ограничение макс. осевой нагрузки
+ /// ограничение макс. осевой нагрузки, т
///
public float? AxialLoadLimitMax { get; set; }
///
- /// Вес на крюке
+ /// Вес на крюке, т
///
public float? HookWeight { get; set; }
///
- /// Вес на крюке на х.х.
+ /// Вес на крюке на х.х., т
///
public float? HookWeightIdle { get; set; }
///
- /// ограничение мин веса на крюке
+ /// ограничение мин веса на крюке, т
///
public float? HookWeightLimitMin { get; set; }
///
- /// ограничение макс веса на крюке
+ /// ограничение макс веса на крюке, т
///
public float? HookWeightLimitMax { get; set; }
///
- /// момент ротора
+ /// момент ротора, кН*м
///
public float? RotorTorque { get; set; }
///
- /// момент ротора на х.х.
+ /// момент ротора на х.х., кН*м
///
public float? RotorTorqueIdle { get; set; }
///
- /// задание момента ротора
+ /// задание момента ротора, кН*м
///
public float? RotorTorqueSp { get; set; }
///
- /// ограничение момента ротора
+ /// ограничение момента ротора, кН*м
///
public float? RotorTorqueLimitMax { get; set; }
///
- /// скорость ротора
+ /// скорость ротора, об/мин
///
public float? RotorSpeed { get; set; }
///
- /// расход
+ /// расход, л/с
///
public float? Flow { get; set; }
///
- /// расход на х.х.
+ /// расход на х.х., л/с
///
public float? FlowIdle { get; set; }
///
- /// ограничение макс расхода
+ /// ограничение макс расхода, л/с
///
public float? FlowDeltaLimitMax { get; set; }
diff --git a/AsbCloudInfrastructure/Repository/WellOperationRepository.cs b/AsbCloudInfrastructure/Repository/WellOperationRepository.cs
index af14d6b8..c62b2858 100644
--- a/AsbCloudInfrastructure/Repository/WellOperationRepository.cs
+++ b/AsbCloudInfrastructure/Repository/WellOperationRepository.cs
@@ -50,8 +50,7 @@ namespace AsbCloudInfrastructure.Repository
}
var result = categories
- .OrderBy(o => o.IdParent)
- .ThenBy(o => o.Name)
+ .OrderBy(o => o.Name)
.Adapt>();
return result;
diff --git a/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs b/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs
index 885edc03..88ba617d 100644
--- a/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs
+++ b/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs
@@ -121,7 +121,8 @@ namespace AsbCloudInfrastructure.Services.SAUB
_ => 32_768
};
- var data = await GetOrDefaultAsync(idWell, beginDate, intervalSec, approxPointsCount, token );
+ var data = await GetOrDefaultAsync(idWell, beginDate, intervalSec, approxPointsCount, token )
+ ?? Enumerable.Empty();
var fileName = $"DataSaub idWell{idWell}";
if (telemetry.Info is not null)
diff --git a/AsbCloudWebApi.Tests/Middlware/UserConnectionsLimitMiddlwareTest.cs b/AsbCloudWebApi.Tests/Middlware/UserConnectionsLimitMiddlwareTest.cs
index 7c2166be..78abcb1d 100644
--- a/AsbCloudWebApi.Tests/Middlware/UserConnectionsLimitMiddlwareTest.cs
+++ b/AsbCloudWebApi.Tests/Middlware/UserConnectionsLimitMiddlwareTest.cs
@@ -6,6 +6,7 @@ using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting;
using System;
using System.Collections.Generic;
+using System.IO;
using System.Linq;
using System.Net.Http;
using System.Threading;
@@ -42,6 +43,11 @@ namespace AsbCloudWebApi.Tests.Middlware
public Task> GetTelemetryDataStatAsync(int idTelemetry, CancellationToken token) => throw new NotImplementedException();
+ public Task GetZippedCsv(int idWell, DateTime beginDate, DateTime endDate, CancellationToken token)
+ {
+ throw new NotImplementedException();
+ }
+
public Task UpdateDataAsync(string uid, IEnumerable dtos, CancellationToken token) => throw new NotImplementedException();
}