From 7a061404c2ddebd8017038a0710209e767fc7d97 Mon Sep 17 00:00:00 2001 From: Frolov-Nikita Date: Wed, 21 Feb 2024 16:54:01 +0500 Subject: [PATCH] lost dtos --- .../ProcessMaps/ProcessMapPlanDrillingDto.cs | 103 ++++++++++++++++++ .../Data/ProcessMaps/ProcessMapPlanReamDto.cs | 82 ++++++++++++++ 2 files changed, 185 insertions(+) create mode 100644 AsbCloudApp/Data/ProcessMaps/ProcessMapPlanDrillingDto.cs create mode 100644 AsbCloudApp/Data/ProcessMaps/ProcessMapPlanReamDto.cs diff --git a/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanDrillingDto.cs b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanDrillingDto.cs new file mode 100644 index 00000000..67d6c74b --- /dev/null +++ b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanDrillingDto.cs @@ -0,0 +1,103 @@ +using System.ComponentModel.DataAnnotations; + +namespace AsbCloudApp.Data.ProcessMaps; + +/// +/// РТК план бурение скважины +/// +public class ProcessMapPlanDrillingDto : ProcessMapPlanBaseDto +{ + /// + /// Id режима 1-ротор, 2 - слайд + /// + [Range(1, 2, ErrorMessage = "Id режима должен быть либо 1-ротор либо 2-слайд")] + public int IdMode { get; set; } + + /// + /// Название режима бурения + /// + public string? Mode { get; set; } + + /// + /// Осевая нагрузка, т план + /// + [Range(0, 99999.9, ErrorMessage = "Осевая нагрузка, т должна быть в пределах от 0 до 99999.9")] + public double AxialLoadPlan { get; set; } + + /// + /// Осевая нагрузка, т ограничение + /// + [Range(0, 99999.9, ErrorMessage = "Осевая нагрузка, т должна быть в пределах от 0 до 99999.9")] + public double AxialLoadLimitMax { get; set; } + + /// + /// Перепад давления, атм план + /// + [Range(0, 99999.9, ErrorMessage = "Перепад давления, атм должна быть в пределах от 0 до 99999.9")] + public double DeltaPressurePlan { get; set; } + + /// + /// Перепад давления, атм ограничение + /// + [Range(0, 99999.9, ErrorMessage = "Перепад давления, атм должна быть в пределах от 0 до 99999.9")] + public double DeltaPressureLimitMax { get; set; } + + /// + /// Момент на ВСП, кН*м план + /// + [Range(0, 99999.9, ErrorMessage = "Момент на ВСП, кН*м должна быть в пределах от 0 до 99999.9")] + public double TopDriveTorquePlan { get; set; } + + /// + /// Момент на ВСП, кН*м ограничение + /// + [Range(0, 99999.9, ErrorMessage = "Момент на ВСП, кН*м должна быть в пределах от 0 до 99999.9")] + public double TopDriveTorqueLimitMax { get; set; } + + /// + /// Обороты на ВСП, об/мин план + /// + [Range(0, 99999.9, ErrorMessage = "Обороты на ВСП, об/мин должна быть в пределах от 0 до 99999.9")] + public double TopDriveSpeedPlan { get; set; } + + /// + /// Обороты на ВСП, об/мин ограничение + /// + [Range(0, 99999.9, ErrorMessage = "Обороты на ВСП, об/мин должна быть в пределах от 0 до 99999.9")] + public double TopDriveSpeedLimitMax { get; set; } + + /// + /// Расход, л/с план + /// + [Range(0, 99999.9, ErrorMessage = "Расход, л/с должна быть в пределах от 0 до 99999.9")] + public double FlowPlan { get; set; } + + /// + /// Расход, л/с ограничение + /// + [Range(0, 99999.9, ErrorMessage = "Расход, л/с должна быть в пределах от 0 до 99999.9")] + public double FlowLimitMax { get; set; } + + /// + /// Плановая механическая скорость, м/ч + /// + [Range(0, 99999.9, ErrorMessage = "Плановая механическая скорость, м/ч должно быть в пределах от 0 до 99999.9")] + public double RopPlan { get; set; } + + /// + /// Плановый процент использования АКБ + /// + [Range(0, 100, ErrorMessage = "Процент использования АКБ должен быть в пределах от 0 до 100")] + public double UsageSaub { get; set; } + + /// + /// Плановый процент использования spin master + /// + [Range(0, 100, ErrorMessage = "Процент использования spin master должен быть в пределах от 0 до 100")] + public double UsageSpin { get; set; } + + /// + /// Комментарий + /// + public string Comment { get; set; } = string.Empty; +} \ No newline at end of file diff --git a/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanReamDto.cs b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanReamDto.cs new file mode 100644 index 00000000..9d6438dc --- /dev/null +++ b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanReamDto.cs @@ -0,0 +1,82 @@ +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; + +namespace AsbCloudApp.Data.ProcessMaps; + +/// +/// РТК план проработка скважины +/// +public class ProcessMapPlanReamDto : ProcessMapPlanBaseDto, IValidatableObject +{ + /// + /// Количество повторений + /// + [Required] + [Range(0, 100, ErrorMessage = "Количество повторений должно быть в пределах от 0 до 100")] + public double Repeats { get; set; } + + /// + /// Вращение при движении вверх, об/мин + /// + [Required] + [Range(0, 99999.9, ErrorMessage = "Количество вращений вверх должно быть в пределах от 0 до 99999.9")] + public double SpinUpward { get; set; } + + /// + /// Вращение при движении вниз, об/мин + /// + [Required] + [Range(0, 99999.9, ErrorMessage = "Количество вращений вниз должно быть в пределах от 0 до 99999.9")] + public double SpinDownward { get; set; } + + /// + /// Скорость подъёма, м/ч + /// + [Required] + [Range(0, 99999.9, ErrorMessage = "Скорость подъёма должна быть в пределах от 0 до 99999.9")] + public double SpeedUpward { get; set; } + + /// + /// Скорость спуска, м/ч + /// + [Required] + [Range(0, 99999.9, ErrorMessage = "Скорость спуска должна быть в пределах от 0 до 99999.9")] + public double SpeedDownward { get; set; } + + /// + /// Уставка зятяжки, т + /// + [Required] + [Range(0, 99999.9, ErrorMessage = "Значение затяжек уставки должно быть в пределах от 0 до 99999.9")] + public double SetpointDrag { get; set; } + + /// + /// Уставка посадки, т + /// + [Required] + [Range(0, 99999.9, ErrorMessage = "Значение посадки уставки должно быть в пределах от 0 до 99999.9")] + public double SetpointTight { get; set; } + + /// + /// Давление, атм + /// + [Required] + [Range(0, 99999.9, ErrorMessage = "Давление должно быть в пределах от 0 до 99999.9")] + public double Pressure { get; set; } + + /// + /// Момент, кН*м + /// + [Required] + [Range(0, 99999.9, ErrorMessage = "Крутящий момент должен быть в пределах от 0 до 99999.9")] + public double Torque { get; set; } + + /// + public IEnumerable Validate(ValidationContext validationContext) + { + if (DepthEnd < DepthStart) + yield return new ValidationResult( + $"{nameof(DepthEnd)}:{DepthEnd:#0.0} меньше {nameof(DepthStart)}:{DepthStart:#0.0}", + new[] { nameof(DepthEnd), nameof(DepthStart) }); + } +} \ No newline at end of file