diff --git a/AsbCloudApp/Data/Subsystems/SubsystemActiveWellStatDto.cs b/AsbCloudApp/Data/Subsystems/SubsystemActiveWellStatDto.cs
index 6ca35fcf..bdcdd301 100644
--- a/AsbCloudApp/Data/Subsystems/SubsystemActiveWellStatDto.cs
+++ b/AsbCloudApp/Data/Subsystems/SubsystemActiveWellStatDto.cs
@@ -1,7 +1,7 @@
 using System.Collections.Generic;
-
 namespace AsbCloudApp.Data.Subsystems
 {
+#nullable enable
     /// <summary>
     /// Статистика наработки подсистем по активным скважинам
     /// </summary>
@@ -14,19 +14,19 @@ namespace AsbCloudApp.Data.Subsystems
         /// <summary>
         /// Наработки подсистемы АКБ
         /// </summary>
-        public SubsystemStatDto SubsystemAKB { get; set; }
+        public SubsystemStatDto? SubsystemAKB { get; set; }
         /// <summary>
         /// Наработки подсистемы МСЕ
         /// </summary>
-        public SubsystemStatDto SubsystemMSE { get; set; }
+        public SubsystemStatDto? SubsystemMSE { get; set; }
         /// <summary>
         /// Наработки подсистемы СПИН
         /// </summary>
-        public SubsystemStatDto SubsystemSpinMaster { get; set; }
+        public SubsystemStatDto? SubsystemSpinMaster { get; set; }
         /// <summary>
         /// Наработки подсистемы ТОРК
         /// </summary>
-        public SubsystemStatDto SubsystemTorqueMaster { get; set; }
-
+        public SubsystemStatDto? SubsystemTorqueMaster { get; set; }
     }
+#nullable disable
 }
\ No newline at end of file
diff --git a/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs b/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs
index f5816b1b..35970bca 100644
--- a/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs
+++ b/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs
@@ -18,7 +18,7 @@ namespace AsbCloudInfrastructure.Services.DetectOperations
 #nullable enable
     public class DetectedOperationService : IDetectedOperationService
     {
-        public const int IdOperationRotor = 1;
+        public const int IdOperationRotor = 2;
         public const int IdOperationSlide = 3;
         public const int IdOperationSlipsTime = 14;
         public const int idOperationFlushing = 22;
@@ -95,8 +95,8 @@ namespace AsbCloudInfrastructure.Services.DetectOperations
                     .Select(g => new
                     {
                        IdTelemetry = g.Key,
-                       RotorDepthInterval = g.Where(o => o.IdCategory == 1).Sum(o => o.DepthEnd - o.DepthStart),
-                       SlideDepthInterval = g.Where(o => o.IdCategory == 3).Sum(o => o.DepthEnd - o.DepthStart)
+                       RotorDepthInterval = g.Where(o => o.IdCategory == IdOperationRotor).Sum(o => o.DepthEnd - o.DepthStart),
+                       SlideDepthInterval = g.Where(o => o.IdCategory == IdOperationSlide).Sum(o => o.DepthEnd - o.DepthStart)
                     });
             var data = await query.ToListAsync(token);
             if (data.Any())
diff --git a/AsbCloudInfrastructure/Services/Subsystems/SubsystemOperationTimeService.cs b/AsbCloudInfrastructure/Services/Subsystems/SubsystemOperationTimeService.cs
index 7a8a32fe..f155c8af 100644
--- a/AsbCloudInfrastructure/Services/Subsystems/SubsystemOperationTimeService.cs
+++ b/AsbCloudInfrastructure/Services/Subsystems/SubsystemOperationTimeService.cs
@@ -202,7 +202,11 @@ namespace AsbCloudInfrastructure.Services.Subsystems
             var telemetryIds = activeWell.Select(w => w.IdTelemetry).Distinct();
             var firstWell = activeWell.FirstOrDefault();
             if (firstWell == null)
-                return null;
+               return Enumerable.Empty<SubsystemActiveWellStatDto>();
+            var result =activeWell.Select( t => new SubsystemActiveWellStatDto
+                        {
+                            ActiveWell = t
+                        });
 
             var query = db.SubsystemOperationTimes
                 .Where(o => telemetryIds.Contains(o.IdTelemetry))
@@ -221,30 +225,25 @@ namespace AsbCloudInfrastructure.Services.Subsystems
             query = query.Where(d => d.DateStart >= beginUTC);           
             query = query.Where(o => o.DateEnd <= endUTC);            
 
-            var depthIntervals = await detectedOperationService.GetDepthIntervalAllOperationsAsync(telemetryIds, beginUTC, endUTC, token);           
-            var result = new List<SubsystemActiveWellStatDto>();            
+            var depthIntervals = await detectedOperationService.GetDepthIntervalAllOperationsAsync(telemetryIds, beginUTC, endUTC, token); 
+            if (depthIntervals is null)
+            {
+                return result;
+            }                   
             var subsystemsOperationTime = await query.ToListAsync(token);
             var groupingSubsystemsOperationTime = subsystemsOperationTime.GroupBy(g => g.IdTelemetry);
             foreach (var group in groupingSubsystemsOperationTime)
             {
-                var well = activeWell.Where(w => w.IdTelemetry == group.Key).FirstOrDefault();
-                if (well != null)
+                var well = result.Where(w => w.ActiveWell.IdTelemetry == group.Key).FirstOrDefault();
+                if (well is not null)
                 {
-                    var wellStat = new SubsystemActiveWellStatDto()
-                    {
-                        ActiveWell = well
-                    };
-                    if (depthIntervals is not null)
-                    {
-                        var depthInterval = depthIntervals.Where(o => o.Item1 == well.IdTelemetry).Select(o => (o.Item2, o.Item3)).FirstOrDefault();                        
-                        var dto = group.Select(s => s.Adapt<SubsystemOperationTimeDto>());
-                        var subsystemStat = CalcStat(dto, depthInterval);
-                        wellStat.SubsystemAKB = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemAKB);
-                        wellStat.SubsystemMSE = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemMSE);
-                        wellStat.SubsystemSpinMaster = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemSpin);
-                        wellStat.SubsystemTorqueMaster = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemTorque);
-                        result.Add(wellStat);
-                    }
+                    var depthInterval = depthIntervals.Where(o => o.idTelemetry == well.ActiveWell.IdTelemetry).Select(o => (o.depthIntervalRotor, o.depthIntervalSlide)).FirstOrDefault();
+                    var dto = group.Select(s => s.Adapt<SubsystemOperationTimeDto>());
+                    var subsystemStat = CalcStat(dto, depthInterval);
+                    well.SubsystemAKB = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemAKB);
+                    well.SubsystemMSE = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemMSE);
+                    well.SubsystemSpinMaster = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemSpin);
+                    well.SubsystemTorqueMaster = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemTorque);
                 }
             }
             return result;