DD.WellWorkover.Cloud/AsbCloudDb/Model/DataSaubStat.cs

90 lines
3.9 KiB
C#
Raw Normal View History

using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace AsbCloudDb.Model
{
[Table("t_data_saub_stat"), Comment("Кеш-таблица для хранения данных для РТК-отчета")]
public class DataSaubStat : IId
{
[Key]
[Column("id")]
public int Id { get; set; }
[Column("date_start", TypeName = "timestamp with time zone"), Comment("Дата и время начала")]
public DateTimeOffset DateStart { get; set; }
[Column("date_end", TypeName = "timestamp with time zone"), Comment("Дата и время окончания")]
public DateTimeOffset DateEnd { 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 double? BlockSpeedSp { get; set; }
[Column("pressure"), Comment("Давление")]
public double Pressure { get; set; }
[Column("pressure_idle"), Comment("Давление холостого хода")]
public double? PressureIdle { get; set; }
[Column("pressure_sp"), Comment("Ограничение фактического давления")]
public double? PressureSp { get; set; }
[Column("axial_load"), Comment("Фактическая нагрузка")]
public double AxialLoad { get; set; }
[Column("axial_load_sp"), Comment("Ограничение факт. нагрузки")]
public double? AxialLoadSp { get; set; }
[Column("axial_load_limit_max"), Comment("Максимально допустимая нагрузка")]
public double? AxialLoadLimitMax { get; set; }
[Column("rotor_torque"), Comment("Фактический момент")]
public double RotorTorque { get; set; }
[Column("rotor_torque_sp"), Comment("Ограничение факт. момента")]
public double? RotorTorqueSp { get; set; }
[Column("rotor_torque_limit_max"), Comment("Максимально допустимый момент")]
public double? RotorTorqueLimitMax { get; set; }
[Column("id_feed_regulator"), Comment("Работа при достижении ограничения")]
public short? IdFeedRegulator { get; set; }
[Column("rotor_speed"), Comment("Фактическая скорость оборотов ВСП")]
public double RotorSpeed { get; set; }
[Column("id_category"), Comment("Название автоопределённой операции")]
public int IdCategory { get; set; }
[Column("enabled_subsystems"), Comment("Флаги подсистем")]
public int EnabledSubsystems { get; set; }
[Column("has_oscillation"), Comment("Наличие или отсутствие осцилляции")]
public bool HasOscillation { get; set; }
[Column("flow"), Comment("Фактический расход")]
public double Flow { get; set; }
[Column("id_telemetry"), Comment("Ключ телеметрии")]
public int IdTelemetry { get; set; }
[ForeignKey(nameof(IdTelemetry))]
public virtual Telemetry Telemetry { get; set; } = null!;
[JsonIgnore]
[ForeignKey(nameof(IdCategory))]
public virtual WellOperationCategory OperationCategory { get; set; } = null!;
}
}