Merge branch 'dev'

This commit is contained in:
ngfrolov 2024-04-01 11:57:23 +05:00
commit 004d871ebd
Signed by: ng.frolov
GPG Key ID: E99907A0357B29A7
3 changed files with 15 additions and 13 deletions

View File

@ -9,23 +9,23 @@ namespace AsbCloudApp.Requests
{ {
/// <summary> /// <summary>
/// Изменение уставки факт перепада давления от первого значения в начале интервала /// Изменение уставки факт перепада давления от первого значения в начале интервала
/// Не менее 5 атм и не более 15(50) атм; /// Не менее 5 атм и не более 50 атм;
/// </summary> /// </summary>
[Range(5, 15, ErrorMessage = "Изменение уставки факт перепада давления не может быть меньше 5 и больше 15 атм")] [Range(5, 50, ErrorMessage = "Изменение уставки факт перепада давления не может быть меньше 5 и больше 50 атм")]
public double DeltaPressure { get; set; } = 5d; public double DeltaPressure { get; set; } = 5d;
/// <summary> /// <summary>
/// Изменение уставки факт осевой нагрузки от первого значения в начале интервала /// Изменение уставки факт осевой нагрузки от первого значения в начале интервала
/// Не менее 1 т и не более 5(20) т; /// Не менее 1 т и не более 20 т;
/// </summary> /// </summary>
[Range(1, 5, ErrorMessage = "Изменение уставки факт осевой нагрузки не может быть меньше 1 и больше 5 т")] [Range(1, 20, ErrorMessage = "Изменение уставки факт осевой нагрузки не может быть меньше 1 и больше 20 т")]
public double DeltaAxialLoad { get; set; } = 1d; public double DeltaAxialLoad { get; set; } = 1d;
/// <summary> /// <summary>
/// Изменение уставки момента от первого значения в начале интервала /// Изменение уставки момента от первого значения в начале интервала
/// Не менее 5 кН*м и не более 10(20) кН*м. /// Не менее 5 кН*м и не более 20 кН*м.
/// </summary> /// </summary>
[Range(5, 10, ErrorMessage = "Изменение уставки момента не может быть меньше 5 и больше 10 кН*м")] [Range(5, 20, ErrorMessage = "Изменение уставки момента не может быть меньше 5 и больше 20 кН*м")]
public double DeltaRotorTorque { get; set; } = 5d; public double DeltaRotorTorque { get; set; } = 5d;
/// <summary> /// <summary>

View File

@ -11,7 +11,6 @@ using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using AsbCloudInfrastructure.Services.DetectOperations.Detectors; using AsbCloudInfrastructure.Services.DetectOperations.Detectors;
using AsbCloudInfrastructure.Services.SAUB;
namespace AsbCloudInfrastructure.Services.DetectOperations; namespace AsbCloudInfrastructure.Services.DetectOperations;
@ -20,6 +19,7 @@ public class DetectedOperationService : IDetectedOperationService
private readonly IDetectedOperationRepository operationRepository; private readonly IDetectedOperationRepository operationRepository;
private readonly IWellOperationCategoryRepository wellOperationCategoryRepository; private readonly IWellOperationCategoryRepository wellOperationCategoryRepository;
private readonly IWellService wellService; private readonly IWellService wellService;
private readonly ITelemetryService telemetryService;
private readonly IRepositoryWellRelated<OperationValueDto> operationValueRepository; private readonly IRepositoryWellRelated<OperationValueDto> operationValueRepository;
private readonly IScheduleRepository scheduleRepository; private readonly IScheduleRepository scheduleRepository;
private readonly ITelemetryDataSaubService telemetryDataSaubService; private readonly ITelemetryDataSaubService telemetryDataSaubService;
@ -34,6 +34,7 @@ public class DetectedOperationService : IDetectedOperationService
IDetectedOperationRepository operationRepository, IDetectedOperationRepository operationRepository,
IWellOperationCategoryRepository wellOperationCategoryRepository, IWellOperationCategoryRepository wellOperationCategoryRepository,
IWellService wellService, IWellService wellService,
ITelemetryService telemetryService,
IRepositoryWellRelated<OperationValueDto> operationValueRepository, IRepositoryWellRelated<OperationValueDto> operationValueRepository,
IScheduleRepository scheduleRepository, IScheduleRepository scheduleRepository,
ITelemetryDataSaubService telemetryDataSaubService) ITelemetryDataSaubService telemetryDataSaubService)
@ -41,6 +42,7 @@ public class DetectedOperationService : IDetectedOperationService
this.operationRepository = operationRepository; this.operationRepository = operationRepository;
this.wellOperationCategoryRepository = wellOperationCategoryRepository; this.wellOperationCategoryRepository = wellOperationCategoryRepository;
this.wellService = wellService; this.wellService = wellService;
this.telemetryService = telemetryService;
this.operationValueRepository = operationValueRepository; this.operationValueRepository = operationValueRepository;
this.scheduleRepository = scheduleRepository; this.scheduleRepository = scheduleRepository;
this.telemetryDataSaubService = telemetryDataSaubService; this.telemetryDataSaubService = telemetryDataSaubService;
@ -143,6 +145,7 @@ public class DetectedOperationService : IDetectedOperationService
const int minOperationLength = 5; const int minOperationLength = 5;
const int maxDetectorsInterpolationFrameLength = 30; const int maxDetectorsInterpolationFrameLength = 30;
const int gap = maxDetectorsInterpolationFrameLength + minOperationLength; const int gap = maxDetectorsInterpolationFrameLength + minOperationLength;
var timezone = telemetryService.GetTimezone(idTelemetry);
while (true) while (true)
{ {
@ -153,13 +156,12 @@ public class DetectedOperationService : IDetectedOperationService
Order = 0 Order = 0
}; };
var detectableTelemetries = (await telemetryDataSaubService.GetByTelemetryAsync(idTelemetry, request, token)) var dtos = await telemetryDataSaubService.GetByTelemetryAsync(idTelemetry, request, token);
var detectableTelemetries = dtos
.Where(t => t.BlockPosition >= 0) .Where(t => t.BlockPosition >= 0)
.Select(t => t as TelemetryNewDataSaubDto)
.Where (t => t is not null)
.Select(t => new DetectableTelemetry .Select(t => new DetectableTelemetry
{ {
DateTime = t.DateTime, DateTime = new DateTimeOffset(t.DateTime, timezone.Offset),
IdUser = t.IdUser, IdUser = t.IdUser,
Mode = t.Mode, Mode = t.Mode,
WellDepth = t.WellDepth, WellDepth = t.WellDepth,

View File

@ -129,10 +129,10 @@ public class TelemetryDataSaubService : TelemetryDataBaseService<TelemetryDataSa
protected override TelemetryDataSaubDto Convert(TelemetryDataSaub src, double timezoneOffset) protected override TelemetryDataSaubDto Convert(TelemetryDataSaub src, double timezoneOffset)
{ {
var dto = src.Adapt<TelemetryNewDataSaubDto>(); var dto = src.Adapt<TelemetryDataSaubDto>();
var telemetryUser = telemetryUserService.GetOrDefault(src.IdTelemetry, src.IdUser ?? int.MinValue); var telemetryUser = telemetryUserService.GetOrDefault(src.IdTelemetry, src.IdUser ?? int.MinValue);
dto.User = telemetryUser?.MakeDisplayName(); dto.User = telemetryUser?.MakeDisplayName();
dto.DateTime = src.DateTime.ToOffset(TimeSpan.FromHours(timezoneOffset)); // src.DateTime.ToRemoteDateTime(timezoneOffset); dto.DateTime = src.DateTime.ToRemoteDateTime(timezoneOffset);
dto.BitDepth = src.BitDepth <= src.WellDepth dto.BitDepth = src.BitDepth <= src.WellDepth
? src.BitDepth ? src.BitDepth
: src.WellDepth; : src.WellDepth;