From 96b96a0a22e3c8008e2614fa1a9723a951c59972 Mon Sep 17 00:00:00 2001 From: Olga Nemt Date: Tue, 9 Apr 2024 15:12:40 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=BE=D0=B2=D1=8B=D1=85=20=D0=BA?= =?UTF-8?q?=D0=B0=D1=82=D0=B5=D0=B3=D0=BE=D1=80=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...04064028_Add_NewWellOperationCategories.cs | 72 -- ...dd_NewWellOperationCategories.Designer.cs} | 150 ++- ...08112202_Add_NewWellOperationCategories.cs | 1035 +++++++++++++++++ .../AsbCloudDbContextModelSnapshot.cs | 148 ++- AsbCloudDb/Model/WellOperationCategory.cs | 4 +- .../ExcelServices/ExcelTemplateService.cs | 39 + .../Templates/WellOperationFactTemplate.xlsx | Bin 45673 -> 37120 bytes .../Services/WellService.cs | 2 +- .../Controllers/WellOperationController.cs | 20 +- AsbCloudWebApi/appsettings.json | 6 +- 10 files changed, 1393 insertions(+), 83 deletions(-) delete mode 100644 AsbCloudDb/Migrations/20240404064028_Add_NewWellOperationCategories.cs rename AsbCloudDb/Migrations/{20240404064028_Add_NewWellOperationCategories.Designer.cs => 20240408112202_Add_NewWellOperationCategories.Designer.cs} (98%) create mode 100644 AsbCloudDb/Migrations/20240408112202_Add_NewWellOperationCategories.cs create mode 100644 AsbCloudInfrastructure/Services/ExcelServices/ExcelTemplateService.cs diff --git a/AsbCloudDb/Migrations/20240404064028_Add_NewWellOperationCategories.cs b/AsbCloudDb/Migrations/20240404064028_Add_NewWellOperationCategories.cs deleted file mode 100644 index 396700c4..00000000 --- a/AsbCloudDb/Migrations/20240404064028_Add_NewWellOperationCategories.cs +++ /dev/null @@ -1,72 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional - -namespace AsbCloudDb.Migrations -{ - /// - public partial class Add_NewWellOperationCategories : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.InsertData( - table: "t_well_operation_category", - columns: new[] { "id", "id_parent", "key_value_name", "key_value_units", "name" }, - values: new object[,] - { - { 3006, null, "dT", "мин", "Заключительные работы" }, - { 5113, 4001, "МСП", "м/ч", "Бурение" }, - { 5114, 4013, "dT", "мин", "ТО оборудования" }, - { 5116, 4013, "dT", "мин", "Фрезерование \"Окна\"" }, - { 5117, 4013, "dT", "мин", "Расширение ствола" }, - { 4019, 3006, "dT", "мин", "Заключительные операции" }, - { 5115, 4019, "dT", "мин", "Спуск НКТ" } - }); - - migrationBuilder.Sql - ("UPDATE public.t_well_operation SET id_category=5113 WHERE id_category=5002 OR id_category=5003;"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DeleteData( - table: "t_well_operation_category", - keyColumn: "id", - keyValue: 5113); - - migrationBuilder.DeleteData( - table: "t_well_operation_category", - keyColumn: "id", - keyValue: 5114); - - migrationBuilder.DeleteData( - table: "t_well_operation_category", - keyColumn: "id", - keyValue: 5115); - - migrationBuilder.DeleteData( - table: "t_well_operation_category", - keyColumn: "id", - keyValue: 5116); - - migrationBuilder.DeleteData( - table: "t_well_operation_category", - keyColumn: "id", - keyValue: 5117); - - migrationBuilder.DeleteData( - table: "t_well_operation_category", - keyColumn: "id", - keyValue: 4019); - - migrationBuilder.DeleteData( - table: "t_well_operation_category", - keyColumn: "id", - keyValue: 3006); - } - } -} diff --git a/AsbCloudDb/Migrations/20240404064028_Add_NewWellOperationCategories.Designer.cs b/AsbCloudDb/Migrations/20240408112202_Add_NewWellOperationCategories.Designer.cs similarity index 98% rename from AsbCloudDb/Migrations/20240404064028_Add_NewWellOperationCategories.Designer.cs rename to AsbCloudDb/Migrations/20240408112202_Add_NewWellOperationCategories.Designer.cs index 905664c7..caa012fc 100644 --- a/AsbCloudDb/Migrations/20240404064028_Add_NewWellOperationCategories.Designer.cs +++ b/AsbCloudDb/Migrations/20240408112202_Add_NewWellOperationCategories.Designer.cs @@ -13,7 +13,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace AsbCloudDb.Migrations { [DbContext(typeof(AsbCloudDbContext))] - [Migration("20240404064028_Add_NewWellOperationCategories")] + [Migration("20240408112202_Add_NewWellOperationCategories")] partial class Add_NewWellOperationCategories { /// @@ -6205,6 +6205,9 @@ namespace AsbCloudDb.Migrations .HasColumnName("id_parent") .HasComment("id родительской категории"); + b.Property("IsHidden") + .HasColumnType("boolean"); + b.Property("KeyValueName") .HasMaxLength(32) .HasColumnType("character varying(32)") @@ -6236,6 +6239,7 @@ namespace AsbCloudDb.Migrations new { Id = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "м/ч", Name = "БУРЕНИЕ" @@ -6243,6 +6247,7 @@ namespace AsbCloudDb.Migrations new { Id = 3001, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО" @@ -6250,6 +6255,7 @@ namespace AsbCloudDb.Migrations new { Id = 3002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "КРЕПЛЕНИЕ" @@ -6257,6 +6263,7 @@ namespace AsbCloudDb.Migrations new { Id = 3003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ГФР" @@ -6264,6 +6271,7 @@ namespace AsbCloudDb.Migrations new { Id = 3004, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Вспомогательные операции" @@ -6271,6 +6279,7 @@ namespace AsbCloudDb.Migrations new { Id = 3005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Непроизводительное время (НПВ)" @@ -6278,6 +6287,7 @@ namespace AsbCloudDb.Migrations new { Id = 3006, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Заключительные работы" @@ -6286,6 +6296,7 @@ namespace AsbCloudDb.Migrations { Id = 4000, IdParent = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "КНБК" @@ -6294,6 +6305,7 @@ namespace AsbCloudDb.Migrations { Id = 4001, IdParent = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "м/ч", Name = "Механическое. бурение" @@ -6302,6 +6314,7 @@ namespace AsbCloudDb.Migrations { Id = 4002, IdParent = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Статический замер" @@ -6310,6 +6323,7 @@ namespace AsbCloudDb.Migrations { Id = 4003, IdParent = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Нормализация диаметра скважины" @@ -6318,6 +6332,7 @@ namespace AsbCloudDb.Migrations { Id = 4004, IdParent = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Наращивание" @@ -6326,6 +6341,7 @@ namespace AsbCloudDb.Migrations { Id = 4005, IdParent = 3001, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО" @@ -6334,6 +6350,7 @@ namespace AsbCloudDb.Migrations { Id = 4006, IdParent = 3002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск обсадной колонны" @@ -6342,6 +6359,7 @@ namespace AsbCloudDb.Migrations { Id = 4018, IdParent = 3002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Крепление" @@ -6350,6 +6368,7 @@ namespace AsbCloudDb.Migrations { Id = 4007, IdParent = 3002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Цементирование" @@ -6358,6 +6377,7 @@ namespace AsbCloudDb.Migrations { Id = 4008, IdParent = 3002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Вспомогательные работы при креплении" @@ -6366,6 +6386,7 @@ namespace AsbCloudDb.Migrations { Id = 4009, IdParent = 3003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка/разборка приборов ГИС" @@ -6374,6 +6395,7 @@ namespace AsbCloudDb.Migrations { Id = 4010, IdParent = 3003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО" @@ -6382,6 +6404,7 @@ namespace AsbCloudDb.Migrations { Id = 4011, IdParent = 3003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ГИС" @@ -6390,6 +6413,7 @@ namespace AsbCloudDb.Migrations { Id = 4012, IdParent = 3004, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Промывка, ОБР" @@ -6398,6 +6422,7 @@ namespace AsbCloudDb.Migrations { Id = 4013, IdParent = 3004, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Вспомогательные работы" @@ -6406,6 +6431,7 @@ namespace AsbCloudDb.Migrations { Id = 4014, IdParent = 3005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ремонт оборудования" @@ -6414,6 +6440,7 @@ namespace AsbCloudDb.Migrations { Id = 4015, IdParent = 3005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Аварийные работы" @@ -6422,6 +6449,7 @@ namespace AsbCloudDb.Migrations { Id = 4016, IdParent = 3005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Осложнение" @@ -6430,6 +6458,7 @@ namespace AsbCloudDb.Migrations { Id = 4017, IdParent = 3005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Незаложенные в ГГД операции" @@ -6438,6 +6467,7 @@ namespace AsbCloudDb.Migrations { Id = 4019, IdParent = 3006, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Заключительные операции" @@ -6446,6 +6476,7 @@ namespace AsbCloudDb.Migrations { Id = 5000, IdParent = 4000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Разборка КНБК" @@ -6454,6 +6485,7 @@ namespace AsbCloudDb.Migrations { Id = 5001, IdParent = 4000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка КНБК" @@ -6462,6 +6494,7 @@ namespace AsbCloudDb.Migrations { Id = 5002, IdParent = 4001, + IsHidden = false, KeyValueName = "МСП", KeyValueUnits = "м/ч", Name = "Бурение слайдом" @@ -6470,6 +6503,7 @@ namespace AsbCloudDb.Migrations { Id = 5003, IdParent = 4001, + IsHidden = false, KeyValueName = "МСП", KeyValueUnits = "м/ч", Name = "Бурение ротором" @@ -6478,6 +6512,7 @@ namespace AsbCloudDb.Migrations { Id = 5004, IdParent = 4002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Замер ЗТС (запись MWD)" @@ -6486,6 +6521,7 @@ namespace AsbCloudDb.Migrations { Id = 5005, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Промывка перед наращиванием" @@ -6494,6 +6530,7 @@ namespace AsbCloudDb.Migrations { Id = 5006, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Проработка во время бурения" @@ -6502,6 +6539,7 @@ namespace AsbCloudDb.Migrations { Id = 5007, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Проработка" @@ -6510,6 +6548,7 @@ namespace AsbCloudDb.Migrations { Id = 5008, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Шаблонировка во время бурения" @@ -6518,6 +6557,7 @@ namespace AsbCloudDb.Migrations { Id = 5009, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Шаблонировка перед наращиванием" @@ -6526,6 +6566,7 @@ namespace AsbCloudDb.Migrations { Id = 5010, IdParent = 4004, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Наращивание" @@ -6534,6 +6575,7 @@ namespace AsbCloudDb.Migrations { Id = 5011, IdParent = 4004, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Удержание в клиньях" @@ -6542,6 +6584,7 @@ namespace AsbCloudDb.Migrations { Id = 5012, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подъем инструмента" @@ -6550,6 +6593,7 @@ namespace AsbCloudDb.Migrations { Id = 5013, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подъем КНБК" @@ -6558,6 +6602,7 @@ namespace AsbCloudDb.Migrations { Id = 5014, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск инструмента" @@ -6566,6 +6611,7 @@ namespace AsbCloudDb.Migrations { Id = 5015, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск КНБК" @@ -6574,6 +6620,7 @@ namespace AsbCloudDb.Migrations { Id = 5016, IdParent = 4006, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Промывка при спуске ОК" @@ -6582,6 +6629,7 @@ namespace AsbCloudDb.Migrations { Id = 5017, IdParent = 4006, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск ОК" @@ -6590,6 +6638,7 @@ namespace AsbCloudDb.Migrations { Id = 5018, IdParent = 4007, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ОЗЦ" @@ -6598,6 +6647,7 @@ namespace AsbCloudDb.Migrations { Id = 5019, IdParent = 4007, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Цементирование" @@ -6606,6 +6656,7 @@ namespace AsbCloudDb.Migrations { Id = 5020, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Опрессовка БИ" @@ -6614,6 +6665,7 @@ namespace AsbCloudDb.Migrations { Id = 5021, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Опрессовка ОК" @@ -6622,6 +6674,7 @@ namespace AsbCloudDb.Migrations { Id = 5022, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ПЗР при спуске ОК" @@ -6630,6 +6683,7 @@ namespace AsbCloudDb.Migrations { Id = 5023, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ПЗР при цементировании" @@ -6638,6 +6692,7 @@ namespace AsbCloudDb.Migrations { Id = 5024, IdParent = 4009, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Разборка комплекса приборов ГИС" @@ -6646,6 +6701,7 @@ namespace AsbCloudDb.Migrations { Id = 5025, IdParent = 4009, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка комплекса приборов ГИС" @@ -6654,6 +6710,7 @@ namespace AsbCloudDb.Migrations { Id = 5026, IdParent = 4010, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подъем приборов ГИС (на трубах)" @@ -6662,6 +6719,7 @@ namespace AsbCloudDb.Migrations { Id = 5027, IdParent = 4010, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск приборов ГИС (на трубах)" @@ -6670,6 +6728,7 @@ namespace AsbCloudDb.Migrations { Id = 5028, IdParent = 4011, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Комплекс ГИС на жестком кабеле" @@ -6678,6 +6737,7 @@ namespace AsbCloudDb.Migrations { Id = 5029, IdParent = 4011, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Комплекс ГИС на кабеле" @@ -6686,6 +6746,7 @@ namespace AsbCloudDb.Migrations { Id = 5030, IdParent = 4011, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Комплекс ГИС на трубах" @@ -6694,6 +6755,7 @@ namespace AsbCloudDb.Migrations { Id = 5031, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Закачка/прокачка пачки" @@ -6702,6 +6764,7 @@ namespace AsbCloudDb.Migrations { Id = 5032, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Обработка БР" @@ -6710,6 +6773,7 @@ namespace AsbCloudDb.Migrations { Id = 5033, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ориентирование ТС при бурении" @@ -6718,6 +6782,7 @@ namespace AsbCloudDb.Migrations { Id = 5034, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Перезапись гаммы-каротажа" @@ -6726,6 +6791,7 @@ namespace AsbCloudDb.Migrations { Id = 5035, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Приготовление БР" @@ -6734,6 +6800,7 @@ namespace AsbCloudDb.Migrations { Id = 5036, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Промывка" @@ -6742,6 +6809,7 @@ namespace AsbCloudDb.Migrations { Id = 5037, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Разбуривание тех.оснастки" @@ -6750,6 +6818,7 @@ namespace AsbCloudDb.Migrations { Id = 5038, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск инструмента с проработкой" @@ -6758,6 +6827,7 @@ namespace AsbCloudDb.Migrations { Id = 5039, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ВМР" @@ -6766,6 +6836,7 @@ namespace AsbCloudDb.Migrations { Id = 5040, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Демонтаж ПВО" @@ -6774,6 +6845,7 @@ namespace AsbCloudDb.Migrations { Id = 5041, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Долив затруба при подъёме" @@ -6782,6 +6854,7 @@ namespace AsbCloudDb.Migrations { Id = 5042, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Монтаж ПВО" @@ -6790,6 +6863,7 @@ namespace AsbCloudDb.Migrations { Id = 5043, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Наработка жёлоба" @@ -6798,6 +6872,7 @@ namespace AsbCloudDb.Migrations { Id = 5044, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Обвязка устья с циркуляционной системой" @@ -6806,6 +6881,7 @@ namespace AsbCloudDb.Migrations { Id = 5045, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Оборудование устья" @@ -6814,6 +6890,7 @@ namespace AsbCloudDb.Migrations { Id = 5046, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Опрессовка ПВО" @@ -6822,6 +6899,7 @@ namespace AsbCloudDb.Migrations { Id = 5047, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Перемонтаж ПВО " @@ -6830,6 +6908,7 @@ namespace AsbCloudDb.Migrations { Id = 5048, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Перетяжка талевого каната" @@ -6838,6 +6917,7 @@ namespace AsbCloudDb.Migrations { Id = 5049, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ПЗР при сборке КНБК" @@ -6846,6 +6926,7 @@ namespace AsbCloudDb.Migrations { Id = 5050, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Полная замена талевого каната" @@ -6854,6 +6935,7 @@ namespace AsbCloudDb.Migrations { Id = 5051, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ПР перед забуркой направления" @@ -6862,6 +6944,7 @@ namespace AsbCloudDb.Migrations { Id = 5052, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Продувка манифольда" @@ -6870,6 +6953,7 @@ namespace AsbCloudDb.Migrations { Id = 5053, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Срезка" @@ -6878,6 +6962,7 @@ namespace AsbCloudDb.Migrations { Id = 5054, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Тайм-дриллинг" @@ -6886,6 +6971,7 @@ namespace AsbCloudDb.Migrations { Id = 5055, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Тех.отстой" @@ -6894,6 +6980,7 @@ namespace AsbCloudDb.Migrations { Id = 5056, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Учебная тревога \"Выброс\"" @@ -6902,6 +6989,7 @@ namespace AsbCloudDb.Migrations { Id = 5057, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Чистка ЦСГО/емкостного блока" @@ -6910,6 +6998,7 @@ namespace AsbCloudDb.Migrations { Id = 5058, IdParent = 4014, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ремонт бурового оборудования" @@ -6918,6 +7007,7 @@ namespace AsbCloudDb.Migrations { Id = 5059, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ловильные работы" @@ -6926,6 +7016,7 @@ namespace AsbCloudDb.Migrations { Id = 5060, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ожидание" @@ -6934,6 +7025,7 @@ namespace AsbCloudDb.Migrations { Id = 5061, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Определение места прихвата и ЛМ" @@ -6942,6 +7034,7 @@ namespace AsbCloudDb.Migrations { Id = 5062, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Работа яссом" @@ -6950,6 +7043,7 @@ namespace AsbCloudDb.Migrations { Id = 5063, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Расхаживание" @@ -6958,6 +7052,7 @@ namespace AsbCloudDb.Migrations { Id = 5064, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО - колокол" @@ -6966,6 +7061,7 @@ namespace AsbCloudDb.Migrations { Id = 5065, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО - метчик" @@ -6974,6 +7070,7 @@ namespace AsbCloudDb.Migrations { Id = 5066, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО - овершот" @@ -6982,6 +7079,7 @@ namespace AsbCloudDb.Migrations { Id = 5067, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО - труболовка" @@ -6990,6 +7088,7 @@ namespace AsbCloudDb.Migrations { Id = 5068, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Торпедирование (встряхивание)" @@ -6998,6 +7097,7 @@ namespace AsbCloudDb.Migrations { Id = 5069, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Торпедирование (отстрел)" @@ -7006,6 +7106,7 @@ namespace AsbCloudDb.Migrations { Id = 5070, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Установка ванн" @@ -7014,6 +7115,7 @@ namespace AsbCloudDb.Migrations { Id = 5071, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Фрезеровка" @@ -7022,6 +7124,7 @@ namespace AsbCloudDb.Migrations { Id = 5072, IdParent = 4016, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Контролируемое ГНВП" @@ -7030,6 +7133,7 @@ namespace AsbCloudDb.Migrations { Id = 5073, IdParent = 4016, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Поглощение" @@ -7038,6 +7142,7 @@ namespace AsbCloudDb.Migrations { Id = 5074, IdParent = 4016, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сальникообразование" @@ -7046,6 +7151,7 @@ namespace AsbCloudDb.Migrations { Id = 5075, IdParent = 4016, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Утяжеление БР" @@ -7054,6 +7160,7 @@ namespace AsbCloudDb.Migrations { Id = 5076, IdParent = 4017, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "НПВ / прочее" @@ -7062,6 +7169,7 @@ namespace AsbCloudDb.Migrations { Id = 5077, IdParent = 4017, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Обработка раствора (несоответствие параметров)" @@ -7070,6 +7178,7 @@ namespace AsbCloudDb.Migrations { Id = 5078, IdParent = 4017, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "подъем ОК" @@ -7078,6 +7187,7 @@ namespace AsbCloudDb.Migrations { Id = 5079, IdParent = 4017, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ревизия КНБК/инструмента/ЗТС" @@ -7086,6 +7196,7 @@ namespace AsbCloudDb.Migrations { Id = 5082, IdParent = 4000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка устройства ориентирования КО" @@ -7094,6 +7205,7 @@ namespace AsbCloudDb.Migrations { Id = 5083, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Проработка принудительная" @@ -7102,6 +7214,7 @@ namespace AsbCloudDb.Migrations { Id = 5084, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Шаблонировка подъем БИ, продувка" @@ -7110,6 +7223,7 @@ namespace AsbCloudDb.Migrations { Id = 5085, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск бурильного инструмента со сборкой с мостков" @@ -7118,6 +7232,7 @@ namespace AsbCloudDb.Migrations { Id = 5086, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подъем БИ с выбросом на мостки" @@ -7126,6 +7241,7 @@ namespace AsbCloudDb.Migrations { Id = 5087, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск БИ со сборкой с мостков" @@ -7134,6 +7250,7 @@ namespace AsbCloudDb.Migrations { Id = 5088, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка и спуск ТБТ" @@ -7142,6 +7259,7 @@ namespace AsbCloudDb.Migrations { Id = 5089, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск КО на транспотрной колонне" @@ -7150,6 +7268,7 @@ namespace AsbCloudDb.Migrations { Id = 5090, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Отворот допускной трубы" @@ -7158,6 +7277,7 @@ namespace AsbCloudDb.Migrations { Id = 5091, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Активация подвески, опрессовка" @@ -7166,6 +7286,7 @@ namespace AsbCloudDb.Migrations { Id = 5092, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Монтаж, опрессовка ФА" @@ -7174,6 +7295,7 @@ namespace AsbCloudDb.Migrations { Id = 5093, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка хвостовика 114мм (согласно схеме)" @@ -7182,6 +7304,7 @@ namespace AsbCloudDb.Migrations { Id = 5094, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ПЗР к спуску УЭЦН" @@ -7190,6 +7313,7 @@ namespace AsbCloudDb.Migrations { Id = 5095, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Активация подвески (потайной колонны, хвостовика)" @@ -7198,6 +7322,7 @@ namespace AsbCloudDb.Migrations { Id = 5096, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Шаблонирование перед спуском" @@ -7206,6 +7331,7 @@ namespace AsbCloudDb.Migrations { Id = 5097, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Промывка - перевод скважины на новый раствор" @@ -7214,6 +7340,7 @@ namespace AsbCloudDb.Migrations { Id = 5098, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка БИ с мостков на подсвечник" @@ -7222,6 +7349,7 @@ namespace AsbCloudDb.Migrations { Id = 5099, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подготовка ствола скважины. Перезапись ГК в интервале установки КО." @@ -7230,6 +7358,7 @@ namespace AsbCloudDb.Migrations { Id = 5100, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Смена рабочего переводника ВСП" @@ -7238,6 +7367,7 @@ namespace AsbCloudDb.Migrations { Id = 5101, IdParent = 4014, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ремонт" @@ -7246,6 +7376,7 @@ namespace AsbCloudDb.Migrations { Id = 5102, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск пакера" @@ -7254,6 +7385,7 @@ namespace AsbCloudDb.Migrations { Id = 5103, IdParent = 4011, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Запись гамма-каратожа" @@ -7262,6 +7394,7 @@ namespace AsbCloudDb.Migrations { Id = 5104, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Шаблонирование спуск БИ" @@ -7270,6 +7403,7 @@ namespace AsbCloudDb.Migrations { Id = 5105, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка клин-отклонителя" @@ -7278,6 +7412,7 @@ namespace AsbCloudDb.Migrations { Id = 5106, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ориентирование и посадка клина-отклонителя" @@ -7286,6 +7421,7 @@ namespace AsbCloudDb.Migrations { Id = 5107, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Протяжка подъемного патрубка подвески" @@ -7294,6 +7430,7 @@ namespace AsbCloudDb.Migrations { Id = 5108, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подъем клина-отклонителя" @@ -7302,6 +7439,7 @@ namespace AsbCloudDb.Migrations { Id = 5109, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Стыковка стингера с хвостовиком основного ствола" @@ -7310,6 +7448,7 @@ namespace AsbCloudDb.Migrations { Id = 5110, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ориентирование и установка стыковочного узла хвостовика" @@ -7318,6 +7457,7 @@ namespace AsbCloudDb.Migrations { Id = 5111, IdParent = 4001, + IsHidden = false, KeyValueName = "МСП", KeyValueUnits = "м/ч", Name = "Бурение с отбором керна" @@ -7326,6 +7466,7 @@ namespace AsbCloudDb.Migrations { Id = 5112, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Работа пакером в обсадной колонне" @@ -7334,6 +7475,7 @@ namespace AsbCloudDb.Migrations { Id = 5113, IdParent = 4001, + IsHidden = false, KeyValueName = "МСП", KeyValueUnits = "м/ч", Name = "Бурение" @@ -7342,6 +7484,7 @@ namespace AsbCloudDb.Migrations { Id = 5114, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ТО оборудования" @@ -7350,6 +7493,7 @@ namespace AsbCloudDb.Migrations { Id = 5115, IdParent = 4019, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск НКТ" @@ -7358,14 +7502,16 @@ namespace AsbCloudDb.Migrations { Id = 5116, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", - Name = "Фрезерование \"Окна\"" + Name = "Вырезка окна" }, new { Id = 5117, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Расширение ствола" diff --git a/AsbCloudDb/Migrations/20240408112202_Add_NewWellOperationCategories.cs b/AsbCloudDb/Migrations/20240408112202_Add_NewWellOperationCategories.cs new file mode 100644 index 00000000..dfa7431e --- /dev/null +++ b/AsbCloudDb/Migrations/20240408112202_Add_NewWellOperationCategories.cs @@ -0,0 +1,1035 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional + +namespace AsbCloudDb.Migrations +{ + /// + public partial class Add_NewWellOperationCategories : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "IsHidden", + table: "t_well_operation_category", + type: "boolean", + nullable: false, + defaultValue: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 3000, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 3001, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 3002, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 3003, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 3004, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 3005, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4000, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4001, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4002, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4003, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4004, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4005, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4006, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4007, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4008, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4009, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4010, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4011, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4012, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4013, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4014, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4015, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4016, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4017, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4018, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5000, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5001, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5002, + column: "IsHidden", + value: true); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5003, + column: "IsHidden", + value: true); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5004, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5005, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5006, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5007, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5008, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5009, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5010, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5011, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5012, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5013, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5014, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5015, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5016, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5017, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5018, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5019, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5020, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5021, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5022, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5023, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5024, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5025, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5026, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5027, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5028, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5029, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5030, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5031, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5032, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5033, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5034, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5035, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5036, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5037, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5038, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5039, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5040, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5041, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5042, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5043, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5044, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5045, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5046, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5047, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5048, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5049, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5050, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5051, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5052, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5053, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5054, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5055, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5056, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5057, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5058, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5059, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5060, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5061, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5062, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5063, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5064, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5065, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5066, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5067, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5068, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5069, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5070, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5071, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5072, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5073, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5074, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5075, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5076, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5077, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5078, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5079, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5082, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5083, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5084, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5085, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5086, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5087, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5088, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5089, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5090, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5091, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5092, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5093, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5094, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5095, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5096, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5097, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5098, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5099, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5100, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5101, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5102, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5103, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5104, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5105, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5106, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5107, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5108, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5109, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5110, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5111, + column: "IsHidden", + value: false); + + migrationBuilder.UpdateData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5112, + column: "IsHidden", + value: false); + + migrationBuilder.InsertData( + table: "t_well_operation_category", + columns: new[] { "id", "id_parent", "IsHidden", "key_value_name", "key_value_units", "name" }, + values: new object[,] + { + { 3006, null, false, "dT", "мин", "Заключительные работы" }, + { 5113, 4001, false, "МСП", "м/ч", "Бурение" }, + { 5114, 4013, false, "dT", "мин", "ТО оборудования" }, + { 5116, 4013, false, "dT", "мин", "Вырезка окна" }, + { 5117, 4013, false, "dT", "мин", "Расширение ствола" }, + { 4019, 3006, false, "dT", "мин", "Заключительные операции" }, + { 5115, 4019, false, "dT", "мин", "Спуск НКТ" } + }); + + migrationBuilder.Sql + ("UPDATE public.t_well_operation SET id_category=5113 WHERE id_category=5002 OR id_category=5003;"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DeleteData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5113); + + migrationBuilder.DeleteData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5114); + + migrationBuilder.DeleteData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5115); + + migrationBuilder.DeleteData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5116); + + migrationBuilder.DeleteData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 5117); + + migrationBuilder.DeleteData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 4019); + + migrationBuilder.DeleteData( + table: "t_well_operation_category", + keyColumn: "id", + keyValue: 3006); + + migrationBuilder.DropColumn( + name: "IsHidden", + table: "t_well_operation_category"); + } + } +} diff --git a/AsbCloudDb/Migrations/AsbCloudDbContextModelSnapshot.cs b/AsbCloudDb/Migrations/AsbCloudDbContextModelSnapshot.cs index 495d5897..a42f3052 100644 --- a/AsbCloudDb/Migrations/AsbCloudDbContextModelSnapshot.cs +++ b/AsbCloudDb/Migrations/AsbCloudDbContextModelSnapshot.cs @@ -6202,6 +6202,9 @@ namespace AsbCloudDb.Migrations .HasColumnName("id_parent") .HasComment("id родительской категории"); + b.Property("IsHidden") + .HasColumnType("boolean"); + b.Property("KeyValueName") .HasMaxLength(32) .HasColumnType("character varying(32)") @@ -6233,6 +6236,7 @@ namespace AsbCloudDb.Migrations new { Id = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "м/ч", Name = "БУРЕНИЕ" @@ -6240,6 +6244,7 @@ namespace AsbCloudDb.Migrations new { Id = 3001, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО" @@ -6247,6 +6252,7 @@ namespace AsbCloudDb.Migrations new { Id = 3002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "КРЕПЛЕНИЕ" @@ -6254,6 +6260,7 @@ namespace AsbCloudDb.Migrations new { Id = 3003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ГФР" @@ -6261,6 +6268,7 @@ namespace AsbCloudDb.Migrations new { Id = 3004, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Вспомогательные операции" @@ -6268,6 +6276,7 @@ namespace AsbCloudDb.Migrations new { Id = 3005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Непроизводительное время (НПВ)" @@ -6275,6 +6284,7 @@ namespace AsbCloudDb.Migrations new { Id = 3006, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Заключительные работы" @@ -6283,6 +6293,7 @@ namespace AsbCloudDb.Migrations { Id = 4000, IdParent = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "КНБК" @@ -6291,6 +6302,7 @@ namespace AsbCloudDb.Migrations { Id = 4001, IdParent = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "м/ч", Name = "Механическое. бурение" @@ -6299,6 +6311,7 @@ namespace AsbCloudDb.Migrations { Id = 4002, IdParent = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Статический замер" @@ -6307,6 +6320,7 @@ namespace AsbCloudDb.Migrations { Id = 4003, IdParent = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Нормализация диаметра скважины" @@ -6315,6 +6329,7 @@ namespace AsbCloudDb.Migrations { Id = 4004, IdParent = 3000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Наращивание" @@ -6323,6 +6338,7 @@ namespace AsbCloudDb.Migrations { Id = 4005, IdParent = 3001, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО" @@ -6331,6 +6347,7 @@ namespace AsbCloudDb.Migrations { Id = 4006, IdParent = 3002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск обсадной колонны" @@ -6339,6 +6356,7 @@ namespace AsbCloudDb.Migrations { Id = 4018, IdParent = 3002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Крепление" @@ -6347,6 +6365,7 @@ namespace AsbCloudDb.Migrations { Id = 4007, IdParent = 3002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Цементирование" @@ -6355,6 +6374,7 @@ namespace AsbCloudDb.Migrations { Id = 4008, IdParent = 3002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Вспомогательные работы при креплении" @@ -6363,6 +6383,7 @@ namespace AsbCloudDb.Migrations { Id = 4009, IdParent = 3003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка/разборка приборов ГИС" @@ -6371,6 +6392,7 @@ namespace AsbCloudDb.Migrations { Id = 4010, IdParent = 3003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО" @@ -6379,6 +6401,7 @@ namespace AsbCloudDb.Migrations { Id = 4011, IdParent = 3003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ГИС" @@ -6387,6 +6410,7 @@ namespace AsbCloudDb.Migrations { Id = 4012, IdParent = 3004, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Промывка, ОБР" @@ -6395,6 +6419,7 @@ namespace AsbCloudDb.Migrations { Id = 4013, IdParent = 3004, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Вспомогательные работы" @@ -6403,6 +6428,7 @@ namespace AsbCloudDb.Migrations { Id = 4014, IdParent = 3005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ремонт оборудования" @@ -6411,6 +6437,7 @@ namespace AsbCloudDb.Migrations { Id = 4015, IdParent = 3005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Аварийные работы" @@ -6419,6 +6446,7 @@ namespace AsbCloudDb.Migrations { Id = 4016, IdParent = 3005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Осложнение" @@ -6427,6 +6455,7 @@ namespace AsbCloudDb.Migrations { Id = 4017, IdParent = 3005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Незаложенные в ГГД операции" @@ -6435,6 +6464,7 @@ namespace AsbCloudDb.Migrations { Id = 4019, IdParent = 3006, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Заключительные операции" @@ -6443,6 +6473,7 @@ namespace AsbCloudDb.Migrations { Id = 5000, IdParent = 4000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Разборка КНБК" @@ -6451,6 +6482,7 @@ namespace AsbCloudDb.Migrations { Id = 5001, IdParent = 4000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка КНБК" @@ -6459,6 +6491,7 @@ namespace AsbCloudDb.Migrations { Id = 5002, IdParent = 4001, + IsHidden = false, KeyValueName = "МСП", KeyValueUnits = "м/ч", Name = "Бурение слайдом" @@ -6467,6 +6500,7 @@ namespace AsbCloudDb.Migrations { Id = 5003, IdParent = 4001, + IsHidden = false, KeyValueName = "МСП", KeyValueUnits = "м/ч", Name = "Бурение ротором" @@ -6475,6 +6509,7 @@ namespace AsbCloudDb.Migrations { Id = 5004, IdParent = 4002, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Замер ЗТС (запись MWD)" @@ -6483,6 +6518,7 @@ namespace AsbCloudDb.Migrations { Id = 5005, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Промывка перед наращиванием" @@ -6491,6 +6527,7 @@ namespace AsbCloudDb.Migrations { Id = 5006, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Проработка во время бурения" @@ -6499,6 +6536,7 @@ namespace AsbCloudDb.Migrations { Id = 5007, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Проработка" @@ -6507,6 +6545,7 @@ namespace AsbCloudDb.Migrations { Id = 5008, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Шаблонировка во время бурения" @@ -6515,6 +6554,7 @@ namespace AsbCloudDb.Migrations { Id = 5009, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Шаблонировка перед наращиванием" @@ -6523,6 +6563,7 @@ namespace AsbCloudDb.Migrations { Id = 5010, IdParent = 4004, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Наращивание" @@ -6531,6 +6572,7 @@ namespace AsbCloudDb.Migrations { Id = 5011, IdParent = 4004, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Удержание в клиньях" @@ -6539,6 +6581,7 @@ namespace AsbCloudDb.Migrations { Id = 5012, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подъем инструмента" @@ -6547,6 +6590,7 @@ namespace AsbCloudDb.Migrations { Id = 5013, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подъем КНБК" @@ -6555,6 +6599,7 @@ namespace AsbCloudDb.Migrations { Id = 5014, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск инструмента" @@ -6563,6 +6608,7 @@ namespace AsbCloudDb.Migrations { Id = 5015, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск КНБК" @@ -6571,6 +6617,7 @@ namespace AsbCloudDb.Migrations { Id = 5016, IdParent = 4006, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Промывка при спуске ОК" @@ -6579,6 +6626,7 @@ namespace AsbCloudDb.Migrations { Id = 5017, IdParent = 4006, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск ОК" @@ -6587,6 +6635,7 @@ namespace AsbCloudDb.Migrations { Id = 5018, IdParent = 4007, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ОЗЦ" @@ -6595,6 +6644,7 @@ namespace AsbCloudDb.Migrations { Id = 5019, IdParent = 4007, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Цементирование" @@ -6603,6 +6653,7 @@ namespace AsbCloudDb.Migrations { Id = 5020, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Опрессовка БИ" @@ -6611,6 +6662,7 @@ namespace AsbCloudDb.Migrations { Id = 5021, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Опрессовка ОК" @@ -6619,6 +6671,7 @@ namespace AsbCloudDb.Migrations { Id = 5022, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ПЗР при спуске ОК" @@ -6627,6 +6680,7 @@ namespace AsbCloudDb.Migrations { Id = 5023, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ПЗР при цементировании" @@ -6635,6 +6689,7 @@ namespace AsbCloudDb.Migrations { Id = 5024, IdParent = 4009, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Разборка комплекса приборов ГИС" @@ -6643,6 +6698,7 @@ namespace AsbCloudDb.Migrations { Id = 5025, IdParent = 4009, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка комплекса приборов ГИС" @@ -6651,6 +6707,7 @@ namespace AsbCloudDb.Migrations { Id = 5026, IdParent = 4010, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подъем приборов ГИС (на трубах)" @@ -6659,6 +6716,7 @@ namespace AsbCloudDb.Migrations { Id = 5027, IdParent = 4010, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск приборов ГИС (на трубах)" @@ -6667,6 +6725,7 @@ namespace AsbCloudDb.Migrations { Id = 5028, IdParent = 4011, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Комплекс ГИС на жестком кабеле" @@ -6675,6 +6734,7 @@ namespace AsbCloudDb.Migrations { Id = 5029, IdParent = 4011, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Комплекс ГИС на кабеле" @@ -6683,6 +6743,7 @@ namespace AsbCloudDb.Migrations { Id = 5030, IdParent = 4011, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Комплекс ГИС на трубах" @@ -6691,6 +6752,7 @@ namespace AsbCloudDb.Migrations { Id = 5031, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Закачка/прокачка пачки" @@ -6699,6 +6761,7 @@ namespace AsbCloudDb.Migrations { Id = 5032, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Обработка БР" @@ -6707,6 +6770,7 @@ namespace AsbCloudDb.Migrations { Id = 5033, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ориентирование ТС при бурении" @@ -6715,6 +6779,7 @@ namespace AsbCloudDb.Migrations { Id = 5034, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Перезапись гаммы-каротажа" @@ -6723,6 +6788,7 @@ namespace AsbCloudDb.Migrations { Id = 5035, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Приготовление БР" @@ -6731,6 +6797,7 @@ namespace AsbCloudDb.Migrations { Id = 5036, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Промывка" @@ -6739,6 +6806,7 @@ namespace AsbCloudDb.Migrations { Id = 5037, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Разбуривание тех.оснастки" @@ -6747,6 +6815,7 @@ namespace AsbCloudDb.Migrations { Id = 5038, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск инструмента с проработкой" @@ -6755,6 +6824,7 @@ namespace AsbCloudDb.Migrations { Id = 5039, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ВМР" @@ -6763,6 +6833,7 @@ namespace AsbCloudDb.Migrations { Id = 5040, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Демонтаж ПВО" @@ -6771,6 +6842,7 @@ namespace AsbCloudDb.Migrations { Id = 5041, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Долив затруба при подъёме" @@ -6779,6 +6851,7 @@ namespace AsbCloudDb.Migrations { Id = 5042, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Монтаж ПВО" @@ -6787,6 +6860,7 @@ namespace AsbCloudDb.Migrations { Id = 5043, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Наработка жёлоба" @@ -6795,6 +6869,7 @@ namespace AsbCloudDb.Migrations { Id = 5044, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Обвязка устья с циркуляционной системой" @@ -6803,6 +6878,7 @@ namespace AsbCloudDb.Migrations { Id = 5045, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Оборудование устья" @@ -6811,6 +6887,7 @@ namespace AsbCloudDb.Migrations { Id = 5046, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Опрессовка ПВО" @@ -6819,6 +6896,7 @@ namespace AsbCloudDb.Migrations { Id = 5047, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Перемонтаж ПВО " @@ -6827,6 +6905,7 @@ namespace AsbCloudDb.Migrations { Id = 5048, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Перетяжка талевого каната" @@ -6835,6 +6914,7 @@ namespace AsbCloudDb.Migrations { Id = 5049, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ПЗР при сборке КНБК" @@ -6843,6 +6923,7 @@ namespace AsbCloudDb.Migrations { Id = 5050, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Полная замена талевого каната" @@ -6851,6 +6932,7 @@ namespace AsbCloudDb.Migrations { Id = 5051, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ПР перед забуркой направления" @@ -6859,6 +6941,7 @@ namespace AsbCloudDb.Migrations { Id = 5052, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Продувка манифольда" @@ -6867,6 +6950,7 @@ namespace AsbCloudDb.Migrations { Id = 5053, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Срезка" @@ -6875,6 +6959,7 @@ namespace AsbCloudDb.Migrations { Id = 5054, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Тайм-дриллинг" @@ -6883,6 +6968,7 @@ namespace AsbCloudDb.Migrations { Id = 5055, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Тех.отстой" @@ -6891,6 +6977,7 @@ namespace AsbCloudDb.Migrations { Id = 5056, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Учебная тревога \"Выброс\"" @@ -6899,6 +6986,7 @@ namespace AsbCloudDb.Migrations { Id = 5057, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Чистка ЦСГО/емкостного блока" @@ -6907,6 +6995,7 @@ namespace AsbCloudDb.Migrations { Id = 5058, IdParent = 4014, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ремонт бурового оборудования" @@ -6915,6 +7004,7 @@ namespace AsbCloudDb.Migrations { Id = 5059, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ловильные работы" @@ -6923,6 +7013,7 @@ namespace AsbCloudDb.Migrations { Id = 5060, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ожидание" @@ -6931,6 +7022,7 @@ namespace AsbCloudDb.Migrations { Id = 5061, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Определение места прихвата и ЛМ" @@ -6939,6 +7031,7 @@ namespace AsbCloudDb.Migrations { Id = 5062, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Работа яссом" @@ -6947,6 +7040,7 @@ namespace AsbCloudDb.Migrations { Id = 5063, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Расхаживание" @@ -6955,6 +7049,7 @@ namespace AsbCloudDb.Migrations { Id = 5064, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО - колокол" @@ -6963,6 +7058,7 @@ namespace AsbCloudDb.Migrations { Id = 5065, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО - метчик" @@ -6971,6 +7067,7 @@ namespace AsbCloudDb.Migrations { Id = 5066, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО - овершот" @@ -6979,6 +7076,7 @@ namespace AsbCloudDb.Migrations { Id = 5067, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "СПО - труболовка" @@ -6987,6 +7085,7 @@ namespace AsbCloudDb.Migrations { Id = 5068, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Торпедирование (встряхивание)" @@ -6995,6 +7094,7 @@ namespace AsbCloudDb.Migrations { Id = 5069, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Торпедирование (отстрел)" @@ -7003,6 +7103,7 @@ namespace AsbCloudDb.Migrations { Id = 5070, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Установка ванн" @@ -7011,6 +7112,7 @@ namespace AsbCloudDb.Migrations { Id = 5071, IdParent = 4015, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Фрезеровка" @@ -7019,6 +7121,7 @@ namespace AsbCloudDb.Migrations { Id = 5072, IdParent = 4016, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Контролируемое ГНВП" @@ -7027,6 +7130,7 @@ namespace AsbCloudDb.Migrations { Id = 5073, IdParent = 4016, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Поглощение" @@ -7035,6 +7139,7 @@ namespace AsbCloudDb.Migrations { Id = 5074, IdParent = 4016, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сальникообразование" @@ -7043,6 +7148,7 @@ namespace AsbCloudDb.Migrations { Id = 5075, IdParent = 4016, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Утяжеление БР" @@ -7051,6 +7157,7 @@ namespace AsbCloudDb.Migrations { Id = 5076, IdParent = 4017, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "НПВ / прочее" @@ -7059,6 +7166,7 @@ namespace AsbCloudDb.Migrations { Id = 5077, IdParent = 4017, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Обработка раствора (несоответствие параметров)" @@ -7067,6 +7175,7 @@ namespace AsbCloudDb.Migrations { Id = 5078, IdParent = 4017, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "подъем ОК" @@ -7075,6 +7184,7 @@ namespace AsbCloudDb.Migrations { Id = 5079, IdParent = 4017, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ревизия КНБК/инструмента/ЗТС" @@ -7083,6 +7193,7 @@ namespace AsbCloudDb.Migrations { Id = 5082, IdParent = 4000, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка устройства ориентирования КО" @@ -7091,6 +7202,7 @@ namespace AsbCloudDb.Migrations { Id = 5083, IdParent = 4003, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Проработка принудительная" @@ -7099,6 +7211,7 @@ namespace AsbCloudDb.Migrations { Id = 5084, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Шаблонировка подъем БИ, продувка" @@ -7107,6 +7220,7 @@ namespace AsbCloudDb.Migrations { Id = 5085, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск бурильного инструмента со сборкой с мостков" @@ -7115,6 +7229,7 @@ namespace AsbCloudDb.Migrations { Id = 5086, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подъем БИ с выбросом на мостки" @@ -7123,6 +7238,7 @@ namespace AsbCloudDb.Migrations { Id = 5087, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск БИ со сборкой с мостков" @@ -7131,6 +7247,7 @@ namespace AsbCloudDb.Migrations { Id = 5088, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка и спуск ТБТ" @@ -7139,6 +7256,7 @@ namespace AsbCloudDb.Migrations { Id = 5089, IdParent = 4005, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск КО на транспотрной колонне" @@ -7147,6 +7265,7 @@ namespace AsbCloudDb.Migrations { Id = 5090, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Отворот допускной трубы" @@ -7155,6 +7274,7 @@ namespace AsbCloudDb.Migrations { Id = 5091, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Активация подвески, опрессовка" @@ -7163,6 +7283,7 @@ namespace AsbCloudDb.Migrations { Id = 5092, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Монтаж, опрессовка ФА" @@ -7171,6 +7292,7 @@ namespace AsbCloudDb.Migrations { Id = 5093, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка хвостовика 114мм (согласно схеме)" @@ -7179,6 +7301,7 @@ namespace AsbCloudDb.Migrations { Id = 5094, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ПЗР к спуску УЭЦН" @@ -7187,6 +7310,7 @@ namespace AsbCloudDb.Migrations { Id = 5095, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Активация подвески (потайной колонны, хвостовика)" @@ -7195,6 +7319,7 @@ namespace AsbCloudDb.Migrations { Id = 5096, IdParent = 4008, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Шаблонирование перед спуском" @@ -7203,6 +7328,7 @@ namespace AsbCloudDb.Migrations { Id = 5097, IdParent = 4012, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Промывка - перевод скважины на новый раствор" @@ -7211,6 +7337,7 @@ namespace AsbCloudDb.Migrations { Id = 5098, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка БИ с мостков на подсвечник" @@ -7219,6 +7346,7 @@ namespace AsbCloudDb.Migrations { Id = 5099, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подготовка ствола скважины. Перезапись ГК в интервале установки КО." @@ -7227,6 +7355,7 @@ namespace AsbCloudDb.Migrations { Id = 5100, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Смена рабочего переводника ВСП" @@ -7235,6 +7364,7 @@ namespace AsbCloudDb.Migrations { Id = 5101, IdParent = 4014, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ремонт" @@ -7243,6 +7373,7 @@ namespace AsbCloudDb.Migrations { Id = 5102, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск пакера" @@ -7251,6 +7382,7 @@ namespace AsbCloudDb.Migrations { Id = 5103, IdParent = 4011, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Запись гамма-каратожа" @@ -7259,6 +7391,7 @@ namespace AsbCloudDb.Migrations { Id = 5104, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Шаблонирование спуск БИ" @@ -7267,6 +7400,7 @@ namespace AsbCloudDb.Migrations { Id = 5105, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Сборка клин-отклонителя" @@ -7275,6 +7409,7 @@ namespace AsbCloudDb.Migrations { Id = 5106, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ориентирование и посадка клина-отклонителя" @@ -7283,6 +7418,7 @@ namespace AsbCloudDb.Migrations { Id = 5107, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Протяжка подъемного патрубка подвески" @@ -7291,6 +7427,7 @@ namespace AsbCloudDb.Migrations { Id = 5108, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Подъем клина-отклонителя" @@ -7299,6 +7436,7 @@ namespace AsbCloudDb.Migrations { Id = 5109, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Стыковка стингера с хвостовиком основного ствола" @@ -7307,6 +7445,7 @@ namespace AsbCloudDb.Migrations { Id = 5110, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Ориентирование и установка стыковочного узла хвостовика" @@ -7315,6 +7454,7 @@ namespace AsbCloudDb.Migrations { Id = 5111, IdParent = 4001, + IsHidden = false, KeyValueName = "МСП", KeyValueUnits = "м/ч", Name = "Бурение с отбором керна" @@ -7323,6 +7463,7 @@ namespace AsbCloudDb.Migrations { Id = 5112, IdParent = 4018, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Работа пакером в обсадной колонне" @@ -7331,6 +7472,7 @@ namespace AsbCloudDb.Migrations { Id = 5113, IdParent = 4001, + IsHidden = false, KeyValueName = "МСП", KeyValueUnits = "м/ч", Name = "Бурение" @@ -7339,6 +7481,7 @@ namespace AsbCloudDb.Migrations { Id = 5114, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "ТО оборудования" @@ -7347,6 +7490,7 @@ namespace AsbCloudDb.Migrations { Id = 5115, IdParent = 4019, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Спуск НКТ" @@ -7355,14 +7499,16 @@ namespace AsbCloudDb.Migrations { Id = 5116, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", - Name = "Фрезерование \"Окна\"" + Name = "Вырезка окна" }, new { Id = 5117, IdParent = 4013, + IsHidden = false, KeyValueName = "dT", KeyValueUnits = "мин", Name = "Расширение ствола" diff --git a/AsbCloudDb/Model/WellOperationCategory.cs b/AsbCloudDb/Model/WellOperationCategory.cs index a6e6fa57..4b73de9b 100644 --- a/AsbCloudDb/Model/WellOperationCategory.cs +++ b/AsbCloudDb/Model/WellOperationCategory.cs @@ -397,7 +397,7 @@ namespace AsbCloudDb.Model new () {Id = 5113, IdParent = 4001, Name = "Бурение", KeyValueName = "МСП", KeyValueUnits = "м/ч"}, new () {Id = 5114, IdParent = 4013, Name = "ТО оборудования", KeyValueName = "dT", KeyValueUnits = "мин"}, new () {Id = 5115, IdParent = IdFinalOperations, Name = "Спуск НКТ", KeyValueName = "dT", KeyValueUnits = "мин"}, - new () {Id = 5116, IdParent = IdAuxiliaryWork, Name = "Фрезерование \"Окна\"", KeyValueName = "dT", KeyValueUnits = "мин"}, + new () {Id = 5116, IdParent = IdAuxiliaryWork, Name = "Вырезка окна", KeyValueName = "dT", KeyValueUnits = "мин"}, new () {Id = 5117, IdParent = IdAuxiliaryWork, Name = "Расширение ствола", KeyValueName = "dT", KeyValueUnits = "мин"}, }; #endregion @@ -418,6 +418,8 @@ namespace AsbCloudDb.Model [Column("key_value_units"), Comment("Единицы измерения ключевого показателя операции"), StringLength(16)] public string? KeyValueUnits { get; set; } + public bool IsHidden { get; set; } = false; + [JsonIgnore] [ForeignKey(nameof(IdParent))] public virtual WellOperationCategory? Parent { get; set; } = null!; diff --git a/AsbCloudInfrastructure/Services/ExcelServices/ExcelTemplateService.cs b/AsbCloudInfrastructure/Services/ExcelServices/ExcelTemplateService.cs new file mode 100644 index 00000000..75aa1f20 --- /dev/null +++ b/AsbCloudInfrastructure/Services/ExcelServices/ExcelTemplateService.cs @@ -0,0 +1,39 @@ +using AsbCloudApp.Data.WellOperation; +using AsbCloudApp.Repositories; +using AsbCloudApp.Requests; +using AsbCloudApp.Requests.ExportOptions; +using AsbCloudApp.Services; +using AsbCloudInfrastructure.Repository; +using AsbCloudInfrastructure.Services.ExcelServices.Templates; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace AsbCloudInfrastructure.Services.ExcelServices +{ + public class ExcelTemplateService : ExcelExportService + where TTemplate : class, ITemplateParameters, new() + { + private readonly IWellOperationCategoryRepository wellOperationCategoryRepository; + + public ExcelTemplateService(IWellOperationCategoryRepository wellOperationCategoryRepository, + IWellService wellService) + { + this.wellOperationCategoryRepository = wellOperationCategoryRepository; + } + + protected override async Task BuildFileNameAsync(WellOperationExportRequest options, CancellationToken token) + { + return "WellOperationFactTemplate"; + } + + protected override async Task> GetDtosAsync(WellOperationExportRequest options, CancellationToken token) + { + var dtos = wellOperationCategoryRepository.Get(false); + return dtos; + } + } +} diff --git a/AsbCloudInfrastructure/Services/WellOperations/Templates/WellOperationFactTemplate.xlsx b/AsbCloudInfrastructure/Services/WellOperations/Templates/WellOperationFactTemplate.xlsx index 065dc2070b20c533bc426b21237f4e4cf062c581..97e0f79a5f1dc05ca7461d5e50aa8c858cfff777 100644 GIT binary patch literal 37120 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%0AtJkynKDVw^qTIomKcf7n`I8EN-u2v3O%o3olI5c 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 z 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 diff --git a/AsbCloudWebApi/Controllers/WellOperationController.cs b/AsbCloudWebApi/Controllers/WellOperationController.cs index 96d5f5f9..c8648dba 100644 --- a/AsbCloudWebApi/Controllers/WellOperationController.cs +++ b/AsbCloudWebApi/Controllers/WellOperationController.cs @@ -16,6 +16,9 @@ using AsbCloudApp.Requests.ExportOptions; using AsbCloudApp.Requests.ParserOptions; using AsbCloudDb.Model; using AsbCloudInfrastructure.Services.WellOperations.Factories; +using ClosedXML.Excel; +using AsbCloudInfrastructure.Services.ProcessMapPlan.Export; +using AsbCloudApp.Services.Export; namespace AsbCloudWebApi.Controllers; @@ -40,13 +43,15 @@ public class WellOperationController : ControllerBase private readonly WellOperationParserFactory wellOperationParserFactory; private readonly WellOperationExportServiceFactory wellOperationExportServiceFactory; + //private readonly IExportService templateService; - public WellOperationController(IWellOperationRepository wellOperationRepository, + public WellOperationController(IWellOperationRepository wellOperationRepository, IWellOperationCategoryRepository wellOperationCategoryRepository, IWellService wellService, IUserRepository userRepository, WellOperationParserFactory wellOperationParserFactory, WellOperationExportServiceFactory wellOperationExportServiceFactory) + //IExportService templateService { this.wellOperationRepository = wellOperationRepository; this.wellOperationCategoryRepository = wellOperationCategoryRepository; @@ -54,7 +59,9 @@ public class WellOperationController : ControllerBase this.userRepository = userRepository; this.wellOperationParserFactory = wellOperationParserFactory; this.wellOperationExportServiceFactory = wellOperationExportServiceFactory; - } + //this.templateService = templateService; + + } /// /// Добавляет новые операции на скважине @@ -317,12 +324,19 @@ public class WellOperationController : ControllerBase [HttpGet("template")] [AllowAnonymous] [ProducesResponseType(typeof(PhysicalFileResult), StatusCodes.Status200OK, "application/octet-stream")] - public IActionResult GetTemplate(int idType) + public async Task GetTemplate(int idType) { var parser = wellOperationParserFactory.CreateParser(idType); var stream = parser.GetTemplateFile(); + //using var workbook = new XLWorkbook(stream); + //AddDtosToWorkbook(workbook, dtos); + return File(stream, "application/octet-stream", templateNames[idType]); + + //var exportOptions = new WellRelatedExportRequest(5); + //var (fileName, file) = await templateService.ExportAsync(exportOptions, CancellationToken.None); + //return File(file, "application/octet-stream", fileName); } private async Task CanUserAccessToWellAsync(int idWell, CancellationToken token) diff --git a/AsbCloudWebApi/appsettings.json b/AsbCloudWebApi/appsettings.json index 72d50f57..5294ebe7 100644 --- a/AsbCloudWebApi/appsettings.json +++ b/AsbCloudWebApi/appsettings.json @@ -7,10 +7,10 @@ } }, "ConnectionStrings": { - "DefaultConnection": "Host=localhost;Database=postgres;Username=postgres;Password=q;Persist Security Info=True", - "DebugConnection": "Host=localhost;Database=postgres;Username=postgres;Password=q;Persist Security Info=True;Include Error Detail=True", + "DefaultConnection": "Host=localhost;Database=postgres2;Username=postgres;Password=q;Persist Security Info=True", + "DebugConnection": "Host=localhost;Database=postgres2;Username=postgres;Password=q;Persist Security Info=True;Include Error Detail=True", "TestConnection": "Host=localhost;Database=test;Username=postgres;Password=q;Persist Security Info=True;Include Error Detail=True", - "LocalConnection": "Host=localhost;Database=postgres;Username=postgres;Password=q;Persist Security Info=True" + "LocalConnection": "Host=localhost;Database=postgres2;Username=postgres;Password=q;Persist Security Info=True" }, "AllowedHosts": "*", "ContentPath": "../data",