using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace AsbCloudDb.Model
{
[Table("t_process_map_drilling_cache"), Comment("Кеш-таблица для хранения данных для РТК-отчета")]
public class ProcessMapDrillingCache : IId
{
[Key]
[Column("id")]
public int Id { get; set; }
[Column("date_from", TypeName = "timestamp with time zone"), Comment("Дата начала")]
public DateTimeOffset DateFrom { get; set; }
[Column("date_to", TypeName = "timestamp with time zone"), Comment("Дата окончания")]
public DateTimeOffset DateTo { get; set; }
///
/// Дата и время начала бурения
///
[Column("date_drilling_start", TypeName = "timestamp with time zone"), Comment("Дата и время начала бурения")]
public DateTimeOffset DateDrillingStart { get; set; }
///
/// Дата и время окончания бурения
///
[Column("date_drilling_end", TypeName = "timestamp with time zone"), Comment("Дата и время окончания бурения")]
public DateTimeOffset DateDrillingEnd { get; set; }
///
/// Глубина забоя по стволу начальная
///
[Column("depth_start"), Comment("Глубина забоя по стволу начальная")]
public double DepthStart { get; set; }
///
/// Глубина забоя по стволу конечная
///
[Column("depth_end"), Comment("Глубина забоя по стволу конечная")]
public double DepthEnd { get; set; }
///
/// Скорость бурения
///
[Column("speed"), Comment("Скорость бурения")]
public double Speed { get; set; }
///
/// Ограничение скорости блока
///
[Column("block_speed_sp"), Comment("Ограничение скорости блока")]
public float? BlockSpeedSp { get; set; }
///
/// Давление
///
[Column("pressure"), Comment("Давление")]
public double Pressure { get; set; }
///
/// Давление холостого хода
///
[Column("pressure_idle"), Comment("Давление холостого хода")]
public float? PressureIdle { get; set; }
///
/// Ограничение фактического давления
///
[Column("pressure_sp"), Comment("Ограничение фактического давления")]
public float? PressureSp { get; set; }
///
/// Фактическая нагрузка
///
[Column("axial_load"), Comment("Фактическая нагрузка")]
public double AxialLoad { get; set; }
///
/// Ограничение факт. нагрузки
///
[Column("axial_load_sp"), Comment("Ограничение факт. нагрузки")]
public float? AxialLoadSp { get; set; }
///
/// Максимально допустимая нагрузка
///
[Column("axial_load_limit_max"), Comment("Максимально допустимая нагрузка")]
public float? AxialLoadLimitMax { get; set; }
///
/// Фактический момент
///
[Column("rotor_torque"), Comment("Фактический момент")]
public double RotorTorque { get; set; }
///
/// Ограничение факт. момента
///
[Column("rotor_torque_sp"), Comment("Ограничение факт. момента")]
public float? RotorTorqueSp { get; set; }
///
/// Максимально допустимый момент
///
[Column("rotor_torque_limit_max"), Comment("Максимально допустимый момент")]
public float? RotorTorqueLimitMax { get; set; }
///
/// Работа при достижении ограничения
///
[Column("id_feed_regulator"), Comment("Работа при достижении ограничения")]
public short? IdFeedRegulator { get; set; }
///
/// Фактическая скорость оборотов ВСП
///
[Column("rotor_speed"), Comment("Фактическая скорость оборотов ВСП")]
public double RotorSpeed { get; set; }
///
/// Название автоопределённой операции
///
[Column("detected_operation_category_id"), Comment("Название автоопределённой операции")]
public int DetectedOperationCategoryId { get; set; }
///
/// Флаги подсистем
///
[Column("enabled_subsystems"), Comment("Флаги подсистем")]
public int EnabledSubsystems { get; set; }
///
/// Наличие или отсутствие осцилляции
///
[Column("has_oscillation"), Comment("Наличие или отсутствие осцилляции")]
public bool HasOscillation { get; set; }
}
}