diff --git a/AsbCloudApp/Data/DrillerDto.cs b/AsbCloudApp/Data/DrillerDto.cs
index 1a11bd2a..01a4473d 100644
--- a/AsbCloudApp/Data/DrillerDto.cs
+++ b/AsbCloudApp/Data/DrillerDto.cs
@@ -29,4 +29,9 @@ public class DrillerDto : IId
/// Отчество
///
public string? Patronymic { get; set; }
+
+ ///
+ /// Полное имя
+ ///
+ public string FullName => $"{Surname} {Name} {Patronymic}";
}
diff --git a/AsbCloudApp/Data/WellReport/DrillerReportDto.cs b/AsbCloudApp/Data/WellReport/DrillerReportDto.cs
index ce2527f3..fed9a917 100644
--- a/AsbCloudApp/Data/WellReport/DrillerReportDto.cs
+++ b/AsbCloudApp/Data/WellReport/DrillerReportDto.cs
@@ -1,12 +1,21 @@
using AsbCloudApp.Data.Subsystems;
using System.Collections.Generic;
+using System.Linq;
namespace AsbCloudApp.Data.WellReport;
-//TODO: комментарии
+///
+/// Показатели бурильщиков
+///
public class DrillerReportDto
{
- public ScheduleDto Shedule { get; set; }
+ ///
+ /// Расписание
+ ///
+ public ScheduleDto Shedule { get; set; } = null!;
- public IEnumerable SubsystemsStat { get; set; }
+ ///
+ /// Наработка подсистем
+ ///
+ public IEnumerable SubsystemsStat { get; set; } = Enumerable.Empty();
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/WellReport/DrillingBySetpointsDto.cs b/AsbCloudApp/Data/WellReport/DrillingBySetpointsDto.cs
index fdb70a6c..d7175141 100644
--- a/AsbCloudApp/Data/WellReport/DrillingBySetpointsDto.cs
+++ b/AsbCloudApp/Data/WellReport/DrillingBySetpointsDto.cs
@@ -1,29 +1,27 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using AsbCloudApp.Data.ProcessMaps.Report;
+namespace AsbCloudApp.Data.WellReport;
-namespace AsbCloudApp.Data.WellReport;
-
-//TODO: комментарии
+///
+/// Бурение по уставкам
+///
public class DrillingBySetpointsDto
{
- public DrillingBySetpointsDto(IEnumerable processMapReport)
- {
- if (processMapReport.All(x => x.IdWellSectionType != processMapReport.ElementAt(0).IdWellSectionType))
- throw new ArgumentException("Not all entries belong to the same well section", nameof(processMapReport));
-
- Pressure = processMapReport.Sum(x => x.DeltaDepth * x.PressureDiff.SetpointUsage / 100),
- AxialLoad = processMapReport.Sum(x => x.DeltaDepth * x.AxialLoad.SetpointUsage / 100),
- TopDriveTorque = processMapReport.Sum(x => x.DeltaDepth * x.TopDriveTorque.SetpointUsage / 100),
- SpeedLimit = processMapReport.Sum(x => x.DeltaDepth * x.SpeedLimit.SetpointUsage / 100)
- }
-
+ ///
+ /// Давление
+ ///
public double? Pressure { get; set; }
+ ///
+ /// Нагрузка
+ ///
public double? AxialLoad { get; set; }
+ ///
+ /// Момент
+ ///
public double? TopDriveTorque { get; set; }
+ ///
+ /// Скорость
+ ///
public double? SpeedLimit { get; set; }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/WellReport/OperatingModeDto.cs b/AsbCloudApp/Data/WellReport/OperatingModeDto.cs
index d48aba9e..c355c623 100644
--- a/AsbCloudApp/Data/WellReport/OperatingModeDto.cs
+++ b/AsbCloudApp/Data/WellReport/OperatingModeDto.cs
@@ -1,78 +1,87 @@
-using AsbCloudApp.Data.ProcessMaps.Operations;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using AsbCloudApp.Data.WellOperation;
+namespace AsbCloudApp.Data.WellReport;
-namespace AsbCloudApp.Data.WellReport;
-
-//TODO: комментарии
+///
+/// Режим работы
+///
public class OperatingModeDto
{
- public OperatingModeDto(IEnumerable factWellOperations)
- {
- if (factWellOperations.All(x => x.IdWellSectionType != factWellOperations.ElementAt(0).IdWellSectionType))
- throw new ArgumentException("Not all entries belong to the same well section", nameof(factWellOperations));
-
- if (factWellOperations.All(x => x.IdType != 1))
- throw new ArgumentException("Invalid list. There are planned operations", nameof(factWellOperations));
-
- DepthStart = factWellOperations.Min(w => w.DepthStart);
- DepthEnd = factWellOperations.Max(w => w.DepthEnd);
- }
-
- public OperatingModeDto(IEnumerable processMapPlanRotor)
- {
- if (processMapPlanRotor.All(x => x.IdWellSectionType != processMapPlanRotor.ElementAt(0).IdWellSectionType))
- throw new ArgumentException("Not all entries belong to the same well section", nameof(processMapPlanRotor));
-
- DepthStart = processMapPlanRotor.Min(p => p.DepthStart);
- DepthEnd = processMapPlanRotor.Max(p => p.DepthEnd);
- RopMin = processMapPlanRotor.Min(p => p.RopMax);
- RopMax = processMapPlanRotor.Max(p => p.RopMax);
- RopAvg = processMapPlanRotor.Average(p => p.RopMax);
- WeightOnBitMin = processMapPlanRotor.Min(p => p.WeightOnBit);
- WeightOnBitMax = processMapPlanRotor.Max(p => p.WeightOnBitMax);
- WeightOnBitAvg = processMapPlanRotor.Average(p => p.WeightOnBit);
- DriveTorqueMin = processMapPlanRotor.Min(p => p.TopDriveTorque);
- DriveTorqueMax = processMapPlanRotor.Max(p => p.TopDriveTorqueMax);
- DriveTorqueAvg = processMapPlanRotor.Average(p => p.TopDriveTorque);
- DifferentialPressureMin = processMapPlanRotor.Min(p => p.DifferentialPressure);
- DifferentialPressureMax = processMapPlanRotor.Max(p => p.DifferentialPressureMax);
- DifferentialPressureAvg = processMapPlanRotor.Average(p => p.DifferentialPressure);
- FrowRateMin = processMapPlanRotor.Min(p => p.FlowRate);
- FrowRateMax = processMapPlanRotor.Max(p => p.FlowRateMax);
- }
-
+ ///
+ /// Интервал от
+ ///
public double DepthStart { get; set; }
+ ///
+ /// Интервал до
+ ///
public double DepthEnd { get; set; }
+ ///
+ /// Скорость проходки мин, м/ч
+ ///
public double? RopMin { get; set; }
+ ///
+ /// Скорость проходки максимум, м/ч
+ ///
public double? RopMax { get; set; }
+ ///
+ /// Скорость проходки среднее, м/ч
+ ///
public double? RopAvg { get; set; }
+ ///
+ /// Нагрузка на долото минимум, т
+ ///
public double? WeightOnBitMin { get; set; }
+ ///
+ /// Нагрузка на долото максимум, т
+ ///
public double? WeightOnBitMax { get; set; }
+ ///
+ /// Нагрузка на долото среднее, т
+ ///
public double? WeightOnBitAvg { get; set; }
+ ///
+ /// Момент минимум, кН*м
+ ///
public double? DriveTorqueMin { get; set; }
+ ///
+ /// Момент максимум, кН*м
+ ///
public double? DriveTorqueMax { get; set; }
+ ///
+ /// Момент среднее, кН*м
+ ///
public double? DriveTorqueAvg { get; set; }
+ ///
+ /// Перепад давления минимум, атм
+ ///
public double? DifferentialPressureMin { get; set; }
+ ///
+ /// Перепад давления максимум, атм
+ ///
public double? DifferentialPressureMax { get; set; }
+ ///
+ /// Перепад давления среднее, атм
+ ///
public double? DifferentialPressureAvg { get; set; }
+ ///
+ /// Q насосов минимум л/с
+ ///
public double? FrowRateMin { get; set; }
+ ///
+ /// Q насосов максимум л/с
+ ///
public double? FrowRateMax { get; set; }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/WellReport/SectionReportDto.cs b/AsbCloudApp/Data/WellReport/SectionReportDto.cs
index a300c6a9..0acf094d 100644
--- a/AsbCloudApp/Data/WellReport/SectionReportDto.cs
+++ b/AsbCloudApp/Data/WellReport/SectionReportDto.cs
@@ -3,14 +3,28 @@ using AsbCloudApp.Data.Subsystems;
namespace AsbCloudApp.Data.WellReport;
-//TODO: комментарии
+///
+/// Показатели по секции
+///
public class SectionReportDto
{
+ ///
+ /// Идентификатор секции
+ ///
public int IdSection { get; set; }
- public IEnumerable SubsystemsStat { get; set; }
-
- public PlanFactDto? OperatingMode { get; set; }
+ ///
+ /// Наработка подсистем
+ ///
+ public IEnumerable SubsystemsStat { get; set; } = [];
+
+ ///
+ /// Режимы бурения
+ ///
+ public PlanFactDto OperatingMode { get; set; } = null!;
+ ///
+ /// Бурение по уставкам
+ ///
public DrillingBySetpointsDto? DrillingBySetpoints { get; set; }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/WellReport/WellReportDto.cs b/AsbCloudApp/Data/WellReport/WellReportDto.cs
index d94a7d0c..ae8e1b9c 100644
--- a/AsbCloudApp/Data/WellReport/WellReportDto.cs
+++ b/AsbCloudApp/Data/WellReport/WellReportDto.cs
@@ -4,26 +4,58 @@ using AsbCloudApp.Data.User;
namespace AsbCloudApp.Data.WellReport;
-//TODO: комментарии
+///
+/// Отчёт по скважине
+///
public class WellReportDto
{
+ ///
+ /// Информация о скважине
+ ///
public WellDto Well { get; set; }
+ ///
+ /// Дата начала бурения
+ ///
public DateTimeOffset? DateFrom { get; set; }
+ ///
+ /// Дата окончания бурения
+ ///
public DateTimeOffset? DateTo { get; set; }
+ ///
+ /// Дни бурения
+ ///
public PlanFactDto Days { get; set; } = null!;
- public PlanFactDto WellBoreDepth { get; set; }
+ ///
+ /// Проектная глубина
+ ///
+ public PlanFactDto WellBoreDepth { get; set; } = null!;
- public PlanFactDto VerticalDepth { get; set; }
+ ///
+ /// Вертикальная глубина
+ ///
+ public PlanFactDto VerticalDepth { get; set; } = null!;
+ ///
+ /// Дни бурения без НПВ
+ ///
public double WithoutNtpDays { get; set; }
- public IEnumerable Constacts { get; set; }
+ ///
+ /// Контакты
+ ///
+ public IEnumerable Contacts { get; set; } = [];
- public IEnumerable SectionReports { get; set; }
+ ///
+ /// Показатели по секциям
+ ///
+ public IEnumerable SectionReports { get; set; } = [];
- public IEnumerable DrillerReports { get; set; }
-}
+ ///
+ /// Показатели по бурильщикам
+ ///
+ public IEnumerable DrillerReports { get; set; } = [];
+}
\ No newline at end of file