forked from ddrilling/AsbCloudServer
148 lines
4.6 KiB
C#
148 lines
4.6 KiB
C#
using Microsoft.EntityFrameworkCore;
|
||
using System.ComponentModel.DataAnnotations;
|
||
using System.ComponentModel.DataAnnotations.Schema;
|
||
using System.Text.Json.Serialization;
|
||
|
||
namespace AsbCloudDb.Model
|
||
{
|
||
#nullable enable
|
||
[Table("t_well_operation_category"), Comment("Справочник операций на скважине")]
|
||
public class WellOperationCategory : IId
|
||
{
|
||
#region constants category operations ids
|
||
/// <summary>
|
||
/// БУРЕНИЕ
|
||
/// </summary>
|
||
public const int IdDrilling = 3000;
|
||
/// <summary>
|
||
/// Непроизводительное время (НПВ)
|
||
/// </summary>
|
||
public const int IdNonProductiveTime = 3005;
|
||
|
||
|
||
/// <summary>
|
||
/// Механическое. бурение
|
||
/// </summary>
|
||
public const int IdMechanicalDrilling = 4001;
|
||
|
||
/// <summary>
|
||
/// Разборка КНБК
|
||
/// </summary>
|
||
public const int IdBhaDisassembly = 5000;
|
||
/// <summary>
|
||
/// Сборка КНБК
|
||
/// </summary>
|
||
public const int IdBhaAssembly = 5001;
|
||
/// <summary>
|
||
/// Направленно (СЛАЙД)
|
||
/// </summary>
|
||
public const int IdSlide = 5002;
|
||
/// <summary>
|
||
/// Ротором (РУС)
|
||
/// </summary>
|
||
public const int IdRotor = 5003;
|
||
/// <summary>
|
||
/// Замер ЗТС (запись MWD)
|
||
/// </summary>
|
||
public const int IdStaticSurveying = 5004;
|
||
/// <summary>
|
||
/// Промывка перед наращиванием
|
||
/// </summary>
|
||
public const int IdFlashingBeforeConnection = 5005;
|
||
/// <summary>
|
||
/// Проработка перед наращиванием
|
||
/// </summary>
|
||
public const int IdDevelopment = 5007;
|
||
/// <summary>
|
||
/// Шаблонировка во время бурения
|
||
/// </summary>
|
||
public const int IdTemplatingWhileDrilling = 5008;
|
||
/// <summary>
|
||
/// Шаблонировка перед наращиванием
|
||
/// </summary>
|
||
public const int IdTemplating = 5009;
|
||
/// <summary>
|
||
/// Удержание в клиньях
|
||
/// </summary>
|
||
public const int IdSlipsTime = 5011;
|
||
/// <summary>
|
||
/// Подъем КНБК
|
||
/// </summary>
|
||
public const int IdBhaUp = 5013;
|
||
/// <summary>
|
||
/// Спуск КНБК
|
||
/// </summary>
|
||
public const int IdBhaDown = 5015;
|
||
/// <summary>
|
||
/// Спуск ОК
|
||
/// </summary>
|
||
public const int IdCasingDown = 5017;
|
||
/// <summary>
|
||
/// Промывка
|
||
/// </summary>
|
||
public const int IdFlashing = 5036;
|
||
/// <summary>
|
||
/// Ремонт бурового оборудования
|
||
/// </summary>
|
||
public const int IdEquipmentRepair = 5058;
|
||
/// <summary>
|
||
/// Список всех категорий НПВ
|
||
/// </summary>
|
||
public static readonly int[] NonProductiveTimeSubIds = {
|
||
IdEquipmentRepair,
|
||
5059,
|
||
5060,
|
||
5061,
|
||
5062,
|
||
5063,
|
||
5064,
|
||
5065,
|
||
5066,
|
||
5067,
|
||
5068,
|
||
5069,
|
||
5070,
|
||
5071,
|
||
5072,
|
||
5073,
|
||
5074,
|
||
5075,
|
||
5076,
|
||
5077,
|
||
5078,
|
||
5079,
|
||
|
||
4014,
|
||
4015,
|
||
4016,
|
||
4017,
|
||
|
||
IdNonProductiveTime,
|
||
};
|
||
|
||
public static readonly int[] MechanicalDrillingSubIds = { IdRotor, IdSlide, IdMechanicalDrilling, };
|
||
#endregion
|
||
|
||
[Key]
|
||
[Column("id")]
|
||
public int Id { get; set; }
|
||
|
||
[Column("name"), Comment("Название категории операции")]
|
||
public string Name { get; set; } = null!;
|
||
|
||
[Column("id_parent"), Comment("id родительской категории")]
|
||
public int? IdParent { get; set; }
|
||
|
||
[Column("key_value_name"), Comment("Название ключевого показателя операции"), StringLength(32)]
|
||
public string? KeyValueName { get; set; }
|
||
|
||
[Column("key_value_units"), Comment("Единицы измерения ключевого показателя операции"), StringLength(16)]
|
||
public string? KeyValueUnits { get; set; }
|
||
|
||
[JsonIgnore]
|
||
[ForeignKey(nameof(IdParent))]
|
||
public virtual WellOperationCategory? Parent { get; set; } = null!;
|
||
}
|
||
#nullable disable
|
||
}
|