forked from ddrilling/AsbCloudServer
Merge pull request 'Добавление контроллеров РТК-план' (#285) from feature/#34164243-add-process-maps-apis into dev
Reviewed-on: https://test.digitaldrilling.ru:8443/DDrilling/AsbCloudServer/pulls/285
This commit is contained in:
commit
79b1795d63
@ -0,0 +1,33 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план противоаварийное вращение
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanAntiCrashRotationDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Минимальные обороты ВСП, об/мин
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 250.0, ErrorMessage = "Минимальные обороты ВСП, об/мин., должно быть в пределах от 0 до 250")]
|
||||||
|
public double TopDriveRpmMin { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Минимальный расход для запуска оборотов ВСП, л/сек
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Минимальный расход для запуска оборотов ВСП, л/сек., должно быть в пределах от 0 до 100")]
|
||||||
|
public double TopDriveStartMinFlowRate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимый момент на ВСП при противоаварийном вращении, кН*м
|
||||||
|
/// </summary>
|
||||||
|
[Range(1.0, 35.0, ErrorMessage = "Максимально допустимый момент на ВСП при противоаварийном вращении, кН*м., должно быть в пределах от 1 до 35")]
|
||||||
|
public double TopDriveTorqueMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план авто удержание TF
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanAutoHoldTFDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Зенитный угол, градусы
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Зенитный угол, градусы, должно быть в пределах от 0 до 100")]
|
||||||
|
public double ZenithAngle { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план демпфер
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanDamperDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// StickSlip
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 1000.0, ErrorMessage = "StickSlip, должно быть в пределах от 0 до 1000")]
|
||||||
|
public double StickSlip { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план дрил тест
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanDrillTestDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Нагрузка минимальная, т
|
||||||
|
/// </summary>
|
||||||
|
[Range(1.0, 30.0, ErrorMessage = "Нагрузка минимальная, т., должно быть в пределах от 1 до 30")]
|
||||||
|
public double WeightOnBitMin { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Количество шагов по нагрузке
|
||||||
|
/// </summary>
|
||||||
|
[Range(1, 5, ErrorMessage = "Количество шагов по нагрузке, должно быть в пределах от 1 до 5")]
|
||||||
|
public int WeightOnBitStepsCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Минимальные обороты на ВСП, об/мин.
|
||||||
|
/// </summary>
|
||||||
|
[Range(5, 200, ErrorMessage = "Минимальные обороты на ВСП, об/мин., должно быть в пределах от 5 до 200")]
|
||||||
|
public int RpmMin { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Количество шагов оборотов на ВСП, шт.
|
||||||
|
/// </summary>
|
||||||
|
[Range(1, 5, ErrorMessage = "Количество шагов оборотов на ВСП, шт., должно быть в пределах от 1 до 5")]
|
||||||
|
public int RpmStepsCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Величина проходки шага, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.1, 2.0, ErrorMessage = "Величина проходки шага, м., должно быть в пределах от 0.1 до 2")]
|
||||||
|
public double LengthStep { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символа")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,51 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план осцилляция
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanOscillationDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Оптимальный угол осцилляции, градусы
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 6000.0, ErrorMessage = "Оптимальный угол осцилляции, градусы, должно быть в пределах от 0 до 6000")]
|
||||||
|
public double OptimalOscillationAngle { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Скорость вправо, об/мин
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Скорость вправо, об/мин, должно быть в пределах от 0 до 270")]
|
||||||
|
public double RpmRight { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Скорость влево, об/мин
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Скорость влево, об/мин, должно быть в пределах от 0 до 270")]
|
||||||
|
public double RpmLeft { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Ограничение момента вправо, кН*м
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 35.0, ErrorMessage = "Ограничение момента вправо, кН*м., должно быть в пределах от 0 до 35")]
|
||||||
|
public double TorqueMaxRight { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Ограничение момента влево, кН*м
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 35.0, ErrorMessage = "Ограничение момента влево, кН*м., должно быть в пределах от 0 до 35")]
|
||||||
|
public double TorqueMaxLeft { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Режим Авто/Руч
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 1, ErrorMessage = "Режим Авто/Руч, должен быть либо 0, либо 1")]
|
||||||
|
public int Mode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,51 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план shocktest
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanShockTestDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// StickSlip
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 1000.0, ErrorMessage = "StickSlip, должно быть в пределах от 0 до 1000")]
|
||||||
|
public double StickSlip { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Whirl
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 1000.0, ErrorMessage = "Whirl, должно быть в пределах от 0 до 1000")]
|
||||||
|
public double Whirl { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Осевые вибрации
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 1000.0, ErrorMessage = "Осевые вибрации, должно быть в пределах от 0 до 1000")]
|
||||||
|
public double AxialVibrations { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Комбинированные вибрации
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 1000.0, ErrorMessage = "Комбинированные вибрации, должно быть в пределах от 0 до 1000")]
|
||||||
|
public double CombinedVibrations { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Нагрузка минимальная, т
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 30.0, ErrorMessage = "Комбинированные вибрации, должно быть в пределах от 1 до 30")]
|
||||||
|
public double WeightOnBitMin { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Минимальные обороты на ВСП, об/мин.
|
||||||
|
/// </summary>
|
||||||
|
[Range(5, 200, ErrorMessage = "Минимальные обороты на ВСП, об/мин., должно быть в пределах от 5 до 200")]
|
||||||
|
public double RpmMin { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план выход статического замера
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanStaticMeasurementOutputDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Время ожидания выхода сигнала с ТМС, сек.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 1800.0, ErrorMessage = "Время ожидания выхода сигнала с ТМС, сек., должно быть в пределах от 0 до 1800")]
|
||||||
|
public double SignalWaitingTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план выработка нагрузки
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanLoadCapacityDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Время выработки минимальное, сек
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 800.0, ErrorMessage = "Время выработки минимальное, сек., должно быть в пределах от 0 до 800")]
|
||||||
|
public double TimeLoadCapacityMin { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Перепад давления минимальный, атм
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.1, 400.0, ErrorMessage = "Перепад давления минимальный, атм., должно быть в пределах от 0.1 до 400")]
|
||||||
|
public double DifferentialPressureMin { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Нагрузка минимальная, т
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.1, 99.0, ErrorMessage = "Нагрузка минимальная, т, должно быть в пределах от 0.1 до 99")]
|
||||||
|
public double WeightOnBitMin { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план определения углов осцилляции
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanOscillationAnglesDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Момент на ВСП, кН*м., Уставка
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 35.0, ErrorMessage = "Момент на ВСП, кН*м., Уставка, должно быть в пределах от 0 до 35")]
|
||||||
|
public double TopDriveTorque { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Момент на ВСП, кН*м., Ограничение
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 35.0, ErrorMessage = "Момент на ВСП, кН*м., Ограничение, должно быть в пределах от 0 до 35")]
|
||||||
|
public double TopDriveTorqueMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Обороты на ВСП, об/мин., Уставка
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Обороты на ВСП, об/мин., Уставка, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Rpm { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Обороты на ВСП, об/мин., Ограничение
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Обороты на ВСП, об/мин., Ограничение, должно быть в пределах от 0 до 270")]
|
||||||
|
public double RpmMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,88 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план позиционирования над забоем
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanPositioningOffTheBottomDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Остановка над забоем, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 30.0, ErrorMessage = "Остановка над забоем, м., должно быть в пределах от 0 до 30")]
|
||||||
|
public double StopOffTheBottom { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимое давление, атм.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400")]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Перепад давления уставка, атм.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 60.0, ErrorMessage = "Перепад давления уставка, атм., должно быть в пределах от 0 до 60")]
|
||||||
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Затяжка, т.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 20.0, ErrorMessage = "Затяжка, т., должно быть в пределах от 0 до 20")]
|
||||||
|
public double Tight { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Посадка, т.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 20.0, ErrorMessage = "Посадка, т., должно быть в пределах от 0 до 20")]
|
||||||
|
public double SlackingOff { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимый момент, кН*м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 35.0, ErrorMessage = "Максимально допустимый момент, кН*м., должно быть в пределах от 0 до 35")]
|
||||||
|
public double TorqueMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Скорость вверх, м/ч.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Скорость вверх, м/ч., должно быть в пределах от 0 до 999")]
|
||||||
|
public double RopUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Скорость вниз, м/ч.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Скорость вниз, м/ч., должно быть в пределах от 0 до 999")]
|
||||||
|
public double RopDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Обороты вверх, об/мин.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Обороты вверх, об/мин., должно быть в пределах от 0 до 270")]
|
||||||
|
public double RpmUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Обороты вниз, об/мин.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Обороты вниз, об/мин., должно быть в пределах от 0 до 270")]
|
||||||
|
public double RpmDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Расход вверх, л/с.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Расход вверх, л/с., должно быть в пределах от 0 до 100")]
|
||||||
|
public double FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Расход вниз, л/с.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Расход вниз, л/с., должно быть в пределах от 0 до 100")]
|
||||||
|
public double FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,207 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план проработка для ротора
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanReamingRotorDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимое давление, атм.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400")]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Перепад давления уставка, атм.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 60.0, ErrorMessage = "Перепад давления уставка, атм., должно быть в пределах от 0 до 60")]
|
||||||
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Затяжка, т.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 20.0, ErrorMessage = "Затяжка, т., должно быть в пределах от 0 до 20")]
|
||||||
|
public double Tight { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Посадка, т.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 20.0, ErrorMessage = "Посадка, т., должно быть в пределах от 0 до 20")]
|
||||||
|
public double SlackingOff { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимый момент, кН*м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 35.0, ErrorMessage = "Максимально допустимый момент, кН*м., посадка, должно быть в пределах от 0 до 35")]
|
||||||
|
public double TorqueMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1. Количество повторений, шт.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 99, ErrorMessage = "Проработка 1. Количество повторений, шт., должно быть в пределах от 0 до 99")]
|
||||||
|
public int Reaming1RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Скорость, м/ч., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 1, Скорость, м/ч., Вверх, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming1RopUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Скорость, м/ч., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 1, Скорость, м/ч., Вниз, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming1RopDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Обороты, об/мин., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 1, Обороты, об/мин., Вверх, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming1RpmUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Обороты, об/мин., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 1, Обороты, об/мин., Вниз, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming1RpmDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Расход, л/с., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 1, Расход, л/с., Вверх, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming1FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Расход, л/с., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 1, Расход, л/с., Вниз, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming1FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Интервал проработки, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 30.0, ErrorMessage = "Проработка 1, Интервал проработки, м., должно быть в пределах от 0 до 30")]
|
||||||
|
public double Reaming1Interval { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Остановка над забоем, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 10.0, ErrorMessage = "Остановка над забоем, м., должно быть в пределах от 0 до 10")]
|
||||||
|
public double Reaming1StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Количество повторений, шт.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 99, ErrorMessage = "Проработка 2, Количество повторений, шт., должно быть в пределах от 0 до 99")]
|
||||||
|
public int Reaming2RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Скорость, м/ч., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 2, Скорость, м/ч., Вверх, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming2RopUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Скорость, м/ч., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 2, Скорость, м/ч., Вниз, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming2RopDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Обороты, об/мин., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 2, Обороты, об/мин., Вверх, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming2RpmUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Обороты, об/мин., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 2, Обороты, об/мин., Вниз, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming2RpmDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Расход, л/с., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 2, Расход, л/с., Вверх, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming2FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Расход, л/с., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 2, Расход, л/с., Вниз, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming2FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Интервал проработки, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 30.0, ErrorMessage = "Проработка 2, Интервал проработки, м., должно быть в пределах от 0 до 30")]
|
||||||
|
public double Reaming2Interval { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Остановка над забоем, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 10.0, ErrorMessage = "Остановка над забоем, м., должно быть в пределах от 0 до 10")]
|
||||||
|
public double Reaming2StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Количество повторений, шт.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 99, ErrorMessage = "Проработка 3, Количество повторений, шт., должно быть в пределах от 0 до 99")]
|
||||||
|
public double Reaming3RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Скорость, м/ч., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 3, Скорость, м/ч., Вверх, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming3RopUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Скорость, м/ч., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 3, Скорость, м/ч., Вниз, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming3RopDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Обороты, об/мин., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 3, Обороты, об/мин., Вверх, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming3RpmUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Обороты, об/мин., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 3, Обороты, об/мин., Вниз, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming3RpmDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Расход, л/с., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 3, Расход, л/с., Вверх, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming3FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Расход, л/с., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 3, Расход, л/с., Вниз, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming3FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Интервал проработки, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 30.0, ErrorMessage = "Проработка 3, Интервал проработки, м., должно быть в пределах от 0 до 30")]
|
||||||
|
public double Reaming3Interval { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Остановка над забоем, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 10.0, ErrorMessage = "Остановка над забоем, м., должно быть в пределах от 0 до 10")]
|
||||||
|
public double Reaming3StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,209 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план проработка для слайда
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanReamingSlideDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимое давление, атм
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400")]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Перепад давления уставка, атм
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 60.0, ErrorMessage = "Перепад давления уставка, атм., должно быть в пределах от 0 до 60")]
|
||||||
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Затяжка
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 20.0, ErrorMessage = "Затяжка, должно быть в пределах от 0 до 20")]
|
||||||
|
public double Tight { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Посадка
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 20.0, ErrorMessage = "Посадка, должно быть в пределах от 0 до 20")]
|
||||||
|
public double SlackingOff { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимый момент, кН*м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 35.0, ErrorMessage = "Максимально допустимый момент, кН*м., должно быть в пределах от 0 до 35")]
|
||||||
|
public double TorqueMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Количество повторений, шт.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 99.0, ErrorMessage = "Проработка 1, Количество повторений, шт., должно быть в пределах от 0 до 99")]
|
||||||
|
public double Reaming1RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Скорость, м/ч., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 1, Скорость, м/ч., Вверх, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming1RopUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Скорость, м/ч., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 1, Скорость, м/ч., Вниз, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming1RopDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Обороты, об/мин., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 1, Обороты, об/мин., Вверх, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming1RpmUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Обороты, об/мин., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 1, Обороты, об/мин., Вниз, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming1RpmDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Расход, л/с., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 1, Расход, л/с., Вверх, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming1FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Расход, л/с., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 1, Расход, л/с., Вниз, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming1FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 1, Интервал проработки, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 30.0, ErrorMessage = "Проработка 1, Интервал проработки, м., должно быть в пределах от 0 до 30")]
|
||||||
|
public double Reaming1Interval { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Остановка над забоем, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 10.0, ErrorMessage = "Остановка над забоем, м., должно быть в пределах от 0 до 10")]
|
||||||
|
public double Reaming1StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Количество повторений, шт.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 99.0, ErrorMessage = "Проработка 2, Количество повторений, шт., должно быть в пределах от 0 до 99")]
|
||||||
|
public double Reaming2RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Скорость, м/ч., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 2, Скорость, м/ч., Вверх, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming2RopUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Скорость, м/ч., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 2, Скорость, м/ч., Вниз, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming2RopDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Обороты, об/мин., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 2, Обороты, об/мин., Вверх, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming2RpmUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Обороты, об/мин., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 2, Обороты, об/мин., Вниз, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming2RpmDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Расход, л/с., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 2, Расход, л/с., Вверх, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming2FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Расход, л/с., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 2, Расход, л/с., Вниз, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming2FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 2, Интервал проработки, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 30.0, ErrorMessage = "Проработка 2, Интервал проработки, м., должно быть в пределах от 0 до 30")]
|
||||||
|
public double Reaming2Interval { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Остановка над забоем, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 10.0, ErrorMessage = "Остановка над забоем, м., должно быть в пределах от 0 до 10")]
|
||||||
|
public double Reaming2StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Количество повторений, шт.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 99.0, ErrorMessage = "Проработка 3, Количество повторений, шт., должно быть в пределах от 0 до 99")]
|
||||||
|
public double Reaming3RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Скорость, м/ч., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 3, Скорость, м/ч., Вверх, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming3RopUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Скорость, м/ч., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Проработка 3, Скорость, м/ч., Вниз, должно быть в пределах от 0 до 999")]
|
||||||
|
public double Reaming3RopDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Обороты, об/мин., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 3, Обороты, об/мин., Вверх, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming3RpmUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Обороты, об/мин., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 270.0, ErrorMessage = "Проработка 3, Обороты, об/мин., Вниз, должно быть в пределах от 0 до 270")]
|
||||||
|
public double Reaming3RpmDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Расход, л/с., Вверх
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 3, Расход, л/с., Вверх, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming3FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Расход, л/с., Вниз
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Проработка 3, Расход, л/с., Вниз, должно быть в пределах от 0 до 100")]
|
||||||
|
public double Reaming3FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проработка 3, Интервал проработки, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 30.0, ErrorMessage = "Проработка 3, Интервал проработки, м., должно быть в пределах от 0 до 30")]
|
||||||
|
public double Reaming3Interval { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Остановка над забоем, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 10.0, ErrorMessage = "Остановка над забоем, м., должно быть в пределах от 0 до 10")]
|
||||||
|
public double Reaming3StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план записи статического замера
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanRecordingStaticMeasurementDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Время записи замера, сек
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 1800.0, ErrorMessage = "Время записи замера, сек., должно быть в пределах от 0 до 1800")]
|
||||||
|
public double MeasurementRecordingTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, не должно превышать 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.ProcessMaps;
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// РТК план бурение скважины в роторе
|
/// РТК план бурение скважины в роторе
|
||||||
@ -11,13 +11,13 @@ public class ProcessMapPlanRotorDto : ProcessMapPlanBaseDto
|
|||||||
/// Максимально допустимая скорость, м/ч
|
/// Максимально допустимая скорость, м/ч
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Range(0, 800.0, ErrorMessage = "Максимально допустимая скорость, м/ч., должно быть в пределах от 0 до 800.0")]
|
[Range(0, 800.0, ErrorMessage = "Максимально допустимая скорость, м/ч., должно быть в пределах от 0 до 800.0")]
|
||||||
public double RopLimitMax { get; set; }
|
public double RopMax { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Максимально допустимое давление, атм
|
/// Максимально допустимое давление, атм
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Range(0.0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400.0")]
|
[Range(0.0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400.0")]
|
||||||
public double PressureLimitMax { get; set; }
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Перепад давления, атм. Уставка
|
/// Перепад давления, атм. Уставка
|
||||||
@ -29,7 +29,7 @@ public class ProcessMapPlanRotorDto : ProcessMapPlanBaseDto
|
|||||||
/// Перепад давления, атм. Ограничение
|
/// Перепад давления, атм. Ограничение
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Range(0.0, 60.0, ErrorMessage = "Перепад давления, атм., ограничение, должно быть в пределах от 0 до 60.0")]
|
[Range(0.0, 60.0, ErrorMessage = "Перепад давления, атм., ограничение, должно быть в пределах от 0 до 60.0")]
|
||||||
public double DifferentialPressureLimitMax { get; set; }
|
public double DifferentialPressureMax { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Нагрузка, т. Уставка
|
/// Нагрузка, т. Уставка
|
||||||
@ -41,7 +41,7 @@ public class ProcessMapPlanRotorDto : ProcessMapPlanBaseDto
|
|||||||
/// Нагрузка, т. Ограничение
|
/// Нагрузка, т. Ограничение
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Range(0.0, 99.0, ErrorMessage = "Нагрузка, т., ограничение, должно быть в пределах от 0 до 99.0")]
|
[Range(0.0, 99.0, ErrorMessage = "Нагрузка, т., ограничение, должно быть в пределах от 0 до 99.0")]
|
||||||
public double WeightOnBitLimitMax { get; set; }
|
public double WeightOnBitMax { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Момент на ВСП, кН*м. Уставка
|
/// Момент на ВСП, кН*м. Уставка
|
||||||
@ -53,19 +53,19 @@ public class ProcessMapPlanRotorDto : ProcessMapPlanBaseDto
|
|||||||
/// Момент на ВСП, кН*м. Ограничение
|
/// Момент на ВСП, кН*м. Ограничение
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Range(0.0, 35.0, ErrorMessage = "Момент на ВСП, кН*м., ограничение, должно быть в пределах от 0 до 35.0")]
|
[Range(0.0, 35.0, ErrorMessage = "Момент на ВСП, кН*м., ограничение, должно быть в пределах от 0 до 35.0")]
|
||||||
public double TopDriveTorqueLimit { get; set; }
|
public double TopDriveTorqueMax { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обороты на ВСП, об/мин. Уставка
|
/// Обороты на ВСП, об/мин. Уставка
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Range(0.0, 270.0, ErrorMessage = "Обороты на ВСП, об/мин., уставка, должно быть в пределах от 0 до 270.0")]
|
[Range(0.0, 270.0, ErrorMessage = "Обороты на ВСП, об/мин., уставка, должно быть в пределах от 0 до 270.0")]
|
||||||
public double RevolutionsPerMinute { get; set; }
|
public double Rpm { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обороты на ВСП, об/мин. Ограничение
|
/// Обороты на ВСП, об/мин. Ограничение
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Range(0.0, 270.0, ErrorMessage = "Обороты на ВСП, об/мин., ограничение, должно быть в пределах от 0 до 270.0")]
|
[Range(0.0, 270.0, ErrorMessage = "Обороты на ВСП, об/мин., ограничение, должно быть в пределах от 0 до 270.0")]
|
||||||
public double RevolutionsPerMinuteLimitMax { get; set; }
|
public double RpmMax { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Расход л/с. Уставка
|
/// Расход л/с. Уставка
|
||||||
@ -77,7 +77,7 @@ public class ProcessMapPlanRotorDto : ProcessMapPlanBaseDto
|
|||||||
/// Расход л/с. Ограничение
|
/// Расход л/с. Ограничение
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Range(0.0, 100.0, ErrorMessage = "Расход л/с., ограничение, должно быть в пределах от 0 до 100.0")]
|
[Range(0.0, 100.0, ErrorMessage = "Расход л/с., ограничение, должно быть в пределах от 0 до 100.0")]
|
||||||
public double FlowRateLimitMax { get; set; }
|
public double FlowRateMax { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Примечание
|
/// Примечание
|
@ -0,0 +1,75 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план бурение скважины в слайде
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanSlideDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимая скорость, м/ч
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 800, ErrorMessage = "Максимально допустимая скорость, м/ч., должно быть в пределах от 0 до 800")]
|
||||||
|
public double RopMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимое давление, атм
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 400, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400")]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Перепад давления уставка, атм
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 60, ErrorMessage = "Перепад давления уставка, атм., должно быть в пределах от 0 до 60")]
|
||||||
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Перепад давления ограничение, атм
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 60, ErrorMessage = "Перепад давления ограничение, атм., должно быть в пределах от 0 до 60")]
|
||||||
|
public double DifferentialPressureMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Нагрузка уставка, т
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 99, ErrorMessage = "Нагрузка уставка, т., должно быть в пределах от 0 до 99")]
|
||||||
|
public double WeightOnBit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Нагрузка ограничение, т
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 99, ErrorMessage = "Нагрузка ограничение, т., должно быть в пределах от 0 до 99")]
|
||||||
|
public double WeightOnBitMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Расход уставка л/с
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 100, ErrorMessage = "Расход уставка л/с., должно быть в пределах от 0 до 100")]
|
||||||
|
public double FlowRate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Расход ограничение л/с
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 100, ErrorMessage = "Расход ограничение л/с., должно быть в пределах от 0 до 100")]
|
||||||
|
public double FlowRateMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Расчётная пружина, градус
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 9999, ErrorMessage = "Расчётная пружина, градус, должно быть в пределах от 0 до 9999")]
|
||||||
|
public double Spring { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Складывание инструмента, м
|
||||||
|
/// </summary>
|
||||||
|
[Range(0, 9999, ErrorMessage = "Складывание инструмента, м., должно быть в пределах от 0 до 9999")]
|
||||||
|
public double Buckling { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, не должно превышать 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план выключение насоса
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanSwitchingOffThePumpDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Продолжительность, сек.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 1800.0, ErrorMessage = "Продолжительность, сек., должно быть в пределах от 0 до 1800")]
|
||||||
|
public double Duration { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Лимит остаточного давления, атм.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Лимит остаточного давления, атм., должно быть в пределах от 0 до 100")]
|
||||||
|
public double ResidualPressureLimit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план выход на плановый расход
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanSwitchingToTheModeDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Время выхода буровых насосов на плановый расход, сек.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 3600.0, ErrorMessage = "Время выхода буровых насосов на плановый расход, сек., должно быть в пределах от 0 до 3600")]
|
||||||
|
public double RampTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Расход, л/с
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Расход, л/с., должно быть в пределах от 0 до 100")]
|
||||||
|
public double FlowRate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимое давление, атм.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400")]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -0,0 +1,99 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// РТК план выставление
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessMapPlanTFOrientationDto : ProcessMapPlanBaseDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Задание TF, град.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 360.0, ErrorMessage = "Задание TF, град., должно быть в пределах от 0 до 360")]
|
||||||
|
public double TFSetpoint { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Пружина, град.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 10000.0, ErrorMessage = "Пружина, град., должно быть в пределах от 0 до 10000")]
|
||||||
|
public double Spring { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Максимальное давление, атм.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 400.0, ErrorMessage = "Максимальное давление, атм., должно быть в пределах от 0 до 400")]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Перепад давления, атм.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 60.0, ErrorMessage = "Перепад давления, атм., должно быть в пределах от 0 до 60")]
|
||||||
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Затяжка, т.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 20.0, ErrorMessage = "Затяжка, т., должно быть в пределах от 0 до 20")]
|
||||||
|
public double Tight { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Посадка, т.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 20.0, ErrorMessage = "Посадка, т., должно быть в пределах от 0 до 20")]
|
||||||
|
public double SlackingOff { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Максимально допустимый момент, кН*м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 35.0, ErrorMessage = "Максимально допустимый момент, кН*м., должно быть в пределах от 0 до 35")]
|
||||||
|
public double TorqueMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Количество расхаживаний, шт.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 99.0, ErrorMessage = "Количество расхаживаний, шт., должно быть в пределах от 0 до 99")]
|
||||||
|
public int RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Скорость вверх, м/ч.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Скорость вверх, м/ч., должно быть в пределах от 0 до 999")]
|
||||||
|
public double RopUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Скорость вниз, м/ч.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 999.0, ErrorMessage = "Скорость вниз, м/ч., должно быть в пределах от 0 до 999")]
|
||||||
|
public double RopDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Расход вверх, л/с.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Расход вверх, л/с., должно быть в пределах от 0 до 100")]
|
||||||
|
public double FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Расход вниз, л/с.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 100.0, ErrorMessage = "Расход вниз, л/с., должно быть в пределах от 0 до 100")]
|
||||||
|
public double FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Интервал расхаживания, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 30.0, ErrorMessage = "Интервал расхаживания, м., должно быть в пределах от 0 до 30")]
|
||||||
|
public double Interval { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Остановка над забоем, м.
|
||||||
|
/// </summary>
|
||||||
|
[Range(0.0, 10.0, ErrorMessage = "Остановка над забоем, м., должно быть в пределах от 0 до 10")]
|
||||||
|
public double StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Примечание
|
||||||
|
/// </summary>
|
||||||
|
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
}
|
@ -1,82 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.ProcessMaps;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// РТК план проработка скважины
|
|
||||||
/// </summary>
|
|
||||||
public class ProcessMapPlanReamDto : ProcessMapPlanBaseDto, IValidatableObject
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Количество повторений
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 100, ErrorMessage = "Количество повторений должно быть в пределах от 0 до 100")]
|
|
||||||
public double Repeats { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Вращение при движении вверх, об/мин
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 99999.9, ErrorMessage = "Количество вращений вверх должно быть в пределах от 0 до 99999.9")]
|
|
||||||
public double SpinUpward { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Вращение при движении вниз, об/мин
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 99999.9, ErrorMessage = "Количество вращений вниз должно быть в пределах от 0 до 99999.9")]
|
|
||||||
public double SpinDownward { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Скорость подъёма, м/ч
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 99999.9, ErrorMessage = "Скорость подъёма должна быть в пределах от 0 до 99999.9")]
|
|
||||||
public double SpeedUpward { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Скорость спуска, м/ч
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 99999.9, ErrorMessage = "Скорость спуска должна быть в пределах от 0 до 99999.9")]
|
|
||||||
public double SpeedDownward { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Уставка зятяжки, т
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 99999.9, ErrorMessage = "Значение затяжек уставки должно быть в пределах от 0 до 99999.9")]
|
|
||||||
public double SetpointDrag { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Уставка посадки, т
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 99999.9, ErrorMessage = "Значение посадки уставки должно быть в пределах от 0 до 99999.9")]
|
|
||||||
public double SetpointTight { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Давление, атм
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 99999.9, ErrorMessage = "Давление должно быть в пределах от 0 до 99999.9")]
|
|
||||||
public double Pressure { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Момент, кН*м
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 99999.9, ErrorMessage = "Крутящий момент должен быть в пределах от 0 до 99999.9")]
|
|
||||||
public double Torque { get; set; }
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
public override IEnumerable<ValidationResult> 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) });
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,75 +0,0 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.ProcessMaps;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// РТК план бурение скважины в слайде
|
|
||||||
/// </summary>
|
|
||||||
public class ProcessMapPlanSlideDto : ProcessMapPlanBaseDto
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Максимально допустимая скорость, м/ч
|
|
||||||
/// </summary>
|
|
||||||
[Range(0, 800.0, ErrorMessage = "Максимально допустимая скорость, м/ч., должно быть в пределах от 0 до 800.0")]
|
|
||||||
public double RopLimitMax { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Максимально допустимое давление, атм
|
|
||||||
/// </summary>
|
|
||||||
[Range(0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400.0")]
|
|
||||||
public double PressureLimitMax { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Перепад давления, атм. Уставка
|
|
||||||
/// </summary>
|
|
||||||
[Range(0, 60.0, ErrorMessage = "Перепад давления, атм. уставка, должно быть в пределах от 0 до 60.0")]
|
|
||||||
public double DifferentialPressure { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Перепад давления, атм. Ограничение
|
|
||||||
/// </summary>
|
|
||||||
[Range(0, 60.0, ErrorMessage = "Перепад давления, атм., ограничение, должно быть в пределах от 0 до 60.0")]
|
|
||||||
public double DifferentialPressureLimitMax { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Нагрузка, т. Уставка
|
|
||||||
/// </summary>
|
|
||||||
[Range(0, 50.0, ErrorMessage = " Нагрузка, т., уставка, должно быть в пределах от 0 до 50.0")]
|
|
||||||
public double WeightOnBit { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Нагрузка, т. Ограничение
|
|
||||||
/// </summary>
|
|
||||||
[Range(0, 50.0, ErrorMessage = "Нагрузка, т., ограничение, должно быть в пределах от 0 до 50.0")]
|
|
||||||
public double WeightOnBitLimitMax { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Расход л/с. Уставка
|
|
||||||
/// </summary>
|
|
||||||
[Range(0, 100.0, ErrorMessage = "Расход, л/с., уставка, должно быть в пределах от 0 до 50.0")]
|
|
||||||
public double FlowRate { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Расход л/с. Ограничение
|
|
||||||
/// </summary>
|
|
||||||
[Range(0, 100.0, ErrorMessage = "Расход, л/с., ограничение, должно быть в пределах от 0 до 100.0")]
|
|
||||||
public double FlowRateLimitMax { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Расчётная пружина, градус
|
|
||||||
/// </summary>
|
|
||||||
[Range(0, 9999.9, ErrorMessage = "Расчётная пружина, градус, должно быть в пределах от 0 до 9999.9")]
|
|
||||||
public double Spring { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Складывание инструмента, м
|
|
||||||
/// </summary>
|
|
||||||
[Range(0, 9999.9, ErrorMessage = "Складывание инструмента, м, должно быть в пределах от 0 до 9999.9")]
|
|
||||||
public double ToolBuckling { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Примечание
|
|
||||||
/// </summary>
|
|
||||||
[StringLength(1024, ErrorMessage = "Примечание, не должно превышать 1024 символов")]
|
|
||||||
public string Note { get; set; } = string.Empty;
|
|
||||||
}
|
|
12939
AsbCloudDb/Migrations/20240630162502_Add_Tables_ProcessMapOperationsAndFunctions.Designer.cs
generated
Normal file
12939
AsbCloudDb/Migrations/20240630162502_Add_Tables_ProcessMapOperationsAndFunctions.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
12977
AsbCloudDb/Migrations/20240701051003_Update_Tables_ProcessMapOperationsAndFunctions.Designer.cs
generated
Normal file
12977
AsbCloudDb/Migrations/20240701051003_Update_Tables_ProcessMapOperationsAndFunctions.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,142 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class Update_Tables_ProcessMapOperationsAndFunctions : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "buckling",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "zenit_angle",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "note",
|
||||||
|
table: "t_process_map_plan_tf_orientation",
|
||||||
|
type: "character varying(1024)",
|
||||||
|
maxLength: 1024,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
comment: "Примечание");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "note",
|
||||||
|
table: "t_process_map_plan_static_measurement_output",
|
||||||
|
type: "character varying(1024)",
|
||||||
|
maxLength: 1024,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
comment: "Примечание");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<double>(
|
||||||
|
name: "rpm",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
type: "double precision",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0.0,
|
||||||
|
comment: "Обороты на ВСП уставка, об/мин.");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<double>(
|
||||||
|
name: "rpm_max",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
type: "double precision",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0.0,
|
||||||
|
comment: "Обороты на ВСП ограничение, об/мин.");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<double>(
|
||||||
|
name: "top_drive_torque",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
type: "double precision",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0.0,
|
||||||
|
comment: "Момент на ВСП уставка, кН*м.");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<double>(
|
||||||
|
name: "top_drive_torque_max",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
type: "double precision",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0.0,
|
||||||
|
comment: "Момент на ВСП ограничение, кН*м.");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "note",
|
||||||
|
table: "t_process_map_plan_operation_switching_off_the_pump",
|
||||||
|
type: "character varying(1024)",
|
||||||
|
maxLength: 1024,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
comment: "Примечание");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "note",
|
||||||
|
table: "t_process_map_plan_anti_crash_rotation",
|
||||||
|
type: "character varying(1024)",
|
||||||
|
maxLength: 1024,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
comment: "Примечание");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "note",
|
||||||
|
table: "t_process_map_plan_tf_orientation");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "note",
|
||||||
|
table: "t_process_map_plan_static_measurement_output");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "rpm",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "rpm_max",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "top_drive_torque",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "top_drive_torque_max",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "note",
|
||||||
|
table: "t_process_map_plan_operation_switching_off_the_pump");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "note",
|
||||||
|
table: "t_process_map_plan_anti_crash_rotation");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<double>(
|
||||||
|
name: "buckling",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
type: "double precision",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0.0,
|
||||||
|
comment: "Складывание, м");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<double>(
|
||||||
|
name: "zenit_angle",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
type: "double precision",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0.0,
|
||||||
|
comment: "Зенитный угол, градусы");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12243
AsbCloudDb/Migrations/20240701104026_Remove_some_processMapsPlan.Designer.cs
generated
Normal file
12243
AsbCloudDb/Migrations/20240701104026_Remove_some_processMapsPlan.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,438 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class Remove_some_processMapsPlan : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "t_process_map_plan_ream");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "t_process_map_plan_rotor_lowering_bit");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "t_process_map_plan_rotor_rpm_acceleration");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "t_process_map_plan_slide_lowering_bit");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "t_process_map_plan_updating_noload_parameters");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "t_process_map_plan_ream",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
id_author = table.Column<int>(type: "integer", nullable: false, comment: "Автор"),
|
||||||
|
id_editor = table.Column<int>(type: "integer", nullable: true, comment: "Редактор"),
|
||||||
|
id_well = table.Column<int>(type: "integer", nullable: false, comment: "Id скважины"),
|
||||||
|
id_wellsection_type = table.Column<int>(type: "integer", nullable: false, comment: "Тип секции"),
|
||||||
|
creation = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false, comment: "дата создания"),
|
||||||
|
depth_end = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу до, м"),
|
||||||
|
depth_start = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу от, м"),
|
||||||
|
id_previous = table.Column<int>(type: "integer", nullable: true, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
|
||||||
|
id_state = table.Column<int>(type: "integer", nullable: false, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
|
||||||
|
obsolete = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "дата устаревания"),
|
||||||
|
pressure = table.Column<double>(type: "double precision", nullable: false, comment: "Давление, атм"),
|
||||||
|
repeats = table.Column<double>(type: "double precision", nullable: false, comment: "Количество повторений"),
|
||||||
|
setpoint_drag = table.Column<double>(type: "double precision", nullable: false, comment: "Уставка зятяжки, т"),
|
||||||
|
setpoint_tight = table.Column<double>(type: "double precision", nullable: false, comment: "Уставка посадки, т"),
|
||||||
|
speed_downward = table.Column<double>(type: "double precision", nullable: false, comment: "Скорость спуска, м/ч"),
|
||||||
|
speed_upward = table.Column<double>(type: "double precision", nullable: false, comment: "Скорость подъёма, м/ч"),
|
||||||
|
spin_downward = table.Column<double>(type: "double precision", nullable: false, comment: "Вращение при движении вниз, об/мин"),
|
||||||
|
spin_upward = table.Column<double>(type: "double precision", nullable: false, comment: "Вращение при движении вверх, об/мин"),
|
||||||
|
torque = table.Column<double>(type: "double precision", nullable: false, comment: "Момент, кН*м")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_t_process_map_plan_ream", x => x.id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_ream_t_user_id_author",
|
||||||
|
column: x => x.id_author,
|
||||||
|
principalTable: "t_user",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_ream_t_user_id_editor",
|
||||||
|
column: x => x.id_editor,
|
||||||
|
principalTable: "t_user",
|
||||||
|
principalColumn: "id");
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_ream_t_well_id_well",
|
||||||
|
column: x => x.id_well,
|
||||||
|
principalTable: "t_well",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_ream_t_well_section_type_id_wellsection_~",
|
||||||
|
column: x => x.id_wellsection_type,
|
||||||
|
principalTable: "t_well_section_type",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
},
|
||||||
|
comment: "РТК проработка скважины");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "t_process_map_plan_rotor_lowering_bit",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
id_author = table.Column<int>(type: "integer", nullable: false, comment: "Автор"),
|
||||||
|
id_editor = table.Column<int>(type: "integer", nullable: true, comment: "Редактор"),
|
||||||
|
id_previous = table.Column<int>(type: "integer", nullable: true, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
|
||||||
|
id_well = table.Column<int>(type: "integer", nullable: false, comment: "Id скважины"),
|
||||||
|
id_wellsection_type = table.Column<int>(type: "integer", nullable: false, comment: "Тип секции"),
|
||||||
|
creation = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false, comment: "дата создания"),
|
||||||
|
depth_end = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу до, м"),
|
||||||
|
depth_start = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу от, м"),
|
||||||
|
differential_pressure = table.Column<double>(type: "double precision", nullable: false, comment: "Перепад давления уставка, атм."),
|
||||||
|
flow_rate_down = table.Column<double>(type: "double precision", nullable: false, comment: "Расход вниз, л/с."),
|
||||||
|
id_state = table.Column<int>(type: "integer", nullable: false, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
|
||||||
|
note = table.Column<string>(type: "character varying(1024)", maxLength: 1024, nullable: false, comment: "Примечание"),
|
||||||
|
obsolete = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "дата устаревания"),
|
||||||
|
pressure_max = table.Column<double>(type: "double precision", nullable: false, comment: "Максимально допустимое давление, атм."),
|
||||||
|
rop_down = table.Column<double>(type: "double precision", nullable: false, comment: "Скорость вниз, м/ч."),
|
||||||
|
rpm_down = table.Column<double>(type: "double precision", nullable: false, comment: "Обороты вниз, об/мин."),
|
||||||
|
slacking_off = table.Column<double>(type: "double precision", nullable: false, comment: "Посадка, т."),
|
||||||
|
torque_max = table.Column<double>(type: "double precision", nullable: false, comment: "Максимально допустимый момент, кН*м.")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_t_process_map_plan_rotor_lowering_bit", x => x.id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_rotor_lowering_bit_t_process_map_plan_ro~",
|
||||||
|
column: x => x.id_previous,
|
||||||
|
principalTable: "t_process_map_plan_rotor_lowering_bit",
|
||||||
|
principalColumn: "id");
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_rotor_lowering_bit_t_user_id_author",
|
||||||
|
column: x => x.id_author,
|
||||||
|
principalTable: "t_user",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_rotor_lowering_bit_t_user_id_editor",
|
||||||
|
column: x => x.id_editor,
|
||||||
|
principalTable: "t_user",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_rotor_lowering_bit_t_well_id_well",
|
||||||
|
column: x => x.id_well,
|
||||||
|
principalTable: "t_well",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_rotor_lowering_bit_t_well_section_type_i~",
|
||||||
|
column: x => x.id_wellsection_type,
|
||||||
|
principalTable: "t_well_section_type",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
},
|
||||||
|
comment: "РТК подход к забою в роторе");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
id_author = table.Column<int>(type: "integer", nullable: false, comment: "Автор"),
|
||||||
|
id_editor = table.Column<int>(type: "integer", nullable: true, comment: "Редактор"),
|
||||||
|
id_previous = table.Column<int>(type: "integer", nullable: true, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
|
||||||
|
id_well = table.Column<int>(type: "integer", nullable: false, comment: "Id скважины"),
|
||||||
|
id_wellsection_type = table.Column<int>(type: "integer", nullable: false, comment: "Тип секции"),
|
||||||
|
creation = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false, comment: "дата создания"),
|
||||||
|
depth_end = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу до, м"),
|
||||||
|
depth_start = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу от, м"),
|
||||||
|
id_state = table.Column<int>(type: "integer", nullable: false, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
|
||||||
|
note = table.Column<string>(type: "character varying(1024)", maxLength: 1024, nullable: false, comment: "Примечание"),
|
||||||
|
obsolete = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "дата устаревания"),
|
||||||
|
rpm = table.Column<double>(type: "double precision", nullable: false, comment: "Обороты на ВСП уставка, об/мин."),
|
||||||
|
rpm_max = table.Column<double>(type: "double precision", nullable: false, comment: "Обороты на ВСП ограничение, об/мин."),
|
||||||
|
top_drive_torque = table.Column<double>(type: "double precision", nullable: false, comment: "Момент на ВСП уставка, кН*м."),
|
||||||
|
top_drive_torque_max = table.Column<double>(type: "double precision", nullable: false, comment: "Момент на ВСП ограничение, кН*м.")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_t_process_map_plan_rotor_rpm_acceleration", x => x.id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_rotor_rpm_acceleration_t_process_map_pla~",
|
||||||
|
column: x => x.id_previous,
|
||||||
|
principalTable: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
principalColumn: "id");
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_rotor_rpm_acceleration_t_user_id_author",
|
||||||
|
column: x => x.id_author,
|
||||||
|
principalTable: "t_user",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_rotor_rpm_acceleration_t_user_id_editor",
|
||||||
|
column: x => x.id_editor,
|
||||||
|
principalTable: "t_user",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_rotor_rpm_acceleration_t_well_id_well",
|
||||||
|
column: x => x.id_well,
|
||||||
|
principalTable: "t_well",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_rotor_rpm_acceleration_t_well_section_ty~",
|
||||||
|
column: x => x.id_wellsection_type,
|
||||||
|
principalTable: "t_well_section_type",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
},
|
||||||
|
comment: "Выход на обороты перед ротором");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "t_process_map_plan_slide_lowering_bit",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
id_author = table.Column<int>(type: "integer", nullable: false, comment: "Автор"),
|
||||||
|
id_editor = table.Column<int>(type: "integer", nullable: true, comment: "Редактор"),
|
||||||
|
id_previous = table.Column<int>(type: "integer", nullable: true, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
|
||||||
|
id_well = table.Column<int>(type: "integer", nullable: false, comment: "Id скважины"),
|
||||||
|
id_wellsection_type = table.Column<int>(type: "integer", nullable: false, comment: "Тип секции"),
|
||||||
|
creation = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false, comment: "дата создания"),
|
||||||
|
depth_end = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу до, м"),
|
||||||
|
depth_start = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу от, м"),
|
||||||
|
differential_pressure = table.Column<double>(type: "double precision", nullable: false, comment: "Перепад давления уставка, атм."),
|
||||||
|
flow_rate_down = table.Column<double>(type: "double precision", nullable: false, comment: "Расход вниз, л/с."),
|
||||||
|
id_state = table.Column<int>(type: "integer", nullable: false, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
|
||||||
|
note = table.Column<string>(type: "character varying(1024)", maxLength: 1024, nullable: false, comment: "Примечание"),
|
||||||
|
obsolete = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "дата устаревания"),
|
||||||
|
pressure_max = table.Column<double>(type: "double precision", nullable: false, comment: "Максимально допустимое давление, атм."),
|
||||||
|
rop_down = table.Column<double>(type: "double precision", nullable: false, comment: "Скорость вниз, м/ч.")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_t_process_map_plan_slide_lowering_bit", x => x.id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_slide_lowering_bit_t_process_map_plan_sl~",
|
||||||
|
column: x => x.id_previous,
|
||||||
|
principalTable: "t_process_map_plan_slide_lowering_bit",
|
||||||
|
principalColumn: "id");
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_slide_lowering_bit_t_user_id_author",
|
||||||
|
column: x => x.id_author,
|
||||||
|
principalTable: "t_user",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_slide_lowering_bit_t_user_id_editor",
|
||||||
|
column: x => x.id_editor,
|
||||||
|
principalTable: "t_user",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_slide_lowering_bit_t_well_id_well",
|
||||||
|
column: x => x.id_well,
|
||||||
|
principalTable: "t_well",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_slide_lowering_bit_t_well_section_type_i~",
|
||||||
|
column: x => x.id_wellsection_type,
|
||||||
|
principalTable: "t_well_section_type",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
},
|
||||||
|
comment: "РТК подход к забою в слайде");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "t_process_map_plan_updating_noload_parameters",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
id_author = table.Column<int>(type: "integer", nullable: false, comment: "Автор"),
|
||||||
|
id_editor = table.Column<int>(type: "integer", nullable: true, comment: "Редактор"),
|
||||||
|
id_previous = table.Column<int>(type: "integer", nullable: true, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
|
||||||
|
id_well = table.Column<int>(type: "integer", nullable: false, comment: "Id скважины"),
|
||||||
|
id_wellsection_type = table.Column<int>(type: "integer", nullable: false, comment: "Тип секции"),
|
||||||
|
creation = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false, comment: "дата создания"),
|
||||||
|
depth_end = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу до, м"),
|
||||||
|
depth_start = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу от, м"),
|
||||||
|
id_decline_socket_column = table.Column<bool>(type: "boolean", nullable: false, comment: "СПУСК ОК Да/Нет"),
|
||||||
|
id_state = table.Column<int>(type: "integer", nullable: false, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
|
||||||
|
note = table.Column<string>(type: "character varying(1024)", maxLength: 1024, nullable: false, comment: "Примечание"),
|
||||||
|
obsolete = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "дата устаревания")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_t_process_map_plan_updating_noload_parameters", x => x.id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_updating_noload_parameters_t_process_map~",
|
||||||
|
column: x => x.id_previous,
|
||||||
|
principalTable: "t_process_map_plan_updating_noload_parameters",
|
||||||
|
principalColumn: "id");
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_updating_noload_parameters_t_user_id_aut~",
|
||||||
|
column: x => x.id_author,
|
||||||
|
principalTable: "t_user",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_updating_noload_parameters_t_user_id_edi~",
|
||||||
|
column: x => x.id_editor,
|
||||||
|
principalTable: "t_user",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_updating_noload_parameters_t_well_id_well",
|
||||||
|
column: x => x.id_well,
|
||||||
|
principalTable: "t_well",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_t_process_map_plan_updating_noload_parameters_t_well_sectio~",
|
||||||
|
column: x => x.id_wellsection_type,
|
||||||
|
principalTable: "t_well_section_type",
|
||||||
|
principalColumn: "id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
},
|
||||||
|
comment: "Обновление холостого хода");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_ream_id_author",
|
||||||
|
table: "t_process_map_plan_ream",
|
||||||
|
column: "id_author");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_ream_id_editor",
|
||||||
|
table: "t_process_map_plan_ream",
|
||||||
|
column: "id_editor");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_ream_id_well",
|
||||||
|
table: "t_process_map_plan_ream",
|
||||||
|
column: "id_well");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_ream_id_wellsection_type",
|
||||||
|
table: "t_process_map_plan_ream",
|
||||||
|
column: "id_wellsection_type");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_rotor_lowering_bit_id_author",
|
||||||
|
table: "t_process_map_plan_rotor_lowering_bit",
|
||||||
|
column: "id_author");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_rotor_lowering_bit_id_editor",
|
||||||
|
table: "t_process_map_plan_rotor_lowering_bit",
|
||||||
|
column: "id_editor");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_rotor_lowering_bit_id_previous",
|
||||||
|
table: "t_process_map_plan_rotor_lowering_bit",
|
||||||
|
column: "id_previous");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_rotor_lowering_bit_id_well",
|
||||||
|
table: "t_process_map_plan_rotor_lowering_bit",
|
||||||
|
column: "id_well");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_rotor_lowering_bit_id_wellsection_type",
|
||||||
|
table: "t_process_map_plan_rotor_lowering_bit",
|
||||||
|
column: "id_wellsection_type");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_rotor_rpm_acceleration_id_author",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
column: "id_author");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_rotor_rpm_acceleration_id_editor",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
column: "id_editor");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_rotor_rpm_acceleration_id_previous",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
column: "id_previous");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_rotor_rpm_acceleration_id_well",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
column: "id_well");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_rotor_rpm_acceleration_id_wellsection_ty~",
|
||||||
|
table: "t_process_map_plan_rotor_rpm_acceleration",
|
||||||
|
column: "id_wellsection_type");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_slide_lowering_bit_id_author",
|
||||||
|
table: "t_process_map_plan_slide_lowering_bit",
|
||||||
|
column: "id_author");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_slide_lowering_bit_id_editor",
|
||||||
|
table: "t_process_map_plan_slide_lowering_bit",
|
||||||
|
column: "id_editor");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_slide_lowering_bit_id_previous",
|
||||||
|
table: "t_process_map_plan_slide_lowering_bit",
|
||||||
|
column: "id_previous");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_slide_lowering_bit_id_well",
|
||||||
|
table: "t_process_map_plan_slide_lowering_bit",
|
||||||
|
column: "id_well");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_slide_lowering_bit_id_wellsection_type",
|
||||||
|
table: "t_process_map_plan_slide_lowering_bit",
|
||||||
|
column: "id_wellsection_type");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_updating_noload_parameters_id_author",
|
||||||
|
table: "t_process_map_plan_updating_noload_parameters",
|
||||||
|
column: "id_author");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_updating_noload_parameters_id_editor",
|
||||||
|
table: "t_process_map_plan_updating_noload_parameters",
|
||||||
|
column: "id_editor");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_updating_noload_parameters_id_previous",
|
||||||
|
table: "t_process_map_plan_updating_noload_parameters",
|
||||||
|
column: "id_previous");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_updating_noload_parameters_id_well",
|
||||||
|
table: "t_process_map_plan_updating_noload_parameters",
|
||||||
|
column: "id_well");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_t_process_map_plan_updating_noload_parameters_id_wellsectio~",
|
||||||
|
table: "t_process_map_plan_updating_noload_parameters",
|
||||||
|
column: "id_wellsection_type");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
@ -4,9 +4,10 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using AsbCloudDb.Model.DailyReports;
|
using AsbCloudDb.Model.DailyReports;
|
||||||
using AsbCloudDb.Model.Manuals;
|
using AsbCloudDb.Model.Manuals;
|
||||||
using AsbCloudDb.Model.ProcessMaps;
|
|
||||||
using AsbCloudDb.Model.WellSections;
|
using AsbCloudDb.Model.WellSections;
|
||||||
using AsbCloudDb.Model.Trajectory;
|
using AsbCloudDb.Model.Trajectory;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan.Functions;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
namespace AsbCloudDb.Model
|
namespace AsbCloudDb.Model
|
||||||
{
|
{
|
||||||
@ -15,13 +16,28 @@ namespace AsbCloudDb.Model
|
|||||||
public virtual DbSet<Cluster> Clusters => Set<Cluster>();
|
public virtual DbSet<Cluster> Clusters => Set<Cluster>();
|
||||||
public virtual DbSet<Company> Companies => Set<Company>();
|
public virtual DbSet<Company> Companies => Set<Company>();
|
||||||
public virtual DbSet<CompanyType> CompaniesTypes => Set<CompanyType>();
|
public virtual DbSet<CompanyType> CompaniesTypes => Set<CompanyType>();
|
||||||
public virtual DbSet<DailyReport> DailyReports => Set <DailyReport>();
|
public virtual DbSet<DailyReport> DailyReports => Set<DailyReport>();
|
||||||
public virtual DbSet<Deposit> Deposits => Set<Deposit>();
|
public virtual DbSet<Deposit> Deposits => Set<Deposit>();
|
||||||
public virtual DbSet<DetectedOperation> DetectedOperations => Set<DetectedOperation>();
|
public virtual DbSet<DetectedOperation> DetectedOperations => Set<DetectedOperation>();
|
||||||
public virtual DbSet<TrajectoryPlan> TrajectoriesPlan => Set<TrajectoryPlan>();
|
public virtual DbSet<TrajectoryPlan> TrajectoriesPlan => Set<TrajectoryPlan>();
|
||||||
public virtual DbSet<ProcessMapPlanRotor> ProcessMapPlanRotor => Set<ProcessMapPlanRotor>();
|
public virtual DbSet<ProcessMapPlanRotor> ProcessMapPlanRotor => Set<ProcessMapPlanRotor>();
|
||||||
public virtual DbSet<ProcessMapPlanSlide> ProcessMapPlanSlide => Set<ProcessMapPlanSlide>();
|
public virtual DbSet<ProcessMapPlanSlide> ProcessMapPlanSlide => Set<ProcessMapPlanSlide>();
|
||||||
public virtual DbSet<ProcessMapPlanReam> ProcessMapPlanReams => Set<ProcessMapPlanReam>();
|
public virtual DbSet<ProcessMapPlanReamingRotor> ProcessMapPlanReamingRotor => Set<ProcessMapPlanReamingRotor>();
|
||||||
|
public virtual DbSet<ProcessMapPlanReamingSlide> ProcessMapPlanReamingSlide => Set<ProcessMapPlanReamingSlide>();
|
||||||
|
public virtual DbSet<ProcessMapPlanLoadCapacity> ProcessMapPlanLoadCapacity => Set<ProcessMapPlanLoadCapacity>();
|
||||||
|
public virtual DbSet<ProcessMapPlanRecordingStaticMeasurement> ProcessMapPlanRecordingStaticMeasurement => Set<ProcessMapPlanRecordingStaticMeasurement>();
|
||||||
|
public virtual DbSet<ProcessMapPlanPositioningOffTheBottom> ProcessMapPlanPositioningOffTheBottom => Set<ProcessMapPlanPositioningOffTheBottom>();
|
||||||
|
public virtual DbSet<ProcessMapPlanOscillationAngles> ProcessMapPlanOscillationAngles => Set<ProcessMapPlanOscillationAngles>();
|
||||||
|
public virtual DbSet<ProcessMapPlanTFOrientation> ProcessMapPlanTFOrientation => Set<ProcessMapPlanTFOrientation>();
|
||||||
|
public virtual DbSet<ProcessMapPlanSwitchingOffThePump> ProcessMapPlanSwitchingOffThePump => Set<ProcessMapPlanSwitchingOffThePump>();
|
||||||
|
public virtual DbSet<ProcessMapPlanSwitchingToTheMode> ProcessMapPlanSwitchingToTheMode => Set<ProcessMapPlanSwitchingToTheMode>();
|
||||||
|
public virtual DbSet<ProcessMapPlanDrillTest> ProcessMapPlanDrillTest => Set<ProcessMapPlanDrillTest>();
|
||||||
|
public virtual DbSet<ProcessMapPlanShockTest> ProcessMapPlanShockTest => Set<ProcessMapPlanShockTest>();
|
||||||
|
public virtual DbSet<ProcessMapPlanDamper> ProcessMapPlanDamper => Set<ProcessMapPlanDamper>();
|
||||||
|
public virtual DbSet<ProcessMapPlanAutoHoldTF> ProcessMapPlanAutoHoldTF => Set<ProcessMapPlanAutoHoldTF>();
|
||||||
|
public virtual DbSet<ProcessMapPlanOscillation> ProcessMapPlanOscillation => Set<ProcessMapPlanOscillation>();
|
||||||
|
public virtual DbSet<ProcessMapPlanAntiCrashRotation> ProcessMapPlanAntiCrashRotation => Set<ProcessMapPlanAntiCrashRotation>();
|
||||||
|
public virtual DbSet<ProcessMapPlanStaticMeasurementOutput> ProcessMapPlanStaticMeasurementOutput => Set<ProcessMapPlanStaticMeasurementOutput>();
|
||||||
public virtual DbSet<DrillingProgramPart> DrillingProgramParts => Set<DrillingProgramPart>();
|
public virtual DbSet<DrillingProgramPart> DrillingProgramParts => Set<DrillingProgramPart>();
|
||||||
public virtual DbSet<FileCategory> FileCategories => Set<FileCategory>();
|
public virtual DbSet<FileCategory> FileCategories => Set<FileCategory>();
|
||||||
public virtual DbSet<FileInfo> Files => Set<FileInfo>();
|
public virtual DbSet<FileInfo> Files => Set<FileInfo>();
|
||||||
@ -354,7 +370,7 @@ namespace AsbCloudDb.Model
|
|||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity<DetectedOperation>(entity => entity
|
modelBuilder.Entity<DetectedOperation>(entity => entity
|
||||||
.Property(p=>p.ExtraData)
|
.Property(p => p.ExtraData)
|
||||||
.HasJsonConversion());
|
.HasJsonConversion());
|
||||||
|
|
||||||
modelBuilder.Entity<TelemetryDataSaubStat>(entity =>
|
modelBuilder.Entity<TelemetryDataSaubStat>(entity =>
|
||||||
@ -371,7 +387,8 @@ namespace AsbCloudDb.Model
|
|||||||
.HasConstraintName("t_schedule_t_driller_id_driller");
|
.HasConstraintName("t_schedule_t_driller_id_driller");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity<SetpointsRequest>(entity => {
|
modelBuilder.Entity<SetpointsRequest>(entity =>
|
||||||
|
{
|
||||||
entity.Property(e => e.Setpoints)
|
entity.Property(e => e.Setpoints)
|
||||||
.HasJsonConversion();
|
.HasJsonConversion();
|
||||||
});
|
});
|
||||||
@ -383,7 +400,7 @@ namespace AsbCloudDb.Model
|
|||||||
nameof(WitsItemBase<float>.IdRecord),
|
nameof(WitsItemBase<float>.IdRecord),
|
||||||
nameof(WitsItemBase<float>.IdItem),
|
nameof(WitsItemBase<float>.IdItem),
|
||||||
nameof(WitsItemBase<float>.DateTime));
|
nameof(WitsItemBase<float>.DateTime));
|
||||||
});
|
});
|
||||||
modelBuilder.Entity<WitsItemInt>(entity =>
|
modelBuilder.Entity<WitsItemInt>(entity =>
|
||||||
{
|
{
|
||||||
entity.HasKey(
|
entity.HasKey(
|
||||||
@ -453,6 +470,86 @@ namespace AsbCloudDb.Model
|
|||||||
.WithMany()
|
.WithMany()
|
||||||
.OnDelete(DeleteBehavior.Restrict);
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanReamingRotor>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanReamingSlide>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanLoadCapacity>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanRecordingStaticMeasurement>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanPositioningOffTheBottom>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanOscillationAngles>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanTFOrientation>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanSwitchingOffThePump>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanSwitchingToTheMode>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanDrillTest>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanShockTest>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanDamper>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanAutoHoldTF>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanOscillation>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanAntiCrashRotation>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanStaticMeasurementOutput>()
|
||||||
|
.HasOne(p => p.Author)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
modelBuilder.Entity<ProcessMapPlanRotor>()
|
modelBuilder.Entity<ProcessMapPlanRotor>()
|
||||||
.HasOne(p => p.Editor)
|
.HasOne(p => p.Editor)
|
||||||
.WithMany()
|
.WithMany()
|
||||||
@ -463,6 +560,86 @@ namespace AsbCloudDb.Model
|
|||||||
.WithMany()
|
.WithMany()
|
||||||
.OnDelete(DeleteBehavior.Restrict);
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanReamingRotor>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanReamingSlide>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanLoadCapacity>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanRecordingStaticMeasurement>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanPositioningOffTheBottom>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanOscillationAngles>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanTFOrientation>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanSwitchingOffThePump>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanSwitchingToTheMode>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanDrillTest>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanShockTest>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanDamper>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanAutoHoldTF>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanOscillation>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanAntiCrashRotation>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<ProcessMapPlanStaticMeasurementOutput>()
|
||||||
|
.HasOne(p => p.Editor)
|
||||||
|
.WithMany()
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
DefaultData.DefaultContextData.Fill(modelBuilder);
|
DefaultData.DefaultContextData.Fill(modelBuilder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,9 +8,10 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using AsbCloudDb.Model.DailyReports;
|
using AsbCloudDb.Model.DailyReports;
|
||||||
using AsbCloudDb.Model.Manuals;
|
using AsbCloudDb.Model.Manuals;
|
||||||
using AsbCloudDb.Model.ProcessMaps;
|
|
||||||
using AsbCloudDb.Model.WellSections;
|
using AsbCloudDb.Model.WellSections;
|
||||||
using AsbCloudDb.Model.Trajectory;
|
using AsbCloudDb.Model.Trajectory;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan.Functions;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
namespace AsbCloudDb.Model
|
namespace AsbCloudDb.Model
|
||||||
{
|
{
|
||||||
@ -80,7 +81,24 @@ namespace AsbCloudDb.Model
|
|||||||
DbSet<WellSectionPlan> WellSectionsPlan { get; }
|
DbSet<WellSectionPlan> WellSectionsPlan { get; }
|
||||||
DbSet<DataSaubStat> DataSaubStat { get; }
|
DbSet<DataSaubStat> DataSaubStat { get; }
|
||||||
DatabaseFacade Database { get; }
|
DatabaseFacade Database { get; }
|
||||||
DbSet<ProcessMapPlanReam> ProcessMapPlanReams { get; }
|
DbSet<ProcessMapPlanRotor> ProcessMapPlanRotor { get; }
|
||||||
|
DbSet<ProcessMapPlanSlide> ProcessMapPlanSlide { get; }
|
||||||
|
DbSet<ProcessMapPlanReamingRotor> ProcessMapPlanReamingRotor { get; }
|
||||||
|
DbSet<ProcessMapPlanReamingSlide> ProcessMapPlanReamingSlide { get; }
|
||||||
|
DbSet<ProcessMapPlanLoadCapacity> ProcessMapPlanLoadCapacity { get; }
|
||||||
|
DbSet<ProcessMapPlanRecordingStaticMeasurement> ProcessMapPlanRecordingStaticMeasurement { get; }
|
||||||
|
DbSet<ProcessMapPlanPositioningOffTheBottom> ProcessMapPlanPositioningOffTheBottom { get; }
|
||||||
|
DbSet<ProcessMapPlanOscillationAngles> ProcessMapPlanOscillationAngles { get; }
|
||||||
|
DbSet<ProcessMapPlanTFOrientation> ProcessMapPlanTFOrientation { get; }
|
||||||
|
DbSet<ProcessMapPlanSwitchingOffThePump> ProcessMapPlanSwitchingOffThePump { get; }
|
||||||
|
DbSet<ProcessMapPlanSwitchingToTheMode> ProcessMapPlanSwitchingToTheMode { get; }
|
||||||
|
DbSet<ProcessMapPlanDrillTest> ProcessMapPlanDrillTest { get; }
|
||||||
|
DbSet<ProcessMapPlanShockTest> ProcessMapPlanShockTest { get; }
|
||||||
|
DbSet<ProcessMapPlanDamper> ProcessMapPlanDamper { get; }
|
||||||
|
DbSet<ProcessMapPlanAutoHoldTF> ProcessMapPlanAutoHoldTF { get; }
|
||||||
|
DbSet<ProcessMapPlanOscillation> ProcessMapPlanOscillation { get; }
|
||||||
|
DbSet<ProcessMapPlanAntiCrashRotation> ProcessMapPlanAntiCrashRotation { get; }
|
||||||
|
DbSet<ProcessMapPlanStaticMeasurementOutput> ProcessMapPlanStaticMeasurementOutput { get; }
|
||||||
|
|
||||||
Task<int> RefreshMaterializedViewAsync(string mwName, CancellationToken token);
|
Task<int> RefreshMaterializedViewAsync(string mwName, CancellationToken token);
|
||||||
Task<int> RefreshMaterializedViewAsync<TEntity>(CancellationToken token) where TEntity : class;
|
Task<int> RefreshMaterializedViewAsync<TEntity>(CancellationToken token) where TEntity : class;
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Functions;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_anti_crash_rotation"), Comment("Противоаварийное вращение")]
|
||||||
|
public class ProcessMapPlanAntiCrashRotation : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("top_drive_rpm_min"), Comment("Минимальные обороты ВСП, об/мин")]
|
||||||
|
[Range(0.0, 250.0)]
|
||||||
|
[Required]
|
||||||
|
public double TopDriveRpmMin { get; set; }
|
||||||
|
|
||||||
|
[Column("top_drive_start_min_flow_rate"), Comment("Минимальный расход для запуска оборотов ВСП, л/сек")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double TopDriveStartMinFlowRate { get; set; }
|
||||||
|
|
||||||
|
[Column("top_drive_torque_max"), Comment("Максимально допустимый момент на ВСП при противоаварийном вращении, кН*м")]
|
||||||
|
[Range(1.0, 35.0)]
|
||||||
|
[Required]
|
||||||
|
public double TopDriveTorqueMax { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanAntiCrashRotation? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Functions;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_auto_hold_tf"), Comment("Автоудержание TF")]
|
||||||
|
public class ProcessMapPlanAutoHoldTF : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("zenit_angle"), Comment("Зенитный угол, градусы")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double ZenithAngle { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanAutoHoldTF? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Functions;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_functions_damper"), Comment("Демпфер")]
|
||||||
|
public class ProcessMapPlanDamper : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("stick_slip"), Comment("StickSlip")]
|
||||||
|
[Range(0.0, 1000.0)]
|
||||||
|
[Required]
|
||||||
|
public double StickSlip { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanDamper? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,41 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Functions;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_drilltest"), Comment("DrillTest")]
|
||||||
|
public class ProcessMapPlanDrillTest : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("weight_on_bit_min"), Comment("Нагрузка минимальная, т")]
|
||||||
|
[Range(1.0, 30.0)]
|
||||||
|
[Required]
|
||||||
|
public double WeightOnBitMin { get; set; }
|
||||||
|
|
||||||
|
[Column("weight_on_bit_steps_count"), Comment("Количество шагов по нагрузке")]
|
||||||
|
[Range(1, 5)]
|
||||||
|
[Required]
|
||||||
|
public int WeightOnBitStepsCount { get; set; }
|
||||||
|
|
||||||
|
[Column("rpm_min"), Comment("Минимальные обороты на ВСП, об/мин.")]
|
||||||
|
[Range(5, 200)]
|
||||||
|
[Required]
|
||||||
|
public double RpmMin { get; set; }
|
||||||
|
|
||||||
|
[Column("rpm_steps_count"), Comment("Количество шагов оборотов на ВСП, об/мин.")]
|
||||||
|
[Range(1, 5)]
|
||||||
|
[Required]
|
||||||
|
public int RpmStepsCount { get; set; }
|
||||||
|
|
||||||
|
[Column("length_step"), Comment("Величина проходки шага, м.")]
|
||||||
|
[Range(0.1, 2.0)]
|
||||||
|
[Required]
|
||||||
|
public double LengthStep { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanDrillTest? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Functions;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_oscillation"), Comment("Осцилляция")]
|
||||||
|
public class ProcessMapPlanOscillation : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("optimal_oscillation_angle"), Comment("Оптимальный угол осцилляции, градусы")]
|
||||||
|
[Range(0.0, 6000.0)]
|
||||||
|
[Required]
|
||||||
|
public double OptimalOscillationAngle { get; set; }
|
||||||
|
|
||||||
|
[Column("Rpm_right"), Comment("Скорость вправо, об/мин")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
[Required]
|
||||||
|
public double RpmRight { get; set; }
|
||||||
|
|
||||||
|
[Column("Rpm_left"), Comment("Скорость влево, об/мин")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
[Required]
|
||||||
|
public double RpmLeft { get; set; }
|
||||||
|
|
||||||
|
[Column("torque_max_right"), Comment("Ограничение момента вправо, кН*м")]
|
||||||
|
[Range(0.0, 35.0)]
|
||||||
|
[Required]
|
||||||
|
public double TorqueMaxRight { get; set; }
|
||||||
|
|
||||||
|
[Column("torque_max_left"), Comment("Ограничение момента влево, кН*м")]
|
||||||
|
[Range(0.0, 35.0)]
|
||||||
|
[Required]
|
||||||
|
public double TorqueMaxLeft { get; set; }
|
||||||
|
|
||||||
|
[Column("mode"), Comment("Режим Авто/Руч")]
|
||||||
|
[Range(0, 1)]
|
||||||
|
[Required]
|
||||||
|
public int Mode { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanOscillation? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Functions;
|
||||||
|
|
||||||
|
[Table("t_process_map_shock_test"), Comment("ShockTest")]
|
||||||
|
public class ProcessMapPlanShockTest : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("stick_slip"), Comment("stickSlip")]
|
||||||
|
[Range(0.0, 1000.0)]
|
||||||
|
[Required]
|
||||||
|
public double StickSlip { get; set; }
|
||||||
|
|
||||||
|
[Column("whirl"), Comment("Whirl")]
|
||||||
|
[Range(0.0, 1000.0)]
|
||||||
|
[Required]
|
||||||
|
public double Whirl { get; set; }
|
||||||
|
|
||||||
|
[Column("axial_vibrations"), Comment("Осевые вибрации")]
|
||||||
|
[Range(0.0, 1000.0)]
|
||||||
|
[Required]
|
||||||
|
public double AxialVibrations { get; set; }
|
||||||
|
|
||||||
|
[Column("combined_vibrations"), Comment("Комбинированные вибрации")]
|
||||||
|
[Range(0.0, 1000.0)]
|
||||||
|
[Required]
|
||||||
|
public double CombinedVibrations { get; set; }
|
||||||
|
|
||||||
|
[Column("weight_on_bit_min"), Comment("Нагрузка минимальная, т")]
|
||||||
|
[Range(0.0, 30.0)]
|
||||||
|
[Required]
|
||||||
|
public double WeightOnBitMin { get; set; }
|
||||||
|
|
||||||
|
[Column("rpm_min"), Comment("Минимальные обороты на ВСП, об/мин.")]
|
||||||
|
[Range(5, 200)]
|
||||||
|
[Required]
|
||||||
|
public double RpmMin { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanShockTest? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Functions;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_static_measurement_output"), Comment("Выход статического замера")]
|
||||||
|
public class ProcessMapPlanStaticMeasurementOutput : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("signal_waiting_time"), Comment("Время ожидания выхода сигнала с ТМС, сек.")]
|
||||||
|
[Range(0.0, 1800.0)]
|
||||||
|
[Required]
|
||||||
|
public double SignalWaitingTime { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanStaticMeasurementOutput? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_load_capacity"), Comment("РТК выработка нагрузки")]
|
||||||
|
public class ProcessMapPlanLoadCapacity : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("time_load_capacity_min"), Comment("Время выработки минимальное, сек")]
|
||||||
|
[Range(0.0, 800.0)]
|
||||||
|
[Required]
|
||||||
|
public double TimeLoadCapacityMin { get; set; }
|
||||||
|
|
||||||
|
[Column("differential_pressure_min"), Comment("Перепад давления минимальный, атм")]
|
||||||
|
[Range(0.1, 400.0)]
|
||||||
|
[Required]
|
||||||
|
public double DifferentialPressureMin { get; set; }
|
||||||
|
|
||||||
|
[Column("weight_on_bit_min"), Comment("Нагрузка минимальная, т")]
|
||||||
|
[Range(0.1, 99.0)]
|
||||||
|
[Required]
|
||||||
|
public double WeightOnBitMin { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanLoadCapacity? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_operation_oscillation_angels"), Comment("Определение углов осцилляции")]
|
||||||
|
public class ProcessMapPlanOscillationAngles : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("top_drive_torque"), Comment("Момент на ВСП, кН*м., Уставка")]
|
||||||
|
[Range(0.0, 35.0)]
|
||||||
|
[Required]
|
||||||
|
public double TopDriveTorque { get; set; }
|
||||||
|
|
||||||
|
[Column("top_drive_torque_max"), Comment("Момент на ВСП, кН*м., Ограничение")]
|
||||||
|
[Range(0.0, 35.0)]
|
||||||
|
[Required]
|
||||||
|
public double TopDriveTorqueMax { get; set; }
|
||||||
|
|
||||||
|
[Column("rpm"), Comment("Обороты на ВСП, об/мин., Уставка")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
[Required]
|
||||||
|
public double Rpm { get; set; }
|
||||||
|
|
||||||
|
[Column("rpm_max"), Comment("Обороты на ВСП, об/мин., Ограничение")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
[Required]
|
||||||
|
public double RpmMax { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
[Required]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanOscillationAngles? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,77 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_positioning_off_the_bottom"), Comment("Позиционирование над забоем")]
|
||||||
|
public class ProcessMapPlanPositioningOffTheBottom : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("stop_off_the_bottom"), Comment("Остановка над забоем, м.")]
|
||||||
|
[Range(0.0, 30.0)]
|
||||||
|
[Required]
|
||||||
|
public double StopOffTheBottom { get; set; }
|
||||||
|
|
||||||
|
[Column("pressure_max"), Comment("Максимально допустимое давление, атм.")]
|
||||||
|
[Range(0.0, 400.0)]
|
||||||
|
[Required]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
[Column("differential_pressure"), Comment("Перепад давления уставка, атм.")]
|
||||||
|
[Range(0.0, 60.0)]
|
||||||
|
[Required]
|
||||||
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
|
[Column("tight"), Comment("Затяжка, т.")]
|
||||||
|
[Range(0.0, 20.0)]
|
||||||
|
[Required]
|
||||||
|
public double Tight { get; set; }
|
||||||
|
|
||||||
|
[Column("slacking_off"), Comment("Посадка, т.")]
|
||||||
|
[Range(0.0, 20.0)]
|
||||||
|
[Required]
|
||||||
|
public double SlackingOff { get; set; }
|
||||||
|
|
||||||
|
[Column("torque_max"), Comment("Максимально допустимый момент, кН*м.")]
|
||||||
|
[Range(0.0, 35.0)]
|
||||||
|
[Required]
|
||||||
|
public double TorqueMax { get; set; }
|
||||||
|
|
||||||
|
[Column("rop_up"), Comment("Скорость вверх, м/ч.")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
[Required]
|
||||||
|
public double RopUp { get; set; }
|
||||||
|
|
||||||
|
[Column("rop_down"), Comment("Скорость вниз, м/ч.")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
[Required]
|
||||||
|
public double RopDown { get; set; }
|
||||||
|
|
||||||
|
[Column("rpm_up"), Comment("Обороты вверх, об/мин.")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
[Required]
|
||||||
|
public double RpmUp { get; set; }
|
||||||
|
|
||||||
|
[Column("rpm_down"), Comment("Обороты вниз, об/мин.")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
[Required]
|
||||||
|
public double RpmDown { get; set; }
|
||||||
|
|
||||||
|
[Column("flow_rate_up"), Comment("Расход вверх, л/с.")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
[Column("flow_rate_down"), Comment("Расход вниз, л/с.")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
[Required]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanPositioningOffTheBottom? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,158 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_operation_reaming_rotor"), Comment("РТК проработка ротор")]
|
||||||
|
public class ProcessMapPlanReamingRotor : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("pressure_max"), Comment("Максимально допустимое давление, атм.")]
|
||||||
|
[Range(0.0, 400.0)]
|
||||||
|
[Required]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
[Column("differential_pressure"), Comment("Перепад давления уставка, атм.")]
|
||||||
|
[Range(0.0, 60.0)]
|
||||||
|
[Required]
|
||||||
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
|
[Column("tight"), Comment("Затяжка, т.")]
|
||||||
|
[Range(0.0, 20.0)]
|
||||||
|
[Required]
|
||||||
|
public double Tight { get; set; }
|
||||||
|
|
||||||
|
[Column("slacking_off"), Comment("Посадка, т.")]
|
||||||
|
[Range(0.0, 20.0)]
|
||||||
|
[Required]
|
||||||
|
public double SlackingOff { get; set; }
|
||||||
|
|
||||||
|
[Column("torque_max"), Comment("Максимально допустимый момент, кН*м.")]
|
||||||
|
[Range(0.0, 35.0)]
|
||||||
|
[Required]
|
||||||
|
public double TorqueMax { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_repetitions_count"), Comment("Проработка 1. Количество повторений, шт.")]
|
||||||
|
[Range(0, 99)]
|
||||||
|
[Required]
|
||||||
|
public int Reaming1RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_rop_up"), Comment("Проработка 1. Скорость вверх, м/ч.")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1RopUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_rop_down"), Comment("Проработка 1, Скорость, м/ч., Вниз")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1RopDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_rpm_up"), Comment("Проработка 1, Обороты, об/мин., Вверх")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1RpmUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_rpm_down"), Comment("Проработка 1, Обороты, об/мин., Вниз")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1RpmDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_flow_rate_up"), Comment("Проработка 1, Расход, л/с., Вверх")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_flow_rate_down"), Comment("Проработка 1, Расход, л/с., Вниз")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_interval"), Comment("Проработка 1, Интервал проработки, м.")]
|
||||||
|
[Range(0.0, 30.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1Interval { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_stop_point_off_bottom"), Comment("Остановка над забоем, м.")]
|
||||||
|
[Range(0.0, 10.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_repetitions_count"), Comment("Проработка 2, Количество повторений, шт.")]
|
||||||
|
[Range(0, 99)]
|
||||||
|
public int Reaming2RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_rop_up"), Comment("Проработка 2, Скорость, м/ч., Вверх")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
public double Reaming2RopUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_rop_down"), Comment("Проработка 2, Скорость, м/ч., Вниз")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
public double Reaming2RopDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_rpm_up"), Comment("Проработка 2, Обороты, об/мин., Вверх")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
public double Reaming2RpmUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_rpm_down"), Comment("Проработка 2, Обороты, об/мин., Вниз")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
public double Reaming2RpmDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_flow_rate_up"), Comment("Проработка 2, Расход, л/с., Вверх")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
public double Reaming2FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_flow_rate_down"), Comment("Проработка 2, Расход, л/с., Вниз")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
public double Reaming2FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_interval"), Comment("Проработка 2, Интервал проработки, м.")]
|
||||||
|
[Range(0.0, 30.0)]
|
||||||
|
public double Reaming2Interval { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_stop_point_off_bottom"), Comment("Остановка над забоем, м.")]
|
||||||
|
[Range(0.0, 10.0)]
|
||||||
|
public double Reaming2StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_repetitions_count"), Comment("Проработка 3, Количество повторений, шт.")]
|
||||||
|
[Range(0, 99)]
|
||||||
|
public int Reaming3RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_rop_up"), Comment("Проработка 3, Скорость, м/ч., Вверх")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
public double Reaming3RopUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_rop_down"), Comment("Проработка 3, Скорость, м/ч., Вниз")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
public double Reaming3RopDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_rpm_up"), Comment("Проработка 3, Обороты, об/мин., Вверх")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
public double Reaming3RpmUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_rpm_down"), Comment("Проработка 3, Обороты, об/мин., Вниз")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
public double Reaming3RpmDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_flow_rate_up"), Comment("Проработка 3, Расход, л/с., Вверх")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
public double Reaming3FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_flow_rate_down"), Comment("Проработка 3, Расход, л/с., Вниз")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
public double Reaming3FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_interval"), Comment("Проработка 3, Интервал проработки, м.")]
|
||||||
|
[Range(0.0, 30.0)]
|
||||||
|
public double Reaming3Interval { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_stop_point_off_bottom"), Comment("Остановка над забоем, м.")]
|
||||||
|
[Range(0.0, 10.0)]
|
||||||
|
public double Reaming3StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanReamingRotor? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,158 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_reaming_slide"), Comment("РТК проработка слайд")]
|
||||||
|
public class ProcessMapPlanReamingSlide : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("pressure_max"), Comment("Максимально допустимое давление, атм.")]
|
||||||
|
[Range(0.0, 400.0)]
|
||||||
|
[Required]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
[Column("differential_pressure"), Comment("Перепад давления уставка, атм.")]
|
||||||
|
[Range(0.0, 60.0)]
|
||||||
|
[Required]
|
||||||
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
|
[Column("tight"), Comment("Затяжка, т.")]
|
||||||
|
[Range(0.0, 20.0)]
|
||||||
|
[Required]
|
||||||
|
public double Tight { get; set; }
|
||||||
|
|
||||||
|
[Column("slacking_off"), Comment("Посадка, т.")]
|
||||||
|
[Range(0.0, 20.0)]
|
||||||
|
[Required]
|
||||||
|
public double SlackingOff { get; set; }
|
||||||
|
|
||||||
|
[Column("torque_max"), Comment("Максимально допустимый момент, кН*м.")]
|
||||||
|
[Range(0.0, 35.0)]
|
||||||
|
[Required]
|
||||||
|
public double TorqueMax { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_repetitions_count"), Comment("Проработка 1. Количество повторений, шт.")]
|
||||||
|
[Range(0.0, 99.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_rop_up"), Comment("Проработка 1. Скорость вверх, м/ч.")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1RopUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_rop_down"), Comment("Проработка 1. Скорость вниз, м/ч.")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1RopDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_rpm_up"), Comment("Проработка 1, Обороты, об/мин., Вверх")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1RpmUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_rpm_down"), Comment("Проработка 1, Обороты, об/мин., Вниз")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1RpmDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_flow_rate_up"), Comment("Проработка 1, Расход, л/с., Вверх")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_flow_rate_down"), Comment("Проработка 1, Расход, л/с., Вниз")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_interval"), Comment("Проработка 1, Интервал проработки, м.")]
|
||||||
|
[Range(0.0, 30.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1Interval { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming1_stop_point_off_bottom"), Comment("Остановка над забоем, м.")]
|
||||||
|
[Range(0.0, 10.0)]
|
||||||
|
[Required]
|
||||||
|
public double Reaming1StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_repetitions_count"), Comment("Проработка 2, Количество повторений, шт.")]
|
||||||
|
[Range(0.0, 99.0)]
|
||||||
|
public double Reaming2RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_rop_up"), Comment("Проработка 2, Скорость, м/ч., Вверх")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
public double Reaming2RopUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_rop_down"), Comment("Проработка 2, Скорость, м/ч., Вниз")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
public double Reaming2RopDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_rpm_up"), Comment("Проработка 2, Обороты, об/мин., Вверх")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
public double Reaming2RpmUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_rpm_down"), Comment("Проработка 2, Обороты, об/мин., Вниз")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
public double Reaming2RpmDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_flow_rate_up"), Comment("Проработка 2, Расход, л/с., Вверх")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
public double Reaming2FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_flow_rate_down"), Comment("Проработка 2, Расход, л/с., Вниз")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
public double Reaming2FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_interval"), Comment("Проработка 2, Интервал проработки, м.")]
|
||||||
|
[Range(0.0, 30.0)]
|
||||||
|
public double Reaming2Interval { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming2_stop_point_off_bottom"), Comment("Остановка над забоем, м.")]
|
||||||
|
[Range(0.0, 10.0)]
|
||||||
|
public double Reaming2StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_repetitions_count"), Comment("Проработка 3, Количество повторений, шт.")]
|
||||||
|
[Range(0.0, 99.0)]
|
||||||
|
public double Reaming3RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_rop_up"), Comment("Проработка 3, Скорость, м/ч., Вверх")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
public double Reaming3RopUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_rop_down"), Comment("Проработка 3, Скорость, м/ч., Вниз")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
public double Reaming3RopDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_rpm_up"), Comment("Проработка 3, Обороты, об/мин., Вверх")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
public double Reaming3RpmUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_rpm_down"), Comment("Проработка 3, Обороты, об/мин., Вниз")]
|
||||||
|
[Range(0.0, 270.0)]
|
||||||
|
public double Reaming3RpmDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_flow_rate_up"), Comment("Проработка 3, Расход, л/с., Вверх")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
public double Reaming3FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_flow_rate_down"), Comment("Проработка 3, Расход, л/с., Вниз")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
public double Reaming3FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_interval"), Comment("Проработка 3, Интервал проработки, м.")]
|
||||||
|
[Range(0.0, 30.0)]
|
||||||
|
public double Reaming3Interval { get; set; }
|
||||||
|
|
||||||
|
[Column("reaming3_stop_point_off_bottom"), Comment("Остановка над забоем, м.")]
|
||||||
|
[Range(0.0, 10.0)]
|
||||||
|
public double Reaming3StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanReamingSlide? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_recording_static_measurement"), Comment("Запись статического замера")]
|
||||||
|
public class ProcessMapPlanRecordingStaticMeasurement : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("measurement_recording_time"), Comment("Время записи замера, сек")]
|
||||||
|
[Range(0.0, 1800.0)]
|
||||||
|
[Required]
|
||||||
|
public double MeasurementRecordingTime { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanRecordingStaticMeasurement? Previous { get; set; }
|
||||||
|
}
|
@ -3,74 +3,75 @@ using System.ComponentModel.DataAnnotations.Schema;
|
|||||||
using AsbCloudDb.Model.ProcessMapPlan;
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace AsbCloudDb.Model.ProcessMaps;
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
[Table("t_process_map_plan_rotor"), Comment("РТК план бурение ротор")]
|
[Table("t_process_map_plan_rotor"), Comment("РТК план бурение ротор")]
|
||||||
public class ProcessMapPlanRotor : ProcessMapPlanBase
|
public class ProcessMapPlanRotor : ProcessMapPlanBase
|
||||||
{
|
{
|
||||||
[Column("rop_limit_max"), Comment("Максимально допустимая скорость, м/ч")]
|
[Column("rop_max"), Comment("Максимально допустимая скорость, м/ч")]
|
||||||
[Range(0, 800.0)]
|
[Range(0, 800.0)]
|
||||||
[Required]
|
|
||||||
public double RopLimitMax { get; set; }
|
|
||||||
|
|
||||||
[Column("pressure_limit_max"), Comment("Максимально допустимое давление, атм")]
|
|
||||||
[Range(0.0, 400.0)]
|
|
||||||
[Required]
|
[Required]
|
||||||
public double PressureLimitMax { get; set; }
|
public double RopMax { get; set; }
|
||||||
|
|
||||||
|
[Column("pressure_max"), Comment("Максимально допустимое давление, атм")]
|
||||||
|
[Range(0.0, 400.0)]
|
||||||
|
[Required]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
[Column("differential_pressure"), Comment("Перепад давления, атм. Уставка")]
|
[Column("differential_pressure"), Comment("Перепад давления, атм. Уставка")]
|
||||||
[Range(0.0, 60.0)]
|
[Range(0.0, 60.0)]
|
||||||
[Required]
|
[Required]
|
||||||
public double DifferentialPressure { get; set; }
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
[Column("differential_pressure_limit_max"), Comment("Перепад давления, атм. Ограничение")]
|
[Column("differential_pressure_max"), Comment("Перепад давления, атм. Ограничение")]
|
||||||
[Range(0.0, 60.0)]
|
[Range(0.0, 60.0)]
|
||||||
[Required]
|
[Required]
|
||||||
public double DifferentialPressureLimitMax { get; set; }
|
public double DifferentialPressureMax { get; set; }
|
||||||
|
|
||||||
[Column("weight_on_bit"), Comment("Нагрузка, т. Уставка")]
|
[Column("weight_on_bit"), Comment("Нагрузка, т. Уставка")]
|
||||||
[Range(0.0, 99.0)]
|
[Range(0.0, 99.0)]
|
||||||
[Required]
|
[Required]
|
||||||
public double WeightOnBit { get; set; }
|
public double WeightOnBit { get; set; }
|
||||||
|
|
||||||
[Column("weight_on_bit_limit_max"), Comment("Нагрузка, т. Ограничение")]
|
[Column("weight_on_bit_max"), Comment("Нагрузка, т. Ограничение")]
|
||||||
[Range(0.0, 99.0)]
|
[Range(0.0, 99.0)]
|
||||||
[Required]
|
[Required]
|
||||||
public double WeightOnBitLimitMax { get; set; }
|
public double WeightOnBitMax { get; set; }
|
||||||
|
|
||||||
[Column("top_drive_torque"), Comment("Момент на ВСП, кН*м. Уставка")]
|
[Column("top_drive_torque"), Comment("Момент на ВСП, кН*м. Уставка")]
|
||||||
[Range(0.0, 35.0)]
|
[Range(0.0, 35.0)]
|
||||||
[Required]
|
[Required]
|
||||||
public double TopDriveTorque { get; set; }
|
public double TopDriveTorque { get; set; }
|
||||||
|
|
||||||
[Column("top_drive_torque_limit_max"), Comment("Момент на ВСП, кН*м. Ограничение")]
|
[Column("top_drive_torque_max"), Comment("Момент на ВСП, кН*м. Ограничение")]
|
||||||
[Range(0.0, 35.0)]
|
[Range(0.0, 35.0)]
|
||||||
[Required]
|
[Required]
|
||||||
public double TopDriveTorqueLimit { get; set; }
|
public double TopDriveTorqueMax { get; set; }
|
||||||
|
|
||||||
[Column("revolution_per_minute"), Comment("Обороты на ВСП, об/мин. Уставка")]
|
[Column("rpm"), Comment("Обороты на ВСП, об/мин. Уставка")]
|
||||||
[Range(0.0, 270.0)]
|
[Range(0.0, 270.0)]
|
||||||
[Required]
|
[Required]
|
||||||
public double RevolutionsPerMinute { get; set; }
|
public double Rpm { get; set; }
|
||||||
|
|
||||||
[Column("revolutions_per_minute_limit_max"), Comment("Обороты на ВСП, об/мин. Ограничение")]
|
[Column("rpm_max"), Comment("Обороты на ВСП, об/мин. Ограничение")]
|
||||||
[Range(0.0, 270.0)]
|
[Range(0.0, 270.0)]
|
||||||
[Required]
|
[Required]
|
||||||
public double RevolutionsPerMinuteLimitMax { get; set; }
|
public double RpmMax { get; set; }
|
||||||
|
|
||||||
[Column("flow_rate"), Comment("Расход л/с. Уставка")]
|
[Column("flow_rate"), Comment("Расход л/с. Уставка")]
|
||||||
[Range(0.0, 100.0)]
|
[Range(0.0, 100.0)]
|
||||||
[Required]
|
[Required]
|
||||||
public double FlowRate { get; set; }
|
public double FlowRate { get; set; }
|
||||||
|
|
||||||
[Column("flow_rate_limit_max"), Comment("Расход л/с. Ограничение")]
|
[Column("flow_rate_max"), Comment("Расход л/с. Ограничение")]
|
||||||
[Range(0.0, 100.0)]
|
[Range(0.0, 100.0)]
|
||||||
[Required]
|
[Required]
|
||||||
public double FlowRateLimitMax { get; set; }
|
public double FlowRateMax { get; set; }
|
||||||
|
|
||||||
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
[Required]
|
||||||
public string Note { get; set; } = string.Empty;
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
[ForeignKey(nameof(IdPrevious))]
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
public virtual ProcessMapPlanRotor? Previous { get; set; }
|
public virtual ProcessMapPlanRotor? Previous { get; set; }
|
||||||
}
|
}
|
@ -0,0 +1,66 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_slide"), Comment("РТК план бурение слайд")]
|
||||||
|
public class ProcessMapPlanSlide : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("rop_max"), Comment("Максимально допустимая скорость, м/ч.")]
|
||||||
|
[Range(0, 800)]
|
||||||
|
[Required]
|
||||||
|
public double RopMax { get; set; }
|
||||||
|
|
||||||
|
[Column("pressure_max"), Comment("Максимально допустимое давление, атм.")]
|
||||||
|
[Range(0, 400)]
|
||||||
|
[Required]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
[Column("differential_pressure"), Comment("Перепад давления уставка, атм.")]
|
||||||
|
[Range(0, 60)]
|
||||||
|
[Required]
|
||||||
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
|
[Column("differential_pressure_max"), Comment("Перепад давления ограничение, атм.")]
|
||||||
|
[Range(0, 60)]
|
||||||
|
[Required]
|
||||||
|
public double DifferentialPressureMax { get; set; }
|
||||||
|
|
||||||
|
[Column("weight_on_bit"), Comment("Нагрузка уставка, т.")]
|
||||||
|
[Range(0, 99)]
|
||||||
|
[Required]
|
||||||
|
public double WeightOnBit { get; set; }
|
||||||
|
|
||||||
|
[Column("weight_on_bit_max"), Comment("Нагрузка ограничение, т.")]
|
||||||
|
[Range(0, 99)]
|
||||||
|
[Required]
|
||||||
|
public double WeightOnBitMax { get; set; }
|
||||||
|
|
||||||
|
[Column("flow_rate"), Comment("Расход уставка, л/с.")]
|
||||||
|
[Range(0, 100)]
|
||||||
|
[Required]
|
||||||
|
public double FlowRate { get; set; }
|
||||||
|
|
||||||
|
[Column("flow_rate_max"), Comment("Расход ограничение, л/с.")]
|
||||||
|
[Range(0, 100)]
|
||||||
|
[Required]
|
||||||
|
public double FlowRateMax { get; set; }
|
||||||
|
|
||||||
|
[Column("spring"), Comment("Расчётная пружина, градус")]
|
||||||
|
[Range(0, 9999)]
|
||||||
|
[Required]
|
||||||
|
public double Spring { get; set; }
|
||||||
|
|
||||||
|
[Column("buckling"), Comment("Складывание инструмента, м.")]
|
||||||
|
[Range(0, 9999)]
|
||||||
|
[Required]
|
||||||
|
public double Buckling { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanSlide? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_operation_switching_off_the_pump"), Comment("Выключение насоса")]
|
||||||
|
public class ProcessMapPlanSwitchingOffThePump : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("duration"), Comment("Продолжительность, сек.")]
|
||||||
|
[Range(0.0, 1800.0)]
|
||||||
|
[Required]
|
||||||
|
public double Duration { get; set; }
|
||||||
|
|
||||||
|
[Column("residual_pressure_limit"), Comment("Лимит остаточного давления, атм.")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
public double ResidualPressureLimit { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanSwitchingOffThePump? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_switching_to_the_mode"), Comment("Выход на плановый расход")]
|
||||||
|
public class ProcessMapPlanSwitchingToTheMode : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("ramp_time"), Comment("Время выхода буровых насосов на плановый расход, сек.")]
|
||||||
|
[Range(0.0, 3600.0)]
|
||||||
|
[Required]
|
||||||
|
public double RampTime { get; set; }
|
||||||
|
|
||||||
|
[Column("flow_rate"), Comment("Расход, л/с")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double FlowRate { get; set; }
|
||||||
|
|
||||||
|
[Column("pressure_limit"), Comment("Максимально допустимое давление, атм.")]
|
||||||
|
[Range(0.0, 400.0)]
|
||||||
|
[Required]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
[Required]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanSwitchingToTheMode? Previous { get; set; }
|
||||||
|
}
|
@ -0,0 +1,86 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
|
||||||
|
[Table("t_process_map_plan_tf_orientation"), Comment("Выставление")]
|
||||||
|
public class ProcessMapPlanTFOrientation : ProcessMapPlanBase
|
||||||
|
{
|
||||||
|
[Column("tf_setpoint"), Comment("Задание TF, град.")]
|
||||||
|
[Range(0.0, 360.0)]
|
||||||
|
[Required]
|
||||||
|
public double TFSetpoint { get; set; }
|
||||||
|
|
||||||
|
[Column("spring"), Comment("Пружина, град.")]
|
||||||
|
[Range(0.0, 10000.0)]
|
||||||
|
[Required]
|
||||||
|
public double Spring { get; set; }
|
||||||
|
|
||||||
|
[Column("pressure_max"), Comment("Максимальное давление, атм.")]
|
||||||
|
[Range(0.0, 400.0)]
|
||||||
|
[Required]
|
||||||
|
public double PressureMax { get; set; }
|
||||||
|
|
||||||
|
[Column("differential_pressure"), Comment("Перепад давления, атм.")]
|
||||||
|
[Range(0.0, 60.0)]
|
||||||
|
[Required]
|
||||||
|
public double DifferentialPressure { get; set; }
|
||||||
|
|
||||||
|
[Column("tight"), Comment("Затяжка, т.")]
|
||||||
|
[Range(0.0, 20.0)]
|
||||||
|
[Required]
|
||||||
|
public double Tight { get; set; }
|
||||||
|
|
||||||
|
[Column("slacking_off"), Comment("Посадка, т.")]
|
||||||
|
[Range(0.0, 20.0)]
|
||||||
|
[Required]
|
||||||
|
public double SlackingOff { get; set; }
|
||||||
|
|
||||||
|
[Column("torque_max"), Comment("Максимально допустимый момент, кН*м.")]
|
||||||
|
[Range(0.0, 35.0)]
|
||||||
|
[Required]
|
||||||
|
public double TorqueMax { get; set; }
|
||||||
|
|
||||||
|
[Column("repetitions_count"), Comment("Количество расхаживаний, шт.")]
|
||||||
|
[Range(0.0, 99.0)]
|
||||||
|
[Required]
|
||||||
|
public int RepetitionsCount { get; set; }
|
||||||
|
|
||||||
|
[Column("rop_up"), Comment("Скорость вверх, м/ч.")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
[Required]
|
||||||
|
public double RopUp { get; set; }
|
||||||
|
|
||||||
|
[Column("rop_down"), Comment("Скорость вниз, м/ч.")]
|
||||||
|
[Range(0.0, 999.0)]
|
||||||
|
[Required]
|
||||||
|
public double RopDown { get; set; }
|
||||||
|
|
||||||
|
[Column("flow_rate_up"), Comment("Расход вверх, л/с.")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double FlowRateUp { get; set; }
|
||||||
|
|
||||||
|
[Column("flow_rate_down"), Comment("Расход вниз, л/с.")]
|
||||||
|
[Range(0.0, 100.0)]
|
||||||
|
[Required]
|
||||||
|
public double FlowRateDown { get; set; }
|
||||||
|
|
||||||
|
[Column("interval"), Comment("Интервал расхаживания, м.")]
|
||||||
|
[Range(0.0, 30.0)]
|
||||||
|
[Required]
|
||||||
|
public double Interval { get; set; }
|
||||||
|
|
||||||
|
[Column("stop_point_off_bottom"), Comment("Остановка над забоем, м.")]
|
||||||
|
[Range(0.0, 10.0)]
|
||||||
|
[Required]
|
||||||
|
public double StopPointOffBottom { get; set; }
|
||||||
|
|
||||||
|
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
||||||
|
public string Note { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(IdPrevious))]
|
||||||
|
public virtual ProcessMapPlanTFOrientation? Previous { get; set; }
|
||||||
|
}
|
@ -1,36 +0,0 @@
|
|||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using AsbCloudDb.Model.ProcessMapPlan;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
|
|
||||||
namespace AsbCloudDb.Model.ProcessMaps;
|
|
||||||
|
|
||||||
[Table("t_process_map_plan_ream"), Comment("РТК проработка скважины")]
|
|
||||||
public class ProcessMapPlanReam : ProcessMapPlanBase
|
|
||||||
{
|
|
||||||
[Column("repeats"), Comment("Количество повторений")]
|
|
||||||
public double Repeats { get; set; }
|
|
||||||
|
|
||||||
[Column("spin_upward"), Comment("Вращение при движении вверх, об/мин")]
|
|
||||||
public double SpinUpward { get; set; }
|
|
||||||
|
|
||||||
[Column("spin_downward"), Comment("Вращение при движении вниз, об/мин")]
|
|
||||||
public double SpinDownward { get; set; }
|
|
||||||
|
|
||||||
[Column("speed_upward"), Comment("Скорость подъёма, м/ч")]
|
|
||||||
public double SpeedUpward { get; set; }
|
|
||||||
|
|
||||||
[Column("speed_downward"), Comment("Скорость спуска, м/ч")]
|
|
||||||
public double SpeedDownward { get; set; }
|
|
||||||
|
|
||||||
[Column("setpoint_drag"), Comment("Уставка зятяжки, т")]
|
|
||||||
public double SetpointDrag { get; set; }
|
|
||||||
|
|
||||||
[Column("setpoint_tight"), Comment("Уставка посадки, т")]
|
|
||||||
public double SetpointTight { get; set; }
|
|
||||||
|
|
||||||
[Column("pressure"), Comment("Давление, атм")]
|
|
||||||
public double Pressure { get; set; }
|
|
||||||
|
|
||||||
[Column("torque"), Comment("Момент, кН*м")]
|
|
||||||
public double Torque { get; set; }
|
|
||||||
}
|
|
@ -1,66 +0,0 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using AsbCloudDb.Model.ProcessMapPlan;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
|
|
||||||
namespace AsbCloudDb.Model.ProcessMaps;
|
|
||||||
|
|
||||||
[Table("t_process_map_plan_slide"), Comment("РТК план бурение слайд")]
|
|
||||||
public class ProcessMapPlanSlide : ProcessMapPlanBase
|
|
||||||
{
|
|
||||||
[Column("rop_limit_max"), Comment("Максимально допустимая скорость, м/ч")]
|
|
||||||
[Range(0, 800.0)]
|
|
||||||
[Required]
|
|
||||||
public double RopLimitMax { get; set; }
|
|
||||||
|
|
||||||
[Column("pressure_limit_max"), Comment("Максимально допустимое давление, атм")]
|
|
||||||
[Range(0, 400.0)]
|
|
||||||
[Required]
|
|
||||||
public double PressureLimitMax { get; set; }
|
|
||||||
|
|
||||||
[Column("differential_pressure"), Comment("Перепад давления, атм. Уставка")]
|
|
||||||
[Range(0, 60.0)]
|
|
||||||
[Required]
|
|
||||||
public double DifferentialPressure { get; set; }
|
|
||||||
|
|
||||||
[Column("differential_pressure_limit_max"), Comment("Перепад давления, атм. Ограничение")]
|
|
||||||
[Range(0, 60.0)]
|
|
||||||
[Required]
|
|
||||||
public double DifferentialPressureLimitMax { get; set; }
|
|
||||||
|
|
||||||
[Column("weight_on_bit"), Comment("Нагрузка, т. Уставка")]
|
|
||||||
[Range(0, 50.0)]
|
|
||||||
[Required]
|
|
||||||
public double WeightOnBit { get; set; }
|
|
||||||
|
|
||||||
[Column("weight_on_bit_limit_max"), Comment("Нагрузка, т. Ограничение")]
|
|
||||||
[Range(0, 50.0)]
|
|
||||||
[Required]
|
|
||||||
public double WeightOnBitLimitMax { get; set; }
|
|
||||||
|
|
||||||
[Column("flow_rate"), Comment("Расход л/с. Уставка")]
|
|
||||||
[Range(0, 100.0)]
|
|
||||||
[Required]
|
|
||||||
public double FlowRate { get; set; }
|
|
||||||
|
|
||||||
[Column("flow_rate_limit_max"), Comment("Расход л/с. Ограничение")]
|
|
||||||
[Range(0, 100.0)]
|
|
||||||
[Required]
|
|
||||||
public double FlowRateLimitMax { get; set; }
|
|
||||||
|
|
||||||
[Column("spring"), Comment("Расчётная пружина, градус")]
|
|
||||||
[Range(0, 9999.9)]
|
|
||||||
[Required]
|
|
||||||
public double Spring { get; set; }
|
|
||||||
|
|
||||||
[Column("tool_buckling"), Comment("Складывание инструмента, м")]
|
|
||||||
[Range(0, 9999.9)]
|
|
||||||
[Required]
|
|
||||||
public double ToolBuckling { get; set; }
|
|
||||||
|
|
||||||
[Column("note"), Comment("Примечание"), StringLength(1024)]
|
|
||||||
public string Note { get; set; } = string.Empty;
|
|
||||||
|
|
||||||
[ForeignKey(nameof(IdPrevious))]
|
|
||||||
public virtual ProcessMapPlanSlide? Previous { get; set; }
|
|
||||||
}
|
|
@ -14,9 +14,24 @@
|
|||||||
<None Remove="CommonLibs\Readme.md" />
|
<None Remove="CommonLibs\Readme.md" />
|
||||||
<None Remove="Services\DailyReport\DailyReportTemplate.xlsx" />
|
<None Remove="Services\DailyReport\DailyReportTemplate.xlsx" />
|
||||||
<None Remove="Services\DrillTestReport\DrillTestReportTemplate.xlsx" />
|
<None Remove="Services\DrillTestReport\DrillTestReportTemplate.xlsx" />
|
||||||
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanReamTemplate.xlsx" />
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanAntiCrashRotationTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanAutoHoldTFTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanDamperTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanDrillTestTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanLoadCapacityTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanOscillationAnglesTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanOscillationTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanPositioningOffTheBottomTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanReamingRotorTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanReamingSlideTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanRecordingStaticMeasurementTemplate.xlsx" />
|
||||||
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanRotorTemplate.xlsx" />
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanRotorTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanShockTestTemplate.xlsx" />
|
||||||
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanSlideTemplate.xlsx" />
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanSlideTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanStaticMeasurementOutputTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanSwitchingOffThePumpTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanSwitchingToTheModeTemplate.xlsx" />
|
||||||
|
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanTFOrientationTemplate.xlsx" />
|
||||||
<None Remove="Services\ProcessMaps\Report\ProcessMapReportDataSaubStatTemplate.xlsx" />
|
<None Remove="Services\ProcessMaps\Report\ProcessMapReportDataSaubStatTemplate.xlsx" />
|
||||||
<None Remove="Services\Trajectory\FactTrajectoryTemplate.xlsx" />
|
<None Remove="Services\Trajectory\FactTrajectoryTemplate.xlsx" />
|
||||||
<None Remove="Services\Trajectory\NnbTrajectoryTemplate.xlsx" />
|
<None Remove="Services\Trajectory\NnbTrajectoryTemplate.xlsx" />
|
||||||
@ -40,9 +55,24 @@
|
|||||||
<EmbeddedResource Include="Services\DetectOperations\DetectOperations.xlsx" />
|
<EmbeddedResource Include="Services\DetectOperations\DetectOperations.xlsx" />
|
||||||
<EmbeddedResource Include="Services\DailyReport\DailyReportTemplate.xlsx" />
|
<EmbeddedResource Include="Services\DailyReport\DailyReportTemplate.xlsx" />
|
||||||
<EmbeddedResource Include="Services\DrillTestReport\DrillTestReportTemplate.xlsx" />
|
<EmbeddedResource Include="Services\DrillTestReport\DrillTestReportTemplate.xlsx" />
|
||||||
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanReamTemplate.xlsx" />
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanAntiCrashRotationTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanAutoHoldTFTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanDamperTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanDrillTestTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanLoadCapacityTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanOscillationAnglesTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanOscillationTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanPositioningOffTheBottomTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanReamingRotorTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanReamingSlideTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanRecordingStaticMeasurementTemplate.xlsx" />
|
||||||
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanRotorTemplate.xlsx" />
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanRotorTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanShockTestTemplate.xlsx" />
|
||||||
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanSlideTemplate.xlsx" />
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanSlideTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanStaticMeasurementOutputTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanSwitchingOffThePumpTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanSwitchingToTheModeTemplate.xlsx" />
|
||||||
|
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanTFOrientationTemplate.xlsx" />
|
||||||
<EmbeddedResource Include="Services\ProcessMaps\Report\ProcessMapReportDataSaubStatTemplate.xlsx" />
|
<EmbeddedResource Include="Services\ProcessMaps\Report\ProcessMapReportDataSaubStatTemplate.xlsx" />
|
||||||
<EmbeddedResource Include="Services\Trajectory\Templates\TrajectoryFactNnbTemplate.xlsx" />
|
<EmbeddedResource Include="Services\Trajectory\Templates\TrajectoryFactNnbTemplate.xlsx" />
|
||||||
<EmbeddedResource Include="Services\Trajectory\Templates\TrajectoryFactManualTemplate.xlsx" />
|
<EmbeddedResource Include="Services\Trajectory\Templates\TrajectoryFactManualTemplate.xlsx" />
|
||||||
|
@ -4,6 +4,8 @@ using AsbCloudApp.Data.DetectedOperation;
|
|||||||
using AsbCloudApp.Data.DrillTestReport;
|
using AsbCloudApp.Data.DrillTestReport;
|
||||||
using AsbCloudApp.Data.Manuals;
|
using AsbCloudApp.Data.Manuals;
|
||||||
using AsbCloudApp.Data.ProcessMaps;
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
using AsbCloudApp.Data.SAUB;
|
using AsbCloudApp.Data.SAUB;
|
||||||
using AsbCloudApp.Data.Subsystems;
|
using AsbCloudApp.Data.Subsystems;
|
||||||
using AsbCloudApp.Data.Trajectory;
|
using AsbCloudApp.Data.Trajectory;
|
||||||
@ -17,7 +19,8 @@ using AsbCloudDb.Model;
|
|||||||
using AsbCloudDb.Model.DailyReports.Blocks.TimeBalance;
|
using AsbCloudDb.Model.DailyReports.Blocks.TimeBalance;
|
||||||
using AsbCloudDb.Model.Manuals;
|
using AsbCloudDb.Model.Manuals;
|
||||||
using AsbCloudDb.Model.ProcessMapPlan;
|
using AsbCloudDb.Model.ProcessMapPlan;
|
||||||
using AsbCloudDb.Model.ProcessMaps;
|
using AsbCloudDb.Model.ProcessMapPlan.Functions;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
using AsbCloudDb.Model.Trajectory;
|
using AsbCloudDb.Model.Trajectory;
|
||||||
using AsbCloudDb.Model.WellSections;
|
using AsbCloudDb.Model.WellSections;
|
||||||
using AsbCloudInfrastructure.Background;
|
using AsbCloudInfrastructure.Background;
|
||||||
@ -145,6 +148,118 @@ namespace AsbCloudInfrastructure
|
|||||||
{
|
{
|
||||||
Item = src.Adapt<ProcessMapPlanSlideDto>()
|
Item = src.Adapt<ProcessMapPlanSlideDto>()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanReamingRotorDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanReamingRotor, ChangeLogDto<ProcessMapPlanReamingRotorDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanReamingRotorDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanReamingRotorDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanReamingSlideDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanReamingSlide, ChangeLogDto<ProcessMapPlanReamingSlideDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanReamingSlideDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanReamingSlideDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanLoadCapacityDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanLoadCapacity, ChangeLogDto<ProcessMapPlanLoadCapacityDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanLoadCapacityDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanLoadCapacityDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanRecordingStaticMeasurementDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanRecordingStaticMeasurement, ChangeLogDto<ProcessMapPlanRecordingStaticMeasurementDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanRecordingStaticMeasurementDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanRecordingStaticMeasurementDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanPositioningOffTheBottomDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanPositioningOffTheBottom, ChangeLogDto<ProcessMapPlanPositioningOffTheBottomDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanPositioningOffTheBottomDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanPositioningOffTheBottomDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanOscillationAnglesDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanOscillationAngles, ChangeLogDto<ProcessMapPlanOscillationAnglesDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanOscillationAnglesDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanOscillationAnglesDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanTFOrientationDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanTFOrientation, ChangeLogDto<ProcessMapPlanTFOrientationDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanTFOrientationDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanTFOrientationDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanSwitchingOffThePumpDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanSwitchingOffThePump, ChangeLogDto<ProcessMapPlanSwitchingOffThePumpDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanSwitchingOffThePumpDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanSwitchingOffThePumpDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanSwitchingToTheModeDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanSwitchingToTheMode, ChangeLogDto<ProcessMapPlanSwitchingToTheModeDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanSwitchingToTheModeDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanSwitchingToTheModeDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanDrillTestDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanSwitchingToTheMode, ChangeLogDto<ProcessMapPlanDrillTestDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanDrillTestDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanDrillTestDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanShockTestDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanSwitchingToTheMode, ChangeLogDto<ProcessMapPlanShockTestDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanShockTestDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanShockTestDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanDamperDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanDamper, ChangeLogDto<ProcessMapPlanDamperDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanDamperDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanDamperDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanAutoHoldTFDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanAutoHoldTF, ChangeLogDto<ProcessMapPlanAutoHoldTFDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanAutoHoldTFDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanAutoHoldTFDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanOscillationDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanOscillation, ChangeLogDto<ProcessMapPlanOscillationDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanOscillationDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanOscillationDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanAntiCrashRotationDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanAntiCrashRotation, ChangeLogDto<ProcessMapPlanAntiCrashRotationDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanAntiCrashRotationDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanAntiCrashRotationDto>()
|
||||||
|
});
|
||||||
|
|
||||||
|
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanStaticMeasurementOutputDto>>.NewConfig()
|
||||||
|
.Include<ProcessMapPlanStaticMeasurementOutput, ChangeLogDto<ProcessMapPlanStaticMeasurementOutputDto>>()
|
||||||
|
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanStaticMeasurementOutputDto>()
|
||||||
|
{
|
||||||
|
Item = src.Adapt<ProcessMapPlanStaticMeasurementOutputDto>()
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration)
|
public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration)
|
||||||
@ -211,8 +326,68 @@ namespace AsbCloudInfrastructure
|
|||||||
ProcessMapPlanBaseRepository<ProcessMapPlanSlide, ProcessMapPlanSlideDto>>();
|
ProcessMapPlanBaseRepository<ProcessMapPlanSlide, ProcessMapPlanSlideDto>>();
|
||||||
|
|
||||||
services.AddTransient<
|
services.AddTransient<
|
||||||
IChangeLogRepository<ProcessMapPlanReamDto, ProcessMapPlanBaseRequestWithWell>,
|
IChangeLogRepository<ProcessMapPlanReamingRotorDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
ProcessMapPlanBaseRepository<ProcessMapPlanReam, ProcessMapPlanReamDto>>();
|
ProcessMapPlanBaseRepository<ProcessMapPlanReamingRotor, ProcessMapPlanReamingRotorDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanReamingSlideDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanReamingSlide, ProcessMapPlanReamingSlideDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanLoadCapacityDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanLoadCapacity, ProcessMapPlanLoadCapacityDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanRecordingStaticMeasurementDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanRecordingStaticMeasurement, ProcessMapPlanRecordingStaticMeasurementDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanPositioningOffTheBottomDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanPositioningOffTheBottom, ProcessMapPlanPositioningOffTheBottomDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanOscillationAnglesDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanOscillationAngles, ProcessMapPlanOscillationAnglesDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanTFOrientationDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanTFOrientation, ProcessMapPlanTFOrientationDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanSwitchingOffThePumpDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanSwitchingOffThePump, ProcessMapPlanSwitchingOffThePumpDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanSwitchingToTheModeDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanSwitchingToTheMode, ProcessMapPlanSwitchingToTheModeDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanDrillTestDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanDrillTest, ProcessMapPlanDrillTestDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanShockTestDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanShockTest, ProcessMapPlanShockTestDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanDamperDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanDamper, ProcessMapPlanDamperDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanAutoHoldTFDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanAutoHoldTF, ProcessMapPlanAutoHoldTFDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanOscillationDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanOscillation, ProcessMapPlanOscillationDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanAntiCrashRotationDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanAntiCrashRotation, ProcessMapPlanAntiCrashRotationDto>>();
|
||||||
|
|
||||||
|
services.AddTransient<
|
||||||
|
IChangeLogRepository<ProcessMapPlanStaticMeasurementOutputDto, ProcessMapPlanBaseRequestWithWell>,
|
||||||
|
ProcessMapPlanBaseRepository<ProcessMapPlanStaticMeasurementOutput, ProcessMapPlanStaticMeasurementOutputDto>>();
|
||||||
|
|
||||||
services.AddTransient<IProcessMapReportDrillingService, ProcessMapReportDrillingService>();
|
services.AddTransient<IProcessMapReportDrillingService, ProcessMapReportDrillingService>();
|
||||||
|
|
||||||
@ -259,8 +434,26 @@ namespace AsbCloudInfrastructure
|
|||||||
services.AddTransient<IHelpPageRepository, HelpPageRepository>();
|
services.AddTransient<IHelpPageRepository, HelpPageRepository>();
|
||||||
services.AddTransient<IFileRepository, FileRepository>();
|
services.AddTransient<IFileRepository, FileRepository>();
|
||||||
services.AddTransient<IFileStorageRepository, FileStorageRepository>();
|
services.AddTransient<IFileStorageRepository, FileStorageRepository>();
|
||||||
|
|
||||||
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanRotorDto>>();
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanRotorDto>>();
|
||||||
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanSlideDto>>();
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanSlideDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanReamingRotorDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanReamingSlideDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanLoadCapacityDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanRecordingStaticMeasurementDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanPositioningOffTheBottomDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanOscillationAnglesDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanTFOrientationDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanSwitchingOffThePumpDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanSwitchingToTheModeDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanDrillTestDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanShockTestDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanDamperDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanAutoHoldTFDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanOscillationDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanAntiCrashRotationDto>>();
|
||||||
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanStaticMeasurementOutputDto>>();
|
||||||
|
|
||||||
services.AddTransient<IUserRoleRepository, UserRoleRepository>();
|
services.AddTransient<IUserRoleRepository, UserRoleRepository>();
|
||||||
services.AddTransient<IUserRepository, UserRepository>();
|
services.AddTransient<IUserRepository, UserRepository>();
|
||||||
services.AddTransient<ILimitingParameterRepository, LimitingParameterRepository>();
|
services.AddTransient<ILimitingParameterRepository, LimitingParameterRepository>();
|
||||||
@ -316,7 +509,22 @@ namespace AsbCloudInfrastructure
|
|||||||
services.AddTransient<TrajectoryFactManualParser>();
|
services.AddTransient<TrajectoryFactManualParser>();
|
||||||
services.AddTransient<ProcessMapPlanRotorParser>();
|
services.AddTransient<ProcessMapPlanRotorParser>();
|
||||||
services.AddTransient<ProcessMapPlanSlideParser>();
|
services.AddTransient<ProcessMapPlanSlideParser>();
|
||||||
services.AddTransient<ProcessMapPlanReamParser>();
|
services.AddTransient<ProcessMapPlanReamingRotorParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanReamingSlideParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanLoadCapacityParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanRecordingStaticMeasurementParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanPositioningOffTheBottomParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanOscillationAnglesParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanTFOrientationParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanSwitchingOffThePumpParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanSwitchingToTheModeParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanDrillTestParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanShockTestParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanDamperParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanAutoHoldTFParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanOscillationParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanAntiCrashRotationParser>();
|
||||||
|
services.AddTransient<ProcessMapPlanStaticMeasurementOutputParser>();
|
||||||
|
|
||||||
services.AddTransient<TrajectoryPlanExportService>();
|
services.AddTransient<TrajectoryPlanExportService>();
|
||||||
services.AddTransient<TrajectoryFactManualExportService>();
|
services.AddTransient<TrajectoryFactManualExportService>();
|
||||||
@ -324,7 +532,22 @@ namespace AsbCloudInfrastructure
|
|||||||
|
|
||||||
services.AddTransient<ProcessMapPlanRotorExportService>();
|
services.AddTransient<ProcessMapPlanRotorExportService>();
|
||||||
services.AddTransient<ProcessMapPlanSlideExportService>();
|
services.AddTransient<ProcessMapPlanSlideExportService>();
|
||||||
services.AddTransient<ProcessMapPlanReamExportService>();
|
services.AddTransient<ProcessMapPlanReamingRotorExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanReamingSlideExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanLoadCapacityExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanRecordingStaticMeasurementExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanPositioningOffTheBottomExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanOscillationAnglesExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanTFOrientationExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanSwitchingOffThePumpExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanSwitchingToTheModeExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanDrillTestExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanShockTestExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanDamperExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanAutoHoldTFExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanOscillationExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanAntiCrashRotationExportService>();
|
||||||
|
services.AddTransient<ProcessMapPlanStaticMeasurementOutputExportService>();
|
||||||
|
|
||||||
services.AddTransient<WellOperationParserFactory>();
|
services.AddTransient<WellOperationParserFactory>();
|
||||||
services.AddTransient<WellOperationExportServiceFactory>();
|
services.AddTransient<WellOperationExportServiceFactory>();
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanAntiCrashRotationTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Противоаварийное вращение";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 3;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanAntiCrashRotationTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanAntiCrashRotationDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanAntiCrashRotationDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanAntiCrashRotationDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanAntiCrashRotationDto.TopDriveRpmMin), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanAntiCrashRotationDto.TopDriveStartMinFlowRate), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanAntiCrashRotationDto.TopDriveTorqueMax), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanAntiCrashRotationDto.Note), new Cell(7, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanAutoHoldTFTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Автоудержание TF";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanAutoHoldTFTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanAutoHoldTFDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanAutoHoldTFDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanAutoHoldTFDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanAutoHoldTFDto.ZenithAngle), new Cell(4, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanAutoHoldTFDto.Note), new Cell(5, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanDamperTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Демпфер";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanDamperTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanDamperDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanDamperDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanDamperDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanDamperDto.StickSlip), new Cell(4, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanDamperDto.Note), new Cell(5, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanDrillTestTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Дрилтест";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanDrillTestTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanDrillTestDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanDrillTestDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanDrillTestDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanDrillTestDto.WeightOnBitMin), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanDrillTestDto.WeightOnBitStepsCount), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanDrillTestDto.RpmMin), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanDrillTestDto.RpmStepsCount), new Cell(7, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanDrillTestDto.LengthStep), new Cell(8, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanDrillTestDto.Note), new Cell(9, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanLoadCapacityTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Выработка нагрузки";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 3;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanLoadCapacityTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanLoadCapacityDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanLoadCapacityDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanLoadCapacityDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanLoadCapacityDto.TimeLoadCapacityMin), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanLoadCapacityDto.DifferentialPressureMin), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanLoadCapacityDto.WeightOnBitMin), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanLoadCapacityDto.Note), new Cell(7, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanOscillationAnglesTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Определение углов осцилляции";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanOscillationAnglesTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanOscillationAnglesDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationAnglesDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationAnglesDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanOscillationAnglesDto.TopDriveTorque), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationAnglesDto.TopDriveTorqueMax), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationAnglesDto.Rpm), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationAnglesDto.RpmMax), new Cell(7, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanOscillationAnglesDto.Note), new Cell(8, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanOscillationTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Осцилляция";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 3;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanOscillationTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanOscillationDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationDto.OptimalOscillationAngle), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationDto.RpmRight), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationDto.RpmLeft), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationDto.TorqueMaxRight), new Cell(7, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationDto.TorqueMaxLeft), new Cell(8, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationDto.Mode), new Cell(10, typeof(int)) },
|
||||||
|
{ nameof(ProcessMapPlanOscillationDto.Note), new Cell(11, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanPositioningOffTheBottomTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Позиционирование над забоем";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanPositioningOffTheBottomTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.StopOffTheBottom), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.PressureMax), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.DifferentialPressure), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.Tight), new Cell(7, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.SlackingOff), new Cell(8, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.TorqueMax), new Cell(9, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.RopUp), new Cell(10, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.RopDown), new Cell(11, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.RpmUp), new Cell(12, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.RpmDown), new Cell(13, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.FlowRateUp), new Cell(14, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.FlowRateDown), new Cell(15, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.Note), new Cell(16, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -1,29 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using AsbCloudApp.Data.ProcessMaps;
|
|
||||||
|
|
||||||
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
|
||||||
|
|
||||||
public class ProcessMapPlanReamTemplate : ITemplateParameters
|
|
||||||
{
|
|
||||||
public string SheetName => "План";
|
|
||||||
|
|
||||||
public int HeaderRowsCount => 1;
|
|
||||||
|
|
||||||
public string FileName => "ProcessMapPlanReamTemplate.xlsx";
|
|
||||||
|
|
||||||
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
|
||||||
{
|
|
||||||
{ nameof(ProcessMapPlanReamDto.Section), new Cell(1, typeof(string)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.DepthStart), new Cell(2, typeof(double)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.DepthEnd), new Cell(3, typeof(double)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.Repeats), new Cell(4, typeof(double)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.SpinUpward), new Cell(5, typeof(double)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.SpinDownward), new Cell(6, typeof(double)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.SpeedUpward), new Cell(7, typeof(double)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.SpeedDownward), new Cell(8, typeof(double)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.SetpointDrag), new Cell(9, typeof(double)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.SetpointTight), new Cell(10, typeof(double)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.Pressure), new Cell(11, typeof(double)) },
|
|
||||||
{ nameof(ProcessMapPlanReamDto.Torque), new Cell(12, typeof(double)) },
|
|
||||||
};
|
|
||||||
}
|
|
@ -0,0 +1,55 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanReamingRotorTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Проработка ротор";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanReamingRotorTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.PressureMax), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.DifferentialPressure), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Tight), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.SlackingOff), new Cell(7, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.TorqueMax), new Cell(8, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming1RepetitionsCount), new Cell(9, typeof(int)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming1RopUp), new Cell(10, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming1RopDown), new Cell(11, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming1RpmUp), new Cell(12, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming1RpmDown), new Cell(13, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming1FlowRateUp), new Cell(14, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming1FlowRateDown), new Cell(15, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming1Interval), new Cell(16, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming1StopPointOffBottom), new Cell(17, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming2RepetitionsCount), new Cell(18, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming2RopUp), new Cell(19, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming2RopDown), new Cell(20, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming2RpmUp), new Cell(21, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming2RpmDown), new Cell(22, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming2FlowRateUp), new Cell(23, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming2FlowRateDown), new Cell(24, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming2Interval), new Cell(25, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming2StopPointOffBottom), new Cell(26, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming3RepetitionsCount), new Cell(27, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming3RopUp), new Cell(28, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming1RopDown), new Cell(29, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming3RpmUp), new Cell(30, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming3RpmDown), new Cell(31, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming3FlowRateUp), new Cell(32, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming3FlowRateDown), new Cell(33, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming3Interval), new Cell(34, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Reaming3StopPointOffBottom), new Cell(35, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingRotorDto.Note), new Cell(36, typeof(string)) },
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,53 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanReamingSlideTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Проработка слайд";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanReamingSlideTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.PressureMax), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.DifferentialPressure), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Tight), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.SlackingOff), new Cell(7, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.TorqueMax), new Cell(8, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RepetitionsCount), new Cell(9, typeof(int)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RopUp), new Cell(10, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RopDown), new Cell(11, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RpmUp), new Cell(12, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RpmDown), new Cell(13, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1FlowRateUp), new Cell(14, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1FlowRateDown), new Cell(15, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1Interval), new Cell(16, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1StopPointOffBottom), new Cell(17, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2RepetitionsCount), new Cell(18, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2RopUp), new Cell(19, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2RopDown), new Cell(20, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2RpmUp), new Cell(21, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2RpmDown), new Cell(22, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2FlowRateUp), new Cell(23, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2FlowRateDown), new Cell(24, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2Interval), new Cell(25, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2StopPointOffBottom), new Cell(26, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3RepetitionsCount), new Cell(27, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3RopUp), new Cell(28, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RopDown), new Cell(29, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3RpmUp), new Cell(30, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3RpmDown), new Cell(31, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3FlowRateUp), new Cell(32, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3FlowRateDown), new Cell(33, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3Interval), new Cell(34, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3StopPointOffBottom), new Cell(35, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanReamingSlideDto.Note), new Cell(36, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanRecordingStaticMeasurementTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Запись статического замера";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanRecordingStaticMeasurementTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanRecordingStaticMeasurementDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanRecordingStaticMeasurementDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanRecordingStaticMeasurementDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanRecordingStaticMeasurementDto.MeasurementRecordingTime), new Cell(4, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanRecordingStaticMeasurementDto.Note), new Cell(5, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using AsbCloudApp.Data.ProcessMaps;
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
@ -16,18 +16,18 @@ public class ProcessMapPlanRotorTemplate : ITemplateParameters
|
|||||||
{ nameof(ProcessMapPlanRotorDto.Section), new Cell(1, typeof(string)) },
|
{ nameof(ProcessMapPlanRotorDto.Section), new Cell(1, typeof(string)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.DepthStart), new Cell(2, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.DepthEnd), new Cell(3, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.RopLimitMax), new Cell(4, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.RopMax), new Cell(4, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.PressureLimitMax), new Cell(5, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.PressureMax), new Cell(5, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.DifferentialPressure), new Cell(6, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.DifferentialPressure), new Cell(6, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.DifferentialPressureLimitMax), new Cell(7, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.DifferentialPressureMax), new Cell(7, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.WeightOnBit), new Cell(8, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.WeightOnBit), new Cell(8, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.WeightOnBitLimitMax), new Cell(9, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.WeightOnBitMax), new Cell(9, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.TopDriveTorque), new Cell(10, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.TopDriveTorque), new Cell(10, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.TopDriveTorqueLimit), new Cell(11, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.TopDriveTorqueMax), new Cell(11, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.RevolutionsPerMinute), new Cell(12, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.Rpm), new Cell(12, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.RevolutionsPerMinuteLimitMax), new Cell(13, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.RpmMax), new Cell(13, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.FlowRate), new Cell(14, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.FlowRate), new Cell(14, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.FlowRateLimitMax), new Cell(15, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.FlowRateMax), new Cell(15, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanRotorDto.Note), new Cell(16, typeof(double)) },
|
{ nameof(ProcessMapPlanRotorDto.Note), new Cell(16, typeof(double)) },
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanShockTestTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Запись shock test";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanShockTestTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanShockTestDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanShockTestDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanShockTestDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanShockTestDto.StickSlip), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanShockTestDto.Whirl), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanShockTestDto.AxialVibrations), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanShockTestDto.CombinedVibrations), new Cell(7, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanShockTestDto.WeightOnBitMin), new Cell(8, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanShockTestDto.RpmMin), new Cell(9, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanShockTestDto.Note), new Cell(10, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using AsbCloudApp.Data.ProcessMaps;
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
|
||||||
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
@ -16,16 +16,16 @@ public class ProcessMapPlanSlideTemplate : ITemplateParameters
|
|||||||
{ nameof(ProcessMapPlanSlideDto.Section), new Cell(1, typeof(string)) },
|
{ nameof(ProcessMapPlanSlideDto.Section), new Cell(1, typeof(string)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.DepthStart), new Cell(2, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.DepthEnd), new Cell(3, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.RopLimitMax), new Cell(4, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.RopMax), new Cell(4, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.PressureLimitMax), new Cell(5, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.PressureMax), new Cell(5, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.DifferentialPressure), new Cell(6, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.DifferentialPressure), new Cell(6, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.DifferentialPressureLimitMax), new Cell(7, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.DifferentialPressureMax), new Cell(7, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.WeightOnBit), new Cell(8, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.WeightOnBit), new Cell(8, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.WeightOnBitLimitMax), new Cell(9, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.WeightOnBitMax), new Cell(9, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.FlowRate), new Cell(10, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.FlowRate), new Cell(10, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.FlowRateLimitMax), new Cell(11, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.FlowRateMax), new Cell(11, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.Spring), new Cell(12, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.Spring), new Cell(12, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.ToolBuckling), new Cell(13, typeof(double)) },
|
{ nameof(ProcessMapPlanSlideDto.Buckling), new Cell(13, typeof(double)) },
|
||||||
{ nameof(ProcessMapPlanSlideDto.Note), new Cell(14, typeof(double)) }
|
{ nameof(ProcessMapPlanSlideDto.Note), new Cell(14, typeof(double)) }
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanStaticMeasurementOutputTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Выход статического замера";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanStaticMeasurementOutputTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanStaticMeasurementOutputDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanStaticMeasurementOutputDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanStaticMeasurementOutputDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanStaticMeasurementOutputDto.SignalWaitingTime), new Cell(4, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanStaticMeasurementOutputDto.Note), new Cell(5, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanSwitchingOffThePumpTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Выключение насоса";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanSwitchingOffThePumpTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.Duration), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.ResidualPressureLimit), new Cell(5, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.Note), new Cell(6, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudDb.Model.ProcessMapPlan.Operations;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanSwitchingToTheModeTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Выход на плановый расход";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 3;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanSwitchingToTheModeTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanSwitchingToTheModeDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanSwitchingToTheModeDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanSwitchingToTheModeDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanSwitchingToTheModeDto.RampTime), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanSwitchingToTheModeDto.FlowRate), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanSwitchingToTheModeDto.PressureMax), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanAntiCrashRotationDto.Note), new Cell(7, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,38 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
public class ProcessMapPlanTFOrientationTemplate : ITemplateParameters
|
||||||
|
{
|
||||||
|
public string SheetName => "Выставление";
|
||||||
|
|
||||||
|
public int HeaderRowsCount => 2;
|
||||||
|
|
||||||
|
public string FileName => "ProcessMapPlanTFOrientationTemplate.xlsx";
|
||||||
|
|
||||||
|
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
|
||||||
|
{
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.Section), new Cell(1, typeof(string)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.DepthStart), new Cell(2, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.DepthEnd), new Cell(3, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.TFSetpoint), new Cell(4, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.Spring), new Cell(5, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.PressureMax), new Cell(6, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.DifferentialPressure), new Cell(7, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.Tight), new Cell(8, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.SlackingOff), new Cell(9, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.TorqueMax), new Cell(10, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.RepetitionsCount), new Cell(11, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.RopUp), new Cell(12, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.RopDown), new Cell(13, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.FlowRateUp), new Cell(14, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.FlowRateDown), new Cell(15, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.Interval), new Cell(16, typeof(double)) },
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.StopPointOffBottom), new Cell(17, typeof(double)) },
|
||||||
|
|
||||||
|
{ nameof(ProcessMapPlanTFOrientationDto.Note), new Cell(18, typeof(string)) },
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanAntiCrashRotationExportService : ProcessMapPlanExportService<ProcessMapPlanAntiCrashRotationDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanAntiCrashRotationExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanAntiCrashRotationDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanAntiCrashRotationTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_противоаварийное вращение.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanAutoHoldTFExportService : ProcessMapPlanExportService<ProcessMapPlanAutoHoldTFDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanAutoHoldTFExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanAutoHoldTFDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanAutoHoldTFTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_автоудержание_tf.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
using AsbCloudApp.Data.ProcessMaps;
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
using AsbCloudApp.Repositories;
|
using AsbCloudApp.Repositories;
|
||||||
using AsbCloudApp.Requests;
|
using AsbCloudApp.Requests;
|
||||||
using AsbCloudApp.Requests.ExportOptions;
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
@ -10,21 +10,21 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
public class ProcessMapPlanReamExportService : ProcessMapPlanExportService<ProcessMapPlanReamDto>
|
public class ProcessMapPlanDamperExportService : ProcessMapPlanExportService<ProcessMapPlanDamperDto>
|
||||||
{
|
{
|
||||||
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanReamTemplate();
|
public ProcessMapPlanDamperExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanDamperDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
public ProcessMapPlanReamExportService(
|
|
||||||
IChangeLogRepository<ProcessMapPlanReamDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
|
||||||
IWellService wellService)
|
IWellService wellService)
|
||||||
: base(processMapPlanRepository, wellService)
|
: base(processMapPlanRepository, wellService)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanDamperTemplate();
|
||||||
|
|
||||||
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
{
|
{
|
||||||
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
return $"{caption}_РТК_План_проработка.xlsx";
|
return $"{caption}_РТК_План_демпфер.xlsx";
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanDrillTestExportService : ProcessMapPlanExportService<ProcessMapPlanDrillTestDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanDrillTestExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanDrillTestDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanDrillTestTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_дрилтест.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanLoadCapacityExportService : ProcessMapPlanExportService<ProcessMapPlanLoadCapacityDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanLoadCapacityExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanLoadCapacityDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanLoadCapacityTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_выработка_нагрузки.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanOscillationAnglesExportService : ProcessMapPlanExportService<ProcessMapPlanOscillationAnglesDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanOscillationAnglesExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanOscillationAnglesDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanOscillationAnglesTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_определения_углов_осцилляции.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanOscillationExportService : ProcessMapPlanExportService<ProcessMapPlanOscillationDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanOscillationExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanOscillationDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanOscillationTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_осцилляция.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanPositioningOffTheBottomExportService : ProcessMapPlanExportService<ProcessMapPlanPositioningOffTheBottomDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanPositioningOffTheBottomExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanPositioningOffTheBottomDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanPositioningOffTheBottomTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_позиционирование_над_забоем.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanReamingRotorExportService : ProcessMapPlanExportService<ProcessMapPlanReamingRotorDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanReamingRotorExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanReamingRotorDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanReamingRotorTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_проработка_ротор.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanReamingSlideExportService : ProcessMapPlanExportService<ProcessMapPlanReamingSlideDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanReamingSlideExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanReamingSlideDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanReamingSlideTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_проработка_слайд.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanRecordingStaticMeasurementExportService : ProcessMapPlanExportService<ProcessMapPlanRecordingStaticMeasurementDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanRecordingStaticMeasurementExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanRecordingStaticMeasurementDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanRecordingStaticMeasurementTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_запись_статического_замера.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
using AsbCloudApp.Data.ProcessMaps;
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
using AsbCloudApp.Repositories;
|
using AsbCloudApp.Repositories;
|
||||||
using AsbCloudApp.Requests;
|
using AsbCloudApp.Requests;
|
||||||
using AsbCloudApp.Requests.ExportOptions;
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanShockTestExportService : ProcessMapPlanExportService<ProcessMapPlanShockTestDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanShockTestExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanShockTestDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanShockTestTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_shock_test.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
using AsbCloudApp.Data.ProcessMaps;
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
using AsbCloudApp.Repositories;
|
using AsbCloudApp.Repositories;
|
||||||
using AsbCloudApp.Requests;
|
using AsbCloudApp.Requests;
|
||||||
using AsbCloudApp.Requests.ExportOptions;
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanStaticMeasurementOutputExportService : ProcessMapPlanExportService<ProcessMapPlanStaticMeasurementOutputDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanStaticMeasurementOutputExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanStaticMeasurementOutputDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanStaticMeasurementOutputTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_выход_статического_замера.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanSwitchingOffThePumpExportService : ProcessMapPlanExportService<ProcessMapPlanSwitchingOffThePumpDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanSwitchingOffThePumpExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanSwitchingOffThePumpDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanSwitchingOffThePumpTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_выключение_насоса.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanSwitchingToTheModeExportService : ProcessMapPlanExportService<ProcessMapPlanSwitchingToTheModeDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanSwitchingToTheModeExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanSwitchingToTheModeDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanSwitchingToTheModeTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_выход_на_плановый_расход.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Requests;
|
||||||
|
using AsbCloudApp.Requests.ExportOptions;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
|
||||||
|
|
||||||
|
public class ProcessMapPlanTFOrientationExportService : ProcessMapPlanExportService<ProcessMapPlanTFOrientationDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanTFOrientationExportService(
|
||||||
|
IChangeLogRepository<ProcessMapPlanTFOrientationDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
|
||||||
|
IWellService wellService)
|
||||||
|
: base(processMapPlanRepository, wellService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanTFOrientationTemplate();
|
||||||
|
|
||||||
|
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
|
||||||
|
{
|
||||||
|
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
|
||||||
|
|
||||||
|
return $"{caption}_РТК_План_выставление.xlsx";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
|
public class ProcessMapPlanAntiCrashRotationParser : ProcessMapPlanParser<ProcessMapPlanAntiCrashRotationDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanAntiCrashRotationParser(IWellOperationRepository wellOperationRepository)
|
||||||
|
: base(wellOperationRepository)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanAntiCrashRotationTemplate();
|
||||||
|
|
||||||
|
protected override ProcessMapPlanAntiCrashRotationDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
|
{
|
||||||
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
|
var section = sections.FirstOrDefault(s =>
|
||||||
|
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
|
||||||
|
if (section is null)
|
||||||
|
{
|
||||||
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
|
TemplateParameters.SheetName,
|
||||||
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
|
"Указана некорректная секция");
|
||||||
|
throw new FileFormatException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
dto.IdWellSectionType = section.Id;
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
|
public class ProcessMapPlanAutoHoldTFParser : ProcessMapPlanParser<ProcessMapPlanAutoHoldTFDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanAutoHoldTFParser(IWellOperationRepository wellOperationRepository)
|
||||||
|
: base(wellOperationRepository)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanAutoHoldTFTemplate();
|
||||||
|
|
||||||
|
protected override ProcessMapPlanAutoHoldTFDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
|
{
|
||||||
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
|
var section = sections.FirstOrDefault(s =>
|
||||||
|
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
|
||||||
|
if (section is null)
|
||||||
|
{
|
||||||
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
|
TemplateParameters.SheetName,
|
||||||
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
|
"Указана некорректная секция");
|
||||||
|
throw new FileFormatException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
dto.IdWellSectionType = section.Id;
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
}
|
@ -3,22 +3,23 @@ using System.Collections.Generic;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using AsbCloudApp.Data.ProcessMaps;
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
using AsbCloudApp.Repositories;
|
using AsbCloudApp.Repositories;
|
||||||
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
public class ProcessMapPlanReamParser : ProcessMapPlanParser<ProcessMapPlanReamDto>
|
public class ProcessMapPlanDamperParser : ProcessMapPlanParser<ProcessMapPlanDamperDto>
|
||||||
{
|
{
|
||||||
public ProcessMapPlanReamParser(IWellOperationRepository wellOperationRepository)
|
public ProcessMapPlanDamperParser(IWellOperationRepository wellOperationRepository)
|
||||||
: base(wellOperationRepository)
|
: base(wellOperationRepository)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanReamTemplate();
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanDamperTemplate();
|
||||||
|
|
||||||
protected override ProcessMapPlanReamDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
protected override ProcessMapPlanDamperDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
{
|
{
|
||||||
var dto = base.BuildDto(row, rowNumber);
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
@ -28,8 +29,9 @@ public class ProcessMapPlanReamParser : ProcessMapPlanParser<ProcessMapPlanReamD
|
|||||||
if (section is null)
|
if (section is null)
|
||||||
{
|
{
|
||||||
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
TemplateParameters.SheetName, rowNumber,
|
TemplateParameters.SheetName,
|
||||||
TemplateParameters.Cells[nameof(ProcessMapPlanReamDto.Section)],
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
"Указана некорректная секция");
|
"Указана некорректная секция");
|
||||||
throw new FileFormatException(message);
|
throw new FileFormatException(message);
|
||||||
}
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
|
public class ProcessMapPlanDrillTestParser : ProcessMapPlanParser<ProcessMapPlanDrillTestDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanDrillTestParser(IWellOperationRepository wellOperationRepository)
|
||||||
|
: base(wellOperationRepository)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanDrillTestTemplate();
|
||||||
|
|
||||||
|
protected override ProcessMapPlanDrillTestDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
|
{
|
||||||
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
|
var section = sections.FirstOrDefault(s =>
|
||||||
|
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
|
||||||
|
if (section is null)
|
||||||
|
{
|
||||||
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
|
TemplateParameters.SheetName,
|
||||||
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
|
"Указана некорректная секция");
|
||||||
|
throw new FileFormatException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
dto.IdWellSectionType = section.Id;
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
|
public class ProcessMapPlanLoadCapacityParser : ProcessMapPlanParser<ProcessMapPlanLoadCapacityDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanLoadCapacityParser(IWellOperationRepository wellOperationRepository)
|
||||||
|
: base(wellOperationRepository)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanLoadCapacityTemplate();
|
||||||
|
|
||||||
|
protected override ProcessMapPlanLoadCapacityDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
|
{
|
||||||
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
|
var section = sections.FirstOrDefault(s =>
|
||||||
|
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
|
||||||
|
if (section is null)
|
||||||
|
{
|
||||||
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
|
TemplateParameters.SheetName,
|
||||||
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
|
"Указана некорректная секция");
|
||||||
|
throw new FileFormatException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
dto.IdWellSectionType = section.Id;
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
|
public class ProcessMapPlanOscillationAnglesParser : ProcessMapPlanParser<ProcessMapPlanOscillationAnglesDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanOscillationAnglesParser(IWellOperationRepository wellOperationRepository)
|
||||||
|
: base(wellOperationRepository)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanOscillationAnglesTemplate();
|
||||||
|
|
||||||
|
protected override ProcessMapPlanOscillationAnglesDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
|
{
|
||||||
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
|
var section = sections.FirstOrDefault(s =>
|
||||||
|
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
|
||||||
|
if (section is null)
|
||||||
|
{
|
||||||
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
|
TemplateParameters.SheetName,
|
||||||
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
|
"Указана некорректная секция");
|
||||||
|
throw new FileFormatException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
dto.IdWellSectionType = section.Id;
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Functions;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
|
public class ProcessMapPlanOscillationParser : ProcessMapPlanParser<ProcessMapPlanOscillationDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanOscillationParser(IWellOperationRepository wellOperationRepository)
|
||||||
|
: base(wellOperationRepository)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanOscillationTemplate();
|
||||||
|
|
||||||
|
protected override ProcessMapPlanOscillationDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
|
{
|
||||||
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
|
var section = sections.FirstOrDefault(s =>
|
||||||
|
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
|
||||||
|
if (section is null)
|
||||||
|
{
|
||||||
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
|
TemplateParameters.SheetName,
|
||||||
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
|
"Указана некорректная секция");
|
||||||
|
throw new FileFormatException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
dto.IdWellSectionType = section.Id;
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
|
public class ProcessMapPlanPositioningOffTheBottomParser : ProcessMapPlanParser<ProcessMapPlanPositioningOffTheBottomDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanPositioningOffTheBottomParser(IWellOperationRepository wellOperationRepository)
|
||||||
|
: base(wellOperationRepository)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanPositioningOffTheBottomTemplate();
|
||||||
|
|
||||||
|
protected override ProcessMapPlanPositioningOffTheBottomDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
|
{
|
||||||
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
|
var section = sections.FirstOrDefault(s =>
|
||||||
|
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
|
||||||
|
if (section is null)
|
||||||
|
{
|
||||||
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
|
TemplateParameters.SheetName,
|
||||||
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
|
"Указана некорректная секция");
|
||||||
|
throw new FileFormatException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
dto.IdWellSectionType = section.Id;
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
|
public class ProcessMapPlanReamingRotorParser : ProcessMapPlanParser<ProcessMapPlanReamingRotorDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanReamingRotorParser(IWellOperationRepository wellOperationRepository)
|
||||||
|
: base(wellOperationRepository)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanReamingRotorTemplate();
|
||||||
|
|
||||||
|
protected override ProcessMapPlanReamingRotorDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
|
{
|
||||||
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
|
var section = sections.FirstOrDefault(s =>
|
||||||
|
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
|
||||||
|
if (section is null)
|
||||||
|
{
|
||||||
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
|
TemplateParameters.SheetName,
|
||||||
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
|
"Указана некорректная секция");
|
||||||
|
throw new FileFormatException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
dto.IdWellSectionType = section.Id;
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
|
public class ProcessMapPlanReamingSlideParser : ProcessMapPlanParser<ProcessMapPlanReamingSlideDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanReamingSlideParser(IWellOperationRepository wellOperationRepository)
|
||||||
|
: base(wellOperationRepository)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanReamingSlideTemplate();
|
||||||
|
|
||||||
|
protected override ProcessMapPlanReamingSlideDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
|
{
|
||||||
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
|
var section = sections.FirstOrDefault(s =>
|
||||||
|
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
|
||||||
|
if (section is null)
|
||||||
|
{
|
||||||
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
|
TemplateParameters.SheetName,
|
||||||
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
|
"Указана некорректная секция");
|
||||||
|
throw new FileFormatException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
dto.IdWellSectionType = section.Id;
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
|
||||||
|
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
|
||||||
|
|
||||||
|
public class ProcessMapPlanRecordingStaticMeasurementParser : ProcessMapPlanParser<ProcessMapPlanRecordingStaticMeasurementDto>
|
||||||
|
{
|
||||||
|
public ProcessMapPlanRecordingStaticMeasurementParser(IWellOperationRepository wellOperationRepository)
|
||||||
|
: base(wellOperationRepository)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanRecordingStaticMeasurementTemplate();
|
||||||
|
|
||||||
|
protected override ProcessMapPlanRecordingStaticMeasurementDto BuildDto(IDictionary<string, object?> row, int rowNumber)
|
||||||
|
{
|
||||||
|
var dto = base.BuildDto(row, rowNumber);
|
||||||
|
|
||||||
|
var section = sections.FirstOrDefault(s =>
|
||||||
|
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
|
||||||
|
if (section is null)
|
||||||
|
{
|
||||||
|
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
|
||||||
|
TemplateParameters.SheetName,
|
||||||
|
rowNumber,
|
||||||
|
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
|
||||||
|
"Указана некорректная секция");
|
||||||
|
throw new FileFormatException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
dto.IdWellSectionType = section.Id;
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using AsbCloudApp.Data.ProcessMaps;
|
using AsbCloudApp.Data.ProcessMaps;
|
||||||
|
using AsbCloudApp.Data.ProcessMaps.Operations;
|
||||||
using AsbCloudApp.Repositories;
|
using AsbCloudApp.Repositories;
|
||||||
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
|
||||||
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user