diff --git a/AsbCloudApp/Data/Subsystems/SubsystemStatisticsDto.cs b/AsbCloudApp/Data/Subsystems/SubsystemStatisticsDto.cs
index 38707c72..5f2c7e77 100644
--- a/AsbCloudApp/Data/Subsystems/SubsystemStatisticsDto.cs
+++ b/AsbCloudApp/Data/Subsystems/SubsystemStatisticsDto.cs
@@ -23,14 +23,14 @@ namespace AsbCloudApp.Data.Subsystems
///
/// наработка подсистемы
///
- public TimeSpan UsedTime { get; set; }
+ public TimeSpan UsedTimeHours { get; set; }
///
/// коэффициент использования
///
- public TimeSpan KUsage { get; set; }
+ public double KUsage { get; set; }
///
/// коэффициент применения
///
- public TimeSpan K2 { get; set; }
+ public double K2 { get; set; }
}
}
diff --git a/AsbCloudApp/Requests/SubsystemOperationTimeRequest.cs b/AsbCloudApp/Requests/SubsystemOperationTimeRequest.cs
index 449690a5..2cef174a 100644
--- a/AsbCloudApp/Requests/SubsystemOperationTimeRequest.cs
+++ b/AsbCloudApp/Requests/SubsystemOperationTimeRequest.cs
@@ -48,10 +48,16 @@ namespace AsbCloudApp.Requests
///
public const int SelectModeOuter = 0;
///
- ///
+ /// информация попадает в выборку, если интервал выборки строго полностью пересекается с запрашиваемым интервалом.
///
public const int SelectModeInner = 1;
+ ///
+ /// аналогично outer, но интервалы в частично пересекающиеся укорачиваются по границам интервала выборки.
+ ///
public const int SelectModeTrim = 2;
+ ///
+ /// Режим выборки элементов
+ ///
public int SelectMode { get; set; } = SelectModeOuter;
}
#nullable disable
diff --git a/AsbCloudDb/Migrations/20220802095637_Add_Table_Subsystem_and_SubsystemOperationTime.Designer.cs b/AsbCloudDb/Migrations/20220802095637_Add_Table_Subsystem_and_SubsystemOperationTime.Designer.cs
new file mode 100644
index 00000000..1388f59a
--- /dev/null
+++ b/AsbCloudDb/Migrations/20220802095637_Add_Table_Subsystem_and_SubsystemOperationTime.Designer.cs
@@ -0,0 +1,6200 @@
+//
+using System;
+using AsbCloudDb.Model;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace AsbCloudDb.Migrations
+{
+ [DbContext(typeof(AsbCloudDbContext))]
+ [Migration("20220802095637_Add_Table_Subsystem_and_SubsystemOperationTime")]
+ partial class Add_Table_Subsystem_and_SubsystemOperationTime
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .UseCollation("Russian_Russia.1251")
+ .HasAnnotation("ProductVersion", "6.0.1")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "adminpack");
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("AsbCloudDb.Model.Cluster", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Caption")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("caption")
+ .HasComment("Название");
+
+ b.Property("IdDeposit")
+ .HasColumnType("integer")
+ .HasColumnName("id_deposit");
+
+ b.Property("Latitude")
+ .HasColumnType("double precision")
+ .HasColumnName("latitude");
+
+ b.Property("Longitude")
+ .HasColumnType("double precision")
+ .HasColumnName("longitude");
+
+ b.Property("Timezone")
+ .HasColumnType("jsonb")
+ .HasColumnName("timezone")
+ .HasComment("Смещение часового пояса от UTC");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdDeposit");
+
+ b.ToTable("t_cluster");
+
+ b.HasComment("Кусты");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Company", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Caption")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("caption");
+
+ b.Property("IdCompanyType")
+ .HasMaxLength(255)
+ .HasColumnType("integer")
+ .HasColumnName("id_company_type")
+ .HasComment("вид деятельности");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdCompanyType");
+
+ b.ToTable("t_company");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Caption = "ООО \"АСБ\"",
+ IdCompanyType = 3
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.CompanyType", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Caption")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("caption");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_company_type");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Caption = "Недрапользователь"
+ },
+ new
+ {
+ Id = 2,
+ Caption = "Буровой подрядчик"
+ },
+ new
+ {
+ Id = 3,
+ Caption = "Сервис автоматизации бурения"
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.DailyReport", b =>
+ {
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("ID скважины");
+
+ b.Property("StartDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("start_date")
+ .HasComment("Дата отчёта");
+
+ b.Property("Info")
+ .HasColumnType("jsonb")
+ .HasColumnName("info")
+ .HasComment("Список параметров для отчёта");
+
+ b.HasKey("IdWell", "StartDate")
+ .HasName("t_id_well_date_start_pk");
+
+ b.ToTable("t_daily_report");
+
+ b.HasComment("Ежедневные отчёты");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Deposit", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Caption")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("caption");
+
+ b.Property("Latitude")
+ .HasColumnType("double precision")
+ .HasColumnName("latitude");
+
+ b.Property("Longitude")
+ .HasColumnType("double precision")
+ .HasColumnName("longitude");
+
+ b.Property("Timezone")
+ .HasColumnType("jsonb")
+ .HasColumnName("timezone")
+ .HasComment("Смещение часового пояса от UTC");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_deposit");
+
+ b.HasComment("Месторождение");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.DetectedOperation", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("DateEnd")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date_end")
+ .HasComment("Дата начала операции");
+
+ b.Property("DateStart")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date_start")
+ .HasComment("Дата начала операции");
+
+ b.Property("DepthEnd")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_end")
+ .HasComment("Глубина после завершения операции, м");
+
+ b.Property("DepthStart")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_start")
+ .HasComment("Глубина на начало операции, м");
+
+ b.Property("IdCategory")
+ .HasColumnType("integer")
+ .HasColumnName("id_category")
+ .HasComment("Id категории операции");
+
+ b.Property("IdTelemetry")
+ .HasColumnType("integer")
+ .HasColumnName("id_telemetry");
+
+ b.Property("IdUsersAtStart")
+ .HasColumnType("integer")
+ .HasColumnName("id_user")
+ .HasComment("Id пользователя по телеметрии на момент начала операции");
+
+ b.Property("Value")
+ .HasColumnType("double precision")
+ .HasColumnName("value")
+ .HasComment("Ключевой показатель операции");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdCategory");
+
+ b.HasIndex("IdTelemetry");
+
+ b.ToTable("t_detected_operation");
+
+ b.HasComment("автоматически определенные операции по телеметрии");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Driller", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id")
+ .HasComment("Идентификатор");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("name")
+ .HasComment("Имя");
+
+ b.Property("Patronymic")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("patronymic")
+ .HasComment("Отчество");
+
+ b.Property("Surname")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("surname")
+ .HasComment("Фамилия");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_driller");
+
+ b.HasComment("Бурильщик");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.DrillFlowChart", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("AxialLoadMax")
+ .HasColumnType("double precision")
+ .HasColumnName("axial_load_max")
+ .HasComment("Максимальная нагрузка");
+
+ b.Property("AxialLoadMin")
+ .HasColumnType("double precision")
+ .HasColumnName("axial_load_min")
+ .HasComment("Минимальная нагрузка");
+
+ b.Property("DepthEnd")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_end")
+ .HasComment("Глубина окончания интервала");
+
+ b.Property("DepthStart")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_start")
+ .HasComment("Стартовая глубина");
+
+ b.Property("FlowMax")
+ .HasColumnType("double precision")
+ .HasColumnName("flow_max")
+ .HasComment("Максимальный расход");
+
+ b.Property("FlowMin")
+ .HasColumnType("double precision")
+ .HasColumnName("flow_min")
+ .HasComment("Минимальный расход");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("well_id")
+ .HasComment("Id скважины");
+
+ b.Property("IdWellOperationCategory")
+ .HasColumnType("integer")
+ .HasColumnName("id_operation_category")
+ .HasComment("Id типа операции");
+
+ b.Property("LastUpdate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("last_update")
+ .HasComment("Дата последнего изменения");
+
+ b.Property("PressureMax")
+ .HasColumnType("double precision")
+ .HasColumnName("pressure_max")
+ .HasComment("Максимальное давление");
+
+ b.Property("PressureMin")
+ .HasColumnType("double precision")
+ .HasColumnName("pressure_min")
+ .HasComment("Минимальное давление");
+
+ b.Property("RotorSpeedMax")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_speed_max")
+ .HasComment("Максимальные обороты на ВСП");
+
+ b.Property("RotorSpeedMin")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_speed_min")
+ .HasComment("Минимальные обороты на ВСП");
+
+ b.Property("RotorTorqueMax")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_torque_max")
+ .HasComment("Максимальный момент на ВСП");
+
+ b.Property("RotorTorqueMin")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_torque_min")
+ .HasComment("Минимальный момент на ВСП");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdWell");
+
+ b.HasIndex("IdWellOperationCategory");
+
+ b.ToTable("t_drill_flow_chart");
+
+ b.HasComment("Параметры коридоров бурения (диапазоны параметров бурения)");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.DrillingProgramPart", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("IdFileCategory")
+ .HasColumnType("integer")
+ .HasColumnName("id_file_category");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdFileCategory");
+
+ b.HasIndex("IdWell", "IdFileCategory")
+ .IsUnique();
+
+ b.ToTable("t_drilling_program_part");
+
+ b.HasComment("части программ бурения");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.DrillParams", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("AxialLoadAvg")
+ .HasColumnType("double precision")
+ .HasColumnName("axial_load_avg")
+ .HasComment("Средняя нагрузка");
+
+ b.Property("AxialLoadMax")
+ .HasColumnType("double precision")
+ .HasColumnName("axial_load_max")
+ .HasComment("Максимальная нагрузка");
+
+ b.Property("AxialLoadMin")
+ .HasColumnType("double precision")
+ .HasColumnName("axial_load_min")
+ .HasComment("Минимальная нагрузка");
+
+ b.Property("DepthEnd")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_end")
+ .HasComment("Глубина окончания интервала");
+
+ b.Property("DepthStart")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_start")
+ .HasComment("Стартовая глубина");
+
+ b.Property("FlowAvg")
+ .HasColumnType("double precision")
+ .HasColumnName("flow_avg")
+ .HasComment("Средний расход");
+
+ b.Property("FlowMax")
+ .HasColumnType("double precision")
+ .HasColumnName("flow_max")
+ .HasComment("Максимальный расход");
+
+ b.Property("FlowMin")
+ .HasColumnType("double precision")
+ .HasColumnName("flow_min")
+ .HasComment("Минимальный расход");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("well_id")
+ .HasComment("Id скважины");
+
+ b.Property("IdWellSectionType")
+ .HasColumnType("integer")
+ .HasColumnName("id_wellsection_type")
+ .HasComment("Id с типом секции скважины");
+
+ b.Property("PressureAvg")
+ .HasColumnType("double precision")
+ .HasColumnName("pressure_avg")
+ .HasComment("Среднее давление");
+
+ b.Property("PressureMax")
+ .HasColumnType("double precision")
+ .HasColumnName("pressure_max")
+ .HasComment("Максимальное давление");
+
+ b.Property("PressureMin")
+ .HasColumnType("double precision")
+ .HasColumnName("pressure_min")
+ .HasComment("Минимальное давление");
+
+ b.Property("RotorSpeedAvg")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_speed_avg")
+ .HasComment("Средние обороты на ВСП");
+
+ b.Property("RotorSpeedMax")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_speed_max")
+ .HasComment("Максимальные обороты на ВСП");
+
+ b.Property("RotorSpeedMin")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_speed_min")
+ .HasComment("Минимальные обороты на ВСП");
+
+ b.Property("RotorTorqueAvg")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_torque_avg")
+ .HasComment("Средний момент на ВСП");
+
+ b.Property("RotorTorqueMax")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_torque_max")
+ .HasComment("Максимальный момент на ВСП");
+
+ b.Property("RotorTorqueMin")
+ .HasColumnType("double precision")
+ .HasColumnName("rotor_torque_min")
+ .HasComment("Минимальный момент на ВСП");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdWell");
+
+ b.HasIndex("IdWellSectionType");
+
+ b.ToTable("t_drill_params");
+
+ b.HasComment("Режим бурения в секции (диапазоны параметров бурения)");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.FileCategory", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name")
+ .HasComment("Название категории");
+
+ b.Property("ShortName")
+ .HasColumnType("text")
+ .HasColumnName("short_name")
+ .HasComment("Короткое название категории");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_file_category");
+
+ b.HasComment("Категории файлов");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "Растворный сервис",
+ ShortName = "fluidService"
+ },
+ new
+ {
+ Id = 2,
+ Name = "Цементирование",
+ ShortName = "cement"
+ },
+ new
+ {
+ Id = 3,
+ Name = "ННБ",
+ ShortName = "nnb"
+ },
+ new
+ {
+ Id = 4,
+ Name = "ГТИ",
+ ShortName = "gti"
+ },
+ new
+ {
+ Id = 5,
+ Name = "Документы по скважине",
+ ShortName = "wellDocuments"
+ },
+ new
+ {
+ Id = 6,
+ Name = "Супервайзер",
+ ShortName = "supervisor"
+ },
+ new
+ {
+ Id = 7,
+ Name = "Мастер",
+ ShortName = "master"
+ },
+ new
+ {
+ Id = 8,
+ Name = "Долотный сервис",
+ ShortName = "toolService"
+ },
+ new
+ {
+ Id = 9,
+ Name = "Буровой подрядчик",
+ ShortName = "drillService"
+ },
+ new
+ {
+ Id = 10,
+ Name = "Сервис по заканчиванию скважины",
+ ShortName = "closingService"
+ },
+ new
+ {
+ Id = 12,
+ Name = "Рапорт",
+ ShortName = "report"
+ },
+ new
+ {
+ Id = 1000,
+ Name = "Программа бурения"
+ },
+ new
+ {
+ Id = 1001,
+ Name = "Задание от геологов"
+ },
+ new
+ {
+ Id = 1002,
+ Name = "Профиль ствола скважины (ННБ)"
+ },
+ new
+ {
+ Id = 1003,
+ Name = "Технологические расчеты (ННБ)"
+ },
+ new
+ {
+ Id = 1004,
+ Name = "Долотная программа"
+ },
+ new
+ {
+ Id = 1005,
+ Name = "Программа по растворам"
+ },
+ new
+ {
+ Id = 1006,
+ Name = "Программа геофизических исследований"
+ },
+ new
+ {
+ Id = 1007,
+ Name = "Планы спусков обсадных колонн"
+ },
+ new
+ {
+ Id = 1008,
+ Name = "Программы цементирования обсадных колонн"
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.FileInfo", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("IdAuthor")
+ .HasColumnType("integer")
+ .HasColumnName("id_author")
+ .HasComment("Id пользователя, загрузившего файл");
+
+ b.Property("IdCategory")
+ .HasColumnType("integer")
+ .HasColumnName("id_category")
+ .HasComment("id категории файла");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("id скважины");
+
+ b.Property("IsDeleted")
+ .HasColumnType("boolean")
+ .HasColumnName("is_deleted")
+ .HasComment("Удален ли файл");
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name")
+ .HasComment("Название файла");
+
+ b.Property("PublishInfo")
+ .HasColumnType("jsonb")
+ .HasColumnName("publish_info")
+ .HasComment("Информация о файле в облаке");
+
+ b.Property("Size")
+ .HasColumnType("bigint")
+ .HasColumnName("file_size")
+ .HasComment("Размер файла");
+
+ b.Property("UploadDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdAuthor");
+
+ b.HasIndex("IdCategory");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_file_info");
+
+ b.HasComment("Файлы всех категорий");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.FileMark", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Comment")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("comment")
+ .HasComment("Комментарий");
+
+ b.Property("DateCreated")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date_created")
+ .HasComment("Дата совершенного действия");
+
+ b.Property("IdFile")
+ .HasColumnType("integer")
+ .HasColumnName("id_file")
+ .HasComment("id файла");
+
+ b.Property("IdMarkType")
+ .HasColumnType("integer")
+ .HasColumnName("id_mark_type")
+ .HasComment("0 - отклонен, 1 - согласован");
+
+ b.Property("IdUser")
+ .HasColumnType("integer")
+ .HasColumnName("id_user")
+ .HasComment("id пользователя");
+
+ b.Property("IsDeleted")
+ .HasColumnType("boolean")
+ .HasColumnName("is_deleted")
+ .HasComment("Помечен ли файл как удаленный");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdFile");
+
+ b.HasIndex("IdUser");
+
+ b.ToTable("t_file_mark");
+
+ b.HasComment("Действия с файлами.");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Measure", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Data")
+ .HasColumnType("jsonb")
+ .HasColumnName("data")
+ .HasComment("Данные таблицы последних данных");
+
+ b.Property("IdCategory")
+ .HasColumnType("integer")
+ .HasColumnName("id_category")
+ .HasComment("id категории");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("id скважины");
+
+ b.Property("IsDeleted")
+ .HasColumnType("boolean")
+ .HasColumnName("is_deleted")
+ .HasComment("Пометка удаленным");
+
+ b.Property("Timestamp")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("timestamp")
+ .HasComment("время добавления");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdCategory");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_measure");
+
+ b.HasComment("Таблица c данными для вкладки 'Последние данные'");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.MeasureCategory", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name")
+ .HasComment("Название категории");
+
+ b.Property("ShortName")
+ .HasColumnType("text")
+ .HasColumnName("short_name")
+ .HasComment("Короткое название категории");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_measure_category");
+
+ b.HasComment("Категория последних данных");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "Показатели бурового раствора",
+ ShortName = "Раствор"
+ },
+ new
+ {
+ Id = 2,
+ Name = "Шламограмма",
+ ShortName = "Шламограмма"
+ },
+ new
+ {
+ Id = 3,
+ Name = "ННБ",
+ ShortName = "ННБ"
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.OperationValue", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id")
+ .HasComment("Идентификатор");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("DepthEnd")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_end")
+ .HasComment("Конечная глубина");
+
+ b.Property("DepthStart")
+ .HasColumnType("double precision")
+ .HasColumnName("depth_start")
+ .HasComment("Старотовая глубина");
+
+ b.Property("IdOperationCategory")
+ .HasColumnType("integer")
+ .HasColumnName("id_operation_category")
+ .HasComment("Ид категории операции");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("Ид скважины");
+
+ b.Property("StandardValue")
+ .HasColumnType("double precision")
+ .HasColumnName("standard_value")
+ .HasComment("Нормативный показатель");
+
+ b.Property("TargetValue")
+ .HasColumnType("double precision")
+ .HasColumnName("target_value")
+ .HasComment("Целевой показатель");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdOperationCategory");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_operationvalue");
+
+ b.HasComment("Целевые/нормативные показатели операции");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Permission", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Description")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("description")
+ .HasComment("Краткое описание");
+
+ b.Property("Name")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("name")
+ .HasComment("Название");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_permission");
+
+ b.HasComment("Разрешения на доступ к данным");
+
+ b.HasData(
+ new
+ {
+ Id = 100,
+ Description = "Разрешение удалять админ. Кусты",
+ Name = "AdminCluster.delete"
+ },
+ new
+ {
+ Id = 101,
+ Description = "Разрешение редактировать админ. Кусты",
+ Name = "AdminCluster.edit"
+ },
+ new
+ {
+ Id = 102,
+ Description = "Разрешение просматривать админ. Кусты",
+ Name = "AdminCluster.get"
+ },
+ new
+ {
+ Id = 103,
+ Description = "Разрешение удалять админ. Компании",
+ Name = "AdminCompany.delete"
+ },
+ new
+ {
+ Id = 104,
+ Description = "Разрешение редактировать админ. Компании",
+ Name = "AdminCompany.edit"
+ },
+ new
+ {
+ Id = 105,
+ Description = "Разрешение просматривать админ. Компании",
+ Name = "AdminCompany.get"
+ },
+ new
+ {
+ Id = 106,
+ Description = "Разрешение удалять админ. Типы компаний",
+ Name = "AdminCompanyType.delete"
+ },
+ new
+ {
+ Id = 107,
+ Description = "Разрешение редактировать админ. Типы компаний",
+ Name = "AdminCompanyType.edit"
+ },
+ new
+ {
+ Id = 108,
+ Description = "Разрешение просматривать админ. Типы компаний",
+ Name = "AdminCompanyType.get"
+ },
+ new
+ {
+ Id = 109,
+ Description = "Разрешение удалять админ. Месторождения",
+ Name = "AdminDeposit.delete"
+ },
+ new
+ {
+ Id = 110,
+ Description = "Разрешение редактировать админ. Месторождения",
+ Name = "AdminDeposit.edit"
+ },
+ new
+ {
+ Id = 111,
+ Description = "Разрешение просматривать админ. Месторождения",
+ Name = "AdminDeposit.get"
+ },
+ new
+ {
+ Id = 112,
+ Description = "Разрешение удалять админ. Разрешения",
+ Name = "AdminPermission.delete"
+ },
+ new
+ {
+ Id = 113,
+ Description = "Разрешение редактировать админ. Разрешения",
+ Name = "AdminPermission.edit"
+ },
+ new
+ {
+ Id = 114,
+ Description = "Разрешение просматривать админ. Разрешения",
+ Name = "AdminPermission.get"
+ },
+ new
+ {
+ Id = 115,
+ Description = "Разрешение удалять админ. Телеметрию",
+ Name = "AdminTelemetry.delete"
+ },
+ new
+ {
+ Id = 116,
+ Description = "Разрешение редактировать админ. Телеметрию",
+ Name = "AdminTelemetry.edit"
+ },
+ new
+ {
+ Id = 117,
+ Description = "Разрешение просматривать админ. Телеметрию",
+ Name = "AdminTelemetry.get"
+ },
+ new
+ {
+ Id = 118,
+ Description = "Разрешение удалять админ. Пользователей",
+ Name = "AdminUser.delete"
+ },
+ new
+ {
+ Id = 119,
+ Description = "Разрешение редактировать админ. Пользователей",
+ Name = "AdminUser.edit"
+ },
+ new
+ {
+ Id = 120,
+ Description = "Разрешение просматривать админ. Пользователей",
+ Name = "AdminUser.get"
+ },
+ new
+ {
+ Id = 121,
+ Description = "Разрешение удалять админ. Роли пользователей",
+ Name = "AdminUserRole.delete"
+ },
+ new
+ {
+ Id = 122,
+ Description = "Разрешение редактировать админ. Роли пользователей",
+ Name = "AdminUserRole.edit"
+ },
+ new
+ {
+ Id = 123,
+ Description = "Разрешение просматривать админ. Роли пользователей",
+ Name = "AdminUserRole.get"
+ },
+ new
+ {
+ Id = 124,
+ Description = "Разрешение удалять админ. Скважины",
+ Name = "AdminWell.delete"
+ },
+ new
+ {
+ Id = 125,
+ Description = "Разрешение редактировать админ. Скважины",
+ Name = "AdminWell.edit"
+ },
+ new
+ {
+ Id = 126,
+ Description = "Разрешение просматривать админ. Скважины",
+ Name = "AdminWell.get"
+ },
+ new
+ {
+ Id = 127,
+ Description = "Разрешение удалять админ. Подсистемы",
+ Name = "AdminSubsytem.delete"
+ },
+ new
+ {
+ Id = 128,
+ Description = "Разрешение редактировать админ. Подсистемы",
+ Name = "AdminSubsytem.edit"
+ },
+ new
+ {
+ Id = 129,
+ Description = "Разрешение просматривать админ. Подсистемы",
+ Name = "AdminSubsytem.get"
+ },
+ new
+ {
+ Id = 200,
+ Description = "Разрешение редактировать 0",
+ Name = "Auth.edit"
+ },
+ new
+ {
+ Id = 201,
+ Description = "Разрешение просматривать 0",
+ Name = "Auth.get"
+ },
+ new
+ {
+ Id = 202,
+ Description = "Разрешение просматривать Кусты",
+ Name = "Cluster.get"
+ },
+ new
+ {
+ Id = 203,
+ Description = "Разрешение просматривать Месторождения",
+ Name = "Deposit.get"
+ },
+ new
+ {
+ Id = 204,
+ Description = "Разрешение удалять РТК",
+ Name = "DrillFlowChart.delete"
+ },
+ new
+ {
+ Id = 205,
+ Description = "Разрешение редактировать РТК",
+ Name = "DrillFlowChart.edit"
+ },
+ new
+ {
+ Id = 206,
+ Description = "Разрешение просматривать РТК",
+ Name = "DrillFlowChart.get"
+ },
+ new
+ {
+ Id = 207,
+ Description = "Разрешение удалять Программу бурения",
+ Name = "DrillingProgram.delete"
+ },
+ new
+ {
+ Id = 208,
+ Description = "Разрешение редактировать Программу бурения",
+ Name = "DrillingProgram.edit"
+ },
+ new
+ {
+ Id = 209,
+ Description = "Разрешение просматривать Программу бурения",
+ Name = "DrillingProgram.get"
+ },
+ new
+ {
+ Id = 210,
+ Description = "Разрешение удалять Режимы бурения",
+ Name = "DrillParams.delete"
+ },
+ new
+ {
+ Id = 211,
+ Description = "Разрешение редактировать Режимы бурения",
+ Name = "DrillParams.edit"
+ },
+ new
+ {
+ Id = 212,
+ Description = "Разрешение просматривать Режимы бурения",
+ Name = "DrillParams.get"
+ },
+ new
+ {
+ Id = 213,
+ Description = "Разрешение удалять Файлы",
+ Name = "File.delete"
+ },
+ new
+ {
+ Id = 214,
+ Description = "Разрешение редактировать Файлы",
+ Name = "File.edit"
+ },
+ new
+ {
+ Id = 215,
+ Description = "Разрешение просматривать Файлы",
+ Name = "File.get"
+ },
+ new
+ {
+ Id = 216,
+ Description = "Разрешение удалять Измерения",
+ Name = "Measure.delete"
+ },
+ new
+ {
+ Id = 217,
+ Description = "Разрешение редактировать Измерения",
+ Name = "Measure.edit"
+ },
+ new
+ {
+ Id = 218,
+ Description = "Разрешение просматривать Измерения",
+ Name = "Measure.get"
+ },
+ new
+ {
+ Id = 219,
+ Description = "Разрешение просматривать Сообщения телеметрии",
+ Name = "Message.get"
+ },
+ new
+ {
+ Id = 220,
+ Description = "Разрешение просматривать Статистику по операциям",
+ Name = "OperationStat.get"
+ },
+ new
+ {
+ Id = 221,
+ Description = "Разрешение редактировать Рапорта",
+ Name = "Report.edit"
+ },
+ new
+ {
+ Id = 222,
+ Description = "Разрешение просматривать Рапорта",
+ Name = "Report.get"
+ },
+ new
+ {
+ Id = 223,
+ Description = "Разрешение просматривать админ. Системная статистика",
+ Name = "RequestTracker.get"
+ },
+ new
+ {
+ Id = 224,
+ Description = "Разрешение удалять Рекомендации уставок",
+ Name = "Setpoints.delete"
+ },
+ new
+ {
+ Id = 225,
+ Description = "Разрешение редактировать Рекомендации уставок",
+ Name = "Setpoints.edit"
+ },
+ new
+ {
+ Id = 226,
+ Description = "Разрешение просматривать Рекомендации уставок",
+ Name = "Setpoints.get"
+ },
+ new
+ {
+ Id = 227,
+ Description = "Разрешение редактировать Телеметрии",
+ Name = "Telemetry.edit"
+ },
+ new
+ {
+ Id = 228,
+ Description = "Разрешение просматривать Анализ телеметрии",
+ Name = "TelemetryAnalytics.get"
+ },
+ new
+ {
+ Id = 229,
+ Description = "Разрешение редактировать Данные телеметрии по САУБ",
+ Name = "TelemetryDataSaub.edit"
+ },
+ new
+ {
+ Id = 230,
+ Description = "Разрешение просматривать Данные телеметрии по САУБ",
+ Name = "TelemetryDataSaub.get"
+ },
+ new
+ {
+ Id = 231,
+ Description = "Разрешение редактировать Данные телеметрии по SpinMaster",
+ Name = "TelemetryDataSpin.edit"
+ },
+ new
+ {
+ Id = 232,
+ Description = "Разрешение просматривать Данные телеметрии по SpinMaster",
+ Name = "TelemetryDataSpin.get"
+ },
+ new
+ {
+ Id = 233,
+ Description = "Разрешение редактировать Скважины",
+ Name = "Well.edit"
+ },
+ new
+ {
+ Id = 234,
+ Description = "Разрешение просматривать Скважины",
+ Name = "Well.get"
+ },
+ new
+ {
+ Id = 235,
+ Description = "Разрешение редактировать Композитные скважины",
+ Name = "WellComposite.edit"
+ },
+ new
+ {
+ Id = 236,
+ Description = "Разрешение просматривать Композитные скважины",
+ Name = "WellComposite.get"
+ },
+ new
+ {
+ Id = 237,
+ Description = "Разрешение удалять Операции по скважинам",
+ Name = "WellOperation.delete"
+ },
+ new
+ {
+ Id = 238,
+ Description = "Разрешение редактировать Операции по скважинам",
+ Name = "WellOperation.edit"
+ },
+ new
+ {
+ Id = 239,
+ Description = "Разрешение просматривать Операции по скважинам",
+ Name = "WellOperation.get"
+ },
+ new
+ {
+ Id = 240,
+ Description = "Разрешение редактировать Файлы категории 1 (Растворный сервис)",
+ Name = "File.edit1"
+ },
+ new
+ {
+ Id = 241,
+ Description = "Разрешение редактировать Файлы категории 2 (Цементирование)",
+ Name = "File.edit2"
+ },
+ new
+ {
+ Id = 242,
+ Description = "Разрешение редактировать Файлы категории 3 (ННБ)",
+ Name = "File.edit3"
+ },
+ new
+ {
+ Id = 243,
+ Description = "Разрешение редактировать Файлы категории 4 (ГТИ)",
+ Name = "File.edit4"
+ },
+ new
+ {
+ Id = 244,
+ Description = "Разрешение редактировать Файлы категории 5 (Документы по скважине)",
+ Name = "File.edit5"
+ },
+ new
+ {
+ Id = 245,
+ Description = "Разрешение редактировать Файлы категории 6 (Супервайзер)",
+ Name = "File.edit6"
+ },
+ new
+ {
+ Id = 246,
+ Description = "Разрешение редактировать Файлы категории 7 (Мастер)",
+ Name = "File.edit7"
+ },
+ new
+ {
+ Id = 247,
+ Description = "Разрешение редактировать Файлы категории 8 (Долотный сервис)",
+ Name = "File.edit8"
+ },
+ new
+ {
+ Id = 248,
+ Description = "Разрешение редактировать Файлы категории 9 (Буровой подрядчик)",
+ Name = "File.edit9"
+ },
+ new
+ {
+ Id = 249,
+ Description = "Разрешение редактировать Файлы категории 10 (Сервис по заканчиванию скважины)",
+ Name = "File.edit10"
+ },
+ new
+ {
+ Id = 250,
+ Description = "Разрешение редактировать Файлы категории 11 (Рапорт)",
+ Name = "File.edit11"
+ },
+ new
+ {
+ Id = 251,
+ Description = "Разрешение редактировать Файлы категории 12",
+ Name = "File.edit12"
+ },
+ new
+ {
+ Id = 252,
+ Description = "Разрешение редактировать Файлы категории 12",
+ Name = "File.edit13"
+ },
+ new
+ {
+ Id = 253,
+ Description = "Разрешение редактировать Файлы категории 13",
+ Name = "File.edit14"
+ },
+ new
+ {
+ Id = 254,
+ Description = "Разрешение редактировать Файлы категории 14",
+ Name = "File.edit15"
+ },
+ new
+ {
+ Id = 255,
+ Description = "Разрешение редактировать Файлы категории 15",
+ Name = "File.edit16"
+ },
+ new
+ {
+ Id = 256,
+ Description = "Разрешение редактировать Файлы категории 16",
+ Name = "File.edit17"
+ },
+ new
+ {
+ Id = 257,
+ Description = "Разрешение редактировать Файлы категории 17",
+ Name = "File.edit18"
+ },
+ new
+ {
+ Id = 258,
+ Description = "Разрешение редактировать Файлы категории 18",
+ Name = "File.edit19"
+ },
+ new
+ {
+ Id = 259,
+ Description = "Разрешение редактировать Файлы категории 19",
+ Name = "File.edit20"
+ },
+ new
+ {
+ Id = 260,
+ Description = "Разрешение редактировать Файлы категории 20",
+ Name = "File.edit21"
+ },
+ new
+ {
+ Id = 261,
+ Description = "Разрешение редактировать Файлы категории 21",
+ Name = "File.edit22"
+ },
+ new
+ {
+ Id = 262,
+ Description = "Разрешение редактировать Файлы категории 22",
+ Name = "File.edit23"
+ },
+ new
+ {
+ Id = 263,
+ Description = "Разрешение редактировать Файлы категории 23",
+ Name = "File.edit24"
+ },
+ new
+ {
+ Id = 264,
+ Description = "Разрешение редактировать Файлы категории 24",
+ Name = "File.edit25"
+ },
+ new
+ {
+ Id = 265,
+ Description = "Разрешение редактировать Файлы категории 25",
+ Name = "File.edit26"
+ },
+ new
+ {
+ Id = 266,
+ Description = "Разрешение редактировать Файлы категории 26",
+ Name = "File.edit27"
+ },
+ new
+ {
+ Id = 267,
+ Description = "Разрешение редактировать Файлы категории 27",
+ Name = "File.edit28"
+ },
+ new
+ {
+ Id = 268,
+ Description = "Разрешение редактировать Файлы категории 28",
+ Name = "File.edit29"
+ },
+ new
+ {
+ Id = 269,
+ Description = "Разрешение редактировать Файлы категории 29",
+ Name = "File.edit30"
+ },
+ new
+ {
+ Id = 380,
+ Description = "Разрешение просматривать список бурильщиков",
+ Name = "Driller.get"
+ },
+ new
+ {
+ Id = 381,
+ Description = "Разрешение редактировать бурильщика",
+ Name = "Driller.edit"
+ },
+ new
+ {
+ Id = 382,
+ Description = "Разрешение удалять бурильщик",
+ Name = "Driller.delete"
+ },
+ new
+ {
+ Id = 383,
+ Description = "Разрешение просматривать графики бурильщиков",
+ Name = "Schedule.get"
+ },
+ new
+ {
+ Id = 384,
+ Description = "Разрешение редактировать график бурильщика",
+ Name = "Schedule.edit"
+ },
+ new
+ {
+ Id = 385,
+ Description = "Разрешение удалять график бурильщика",
+ Name = "Schedule.delete"
+ },
+ new
+ {
+ Id = 386,
+ Description = "Разрешение просматривать суточный рапорт",
+ Name = "DailyReport.get"
+ },
+ new
+ {
+ Id = 387,
+ Description = "Разрешение редактировать суточный рапорт",
+ Name = "DailyReport.edit"
+ },
+ new
+ {
+ Id = 388,
+ Description = "Разрешение просматривать авто. определенные операции",
+ Name = "DetectedOperation.get"
+ },
+ new
+ {
+ Id = 389,
+ Description = "Разрешение просматривать целевые значения",
+ Name = "OperationValue.get"
+ },
+ new
+ {
+ Id = 390,
+ Description = "Разрешение редактировать целевые значения",
+ Name = "OperationValue.edit"
+ },
+ new
+ {
+ Id = 391,
+ Description = "Разрешение удалять целевые значения",
+ Name = "OperationValue.delete"
+ },
+ new
+ {
+ Id = 400,
+ Description = "Разрешение просматривать инфо по wits параметрам",
+ Name = "WitsInfo.get"
+ },
+ new
+ {
+ Id = 401,
+ Description = "Разрешение просматривать WITS record 1",
+ Name = "WitsRecord1.get"
+ },
+ new
+ {
+ Id = 407,
+ Description = "Разрешение просматривать WITS record 7",
+ Name = "WitsRecord7.get"
+ },
+ new
+ {
+ Id = 408,
+ Description = "Разрешение просматривать WITS record 8",
+ Name = "WitsRecord8.get"
+ },
+ new
+ {
+ Id = 450,
+ Description = "Разрешение просматривать WITS record 50",
+ Name = "WitsRecord50.get"
+ },
+ new
+ {
+ Id = 460,
+ Description = "Разрешение просматривать WITS record 60",
+ Name = "WitsRecord60.get"
+ },
+ new
+ {
+ Id = 461,
+ Description = "Разрешение просматривать WITS record 61",
+ Name = "WitsRecord61.get"
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.RelationCompanyWell", b =>
+ {
+ b.Property("IdCompany")
+ .HasColumnType("integer")
+ .HasColumnName("id_company");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well");
+
+ b.HasKey("IdCompany", "IdWell");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_relation_company_well");
+
+ b.HasComment("отношение скважин и компаний");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.RelationUserDrillingProgramPart", b =>
+ {
+ b.Property("IdUser")
+ .HasColumnType("integer")
+ .HasColumnName("id_user");
+
+ b.Property("IdDrillingProgramPart")
+ .HasColumnType("integer")
+ .HasColumnName("id_drilling_program_part");
+
+ b.Property("IdUserRole")
+ .HasColumnType("integer")
+ .HasColumnName("id_role")
+ .HasComment("1 - publisher, 2 - approver");
+
+ b.HasKey("IdUser", "IdDrillingProgramPart")
+ .HasName("t_relation_user_drilling_program_part_pk");
+
+ b.HasIndex("IdDrillingProgramPart");
+
+ b.ToTable("t_relation_user_drilling_program_part");
+
+ b.HasComment("Отношение пользователей и частей ПБ");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.RelationUserRolePermission", b =>
+ {
+ b.Property("IdUserRole")
+ .HasColumnType("integer")
+ .HasColumnName("id_user_role");
+
+ b.Property("IdPermission")
+ .HasColumnType("integer")
+ .HasColumnName("id_permission");
+
+ b.HasKey("IdUserRole", "IdPermission");
+
+ b.HasIndex("IdPermission");
+
+ b.ToTable("t_relation_user_role_permission");
+
+ b.HasComment("Отношение ролей пользователей и разрешений доступа");
+
+ b.HasData(
+ new
+ {
+ IdUserRole = 1100,
+ IdPermission = 102
+ },
+ new
+ {
+ IdUserRole = 1100,
+ IdPermission = 111
+ },
+ new
+ {
+ IdUserRole = 1101,
+ IdPermission = 101
+ },
+ new
+ {
+ IdUserRole = 1101,
+ IdPermission = 100
+ },
+ new
+ {
+ IdUserRole = 1102,
+ IdPermission = 105
+ },
+ new
+ {
+ IdUserRole = 1102,
+ IdPermission = 108
+ },
+ new
+ {
+ IdUserRole = 1103,
+ IdPermission = 104
+ },
+ new
+ {
+ IdUserRole = 1103,
+ IdPermission = 103
+ },
+ new
+ {
+ IdUserRole = 1104,
+ IdPermission = 108
+ },
+ new
+ {
+ IdUserRole = 1105,
+ IdPermission = 107
+ },
+ new
+ {
+ IdUserRole = 1105,
+ IdPermission = 106
+ },
+ new
+ {
+ IdUserRole = 1106,
+ IdPermission = 111
+ },
+ new
+ {
+ IdUserRole = 1107,
+ IdPermission = 110
+ },
+ new
+ {
+ IdUserRole = 1107,
+ IdPermission = 109
+ },
+ new
+ {
+ IdUserRole = 1108,
+ IdPermission = 114
+ },
+ new
+ {
+ IdUserRole = 1109,
+ IdPermission = 113
+ },
+ new
+ {
+ IdUserRole = 1109,
+ IdPermission = 112
+ },
+ new
+ {
+ IdUserRole = 1110,
+ IdPermission = 123
+ },
+ new
+ {
+ IdUserRole = 1110,
+ IdPermission = 114
+ },
+ new
+ {
+ IdUserRole = 1111,
+ IdPermission = 122
+ },
+ new
+ {
+ IdUserRole = 1111,
+ IdPermission = 121
+ },
+ new
+ {
+ IdUserRole = 1112,
+ IdPermission = 117
+ },
+ new
+ {
+ IdUserRole = 1113,
+ IdPermission = 105
+ },
+ new
+ {
+ IdUserRole = 1113,
+ IdPermission = 123
+ },
+ new
+ {
+ IdUserRole = 1113,
+ IdPermission = 120
+ },
+ new
+ {
+ IdUserRole = 1114,
+ IdPermission = 119
+ },
+ new
+ {
+ IdUserRole = 1114,
+ IdPermission = 118
+ },
+ new
+ {
+ IdUserRole = 1114,
+ IdPermission = 200
+ },
+ new
+ {
+ IdUserRole = 1115,
+ IdPermission = 223
+ },
+ new
+ {
+ IdUserRole = 1116,
+ IdPermission = 105
+ },
+ new
+ {
+ IdUserRole = 1116,
+ IdPermission = 102
+ },
+ new
+ {
+ IdUserRole = 1116,
+ IdPermission = 117
+ },
+ new
+ {
+ IdUserRole = 1116,
+ IdPermission = 126
+ },
+ new
+ {
+ IdUserRole = 1117,
+ IdPermission = 125
+ },
+ new
+ {
+ IdUserRole = 1117,
+ IdPermission = 124
+ },
+ new
+ {
+ IdUserRole = 1200,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1200,
+ IdPermission = 230
+ },
+ new
+ {
+ IdUserRole = 1201,
+ IdPermission = 202
+ },
+ new
+ {
+ IdUserRole = 1201,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1201,
+ IdPermission = 220
+ },
+ new
+ {
+ IdUserRole = 1202,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1202,
+ IdPermission = 220
+ },
+ new
+ {
+ IdUserRole = 1202,
+ IdPermission = 236
+ },
+ new
+ {
+ IdUserRole = 1202,
+ IdPermission = 212
+ },
+ new
+ {
+ IdUserRole = 1203,
+ IdPermission = 235
+ },
+ new
+ {
+ IdUserRole = 1204,
+ IdPermission = 202
+ },
+ new
+ {
+ IdUserRole = 1204,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1205,
+ IdPermission = 215
+ },
+ new
+ {
+ IdUserRole = 1206,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1206,
+ IdPermission = 206
+ },
+ new
+ {
+ IdUserRole = 1207,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 1208,
+ IdPermission = 218
+ },
+ new
+ {
+ IdUserRole = 1209,
+ IdPermission = 217
+ },
+ new
+ {
+ IdUserRole = 1210,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1210,
+ IdPermission = 230
+ },
+ new
+ {
+ IdUserRole = 1210,
+ IdPermission = 219
+ },
+ new
+ {
+ IdUserRole = 1211,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1211,
+ IdPermission = 220
+ },
+ new
+ {
+ IdUserRole = 1211,
+ IdPermission = 239
+ },
+ new
+ {
+ IdUserRole = 1212,
+ IdPermission = 238
+ },
+ new
+ {
+ IdUserRole = 1212,
+ IdPermission = 237
+ },
+ new
+ {
+ IdUserRole = 1213,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1213,
+ IdPermission = 239
+ },
+ new
+ {
+ IdUserRole = 1213,
+ IdPermission = 212
+ },
+ new
+ {
+ IdUserRole = 1214,
+ IdPermission = 211
+ },
+ new
+ {
+ IdUserRole = 1214,
+ IdPermission = 210
+ },
+ new
+ {
+ IdUserRole = 1215,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1215,
+ IdPermission = 222
+ },
+ new
+ {
+ IdUserRole = 1216,
+ IdPermission = 221
+ },
+ new
+ {
+ IdUserRole = 1217,
+ IdPermission = 226
+ },
+ new
+ {
+ IdUserRole = 1218,
+ IdPermission = 225
+ },
+ new
+ {
+ IdUserRole = 1218,
+ IdPermission = 224
+ },
+ new
+ {
+ IdUserRole = 1219,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1219,
+ IdPermission = 206
+ },
+ new
+ {
+ IdUserRole = 1219,
+ IdPermission = 230
+ },
+ new
+ {
+ IdUserRole = 1219,
+ IdPermission = 232
+ },
+ new
+ {
+ IdUserRole = 1220,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1220,
+ IdPermission = 228
+ },
+ new
+ {
+ IdUserRole = 1221,
+ IdPermission = 202
+ },
+ new
+ {
+ IdUserRole = 1221,
+ IdPermission = 203
+ },
+ new
+ {
+ IdUserRole = 1221,
+ IdPermission = 220
+ },
+ new
+ {
+ IdUserRole = 1221,
+ IdPermission = 234
+ },
+ new
+ {
+ IdUserRole = 1501,
+ IdPermission = 214
+ },
+ new
+ {
+ IdUserRole = 1501,
+ IdPermission = 213
+ },
+ new
+ {
+ IdUserRole = 1502,
+ IdPermission = 207
+ },
+ new
+ {
+ IdUserRole = 1502,
+ IdPermission = 208
+ },
+ new
+ {
+ IdUserRole = 2000,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 2000,
+ IdPermission = 204
+ },
+ new
+ {
+ IdUserRole = 2000,
+ IdPermission = 245
+ },
+ new
+ {
+ IdUserRole = 2001,
+ IdPermission = 244
+ },
+ new
+ {
+ IdUserRole = 2001,
+ IdPermission = 245
+ },
+ new
+ {
+ IdUserRole = 2002,
+ IdPermission = 244
+ },
+ new
+ {
+ IdUserRole = 2002,
+ IdPermission = 246
+ },
+ new
+ {
+ IdUserRole = 2002,
+ IdPermission = 237
+ },
+ new
+ {
+ IdUserRole = 2002,
+ IdPermission = 238
+ },
+ new
+ {
+ IdUserRole = 2003,
+ IdPermission = 240
+ },
+ new
+ {
+ IdUserRole = 2003,
+ IdPermission = 217
+ },
+ new
+ {
+ IdUserRole = 2003,
+ IdPermission = 216
+ },
+ new
+ {
+ IdUserRole = 2004,
+ IdPermission = 242
+ },
+ new
+ {
+ IdUserRole = 2004,
+ IdPermission = 217
+ },
+ new
+ {
+ IdUserRole = 2004,
+ IdPermission = 216
+ },
+ new
+ {
+ IdUserRole = 2004,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 2004,
+ IdPermission = 204
+ },
+ new
+ {
+ IdUserRole = 2005,
+ IdPermission = 247
+ },
+ new
+ {
+ IdUserRole = 2005,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 2005,
+ IdPermission = 204
+ },
+ new
+ {
+ IdUserRole = 2006,
+ IdPermission = 243
+ },
+ new
+ {
+ IdUserRole = 2006,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 2006,
+ IdPermission = 204
+ },
+ new
+ {
+ IdUserRole = 2007,
+ IdPermission = 241
+ },
+ new
+ {
+ IdUserRole = 2007,
+ IdPermission = 205
+ },
+ new
+ {
+ IdUserRole = 2007,
+ IdPermission = 204
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.RelationUserRoleUserRole", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer")
+ .HasColumnName("id_user_role");
+
+ b.Property("IdInclude")
+ .HasColumnType("integer")
+ .HasColumnName("id_include_user_role");
+
+ b.HasKey("Id", "IdInclude")
+ .HasName("t_relation_user_role_user_role_pk");
+
+ b.HasIndex("IdInclude");
+
+ b.ToTable("t_relation_user_role_user_role");
+
+ b.HasComment("Отношение ролей к ролям");
+
+ b.HasData(
+ new
+ {
+ Id = 1101,
+ IdInclude = 1100
+ },
+ new
+ {
+ Id = 1103,
+ IdInclude = 1102
+ },
+ new
+ {
+ Id = 1105,
+ IdInclude = 1104
+ },
+ new
+ {
+ Id = 1107,
+ IdInclude = 1106
+ },
+ new
+ {
+ Id = 1109,
+ IdInclude = 1108
+ },
+ new
+ {
+ Id = 1111,
+ IdInclude = 1110
+ },
+ new
+ {
+ Id = 1114,
+ IdInclude = 1113
+ },
+ new
+ {
+ Id = 1117,
+ IdInclude = 1116
+ },
+ new
+ {
+ Id = 1203,
+ IdInclude = 1202
+ },
+ new
+ {
+ Id = 1207,
+ IdInclude = 1206
+ },
+ new
+ {
+ Id = 1209,
+ IdInclude = 1208
+ },
+ new
+ {
+ Id = 1212,
+ IdInclude = 1211
+ },
+ new
+ {
+ Id = 1214,
+ IdInclude = 1213
+ },
+ new
+ {
+ Id = 1216,
+ IdInclude = 1215
+ },
+ new
+ {
+ Id = 1218,
+ IdInclude = 1217
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1200
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1201
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1202
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1204
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1205
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1206
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1208
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1210
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1211
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1213
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1215
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1217
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1219
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1220
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1221
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2000,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2001,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2001,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2001,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2002,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2002,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2002,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2003,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2003,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2003,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2004,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2004,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2004,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2005,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2005,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2005,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2006,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2006,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2006,
+ IdInclude = 1502
+ },
+ new
+ {
+ Id = 2007,
+ IdInclude = 1500
+ },
+ new
+ {
+ Id = 2007,
+ IdInclude = 1501
+ },
+ new
+ {
+ Id = 2007,
+ IdInclude = 1502
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.RelationUserUserRole", b =>
+ {
+ b.Property("IdUser")
+ .HasColumnType("integer")
+ .HasColumnName("id_user");
+
+ b.Property("IdUserRole")
+ .HasColumnType("integer")
+ .HasColumnName("id_user_role");
+
+ b.HasKey("IdUser", "IdUserRole");
+
+ b.HasIndex("IdUserRole");
+
+ b.ToTable("t_relation_user_user_role");
+
+ b.HasComment("Отношение пользователей и ролей");
+
+ b.HasData(
+ new
+ {
+ IdUser = 1,
+ IdUserRole = 1
+ });
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.ReportProperty", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Begin")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("begin");
+
+ b.Property("End")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("end")
+ .HasComment("timestamp with time zone");
+
+ b.Property("Format")
+ .HasColumnType("integer")
+ .HasColumnName("format")
+ .HasComment("Формат отчета");
+
+ b.Property("IdFile")
+ .HasColumnType("integer")
+ .HasColumnName("id_file")
+ .HasComment("id файла-родителя");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("id скважины");
+
+ b.Property("Step")
+ .HasColumnType("integer")
+ .HasColumnName("step")
+ .HasComment("размер шага в секундах");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdFile");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_report_property");
+
+ b.HasComment("Отчеты с данными по буровым");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Schedule", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id")
+ .HasComment("Идентификатор");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("DrillEnd")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("drill_end")
+ .HasComment("Конец вахты");
+
+ b.Property("DrillStart")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("drill_start")
+ .HasComment("Начало вахты");
+
+ b.Property("IdDriller")
+ .HasColumnType("integer")
+ .HasColumnName("id_driller")
+ .HasComment("Идентификатор бурильщика");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("Идентификатор скважины");
+
+ b.Property("ShiftEnd")
+ .HasColumnType("time without time zone")
+ .HasColumnName("shift_end")
+ .HasComment("Конец смены");
+
+ b.Property("ShiftStart")
+ .HasColumnType("time without time zone")
+ .HasColumnName("shift_start")
+ .HasComment("Начало смены");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdDriller");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_schedule");
+
+ b.HasComment("График работы бурильщика");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.SetpointsRequest", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Comment")
+ .HasColumnType("text")
+ .HasColumnName("comment")
+ .HasComment("комментарий для оператора");
+
+ b.Property("IdAuthor")
+ .HasColumnType("integer")
+ .HasColumnName("id_author")
+ .HasComment("Id пользователя, загрузившего файл");
+
+ b.Property("IdState")
+ .HasColumnType("integer")
+ .HasColumnName("id_state")
+ .HasComment("0: неизвестно, 1:ожидает отправки, 2: отправлено, 3: принято оператором, 4: отклонено оператором, 5: устарело");
+
+ b.Property("IdWell")
+ .HasColumnType("integer")
+ .HasColumnName("id_well")
+ .HasComment("id скважины");
+
+ b.Property("ObsolescenceSec")
+ .HasColumnType("integer")
+ .HasColumnName("obsolescence")
+ .HasComment("сек. до устаревания");
+
+ b.Property("Setpoints")
+ .HasColumnType("jsonb")
+ .HasColumnName("setpoint_set")
+ .HasComment("Набор уставок");
+
+ b.Property("UploadDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdAuthor");
+
+ b.HasIndex("IdWell");
+
+ b.ToTable("t_setpoints_rquest");
+
+ b.HasComment("Запросы на изменение уставок панели оператора");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Subsystems.Subsystem", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Description")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("description");
+
+ b.Property("Name")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .HasColumnName("name");
+
+ b.HasKey("Id");
+
+ b.ToTable("t_subsystem");
+
+ b.HasComment("Описание подсистем");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Subsystems.SubsystemOperationTime", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("DateEnd")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date_end")
+ .HasComment("дата/время выключения подсистемы");
+
+ b.Property("DateStart")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date_start")
+ .HasComment("дата/время включения подсистемы");
+
+ b.Property("DepthEnd")
+ .HasColumnType("real")
+ .HasColumnName("depth_end")
+ .HasComment("глубина забоя на момент выключения подсистемы");
+
+ b.Property("DepthStart")
+ .HasColumnType("real")
+ .HasColumnName("depth_start")
+ .HasComment("глубина забоя на момент включения подсистемы");
+
+ b.Property("IdSubsystem")
+ .HasColumnType("integer")
+ .HasColumnName("id_subsystem");
+
+ b.Property("IdTelemetry")
+ .HasColumnType("integer")
+ .HasColumnName("id_telemetry")
+ .HasComment("ИД телеметрии по которой выдается информация");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdSubsystem");
+
+ b.HasIndex("IdTelemetry");
+
+ b.ToTable("t_subsystem_operation_time");
+
+ b.HasComment("наработки подсистем");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.Telemetry", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Info")
+ .HasColumnType("jsonb")
+ .HasColumnName("info")
+ .HasComment("Информация с панели о скважине");
+
+ b.Property("RemoteUid")
+ .HasColumnType("text")
+ .HasColumnName("remote_uid")
+ .HasComment("Идентификатор передающего устройства. Может повторяться в списке, так как комплекты оборудования переезжают от скв. к скв.");
+
+ b.Property("TimeZone")
+ .HasColumnType("jsonb")
+ .HasColumnName("timezone")
+ .HasComment("Смещение часового пояса от UTC");
+
+ b.HasKey("Id");
+
+ b.HasIndex(new[] { "RemoteUid" }, "t_telemetry_remote_uid_index");
+
+ b.ToTable("t_telemetry");
+
+ b.HasComment("таблица привязки телеметрии от комплектов к конкретной скважине.");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSaub", b =>
+ {
+ b.Property("IdTelemetry")
+ .HasColumnType("integer")
+ .HasColumnName("id_telemetry");
+
+ b.Property("DateTime")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date")
+ .HasComment("'2021-10-19 18:23:54+05'");
+
+ b.Property("AxialLoad")
+ .HasColumnType("real")
+ .HasColumnName("axial_load")
+ .HasComment("Осевая нагрузка");
+
+ b.Property("AxialLoadLimitMax")
+ .HasColumnType("real")
+ .HasColumnName("axial_load_limit_max")
+ .HasComment("Осевая нагрузка. Аварийная макс.");
+
+ b.Property("AxialLoadSp")
+ .HasColumnType("real")
+ .HasColumnName("axial_load_sp")
+ .HasComment("Осевая нагрузка. Задание");
+
+ b.Property("BitDepth")
+ .HasColumnType("real")
+ .HasColumnName("bit_depth")
+ .HasComment("Положение инструмента");
+
+ b.Property("BlockPosition")
+ .HasColumnType("real")
+ .HasColumnName("block_position")
+ .HasComment("Высота талевого блока");
+
+ b.Property("BlockPositionMax")
+ .HasColumnType("real")
+ .HasColumnName("block_position_max")
+ .HasComment("Талевый блок. Макс положение");
+
+ b.Property("BlockPositionMin")
+ .HasColumnType("real")
+ .HasColumnName("block_position_min")
+ .HasComment("Талевый блок. Мин положение");
+
+ b.Property("BlockSpeed")
+ .HasColumnType("real")
+ .HasColumnName("block_speed")
+ .HasComment("Скорость талевого блока");
+
+ b.Property("BlockSpeedSp")
+ .HasColumnType("real")
+ .HasColumnName("block_speed_sp")
+ .HasComment("Скорости талевого блока. Задание");
+
+ b.Property("BlockSpeedSpDevelop")
+ .HasColumnType("real")
+ .HasColumnName("block_speed_sp_develop")
+ .HasComment("Талевый блок. Задание скорости для проработки");
+
+ b.Property("BlockSpeedSpRotor")
+ .HasColumnType("real")
+ .HasColumnName("block_speed_sp_rotor")
+ .HasComment("Талевый блок. Задание скорости для роторного бурения");
+
+ b.Property("BlockSpeedSpSlide")
+ .HasColumnType("real")
+ .HasColumnName("block_speed_sp_slide")
+ .HasComment("Талевый блок. Задание скорости для режима слайда");
+
+ b.Property("Flow")
+ .HasColumnType("real")
+ .HasColumnName("flow")
+ .HasComment("Расход");
+
+ b.Property("FlowDeltaLimitMax")
+ .HasColumnType("real")
+ .HasColumnName("flow_delta_limit_max")
+ .HasComment("Расход. Аварийный макс.");
+
+ b.Property("FlowIdle")
+ .HasColumnType("real")
+ .HasColumnName("flow_idle")
+ .HasComment("Расход. Холостой ход");
+
+ b.Property("HookWeight")
+ .HasColumnType("real")
+ .HasColumnName("hook_weight")
+ .HasComment("Вес на крюке");
+
+ b.Property("HookWeightIdle")
+ .HasColumnType("real")
+ .HasColumnName("hook_weight_idle")
+ .HasComment("Вес на крюке. Холостой ход");
+
+ b.Property("HookWeightLimitMax")
+ .HasColumnType("real")
+ .HasColumnName("hook_weight_limit_max")
+ .HasComment("Вес на крюке. Затяжка");
+
+ b.Property("HookWeightLimitMin")
+ .HasColumnType("real")
+ .HasColumnName("hook_weight_limit_min")
+ .HasComment("Вес на крюке. Посадка");
+
+ b.Property("IdFeedRegulator")
+ .HasColumnType("smallint")
+ .HasColumnName("id_feed_regulator")
+ .HasComment("Текущий критерий бурения");
+
+ b.Property("IdUser")
+ .HasColumnType("integer")
+ .HasColumnName("id_user")
+ .HasComment("Пользователь САУБ");
+
+ b.Property("Mode")
+ .HasColumnType("smallint")
+ .HasColumnName("mode")
+ .HasComment("Режим САУБ");
+
+ b.Property("Mse")
+ .HasColumnType("real")
+ .HasColumnName("mse")
+ .HasComment("MSE");
+
+ b.Property("MseState")
+ .HasColumnType("smallint")
+ .HasColumnName("mse_state")
+ .HasComment("Текущее состояние работы MSE");
+
+ b.Property("Pressure")
+ .HasColumnType("real")
+ .HasColumnName("pressure")
+ .HasComment("Давление");
+
+ b.Property("PressureDeltaLimitMax")
+ .HasColumnType("real")
+ .HasColumnName("pressure_delta_limit_max")
+ .HasComment("Давление дифф. Аварийное макс.");
+
+ b.Property("PressureIdle")
+ .HasColumnType("real")
+ .HasColumnName("pressure_idle")
+ .HasComment("Давление. Холостой ход");
+
+ b.Property("PressureSp")
+ .HasColumnType("real")
+ .HasColumnName("pressure_sp")
+ .HasComment("Давление. Задание");
+
+ b.Property("PressureSpDevelop")
+ .HasColumnType("real")
+ .HasColumnName("pressure_sp_develop")
+ .HasComment("Давление. Задание для проработки");
+
+ b.Property("PressureSpRotor")
+ .HasColumnType("real")
+ .HasColumnName("pressure_sp_rotor")
+ .HasComment("Давление. Задание для роторного бурения");
+
+ b.Property("PressureSpSlide")
+ .HasColumnType("real")
+ .HasColumnName("pressure_sp_slide")
+ .HasComment("Давление. Задание для режима слайда");
+
+ b.Property("RotorSpeed")
+ .HasColumnType("real")
+ .HasColumnName("rotor_speed")
+ .HasComment("Обороты ротора");
+
+ b.Property("RotorTorque")
+ .HasColumnType("real")
+ .HasColumnName("rotor_torque")
+ .HasComment("Момент на роторе");
+
+ b.Property("RotorTorqueIdle")
+ .HasColumnType("real")
+ .HasColumnName("rotor_torque_idle")
+ .HasComment("Момент на роторе. Холостой ход");
+
+ b.Property("RotorTorqueLimitMax")
+ .HasColumnType("real")
+ .HasColumnName("rotor_torque_limit_max")
+ .HasComment("Момент на роторе. Аварийный макс.");
+
+ b.Property("RotorTorqueSp")
+ .HasColumnType("real")
+ .HasColumnName("rotor_torque_sp")
+ .HasComment("Момент на роторе. Задание");
+
+ b.Property("WellDepth")
+ .HasColumnType("real")
+ .HasColumnName("well_depth")
+ .HasComment("Глубина забоя");
+
+ b.HasKey("IdTelemetry", "DateTime");
+
+ b.ToTable("t_telemetry_data_saub");
+
+ b.HasComment("набор основных данных по SAUB");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSaubStat", b =>
+ {
+ b.Property("Count")
+ .HasColumnType("bigint")
+ .HasColumnName("count_items");
+
+ b.Property("DateMax")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date_max");
+
+ b.Property("DateMin")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date_min");
+
+ b.Property("DepthMax")
+ .HasColumnType("real")
+ .HasColumnName("depth_max");
+
+ b.Property("DepthMin")
+ .HasColumnType("real")
+ .HasColumnName("depth_min");
+
+ b.Property("IdTelemetry")
+ .HasColumnType("integer")
+ .HasColumnName("id_telemetry");
+
+ b.ToView("mw_telemetry_datas_saub_stat");
+ });
+
+ modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSpin", b =>
+ {
+ b.Property("IdTelemetry")
+ .HasColumnType("integer")
+ .HasColumnName("id_telemetry");
+
+ b.Property("DateTime")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("date")
+ .HasComment("'2021-10-19 18:23:54+05'");
+
+ b.Property("BreakAngleK")
+ .HasColumnType("real")
+ .HasColumnName("break_angle_k")
+ .HasComment("Коэффициент для расчёта за какой угол нужно тормозить");
+
+ b.Property("BreakAngleLeft")
+ .HasColumnType("real")
+ .HasColumnName("break_angle_left")
+ .HasComment("Угол торможения влево при работе по моменту");
+
+ b.Property("EncoderResolution")
+ .HasColumnType("real")
+ .HasColumnName("encoder_resolution")
+ .HasComment("Разрешение энкодера");
+
+ b.Property("Mode")
+ .HasColumnType("smallint")
+ .HasColumnName("mode")
+ .HasComment("Выбранный режим управления");
+
+ b.Property("PidMuxTorqueLeftLimit")
+ .HasColumnType("real")
+ .HasColumnName("pid_mux_torque_left_limit")
+ .HasComment(" Момент при котором определяется ехать назад по моменту или по скорости");
+
+ b.Property("PositionRight")
+ .HasColumnType("real")
+ .HasColumnName("position_right")
+ .HasComment("Крайний правый угол осцилляции");
+
+ b.Property("PositionZero")
+ .HasColumnType("real")
+ .HasColumnName("position_zero")
+ .HasComment("Нулевая позиция осцилляции");
+
+ b.Property("Ratio")
+ .HasColumnType("real")
+ .HasColumnName("ratio")
+ .HasComment(" Коэффициент редукции редуктора");
+
+ b.Property("ReverseKTorque")
+ .HasColumnType("real")
+ .HasColumnName("reverse_k_torque")
+ .HasComment("Коэффициент на который умножается момент, для того чтобы система поняла что мы движемся в обратную сторону");
+
+ b.Property("ReverseSpeedSpZeroTime")
+ .HasColumnType("smallint")
+ .HasColumnName("reverse_speed_sp_zero_time")
+ .HasComment("Время выдачи сигнала нулевой скорости на при смене направления");
+
+ b.Property("RevolsLeftLimit")
+ .HasColumnType("real")
+ .HasColumnName("revols_left_limit")
+ .HasComment("Ограничение числа оборотов влево");
+
+ b.Property("RevolsLeftTotal")
+ .HasColumnType("real")
+ .HasColumnName("revols_left_total")
+ .HasComment("Суммарное количество оборотов влево");
+
+ b.Property("RevolsRightLimit")
+ .HasColumnType("real")
+ .HasColumnName("revols_right_limit")
+ .HasComment("Ограничение числа оборотов вправо");
+
+ b.Property("RevolsRightTotal")
+ .HasColumnType("real")
+ .HasColumnName("revols_right_total")
+ .HasComment("Суммарное количество оборотов вправо");
+
+ b.Property("RotorTorqueAvg")
+ .HasColumnType("real")
+ .HasColumnName("rotor_torque_avg")
+ .HasComment("Момент в роторе средний");
+
+ b.Property("SpeedLeftSp")
+ .HasColumnType("real")
+ .HasColumnName("speed_left_sp")
+ .HasComment("Заданная скорость вращения влево");
+
+ b.Property("SpeedRightSp")
+ .HasColumnType("real")
+ .HasColumnName("speed_right_sp")
+ .HasComment("Заданная скорость вращения вправо");
+
+ b.Property("State")
+ .HasColumnType("smallint")
+ .HasColumnName("state")
+ .HasComment("Переменная этапа");
+
+ b.Property("TopDriveSpeed")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed")
+ .HasComment("Скорость СВП");
+
+ b.Property("TopDriveSpeedErr")
+ .HasColumnType("smallint")
+ .HasColumnName("top_drive_speed_err");
+
+ b.Property("TopDriveSpeedMax")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_max")
+ .HasComment("верхний предел");
+
+ b.Property("TopDriveSpeedMin")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_min")
+ .HasComment("нижний предел");
+
+ b.Property("TopDriveSpeedOffset")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_offset")
+ .HasComment("смещение");
+
+ b.Property("TopDriveSpeedSpFrom")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_from")
+ .HasComment("Заданная скорость c СВП");
+
+ b.Property("TopDriveSpeedSpFromErr")
+ .HasColumnType("smallint")
+ .HasColumnName("top_drive_speed_sp_from_err");
+
+ b.Property("TopDriveSpeedSpFromMax")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_from_max");
+
+ b.Property("TopDriveSpeedSpFromMin")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_from_min");
+
+ b.Property("TopDriveSpeedSpFromOffset")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_from_offset");
+
+ b.Property("TopDriveSpeedSpTo")
+ .HasColumnType("real")
+ .HasColumnName("top_drive_speed_sp_to")
+ .HasComment("Задание скорости на СВП");
+
+ b.Property