Удаление лишних РТК-план и добавление маппинга шаблонов для всех РТК-план

This commit is contained in:
ngfrolov 2024-07-01 17:02:18 +05:00
parent 8944591a87
commit 7e539ee335
Signed by untrusted user who does not match committer: ng.frolov
GPG Key ID: E99907A0357B29A7
54 changed files with 12834 additions and 1893 deletions

View File

@ -1,20 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data.ProcessMaps.Functions;
/// <summary>
/// РТК план обновление холостого хода
/// </summary>
public class ProcessMapPlanUpdatingNoloadParametersDto : ProcessMapPlanBaseDto
{
/// <summary>
/// СПУСК ОК Да/Нет
/// </summary>
public bool IdDeclineSocketColumn { get; set; }
/// <summary>
/// Примечание
/// </summary>
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
public string Note { get; set; } = string.Empty;
}

View File

@ -1,82 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data.ProcessMaps.Operations;
/// <summary>
/// РТК план проработка скважины
/// </summary>
public class ProcessMapPlanReamDto : ProcessMapPlanBaseDto, IValidatableObject
{
/// <summary>
/// Количество повторений
/// </summary>
[Required]
[Range(0, 100, ErrorMessage = "Количество повторений должно быть в пределах от 0 до 100")]
public double Repeats { get; set; }
/// <summary>
/// Вращение при движении вверх, об/мин
/// </summary>
[Required]
[Range(0, 99999.9, ErrorMessage = "Количество вращений вверх должно быть в пределах от 0 до 99999.9")]
public double SpinUpward { get; set; }
/// <summary>
/// Вращение при движении вниз, об/мин
/// </summary>
[Required]
[Range(0, 99999.9, ErrorMessage = "Количество вращений вниз должно быть в пределах от 0 до 99999.9")]
public double SpinDownward { get; set; }
/// <summary>
/// Скорость подъёма, м/ч
/// </summary>
[Required]
[Range(0, 99999.9, ErrorMessage = "Скорость подъёма должна быть в пределах от 0 до 99999.9")]
public double SpeedUpward { get; set; }
/// <summary>
/// Скорость спуска, м/ч
/// </summary>
[Required]
[Range(0, 99999.9, ErrorMessage = "Скорость спуска должна быть в пределах от 0 до 99999.9")]
public double SpeedDownward { get; set; }
/// <summary>
/// Уставка зятяжки, т
/// </summary>
[Required]
[Range(0, 99999.9, ErrorMessage = "Значение затяжек уставки должно быть в пределах от 0 до 99999.9")]
public double SetpointDrag { get; set; }
/// <summary>
/// Уставка посадки, т
/// </summary>
[Required]
[Range(0, 99999.9, ErrorMessage = "Значение посадки уставки должно быть в пределах от 0 до 99999.9")]
public double SetpointTight { get; set; }
/// <summary>
/// Давление, атм
/// </summary>
[Required]
[Range(0, 99999.9, ErrorMessage = "Давление должно быть в пределах от 0 до 99999.9")]
public double Pressure { get; set; }
/// <summary>
/// Момент, кН*м
/// </summary>
[Required]
[Range(0, 99999.9, ErrorMessage = "Крутящий момент должен быть в пределах от 0 до 99999.9")]
public double Torque { get; set; }
/// <inheritdoc/>
public override IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (DepthEnd < DepthStart)
yield return new ValidationResult(
$"{nameof(DepthEnd)}:{DepthEnd:#0.0} меньше {nameof(DepthStart)}:{DepthStart:#0.0}",
new[] { nameof(DepthEnd), nameof(DepthStart) });
}
}

View File

@ -1,60 +0,0 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace AsbCloudApp.Data.ProcessMaps.Operations;
/// <summary>
/// РТК план подход к забою в роторе
/// </summary>
public class ProcessMapPlanRotorLoweringBitDto : ProcessMapPlanBaseDto
{
/// <summary>
/// Максимально допустимое давление, атм.
/// </summary>
[Range(0.0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400")]
public double PressureMax { get; set; }
/// <summary>
/// Перепад давления уставка, атм.
/// </summary>
[Range(0.0, 60.0, ErrorMessage = "Перепад давления уставка, атм., должно быть в пределах от 0 до 60")]
public double DifferentialPressure { get; set; }
/// <summary>
/// Посадка, т.
/// </summary>
[Range(0.0, 20.0, ErrorMessage = "Посадка, т., должно быть в пределах от 0 до 20")]
public double SlackingOff { get; set; }
/// <summary>
/// Максимально допустимый момент, кН*м.
/// </summary>
[Range(0.0, 35.0, ErrorMessage = "Максимально допустимый момент, кН*м., должно быть в пределах от 0 до 35")]
public double TorqueMax { get; set; }
/// <summary>
/// Скорость вниз, м/ч.
/// </summary>
[Range(0.0, 999.0, ErrorMessage = "Скорость вниз, м/ч., должно быть в пределах от 0 до 999")]
public double RopDown { get; set; }
/// <summary>
/// Обороты вниз, об/мин.
/// </summary>
[Range(0.0, 270.0, ErrorMessage = "Обороты вниз, об/мин., должно быть в пределах от 0 до 270")]
public double RpmDown { get; set; }
/// <summary>
/// Расход вниз, л/с.
/// </summary>
[Range(0.0, 100.0, ErrorMessage = "Расход вниз, л/с., должно быть в пределах от 0 до 100")]
public double FlowRateDown { get; set; }
/// <summary>
/// Примечание
/// </summary>
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
public string Note { get; set; } = string.Empty;
}

View File

@ -1,40 +0,0 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace AsbCloudApp.Data.ProcessMaps.Operations;
/// <summary>
/// РТК план выход на обороты перед ротором
/// </summary>
public class ProcessMapPlanRotorRpmAccelerationDto : ProcessMapPlanBaseDto
{
/// <summary>
/// Момент на ВСП уставка, кН*м.
/// </summary>
[Range(0.0, 35.0, ErrorMessage = "Момент на ВСП уставка, кН*м., должно быть в пределах от 0 до 35")]
public double TopDriveTorque { get; set; }
/// <summary>
/// Момент на ВСП ограничение, кН*м.
/// </summary>
[Range(0.0, 35.0, ErrorMessage = "Момент на ВСП ограничение, кН*м., должно быть в пределах от 0 до 35")]
public double TopDriveTorqueMax { get; set; }
/// <summary>
/// Обороты на ВСП уставка, об/мин.
/// </summary>
[Range(0.0, 270.0, ErrorMessage = "Обороты на ВСП уставка, об/мин., должно быть в пределах от 0 до 270")]
public double Rpm { get; set; }
/// <summary>
/// Обороты на ВСП ограничение, об/мин.
/// </summary>
[Range(0.0, 270.0, ErrorMessage = "Обороты на ВСП ограничение, об/мин., должно быть в пределах от 0 до 270")]
public double RpmMax { get; set; }
/// <summary>
/// Примечание
/// </summary>
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
public string Note { get; set; } = string.Empty;
}

View File

@ -1,42 +0,0 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace AsbCloudApp.Data.ProcessMaps.Operations;
/// <summary>
/// РТК план подход к забою в слайде
/// </summary>
public class ProcessMapPlanSlideLoweringBitDto : ProcessMapPlanBaseDto
{
/// <summary>
/// Максимально допустимое давление, атм.
/// </summary>
[Range(0.0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400")]
public double PressureMax { get; set; }
/// <summary>
/// Перепад давления уставка, атм.
/// </summary>
[Range(0.0, 60.0, ErrorMessage = "Перепад давления уставка, атм., должно быть в пределах от 0 до 60")]
public double DifferentialPressure { get; set; }
/// <summary>
/// Скорость вниз, м/ч.
/// </summary>
[Range(0.0, 999.0, ErrorMessage = "Скорость вниз, м/ч., должно быть в пределах от 0 до 999")]
public double RopDown { get; set; }
/// <summary>
/// Расход вниз, л/с.
/// </summary>
[Range(0.0, 100.0, ErrorMessage = "Расход вниз, л/с., должно быть в пределах от 0 до 100")]
public double FlowRateDown { get; set; }
/// <summary>
/// Примечание
/// </summary>
[StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
public string Note { get; set; } = string.Empty;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,438 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace AsbCloudDb.Migrations
{
/// <inheritdoc />
public partial class Remove_some_processMapsPlan : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "t_process_map_plan_ream");
migrationBuilder.DropTable(
name: "t_process_map_plan_rotor_lowering_bit");
migrationBuilder.DropTable(
name: "t_process_map_plan_rotor_rpm_acceleration");
migrationBuilder.DropTable(
name: "t_process_map_plan_slide_lowering_bit");
migrationBuilder.DropTable(
name: "t_process_map_plan_updating_noload_parameters");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "t_process_map_plan_ream",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
id_author = table.Column<int>(type: "integer", nullable: false, comment: "Автор"),
id_editor = table.Column<int>(type: "integer", nullable: true, comment: "Редактор"),
id_well = table.Column<int>(type: "integer", nullable: false, comment: "Id скважины"),
id_wellsection_type = table.Column<int>(type: "integer", nullable: false, comment: "Тип секции"),
creation = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false, comment: "дата создания"),
depth_end = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу до, м"),
depth_start = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу от, м"),
id_previous = table.Column<int>(type: "integer", nullable: true, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
id_state = table.Column<int>(type: "integer", nullable: false, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
obsolete = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "дата устаревания"),
pressure = table.Column<double>(type: "double precision", nullable: false, comment: "Давление, атм"),
repeats = table.Column<double>(type: "double precision", nullable: false, comment: "Количество повторений"),
setpoint_drag = table.Column<double>(type: "double precision", nullable: false, comment: "Уставка зятяжки, т"),
setpoint_tight = table.Column<double>(type: "double precision", nullable: false, comment: "Уставка посадки, т"),
speed_downward = table.Column<double>(type: "double precision", nullable: false, comment: "Скорость спуска, м/ч"),
speed_upward = table.Column<double>(type: "double precision", nullable: false, comment: "Скорость подъёма, м/ч"),
spin_downward = table.Column<double>(type: "double precision", nullable: false, comment: "Вращение при движении вниз, об/мин"),
spin_upward = table.Column<double>(type: "double precision", nullable: false, comment: "Вращение при движении вверх, об/мин"),
torque = table.Column<double>(type: "double precision", nullable: false, comment: "Момент, кН*м")
},
constraints: table =>
{
table.PrimaryKey("PK_t_process_map_plan_ream", x => x.id);
table.ForeignKey(
name: "FK_t_process_map_plan_ream_t_user_id_author",
column: x => x.id_author,
principalTable: "t_user",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_t_process_map_plan_ream_t_user_id_editor",
column: x => x.id_editor,
principalTable: "t_user",
principalColumn: "id");
table.ForeignKey(
name: "FK_t_process_map_plan_ream_t_well_id_well",
column: x => x.id_well,
principalTable: "t_well",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_t_process_map_plan_ream_t_well_section_type_id_wellsection_~",
column: x => x.id_wellsection_type,
principalTable: "t_well_section_type",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
},
comment: "РТК проработка скважины");
migrationBuilder.CreateTable(
name: "t_process_map_plan_rotor_lowering_bit",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
id_author = table.Column<int>(type: "integer", nullable: false, comment: "Автор"),
id_editor = table.Column<int>(type: "integer", nullable: true, comment: "Редактор"),
id_previous = table.Column<int>(type: "integer", nullable: true, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
id_well = table.Column<int>(type: "integer", nullable: false, comment: "Id скважины"),
id_wellsection_type = table.Column<int>(type: "integer", nullable: false, comment: "Тип секции"),
creation = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false, comment: "дата создания"),
depth_end = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу до, м"),
depth_start = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу от, м"),
differential_pressure = table.Column<double>(type: "double precision", nullable: false, comment: "Перепад давления уставка, атм."),
flow_rate_down = table.Column<double>(type: "double precision", nullable: false, comment: "Расход вниз, л/с."),
id_state = table.Column<int>(type: "integer", nullable: false, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
note = table.Column<string>(type: "character varying(1024)", maxLength: 1024, nullable: false, comment: "Примечание"),
obsolete = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "дата устаревания"),
pressure_max = table.Column<double>(type: "double precision", nullable: false, comment: "Максимально допустимое давление, атм."),
rop_down = table.Column<double>(type: "double precision", nullable: false, comment: "Скорость вниз, м/ч."),
rpm_down = table.Column<double>(type: "double precision", nullable: false, comment: "Обороты вниз, об/мин."),
slacking_off = table.Column<double>(type: "double precision", nullable: false, comment: "Посадка, т."),
torque_max = table.Column<double>(type: "double precision", nullable: false, comment: "Максимально допустимый момент, кН*м.")
},
constraints: table =>
{
table.PrimaryKey("PK_t_process_map_plan_rotor_lowering_bit", x => x.id);
table.ForeignKey(
name: "FK_t_process_map_plan_rotor_lowering_bit_t_process_map_plan_ro~",
column: x => x.id_previous,
principalTable: "t_process_map_plan_rotor_lowering_bit",
principalColumn: "id");
table.ForeignKey(
name: "FK_t_process_map_plan_rotor_lowering_bit_t_user_id_author",
column: x => x.id_author,
principalTable: "t_user",
principalColumn: "id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_t_process_map_plan_rotor_lowering_bit_t_user_id_editor",
column: x => x.id_editor,
principalTable: "t_user",
principalColumn: "id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_t_process_map_plan_rotor_lowering_bit_t_well_id_well",
column: x => x.id_well,
principalTable: "t_well",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_t_process_map_plan_rotor_lowering_bit_t_well_section_type_i~",
column: x => x.id_wellsection_type,
principalTable: "t_well_section_type",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
},
comment: "РТК подход к забою в роторе");
migrationBuilder.CreateTable(
name: "t_process_map_plan_rotor_rpm_acceleration",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
id_author = table.Column<int>(type: "integer", nullable: false, comment: "Автор"),
id_editor = table.Column<int>(type: "integer", nullable: true, comment: "Редактор"),
id_previous = table.Column<int>(type: "integer", nullable: true, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
id_well = table.Column<int>(type: "integer", nullable: false, comment: "Id скважины"),
id_wellsection_type = table.Column<int>(type: "integer", nullable: false, comment: "Тип секции"),
creation = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false, comment: "дата создания"),
depth_end = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу до, м"),
depth_start = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу от, м"),
id_state = table.Column<int>(type: "integer", nullable: false, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
note = table.Column<string>(type: "character varying(1024)", maxLength: 1024, nullable: false, comment: "Примечание"),
obsolete = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "дата устаревания"),
rpm = table.Column<double>(type: "double precision", nullable: false, comment: "Обороты на ВСП уставка, об/мин."),
rpm_max = table.Column<double>(type: "double precision", nullable: false, comment: "Обороты на ВСП ограничение, об/мин."),
top_drive_torque = table.Column<double>(type: "double precision", nullable: false, comment: "Момент на ВСП уставка, кН*м."),
top_drive_torque_max = table.Column<double>(type: "double precision", nullable: false, comment: "Момент на ВСП ограничение, кН*м.")
},
constraints: table =>
{
table.PrimaryKey("PK_t_process_map_plan_rotor_rpm_acceleration", x => x.id);
table.ForeignKey(
name: "FK_t_process_map_plan_rotor_rpm_acceleration_t_process_map_pla~",
column: x => x.id_previous,
principalTable: "t_process_map_plan_rotor_rpm_acceleration",
principalColumn: "id");
table.ForeignKey(
name: "FK_t_process_map_plan_rotor_rpm_acceleration_t_user_id_author",
column: x => x.id_author,
principalTable: "t_user",
principalColumn: "id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_t_process_map_plan_rotor_rpm_acceleration_t_user_id_editor",
column: x => x.id_editor,
principalTable: "t_user",
principalColumn: "id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_t_process_map_plan_rotor_rpm_acceleration_t_well_id_well",
column: x => x.id_well,
principalTable: "t_well",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_t_process_map_plan_rotor_rpm_acceleration_t_well_section_ty~",
column: x => x.id_wellsection_type,
principalTable: "t_well_section_type",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
},
comment: "Выход на обороты перед ротором");
migrationBuilder.CreateTable(
name: "t_process_map_plan_slide_lowering_bit",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
id_author = table.Column<int>(type: "integer", nullable: false, comment: "Автор"),
id_editor = table.Column<int>(type: "integer", nullable: true, comment: "Редактор"),
id_previous = table.Column<int>(type: "integer", nullable: true, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
id_well = table.Column<int>(type: "integer", nullable: false, comment: "Id скважины"),
id_wellsection_type = table.Column<int>(type: "integer", nullable: false, comment: "Тип секции"),
creation = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false, comment: "дата создания"),
depth_end = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу до, м"),
depth_start = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу от, м"),
differential_pressure = table.Column<double>(type: "double precision", nullable: false, comment: "Перепад давления уставка, атм."),
flow_rate_down = table.Column<double>(type: "double precision", nullable: false, comment: "Расход вниз, л/с."),
id_state = table.Column<int>(type: "integer", nullable: false, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
note = table.Column<string>(type: "character varying(1024)", maxLength: 1024, nullable: false, comment: "Примечание"),
obsolete = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "дата устаревания"),
pressure_max = table.Column<double>(type: "double precision", nullable: false, comment: "Максимально допустимое давление, атм."),
rop_down = table.Column<double>(type: "double precision", nullable: false, comment: "Скорость вниз, м/ч.")
},
constraints: table =>
{
table.PrimaryKey("PK_t_process_map_plan_slide_lowering_bit", x => x.id);
table.ForeignKey(
name: "FK_t_process_map_plan_slide_lowering_bit_t_process_map_plan_sl~",
column: x => x.id_previous,
principalTable: "t_process_map_plan_slide_lowering_bit",
principalColumn: "id");
table.ForeignKey(
name: "FK_t_process_map_plan_slide_lowering_bit_t_user_id_author",
column: x => x.id_author,
principalTable: "t_user",
principalColumn: "id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_t_process_map_plan_slide_lowering_bit_t_user_id_editor",
column: x => x.id_editor,
principalTable: "t_user",
principalColumn: "id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_t_process_map_plan_slide_lowering_bit_t_well_id_well",
column: x => x.id_well,
principalTable: "t_well",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_t_process_map_plan_slide_lowering_bit_t_well_section_type_i~",
column: x => x.id_wellsection_type,
principalTable: "t_well_section_type",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
},
comment: "РТК подход к забою в слайде");
migrationBuilder.CreateTable(
name: "t_process_map_plan_updating_noload_parameters",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
id_author = table.Column<int>(type: "integer", nullable: false, comment: "Автор"),
id_editor = table.Column<int>(type: "integer", nullable: true, comment: "Редактор"),
id_previous = table.Column<int>(type: "integer", nullable: true, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
id_well = table.Column<int>(type: "integer", nullable: false, comment: "Id скважины"),
id_wellsection_type = table.Column<int>(type: "integer", nullable: false, comment: "Тип секции"),
creation = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false, comment: "дата создания"),
depth_end = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу до, м"),
depth_start = table.Column<double>(type: "double precision", nullable: false, comment: "Глубина по стволу от, м"),
id_decline_socket_column = table.Column<bool>(type: "boolean", nullable: false, comment: "СПУСК ОК Да/Нет"),
id_state = table.Column<int>(type: "integer", nullable: false, comment: "ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная"),
note = table.Column<string>(type: "character varying(1024)", maxLength: 1024, nullable: false, comment: "Примечание"),
obsolete = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "дата устаревания")
},
constraints: table =>
{
table.PrimaryKey("PK_t_process_map_plan_updating_noload_parameters", x => x.id);
table.ForeignKey(
name: "FK_t_process_map_plan_updating_noload_parameters_t_process_map~",
column: x => x.id_previous,
principalTable: "t_process_map_plan_updating_noload_parameters",
principalColumn: "id");
table.ForeignKey(
name: "FK_t_process_map_plan_updating_noload_parameters_t_user_id_aut~",
column: x => x.id_author,
principalTable: "t_user",
principalColumn: "id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_t_process_map_plan_updating_noload_parameters_t_user_id_edi~",
column: x => x.id_editor,
principalTable: "t_user",
principalColumn: "id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_t_process_map_plan_updating_noload_parameters_t_well_id_well",
column: x => x.id_well,
principalTable: "t_well",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_t_process_map_plan_updating_noload_parameters_t_well_sectio~",
column: x => x.id_wellsection_type,
principalTable: "t_well_section_type",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
},
comment: "Обновление холостого хода");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_ream_id_author",
table: "t_process_map_plan_ream",
column: "id_author");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_ream_id_editor",
table: "t_process_map_plan_ream",
column: "id_editor");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_ream_id_well",
table: "t_process_map_plan_ream",
column: "id_well");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_ream_id_wellsection_type",
table: "t_process_map_plan_ream",
column: "id_wellsection_type");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_rotor_lowering_bit_id_author",
table: "t_process_map_plan_rotor_lowering_bit",
column: "id_author");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_rotor_lowering_bit_id_editor",
table: "t_process_map_plan_rotor_lowering_bit",
column: "id_editor");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_rotor_lowering_bit_id_previous",
table: "t_process_map_plan_rotor_lowering_bit",
column: "id_previous");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_rotor_lowering_bit_id_well",
table: "t_process_map_plan_rotor_lowering_bit",
column: "id_well");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_rotor_lowering_bit_id_wellsection_type",
table: "t_process_map_plan_rotor_lowering_bit",
column: "id_wellsection_type");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_rotor_rpm_acceleration_id_author",
table: "t_process_map_plan_rotor_rpm_acceleration",
column: "id_author");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_rotor_rpm_acceleration_id_editor",
table: "t_process_map_plan_rotor_rpm_acceleration",
column: "id_editor");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_rotor_rpm_acceleration_id_previous",
table: "t_process_map_plan_rotor_rpm_acceleration",
column: "id_previous");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_rotor_rpm_acceleration_id_well",
table: "t_process_map_plan_rotor_rpm_acceleration",
column: "id_well");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_rotor_rpm_acceleration_id_wellsection_ty~",
table: "t_process_map_plan_rotor_rpm_acceleration",
column: "id_wellsection_type");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_slide_lowering_bit_id_author",
table: "t_process_map_plan_slide_lowering_bit",
column: "id_author");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_slide_lowering_bit_id_editor",
table: "t_process_map_plan_slide_lowering_bit",
column: "id_editor");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_slide_lowering_bit_id_previous",
table: "t_process_map_plan_slide_lowering_bit",
column: "id_previous");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_slide_lowering_bit_id_well",
table: "t_process_map_plan_slide_lowering_bit",
column: "id_well");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_slide_lowering_bit_id_wellsection_type",
table: "t_process_map_plan_slide_lowering_bit",
column: "id_wellsection_type");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_updating_noload_parameters_id_author",
table: "t_process_map_plan_updating_noload_parameters",
column: "id_author");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_updating_noload_parameters_id_editor",
table: "t_process_map_plan_updating_noload_parameters",
column: "id_editor");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_updating_noload_parameters_id_previous",
table: "t_process_map_plan_updating_noload_parameters",
column: "id_previous");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_updating_noload_parameters_id_well",
table: "t_process_map_plan_updating_noload_parameters",
column: "id_well");
migrationBuilder.CreateIndex(
name: "IX_t_process_map_plan_updating_noload_parameters_id_wellsectio~",
table: "t_process_map_plan_updating_noload_parameters",
column: "id_wellsection_type");
}
}
}

View File

@ -3339,96 +3339,6 @@ namespace AsbCloudDb.Migrations
});
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Functions.ProcessMapPlanUpdatingNoloadParameters", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<DateTimeOffset>("Creation")
.HasColumnType("timestamp with time zone")
.HasColumnName("creation")
.HasComment("дата создания");
b.Property<double>("DepthEnd")
.HasColumnType("double precision")
.HasColumnName("depth_end")
.HasComment("Глубина по стволу до, м");
b.Property<double>("DepthStart")
.HasColumnType("double precision")
.HasColumnName("depth_start")
.HasComment("Глубина по стволу от, м");
b.Property<int>("IdAuthor")
.HasColumnType("integer")
.HasColumnName("id_author")
.HasComment("Автор");
b.Property<bool>("IdDeclineSocketColumn")
.HasColumnType("boolean")
.HasColumnName("id_decline_socket_column")
.HasComment("СПУСК ОК Да/Нет");
b.Property<int?>("IdEditor")
.HasColumnType("integer")
.HasColumnName("id_editor")
.HasComment("Редактор");
b.Property<int?>("IdPrevious")
.HasColumnType("integer")
.HasColumnName("id_previous")
.HasComment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная");
b.Property<int>("IdState")
.HasColumnType("integer")
.HasColumnName("id_state")
.HasComment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("Id скважины");
b.Property<int>("IdWellSectionType")
.HasColumnType("integer")
.HasColumnName("id_wellsection_type")
.HasComment("Тип секции");
b.Property<string>("Note")
.IsRequired()
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("note")
.HasComment("Примечание");
b.Property<DateTimeOffset?>("Obsolete")
.HasColumnType("timestamp with time zone")
.HasColumnName("obsolete")
.HasComment("дата устаревания");
b.HasKey("Id");
b.HasIndex("IdAuthor");
b.HasIndex("IdEditor");
b.HasIndex("IdPrevious");
b.HasIndex("IdWell");
b.HasIndex("IdWellSectionType");
b.ToTable("t_process_map_plan_updating_noload_parameters", t =>
{
t.HasComment("Обновление холостого хода");
});
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanLoadCapacity", b =>
{
b.Property<int>("Id")
@ -3779,127 +3689,6 @@ namespace AsbCloudDb.Migrations
});
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanReam", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<DateTimeOffset>("Creation")
.HasColumnType("timestamp with time zone")
.HasColumnName("creation")
.HasComment("дата создания");
b.Property<double>("DepthEnd")
.HasColumnType("double precision")
.HasColumnName("depth_end")
.HasComment("Глубина по стволу до, м");
b.Property<double>("DepthStart")
.HasColumnType("double precision")
.HasColumnName("depth_start")
.HasComment("Глубина по стволу от, м");
b.Property<int>("IdAuthor")
.HasColumnType("integer")
.HasColumnName("id_author")
.HasComment("Автор");
b.Property<int?>("IdEditor")
.HasColumnType("integer")
.HasColumnName("id_editor")
.HasComment("Редактор");
b.Property<int?>("IdPrevious")
.HasColumnType("integer")
.HasColumnName("id_previous")
.HasComment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная");
b.Property<int>("IdState")
.HasColumnType("integer")
.HasColumnName("id_state")
.HasComment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("Id скважины");
b.Property<int>("IdWellSectionType")
.HasColumnType("integer")
.HasColumnName("id_wellsection_type")
.HasComment("Тип секции");
b.Property<DateTimeOffset?>("Obsolete")
.HasColumnType("timestamp with time zone")
.HasColumnName("obsolete")
.HasComment("дата устаревания");
b.Property<double>("Pressure")
.HasColumnType("double precision")
.HasColumnName("pressure")
.HasComment("Давление, атм");
b.Property<double>("Repeats")
.HasColumnType("double precision")
.HasColumnName("repeats")
.HasComment("Количество повторений");
b.Property<double>("SetpointDrag")
.HasColumnType("double precision")
.HasColumnName("setpoint_drag")
.HasComment("Уставка зятяжки, т");
b.Property<double>("SetpointTight")
.HasColumnType("double precision")
.HasColumnName("setpoint_tight")
.HasComment("Уставка посадки, т");
b.Property<double>("SpeedDownward")
.HasColumnType("double precision")
.HasColumnName("speed_downward")
.HasComment("Скорость спуска, м/ч");
b.Property<double>("SpeedUpward")
.HasColumnType("double precision")
.HasColumnName("speed_upward")
.HasComment("Скорость подъёма, м/ч");
b.Property<double>("SpinDownward")
.HasColumnType("double precision")
.HasColumnName("spin_downward")
.HasComment("Вращение при движении вниз, об/мин");
b.Property<double>("SpinUpward")
.HasColumnType("double precision")
.HasColumnName("spin_upward")
.HasComment("Вращение при движении вверх, об/мин");
b.Property<double>("Torque")
.HasColumnType("double precision")
.HasColumnName("torque")
.HasComment("Момент, кН*м");
b.HasKey("Id");
b.HasIndex("IdAuthor");
b.HasIndex("IdEditor");
b.HasIndex("IdWell");
b.HasIndex("IdWellSectionType");
b.ToTable("t_process_map_plan_ream", t =>
{
t.HasComment("РТК проработка скважины");
});
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanReamingRotor", b =>
{
b.Property<int>("Id")
@ -4567,7 +4356,7 @@ namespace AsbCloudDb.Migrations
.HasColumnName("obsolete")
.HasComment("дата устаревания");
b.Property<double>("PressureLimitMax")
b.Property<double>("PressureMax")
.HasColumnType("double precision")
.HasColumnName("pressure_max")
.HasComment("Максимально допустимое давление, атм");
@ -4625,231 +4414,6 @@ namespace AsbCloudDb.Migrations
});
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanRotorLoweringBit", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<DateTimeOffset>("Creation")
.HasColumnType("timestamp with time zone")
.HasColumnName("creation")
.HasComment("дата создания");
b.Property<double>("DepthEnd")
.HasColumnType("double precision")
.HasColumnName("depth_end")
.HasComment("Глубина по стволу до, м");
b.Property<double>("DepthStart")
.HasColumnType("double precision")
.HasColumnName("depth_start")
.HasComment("Глубина по стволу от, м");
b.Property<double>("DifferentialPressure")
.HasColumnType("double precision")
.HasColumnName("differential_pressure")
.HasComment("Перепад давления уставка, атм.");
b.Property<double>("FlowRateDown")
.HasColumnType("double precision")
.HasColumnName("flow_rate_down")
.HasComment("Расход вниз, л/с.");
b.Property<int>("IdAuthor")
.HasColumnType("integer")
.HasColumnName("id_author")
.HasComment("Автор");
b.Property<int?>("IdEditor")
.HasColumnType("integer")
.HasColumnName("id_editor")
.HasComment("Редактор");
b.Property<int?>("IdPrevious")
.HasColumnType("integer")
.HasColumnName("id_previous")
.HasComment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная");
b.Property<int>("IdState")
.HasColumnType("integer")
.HasColumnName("id_state")
.HasComment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("Id скважины");
b.Property<int>("IdWellSectionType")
.HasColumnType("integer")
.HasColumnName("id_wellsection_type")
.HasComment("Тип секции");
b.Property<string>("Note")
.IsRequired()
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("note")
.HasComment("Примечание");
b.Property<DateTimeOffset?>("Obsolete")
.HasColumnType("timestamp with time zone")
.HasColumnName("obsolete")
.HasComment("дата устаревания");
b.Property<double>("PressureMax")
.HasColumnType("double precision")
.HasColumnName("pressure_max")
.HasComment("Максимально допустимое давление, атм.");
b.Property<double>("RopDown")
.HasColumnType("double precision")
.HasColumnName("rop_down")
.HasComment("Скорость вниз, м/ч.");
b.Property<double>("RpmDown")
.HasColumnType("double precision")
.HasColumnName("rpm_down")
.HasComment("Обороты вниз, об/мин.");
b.Property<double>("SlackingOff")
.HasColumnType("double precision")
.HasColumnName("slacking_off")
.HasComment("Посадка, т.");
b.Property<double>("TorqueMax")
.HasColumnType("double precision")
.HasColumnName("torque_max")
.HasComment("Максимально допустимый момент, кН*м.");
b.HasKey("Id");
b.HasIndex("IdAuthor");
b.HasIndex("IdEditor");
b.HasIndex("IdPrevious");
b.HasIndex("IdWell");
b.HasIndex("IdWellSectionType");
b.ToTable("t_process_map_plan_rotor_lowering_bit", t =>
{
t.HasComment("РТК подход к забою в роторе");
});
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanRotorRpmAcceleration", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<DateTimeOffset>("Creation")
.HasColumnType("timestamp with time zone")
.HasColumnName("creation")
.HasComment("дата создания");
b.Property<double>("DepthEnd")
.HasColumnType("double precision")
.HasColumnName("depth_end")
.HasComment("Глубина по стволу до, м");
b.Property<double>("DepthStart")
.HasColumnType("double precision")
.HasColumnName("depth_start")
.HasComment("Глубина по стволу от, м");
b.Property<int>("IdAuthor")
.HasColumnType("integer")
.HasColumnName("id_author")
.HasComment("Автор");
b.Property<int?>("IdEditor")
.HasColumnType("integer")
.HasColumnName("id_editor")
.HasComment("Редактор");
b.Property<int?>("IdPrevious")
.HasColumnType("integer")
.HasColumnName("id_previous")
.HasComment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная");
b.Property<int>("IdState")
.HasColumnType("integer")
.HasColumnName("id_state")
.HasComment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("Id скважины");
b.Property<int>("IdWellSectionType")
.HasColumnType("integer")
.HasColumnName("id_wellsection_type")
.HasComment("Тип секции");
b.Property<string>("Note")
.IsRequired()
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("note")
.HasComment("Примечание");
b.Property<DateTimeOffset?>("Obsolete")
.HasColumnType("timestamp with time zone")
.HasColumnName("obsolete")
.HasComment("дата устаревания");
b.Property<double>("Rpm")
.HasColumnType("double precision")
.HasColumnName("rpm")
.HasComment("Обороты на ВСП уставка, об/мин.");
b.Property<double>("RpmMax")
.HasColumnType("double precision")
.HasColumnName("rpm_max")
.HasComment("Обороты на ВСП ограничение, об/мин.");
b.Property<double>("TopDriveTorque")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque")
.HasComment("Момент на ВСП уставка, кН*м.");
b.Property<double>("TopDriveTorqueMax")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_max")
.HasComment("Момент на ВСП ограничение, кН*м.");
b.HasKey("Id");
b.HasIndex("IdAuthor");
b.HasIndex("IdEditor");
b.HasIndex("IdPrevious");
b.HasIndex("IdWell");
b.HasIndex("IdWellSectionType");
b.ToTable("t_process_map_plan_rotor_rpm_acceleration", t =>
{
t.HasComment("Выход на обороты перед ротором");
});
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanSlide", b =>
{
b.Property<int>("Id")
@ -4985,111 +4549,6 @@ namespace AsbCloudDb.Migrations
});
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanSlideLoweringBit", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<DateTimeOffset>("Creation")
.HasColumnType("timestamp with time zone")
.HasColumnName("creation")
.HasComment("дата создания");
b.Property<double>("DepthEnd")
.HasColumnType("double precision")
.HasColumnName("depth_end")
.HasComment("Глубина по стволу до, м");
b.Property<double>("DepthStart")
.HasColumnType("double precision")
.HasColumnName("depth_start")
.HasComment("Глубина по стволу от, м");
b.Property<double>("DifferentialPressure")
.HasColumnType("double precision")
.HasColumnName("differential_pressure")
.HasComment("Перепад давления уставка, атм.");
b.Property<double>("FlowRateDown")
.HasColumnType("double precision")
.HasColumnName("flow_rate_down")
.HasComment("Расход вниз, л/с.");
b.Property<int>("IdAuthor")
.HasColumnType("integer")
.HasColumnName("id_author")
.HasComment("Автор");
b.Property<int?>("IdEditor")
.HasColumnType("integer")
.HasColumnName("id_editor")
.HasComment("Редактор");
b.Property<int?>("IdPrevious")
.HasColumnType("integer")
.HasColumnName("id_previous")
.HasComment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная");
b.Property<int>("IdState")
.HasColumnType("integer")
.HasColumnName("id_state")
.HasComment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("Id скважины");
b.Property<int>("IdWellSectionType")
.HasColumnType("integer")
.HasColumnName("id_wellsection_type")
.HasComment("Тип секции");
b.Property<string>("Note")
.IsRequired()
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("note")
.HasComment("Примечание");
b.Property<DateTimeOffset?>("Obsolete")
.HasColumnType("timestamp with time zone")
.HasColumnName("obsolete")
.HasComment("дата устаревания");
b.Property<double>("PressureMax")
.HasColumnType("double precision")
.HasColumnName("pressure_max")
.HasComment("Максимально допустимое давление, атм.");
b.Property<double>("RopDown")
.HasColumnType("double precision")
.HasColumnName("rop_down")
.HasComment("Скорость вниз, м/ч.");
b.HasKey("Id");
b.HasIndex("IdAuthor");
b.HasIndex("IdEditor");
b.HasIndex("IdPrevious");
b.HasIndex("IdWell");
b.HasIndex("IdWellSectionType");
b.ToTable("t_process_map_plan_slide_lowering_bit", t =>
{
t.HasComment("РТК подход к забою в слайде");
});
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanSwitchingOffThePump", b =>
{
b.Property<int>("Id")
@ -11679,46 +11138,6 @@ namespace AsbCloudDb.Migrations
b.Navigation("WellSectionType");
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Functions.ProcessMapPlanUpdatingNoloadParameters", b =>
{
b.HasOne("AsbCloudDb.Model.User", "Author")
.WithMany()
.HasForeignKey("IdAuthor")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("AsbCloudDb.Model.User", "Editor")
.WithMany()
.HasForeignKey("IdEditor")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("AsbCloudDb.Model.ProcessMapPlan.Functions.ProcessMapPlanUpdatingNoloadParameters", "Previous")
.WithMany()
.HasForeignKey("IdPrevious");
b.HasOne("AsbCloudDb.Model.Well", "Well")
.WithMany()
.HasForeignKey("IdWell")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType")
.WithMany()
.HasForeignKey("IdWellSectionType")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Author");
b.Navigation("Editor");
b.Navigation("Previous");
b.Navigation("Well");
b.Navigation("WellSectionType");
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanLoadCapacity", b =>
{
b.HasOne("AsbCloudDb.Model.User", "Author")
@ -11839,39 +11258,6 @@ namespace AsbCloudDb.Migrations
b.Navigation("WellSectionType");
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanReam", b =>
{
b.HasOne("AsbCloudDb.Model.User", "Author")
.WithMany()
.HasForeignKey("IdAuthor")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.User", "Editor")
.WithMany()
.HasForeignKey("IdEditor");
b.HasOne("AsbCloudDb.Model.Well", "Well")
.WithMany()
.HasForeignKey("IdWell")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType")
.WithMany()
.HasForeignKey("IdWellSectionType")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Author");
b.Navigation("Editor");
b.Navigation("Well");
b.Navigation("WellSectionType");
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanReamingRotor", b =>
{
b.HasOne("AsbCloudDb.Model.User", "Author")
@ -12032,86 +11418,6 @@ namespace AsbCloudDb.Migrations
b.Navigation("WellSectionType");
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanRotorLoweringBit", b =>
{
b.HasOne("AsbCloudDb.Model.User", "Author")
.WithMany()
.HasForeignKey("IdAuthor")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("AsbCloudDb.Model.User", "Editor")
.WithMany()
.HasForeignKey("IdEditor")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanRotorLoweringBit", "Previous")
.WithMany()
.HasForeignKey("IdPrevious");
b.HasOne("AsbCloudDb.Model.Well", "Well")
.WithMany()
.HasForeignKey("IdWell")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType")
.WithMany()
.HasForeignKey("IdWellSectionType")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Author");
b.Navigation("Editor");
b.Navigation("Previous");
b.Navigation("Well");
b.Navigation("WellSectionType");
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanRotorRpmAcceleration", b =>
{
b.HasOne("AsbCloudDb.Model.User", "Author")
.WithMany()
.HasForeignKey("IdAuthor")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("AsbCloudDb.Model.User", "Editor")
.WithMany()
.HasForeignKey("IdEditor")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanRotorRpmAcceleration", "Previous")
.WithMany()
.HasForeignKey("IdPrevious");
b.HasOne("AsbCloudDb.Model.Well", "Well")
.WithMany()
.HasForeignKey("IdWell")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType")
.WithMany()
.HasForeignKey("IdWellSectionType")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Author");
b.Navigation("Editor");
b.Navigation("Previous");
b.Navigation("Well");
b.Navigation("WellSectionType");
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanSlide", b =>
{
b.HasOne("AsbCloudDb.Model.User", "Author")
@ -12152,46 +11458,6 @@ namespace AsbCloudDb.Migrations
b.Navigation("WellSectionType");
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanSlideLoweringBit", b =>
{
b.HasOne("AsbCloudDb.Model.User", "Author")
.WithMany()
.HasForeignKey("IdAuthor")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("AsbCloudDb.Model.User", "Editor")
.WithMany()
.HasForeignKey("IdEditor")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanSlideLoweringBit", "Previous")
.WithMany()
.HasForeignKey("IdPrevious");
b.HasOne("AsbCloudDb.Model.Well", "Well")
.WithMany()
.HasForeignKey("IdWell")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType")
.WithMany()
.HasForeignKey("IdWellSectionType")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Author");
b.Navigation("Editor");
b.Navigation("Previous");
b.Navigation("Well");
b.Navigation("WellSectionType");
});
modelBuilder.Entity("AsbCloudDb.Model.ProcessMapPlan.Operations.ProcessMapPlanSwitchingOffThePump", b =>
{
b.HasOne("AsbCloudDb.Model.User", "Author")

View File

@ -22,7 +22,6 @@ namespace AsbCloudDb.Model
public virtual DbSet<TrajectoryPlan> TrajectoriesPlan => Set<TrajectoryPlan>();
public virtual DbSet<ProcessMapPlanRotor> ProcessMapPlanRotor => Set<ProcessMapPlanRotor>();
public virtual DbSet<ProcessMapPlanSlide> ProcessMapPlanSlide => Set<ProcessMapPlanSlide>();
public virtual DbSet<ProcessMapPlanReam> ProcessMapPlanReams => Set<ProcessMapPlanReam>();
public virtual DbSet<ProcessMapPlanReamingRotor> ProcessMapPlanReamingRotor => Set<ProcessMapPlanReamingRotor>();
public virtual DbSet<ProcessMapPlanReamingSlide> ProcessMapPlanReamingSlide => Set<ProcessMapPlanReamingSlide>();
public virtual DbSet<ProcessMapPlanLoadCapacity> ProcessMapPlanLoadCapacity => Set<ProcessMapPlanLoadCapacity>();
@ -36,14 +35,9 @@ namespace AsbCloudDb.Model
public virtual DbSet<ProcessMapPlanShockTest> ProcessMapPlanShockTest => Set<ProcessMapPlanShockTest>();
public virtual DbSet<ProcessMapPlanDamper> ProcessMapPlanDamper => Set<ProcessMapPlanDamper>();
public virtual DbSet<ProcessMapPlanAutoHoldTF> ProcessMapPlanAutoHoldTF => Set<ProcessMapPlanAutoHoldTF>();
public virtual DbSet<ProcessMapPlanRotorRpmAcceleration> ProcessMapPlanRotorRpmAcceleration => Set<ProcessMapPlanRotorRpmAcceleration>();
public virtual DbSet<ProcessMapPlanUpdatingNoloadParameters> ProcessMapPlanUpdatingNoloadParameters => Set<ProcessMapPlanUpdatingNoloadParameters>();
public virtual DbSet<ProcessMapPlanOscillation> ProcessMapPlanOscillation => Set<ProcessMapPlanOscillation>();
public virtual DbSet<ProcessMapPlanAntiCrashRotation> ProcessMapPlanAntiCrashRotation => Set<ProcessMapPlanAntiCrashRotation>();
public virtual DbSet<ProcessMapPlanStaticMeasurementOutput> ProcessMapPlanStaticMeasurementOutput => Set<ProcessMapPlanStaticMeasurementOutput>();
public virtual DbSet<ProcessMapPlanRotorLoweringBit> ProcessMapPlanRotorLoweringBit => Set<ProcessMapPlanRotorLoweringBit>();
public virtual DbSet<ProcessMapPlanSlideLoweringBit> ProcessMapPlanSlideLoweringBit => Set<ProcessMapPlanSlideLoweringBit>();
public virtual DbSet<DrillingProgramPart> DrillingProgramParts => Set<DrillingProgramPart>();
public virtual DbSet<FileCategory> FileCategories => Set<FileCategory>();
public virtual DbSet<FileInfo> Files => Set<FileInfo>();
@ -541,16 +535,6 @@ namespace AsbCloudDb.Model
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanRotorRpmAcceleration>()
.HasOne(p => p.Author)
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanUpdatingNoloadParameters>()
.HasOne(p => p.Author)
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanOscillation>()
.HasOne(p => p.Author)
.WithMany()
@ -566,16 +550,6 @@ namespace AsbCloudDb.Model
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanRotorLoweringBit>()
.HasOne(p => p.Author)
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanSlideLoweringBit>()
.HasOne(p => p.Author)
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanRotor>()
.HasOne(p => p.Editor)
.WithMany()
@ -651,16 +625,6 @@ namespace AsbCloudDb.Model
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanRotorRpmAcceleration>()
.HasOne(p => p.Editor)
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanUpdatingNoloadParameters>()
.HasOne(p => p.Editor)
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanOscillation>()
.HasOne(p => p.Editor)
.WithMany()
@ -676,16 +640,6 @@ namespace AsbCloudDb.Model
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanRotorLoweringBit>()
.HasOne(p => p.Editor)
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<ProcessMapPlanSlideLoweringBit>()
.HasOne(p => p.Editor)
.WithMany()
.OnDelete(DeleteBehavior.Restrict);
DefaultData.DefaultContextData.Fill(modelBuilder);
}

View File

@ -81,7 +81,6 @@ namespace AsbCloudDb.Model
DbSet<WellSectionPlan> WellSectionsPlan { get; }
DbSet<DataSaubStat> DataSaubStat { get; }
DatabaseFacade Database { get; }
DbSet<ProcessMapPlanReam> ProcessMapPlanReams { get; }
DbSet<ProcessMapPlanRotor> ProcessMapPlanRotor { get; }
DbSet<ProcessMapPlanSlide> ProcessMapPlanSlide { get; }
DbSet<ProcessMapPlanReamingRotor> ProcessMapPlanReamingRotor { get; }
@ -97,13 +96,9 @@ namespace AsbCloudDb.Model
DbSet<ProcessMapPlanShockTest> ProcessMapPlanShockTest { get; }
DbSet<ProcessMapPlanDamper> ProcessMapPlanDamper { get; }
DbSet<ProcessMapPlanAutoHoldTF> ProcessMapPlanAutoHoldTF { get; }
DbSet<ProcessMapPlanRotorRpmAcceleration> ProcessMapPlanRotorRpmAcceleration { get; }
DbSet<ProcessMapPlanUpdatingNoloadParameters> ProcessMapPlanUpdatingNoloadParameters { get; }
DbSet<ProcessMapPlanOscillation> ProcessMapPlanOscillation { get; }
DbSet<ProcessMapPlanAntiCrashRotation> ProcessMapPlanAntiCrashRotation { get; }
DbSet<ProcessMapPlanStaticMeasurementOutput> ProcessMapPlanStaticMeasurementOutput { get; }
DbSet<ProcessMapPlanRotorLoweringBit> ProcessMapPlanRotorLoweringBit { get; }
DbSet<ProcessMapPlanSlideLoweringBit> ProcessMapPlanSlideLoweringBit { get; }
Task<int> RefreshMaterializedViewAsync(string mwName, CancellationToken token);
Task<int> RefreshMaterializedViewAsync<TEntity>(CancellationToken token) where TEntity : class;

View File

@ -1,19 +0,0 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using AsbCloudDb.Model.ProcessMapPlan;
using Microsoft.EntityFrameworkCore;
namespace AsbCloudDb.Model.ProcessMapPlan.Functions;
[Table("t_process_map_plan_updating_noload_parameters"), Comment("Обновление холостого хода")]
public class ProcessMapPlanUpdatingNoloadParameters : ProcessMapPlanBase
{
[Column("id_decline_socket_column"), Comment("СПУСК ОК Да/Нет")]
public bool IdDeclineSocketColumn { get; set; }
[Column("note"), Comment("Примечание"), StringLength(1024)]
public string Note { get; set; } = string.Empty;
[ForeignKey(nameof(IdPrevious))]
public virtual ProcessMapPlanUpdatingNoloadParameters? Previous { get; set; }
}

View File

@ -1,36 +0,0 @@
using System.ComponentModel.DataAnnotations.Schema;
using AsbCloudDb.Model.ProcessMapPlan;
using Microsoft.EntityFrameworkCore;
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
[Table("t_process_map_plan_ream"), Comment("РТК проработка скважины")]
public class ProcessMapPlanReam : ProcessMapPlanBase
{
[Column("repeats"), Comment("Количество повторений")]
public double Repeats { get; set; }
[Column("spin_upward"), Comment("Вращение при движении вверх, об/мин")]
public double SpinUpward { get; set; }
[Column("spin_downward"), Comment("Вращение при движении вниз, об/мин")]
public double SpinDownward { get; set; }
[Column("speed_upward"), Comment("Скорость подъёма, м/ч")]
public double SpeedUpward { get; set; }
[Column("speed_downward"), Comment("Скорость спуска, м/ч")]
public double SpeedDownward { get; set; }
[Column("setpoint_drag"), Comment("Уставка зятяжки, т")]
public double SetpointDrag { get; set; }
[Column("setpoint_tight"), Comment("Уставка посадки, т")]
public double SetpointTight { get; set; }
[Column("pressure"), Comment("Давление, атм")]
public double Pressure { get; set; }
[Column("torque"), Comment("Момент, кН*м")]
public double Torque { get; set; }
}

View File

@ -1,51 +0,0 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using AsbCloudDb.Model.ProcessMapPlan;
using Microsoft.EntityFrameworkCore;
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
[Table("t_process_map_plan_rotor_lowering_bit"), Comment("РТК подход к забою в роторе")]
public class ProcessMapPlanRotorLoweringBit : ProcessMapPlanBase
{
[Column("pressure_max"), Comment("Максимально допустимое давление, атм.")]
[Range(0.0, 400.0)]
[Required]
public double PressureMax { get; set; }
[Column("differential_pressure"), Comment("Перепад давления уставка, атм.")]
[Range(0.0, 60.0)]
[Required]
public double DifferentialPressure { get; set; }
[Column("slacking_off"), Comment("Посадка, т.")]
[Range(0.0, 20.0)]
[Required]
public double SlackingOff { get; set; }
[Column("torque_max"), Comment("Максимально допустимый момент, кН*м.")]
[Range(0.0, 35.0)]
[Required]
public double TorqueMax { get; set; }
[Column("rop_down"), Comment("Скорость вниз, м/ч.")]
[Range(0.0, 999.0)]
[Required]
public double RopDown { get; set; }
[Column("rpm_down"), Comment("Обороты вниз, об/мин.")]
[Range(0.0, 270.0)]
[Required]
public double RpmDown { get; set; }
[Column("flow_rate_down"), Comment("Расход вниз, л/с.")]
[Range(0.0, 100.0)]
[Required]
public double FlowRateDown { get; set; }
[Column("note"), Comment("Примечание"), StringLength(1024)]
public string Note { get; set; } = string.Empty;
[ForeignKey(nameof(IdPrevious))]
public virtual ProcessMapPlanRotorLoweringBit? Previous { get; set; }
}

View File

@ -1,36 +0,0 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using AsbCloudDb.Model.ProcessMapPlan;
using Microsoft.EntityFrameworkCore;
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
[Table("t_process_map_plan_rotor_rpm_acceleration"), Comment("Выход на обороты перед ротором")]
public class ProcessMapPlanRotorRpmAcceleration : ProcessMapPlanBase
{
[Column("top_drive_torque"), Comment("Момент на ВСП уставка, кН*м.")]
[Range(0.0, 35.0)]
[Required]
public double TopDriveTorque { get; set; }
[Column("top_drive_torque_max"), Comment("Момент на ВСП ограничение, кН*м.")]
[Range(0.0, 35.0)]
[Required]
public double TopDriveTorqueMax { get; set; }
[Column("rpm"), Comment("Обороты на ВСП уставка, об/мин.")]
[Range(0.0, 270.0)]
[Required]
public double Rpm { get; set; }
[Column("rpm_max"), Comment("Обороты на ВСП ограничение, об/мин.")]
[Range(0.0, 270.0)]
[Required]
public double RpmMax { get; set; }
[Column("note"), Comment("Примечание"), StringLength(1024)]
public string Note { get; set; } = string.Empty;
[ForeignKey(nameof(IdPrevious))]
public virtual ProcessMapPlanRotorRpmAcceleration? Previous { get; set; }
}

View File

@ -1,36 +0,0 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using AsbCloudDb.Model.ProcessMapPlan;
using Microsoft.EntityFrameworkCore;
namespace AsbCloudDb.Model.ProcessMapPlan.Operations;
[Table("t_process_map_plan_slide_lowering_bit"), Comment("РТК подход к забою в слайде")]
public class ProcessMapPlanSlideLoweringBit : ProcessMapPlanBase
{
[Column("pressure_max"), Comment("Максимально допустимое давление, атм.")]
[Range(0.0, 400.0)]
[Required]
public double PressureMax { get; set; }
[Column("differential_pressure"), Comment("Перепад давления уставка, атм.")]
[Range(0.0, 60.0)]
[Required]
public double DifferentialPressure { get; set; }
[Column("rop_down"), Comment("Скорость вниз, м/ч.")]
[Range(0.0, 999.0)]
[Required]
public double RopDown { get; set; }
[Column("flow_rate_down"), Comment("Расход вниз, л/с.")]
[Range(0.0, 100.0)]
[Required]
public double FlowRateDown { get; set; }
[Column("note"), Comment("Примечание"), StringLength(1024)]
public string Note { get; set; } = string.Empty;
[ForeignKey(nameof(IdPrevious))]
public virtual ProcessMapPlanSlideLoweringBit? Previous { get; set; }
}

View File

@ -24,13 +24,9 @@
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanPositioningOffTheBottomTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanReamingRotorTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanReamingSlideTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanReamTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanRecordingStaticMeasurementTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanRotorLoweringBitTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanRotorRpmAccelerationTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanRotorTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanShockTestTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanSlideLoweringBitTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanSlideTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanStaticMeasurementOutputTemplate.xlsx" />
<None Remove="Services\ProcessMapPlan\Templates\ProcessMapPlanSwitchingOffThePumpTemplate.xlsx" />
@ -69,13 +65,9 @@
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanPositioningOffTheBottomTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanReamingRotorTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanReamingSlideTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanReamTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanRecordingStaticMeasurementTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanRotorLoweringBitTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanRotorRpmAccelerationTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanRotorTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanShockTestTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanSlideLoweringBitTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanSlideTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanStaticMeasurementOutputTemplate.xlsx" />
<EmbeddedResource Include="Services\ProcessMapPlan\Templates\ProcessMapPlanSwitchingOffThePumpTemplate.xlsx" />

View File

@ -240,20 +240,6 @@ namespace AsbCloudInfrastructure
Item = src.Adapt<ProcessMapPlanAutoHoldTFDto>()
});
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanRotorRpmAccelerationDto>>.NewConfig()
.Include<ProcessMapPlanRotorRpmAcceleration, ChangeLogDto<ProcessMapPlanRotorRpmAccelerationDto>>()
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanRotorRpmAccelerationDto>()
{
Item = src.Adapt<ProcessMapPlanRotorRpmAccelerationDto>()
});
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanUpdatingNoloadParametersDto>>.NewConfig()
.Include<ProcessMapPlanUpdatingNoloadParameters, ChangeLogDto<ProcessMapPlanUpdatingNoloadParametersDto>>()
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanUpdatingNoloadParametersDto>()
{
Item = src.Adapt<ProcessMapPlanUpdatingNoloadParametersDto>()
});
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanOscillationDto>>.NewConfig()
.Include<ProcessMapPlanOscillation, ChangeLogDto<ProcessMapPlanOscillationDto>>()
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanOscillationDto>()
@ -274,20 +260,6 @@ namespace AsbCloudInfrastructure
{
Item = src.Adapt<ProcessMapPlanStaticMeasurementOutputDto>()
});
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanRotorLoweringBitDto>>.NewConfig()
.Include<ProcessMapPlanRotorLoweringBit, ChangeLogDto<ProcessMapPlanRotorLoweringBitDto>>()
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanRotorLoweringBitDto>()
{
Item = src.Adapt<ProcessMapPlanRotorLoweringBitDto>()
});
TypeAdapterConfig<ChangeLogAbstract, ChangeLogDto<ProcessMapPlanSlideLoweringBitDto>>.NewConfig()
.Include<ProcessMapPlanSlideLoweringBit, ChangeLogDto<ProcessMapPlanSlideLoweringBitDto>>()
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanSlideLoweringBitDto>()
{
Item = src.Adapt<ProcessMapPlanSlideLoweringBitDto>()
});
}
public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration)
@ -353,10 +325,6 @@ namespace AsbCloudInfrastructure
IChangeLogRepository<ProcessMapPlanSlideDto, ProcessMapPlanBaseRequestWithWell>,
ProcessMapPlanBaseRepository<ProcessMapPlanSlide, ProcessMapPlanSlideDto>>();
services.AddTransient<
IChangeLogRepository<ProcessMapPlanReamDto, ProcessMapPlanBaseRequestWithWell>,
ProcessMapPlanBaseRepository<ProcessMapPlanReam, ProcessMapPlanReamDto>>();
services.AddTransient<
IChangeLogRepository<ProcessMapPlanReamingRotorDto, ProcessMapPlanBaseRequestWithWell>,
ProcessMapPlanBaseRepository<ProcessMapPlanReamingRotor, ProcessMapPlanReamingRotorDto>>();
@ -409,14 +377,6 @@ namespace AsbCloudInfrastructure
IChangeLogRepository<ProcessMapPlanAutoHoldTFDto, ProcessMapPlanBaseRequestWithWell>,
ProcessMapPlanBaseRepository<ProcessMapPlanAutoHoldTF, ProcessMapPlanAutoHoldTFDto>>();
services.AddTransient<
IChangeLogRepository<ProcessMapPlanRotorRpmAccelerationDto, ProcessMapPlanBaseRequestWithWell>,
ProcessMapPlanBaseRepository<ProcessMapPlanRotorRpmAcceleration, ProcessMapPlanRotorRpmAccelerationDto>>();
services.AddTransient<
IChangeLogRepository<ProcessMapPlanUpdatingNoloadParametersDto, ProcessMapPlanBaseRequestWithWell>,
ProcessMapPlanBaseRepository<ProcessMapPlanUpdatingNoloadParameters, ProcessMapPlanUpdatingNoloadParametersDto>>();
services.AddTransient<
IChangeLogRepository<ProcessMapPlanOscillationDto, ProcessMapPlanBaseRequestWithWell>,
ProcessMapPlanBaseRepository<ProcessMapPlanOscillation, ProcessMapPlanOscillationDto>>();
@ -429,14 +389,6 @@ namespace AsbCloudInfrastructure
IChangeLogRepository<ProcessMapPlanStaticMeasurementOutputDto, ProcessMapPlanBaseRequestWithWell>,
ProcessMapPlanBaseRepository<ProcessMapPlanStaticMeasurementOutput, ProcessMapPlanStaticMeasurementOutputDto>>();
services.AddTransient<
IChangeLogRepository<ProcessMapPlanRotorLoweringBitDto, ProcessMapPlanBaseRequestWithWell>,
ProcessMapPlanBaseRepository<ProcessMapPlanRotorLoweringBit, ProcessMapPlanRotorLoweringBitDto>>();
services.AddTransient<
IChangeLogRepository<ProcessMapPlanSlideLoweringBitDto, ProcessMapPlanBaseRequestWithWell>,
ProcessMapPlanBaseRepository<ProcessMapPlanSlideLoweringBit, ProcessMapPlanSlideLoweringBitDto>>();
services.AddTransient<IProcessMapReportDrillingService, ProcessMapReportDrillingService>();
services.AddTransient<TrajectoryService>();
@ -498,13 +450,9 @@ namespace AsbCloudInfrastructure
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanShockTestDto>>();
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanDamperDto>>();
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanAutoHoldTFDto>>();
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanRotorRpmAccelerationDto>>();
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanUpdatingNoloadParametersDto>>();
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanOscillationDto>>();
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanAntiCrashRotationDto>>();
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanStaticMeasurementOutputDto>>();
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanRotorLoweringBitDto>>();
services.AddTransient<IWellCompositeRepository, WellCompositeRepository<ProcessMapPlanSlideLoweringBitDto>>();
services.AddTransient<IUserRoleRepository, UserRoleRepository>();
services.AddTransient<IUserRepository, UserRepository>();
@ -561,7 +509,6 @@ namespace AsbCloudInfrastructure
services.AddTransient<TrajectoryFactManualParser>();
services.AddTransient<ProcessMapPlanRotorParser>();
services.AddTransient<ProcessMapPlanSlideParser>();
services.AddTransient<ProcessMapPlanReamParser>();
services.AddTransient<ProcessMapPlanReamingRotorParser>();
services.AddTransient<ProcessMapPlanReamingSlideParser>();
services.AddTransient<ProcessMapPlanLoadCapacityParser>();
@ -575,13 +522,9 @@ namespace AsbCloudInfrastructure
services.AddTransient<ProcessMapPlanShockTestParser>();
services.AddTransient<ProcessMapPlanDamperParser>();
services.AddTransient<ProcessMapPlanAutoHoldTFParser>();
services.AddTransient<ProcessMapPlanRotorRpmAccelerationParser>();
services.AddTransient<ProcessMapPlanUpdatingNoloadParametersParser>();
services.AddTransient<ProcessMapPlanOscillationParser>();
services.AddTransient<ProcessMapPlanAntiCrashRotationParser>();
services.AddTransient<ProcessMapPlanStaticMeasurementOutputParser>();
services.AddTransient<ProcessMapPlanRotorLoweringBitParser>();
services.AddTransient<ProcessMapPlanSlideLoweringBitParser>();
services.AddTransient<TrajectoryPlanExportService>();
services.AddTransient<TrajectoryFactManualExportService>();
@ -589,7 +532,6 @@ namespace AsbCloudInfrastructure
services.AddTransient<ProcessMapPlanRotorExportService>();
services.AddTransient<ProcessMapPlanSlideExportService>();
services.AddTransient<ProcessMapPlanReamExportService>();
services.AddTransient<ProcessMapPlanReamingRotorExportService>();
services.AddTransient<ProcessMapPlanReamingSlideExportService>();
services.AddTransient<ProcessMapPlanLoadCapacityExportService>();
@ -603,13 +545,9 @@ namespace AsbCloudInfrastructure
services.AddTransient<ProcessMapPlanShockTestExportService>();
services.AddTransient<ProcessMapPlanDamperExportService>();
services.AddTransient<ProcessMapPlanAutoHoldTFExportService>();
services.AddTransient<ProcessMapPlanRotorRpmAccelerationExportService>();
services.AddTransient<ProcessMapPlanUpdatingNoloadParametersExportService>();
services.AddTransient<ProcessMapPlanOscillationExportService>();
services.AddTransient<ProcessMapPlanAntiCrashRotationExportService>();
services.AddTransient<ProcessMapPlanStaticMeasurementOutputExportService>();
services.AddTransient<ProcessMapPlanRotorLoweringBitExportService>();
services.AddTransient<ProcessMapPlanSlideLoweringBitExportService>();
services.AddTransient<WellOperationParserFactory>();
services.AddTransient<WellOperationExportServiceFactory>();

View File

@ -1,3 +1,4 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +13,12 @@ public class ProcessMapPlanAutoHoldTFTemplate : ITemplateParameters
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanAutoHoldTFDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanAutoHoldTFDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanAutoHoldTFDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanAutoHoldTFDto.ZenithAngle), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanAutoHoldTFDto.Note), new Cell(5, typeof(string)) },
};
}

View File

@ -1,3 +1,4 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +13,12 @@ public class ProcessMapPlanDamperTemplate : ITemplateParameters
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanDamperDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanDamperDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanDamperDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanDamperDto.StickSlip), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanDamperDto.Note), new Cell(5, typeof(string)) },
};
}

View File

@ -1,3 +1,4 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +13,16 @@ public class ProcessMapPlanDrillTestTemplate : ITemplateParameters
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanDrillTestDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanDrillTestDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanDrillTestDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanDrillTestDto.WeightOnBitMin), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanDrillTestDto.WeightOnBitStepsCount), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanDrillTestDto.RpmMin), new Cell(6, typeof(double)) },
{ nameof(ProcessMapPlanDrillTestDto.RpmStepsCount), new Cell(7, typeof(double)) },
{ nameof(ProcessMapPlanDrillTestDto.LengthStep), new Cell(8, typeof(double)) },
{ nameof(ProcessMapPlanDrillTestDto.Note), new Cell(9, typeof(string)) },
};
}

View File

@ -1,3 +1,5 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using AsbCloudApp.Data.ProcessMaps.Operations;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +14,15 @@ public class ProcessMapPlanOscillationAnglesTemplate : ITemplateParameters
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanOscillationAnglesDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanOscillationAnglesDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanOscillationAnglesDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanOscillationAnglesDto.TopDriveTorque), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanOscillationAnglesDto.TopDriveTorqueMax), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanOscillationAnglesDto.Rpm), new Cell(6, typeof(double)) },
{ nameof(ProcessMapPlanOscillationAnglesDto.RpmMax), new Cell(7, typeof(double)) },
{ nameof(ProcessMapPlanOscillationAnglesDto.Note), new Cell(8, typeof(string)) },
};
}

View File

@ -1,3 +1,5 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using AsbCloudApp.Data.ProcessMaps.Operations;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +14,23 @@ public class ProcessMapPlanPositioningOffTheBottomTemplate : ITemplateParameters
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.StopOffTheBottom), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.PressureMax), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.DifferentialPressure), new Cell(6, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.Tight), new Cell(7, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.SlackingOff), new Cell(8, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.TorqueMax), new Cell(9, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.RopUp), new Cell(10, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.RopDown), new Cell(11, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.RpmUp), new Cell(12, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.RpmDown), new Cell(13, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.FlowRateUp), new Cell(14, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.FlowRateDown), new Cell(15, typeof(double)) },
{ nameof(ProcessMapPlanPositioningOffTheBottomDto.Note), new Cell(16, typeof(string)) },
};
}

View File

@ -1,29 +0,0 @@
using System.Collections.Generic;
using AsbCloudApp.Data.ProcessMaps.Operations;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
public class ProcessMapPlanReamTemplate : ITemplateParameters
{
public string SheetName => "План";
public int HeaderRowsCount => 1;
public string FileName => "ProcessMapPlanReamTemplate.xlsx";
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanReamDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanReamDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanReamDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanReamDto.Repeats), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanReamDto.SpinUpward), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanReamDto.SpinDownward), new Cell(6, typeof(double)) },
{ nameof(ProcessMapPlanReamDto.SpeedUpward), new Cell(7, typeof(double)) },
{ nameof(ProcessMapPlanReamDto.SpeedDownward), new Cell(8, typeof(double)) },
{ nameof(ProcessMapPlanReamDto.SetpointDrag), new Cell(9, typeof(double)) },
{ nameof(ProcessMapPlanReamDto.SetpointTight), new Cell(10, typeof(double)) },
{ nameof(ProcessMapPlanReamDto.Pressure), new Cell(11, typeof(double)) },
{ nameof(ProcessMapPlanReamDto.Torque), new Cell(12, typeof(double)) },
};
}

View File

@ -1,3 +1,4 @@
using AsbCloudApp.Data.ProcessMaps.Operations;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +13,41 @@ public class ProcessMapPlanReamingSlideTemplate : ITemplateParameters
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanReamingSlideDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanReamingSlideDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.PressureMax), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.DifferentialPressure), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Tight), new Cell(6, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.SlackingOff), new Cell(7, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.TorqueMax), new Cell(8, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RepetitionsCount), new Cell(9, typeof(int)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RopUp), new Cell(10, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RopDown), new Cell(11, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RpmUp), new Cell(12, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RpmDown), new Cell(13, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1FlowRateUp), new Cell(14, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1FlowRateDown), new Cell(15, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1Interval), new Cell(16, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1StopPointOffBottom), new Cell(17, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2RepetitionsCount), new Cell(18, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2RopUp), new Cell(19, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2RopDown), new Cell(20, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2RpmUp), new Cell(21, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2RpmDown), new Cell(22, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2FlowRateUp), new Cell(23, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2FlowRateDown), new Cell(24, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2Interval), new Cell(25, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming2StopPointOffBottom), new Cell(26, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3RepetitionsCount), new Cell(27, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3RopUp), new Cell(28, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming1RopDown), new Cell(29, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3RpmUp), new Cell(30, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3RpmDown), new Cell(31, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3FlowRateUp), new Cell(32, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3FlowRateDown), new Cell(33, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3Interval), new Cell(34, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Reaming3StopPointOffBottom), new Cell(35, typeof(double)) },
{ nameof(ProcessMapPlanReamingSlideDto.Note), new Cell(36, typeof(string)) },
};
}

View File

@ -1,3 +1,5 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using AsbCloudApp.Data.ProcessMaps.Operations;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +14,12 @@ public class ProcessMapPlanRecordingStaticMeasurementTemplate : ITemplateParamet
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanRecordingStaticMeasurementDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanRecordingStaticMeasurementDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanRecordingStaticMeasurementDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanRecordingStaticMeasurementDto.MeasurementRecordingTime), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanRecordingStaticMeasurementDto.Note), new Cell(5, typeof(string)) },
};
}

View File

@ -1,24 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Operations;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
public class ProcessMapPlanRotorLoweringBitTemplate : ITemplateParameters
{
public string SheetName => "Подход к забою в роторе";
public int HeaderRowsCount => 3;
public string FileName => "ProcessMapPlanRotorLoweringBitTemplate.xlsx";
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanRotorLoweringBitDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanRotorLoweringBitDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanRotorLoweringBitDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanRotorLoweringBitDto.PressureMax), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanRotorLoweringBitDto.DifferentialPressure), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanRotorLoweringBitDto.SlackingOff), new Cell(6, typeof(double)) },
{ nameof(ProcessMapPlanRotorLoweringBitDto.Note), new Cell(7, typeof(string)) },
};
}

View File

@ -1,23 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudDb.Model.ProcessMapPlan.Operations;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
public class ProcessMapPlanRotorRpmAccelerationTemplate : ITemplateParameters
{
public string SheetName => "Выход на обороты перед ротором";
public int HeaderRowsCount => 2;
public string FileName => "ProcessMapPlanRotorRpmAccelerationTemplate.xlsx";
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanRotorRpmAccelerationDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanRotorRpmAccelerationDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanRotorRpmAccelerationDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanRotorRpmAccelerationDto.Note), new Cell(11, typeof(string)) },
};
}

View File

@ -1,3 +1,4 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +13,17 @@ public class ProcessMapPlanShockTestTemplate : ITemplateParameters
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanShockTestDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanShockTestDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanShockTestDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanShockTestDto.StickSlip), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanShockTestDto.Whirl), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanShockTestDto.AxialVibrations), new Cell(6, typeof(double)) },
{ nameof(ProcessMapPlanShockTestDto.CombinedVibrations), new Cell(7, typeof(double)) },
{ nameof(ProcessMapPlanShockTestDto.WeightOnBitMin), new Cell(8, typeof(double)) },
{ nameof(ProcessMapPlanShockTestDto.RpmMin), new Cell(9, typeof(double)) },
{ nameof(ProcessMapPlanShockTestDto.Note), new Cell(10, typeof(string)) },
};
}

View File

@ -1,17 +0,0 @@
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
public class ProcessMapPlanSlideLoweringBitTemplate : ITemplateParameters
{
public string SheetName => "Подход к забою в слайде";
public int HeaderRowsCount => 2;
public string FileName => "ProcessMapPlanSlideLoweringBitTemplate.xlsx";
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
};
}

View File

@ -1,3 +1,4 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +13,12 @@ public class ProcessMapPlanStaticMeasurementOutputTemplate : ITemplateParameters
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanStaticMeasurementOutputDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanStaticMeasurementOutputDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanStaticMeasurementOutputDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanStaticMeasurementOutputDto.SignalWaitingTime), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanStaticMeasurementOutputDto.Note), new Cell(5, typeof(string)) },
};
}

View File

@ -1,3 +1,5 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using AsbCloudApp.Data.ProcessMaps.Operations;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +14,13 @@ public class ProcessMapPlanSwitchingOffThePumpTemplate : ITemplateParameters
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.Duration), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.ResidualPressureLimit), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanSwitchingOffThePumpDto.Note), new Cell(6, typeof(string)) },
};
}

View File

@ -1,3 +1,5 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using AsbCloudApp.Data.ProcessMaps.Operations;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
@ -12,6 +14,25 @@ public class ProcessMapPlanTFOrientationTemplate : ITemplateParameters
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
{ nameof(ProcessMapPlanTFOrientationDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanTFOrientationDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.TFSetpoint), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.Spring), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.PressureMax), new Cell(6, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.DifferentialPressure), new Cell(7, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.Tight), new Cell(8, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.SlackingOff), new Cell(9, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.TorqueMax), new Cell(10, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.RepetitionsCount), new Cell(11, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.RopUp), new Cell(12, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.RopDown), new Cell(13, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.FlowRateUp), new Cell(14, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.FlowRateDown), new Cell(15, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.Interval), new Cell(16, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.StopPointOffBottom), new Cell(17, typeof(double)) },
{ nameof(ProcessMapPlanTFOrientationDto.Note), new Cell(18, typeof(string)) },
};
}

View File

@ -1,17 +0,0 @@
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
public class ProcessMapPlanUpdatingNoloadParametersTemplate : ITemplateParameters
{
public string SheetName => "Обновление холостого хода";
public int HeaderRowsCount => 2;
public string FileName => "ProcessMapPlanUpdatingNoloadParametersTemplate.xlsx";
public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
{
};
}

View File

@ -1,30 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Requests.ExportOptions;
using AsbCloudApp.Services;
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
public class ProcessMapPlanReamExportService : ProcessMapPlanExportService<ProcessMapPlanReamDto>
{
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanReamTemplate();
public ProcessMapPlanReamExportService(
IChangeLogRepository<ProcessMapPlanReamDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
IWellService wellService)
: base(processMapPlanRepository, wellService)
{
}
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
{
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
return $"{caption}_РТК_План_проработка.xlsx";
}
}

View File

@ -1,30 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Requests.ExportOptions;
using AsbCloudApp.Services;
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
public class ProcessMapPlanRotorLoweringBitExportService : ProcessMapPlanExportService<ProcessMapPlanRotorLoweringBitDto>
{
public ProcessMapPlanRotorLoweringBitExportService(
IChangeLogRepository<ProcessMapPlanRotorLoweringBitDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
IWellService wellService)
: base(processMapPlanRepository, wellService)
{
}
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanRotorLoweringBitTemplate();
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
{
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
return $"{caption}_РТК_План_подход_к_забою_в_роторе.xlsx";
}
}

View File

@ -1,30 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Requests.ExportOptions;
using AsbCloudApp.Services;
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
public class ProcessMapPlanRotorRpmAccelerationExportService : ProcessMapPlanExportService<ProcessMapPlanRotorRpmAccelerationDto>
{
public ProcessMapPlanRotorRpmAccelerationExportService(
IChangeLogRepository<ProcessMapPlanRotorRpmAccelerationDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
IWellService wellService)
: base(processMapPlanRepository, wellService)
{
}
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanRotorRpmAccelerationTemplate();
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
{
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
return $"{caption}_РТК_План_выход_на_обороты_перед_ротором.xlsx";
}
}

View File

@ -1,30 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Requests.ExportOptions;
using AsbCloudApp.Services;
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
public class ProcessMapPlanSlideLoweringBitExportService : ProcessMapPlanExportService<ProcessMapPlanSlideLoweringBitDto>
{
public ProcessMapPlanSlideLoweringBitExportService(
IChangeLogRepository<ProcessMapPlanSlideLoweringBitDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
IWellService wellService)
: base(processMapPlanRepository, wellService)
{
}
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanSlideLoweringBitTemplate();
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
{
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
return $"{caption}_РТК_План_подход_к_забою_в_слайде.xlsx";
}
}

View File

@ -1,30 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Requests.ExportOptions;
using AsbCloudApp.Services;
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
public class ProcessMapPlanUpdatingNoloadParametersExportService : ProcessMapPlanExportService<ProcessMapPlanUpdatingNoloadParametersDto>
{
public ProcessMapPlanUpdatingNoloadParametersExportService(
IChangeLogRepository<ProcessMapPlanUpdatingNoloadParametersDto, ProcessMapPlanBaseRequestWithWell> processMapPlanRepository,
IWellService wellService)
: base(processMapPlanRepository, wellService)
{
}
protected override ITemplateParameters TemplateParameters { get; } = new ProcessMapPlanUpdatingNoloadParametersTemplate();
protected override async Task<string> BuildFileNameAsync(WellRelatedExportRequest options, CancellationToken token)
{
var caption = await wellService.GetWellCaptionByIdAsync(options.IdWell, token);
return $"{caption}_РТК_План_обновление_холостого_хода.xlsx";
}
}

View File

@ -1,41 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
public class ProcessMapPlanReamParser : ProcessMapPlanParser<ProcessMapPlanReamDto>
{
public ProcessMapPlanReamParser(IWellOperationRepository wellOperationRepository)
: base(wellOperationRepository)
{
}
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanReamTemplate();
protected override ProcessMapPlanReamDto BuildDto(IDictionary<string, object?> row, int rowNumber)
{
var dto = base.BuildDto(row, rowNumber);
var section = sections.FirstOrDefault(s =>
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
if (section is null)
{
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
TemplateParameters.SheetName, rowNumber,
TemplateParameters.Cells[nameof(ProcessMapPlanReamDto.Section)],
"Указана некорректная секция");
throw new FileFormatException(message);
}
dto.IdWellSectionType = section.Id;
return dto;
}
}

View File

@ -1,43 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using AsbCloudApp.Data.ProcessMaps;
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
public class ProcessMapPlanRotorLoweringBitParser : ProcessMapPlanParser<ProcessMapPlanRotorLoweringBitDto>
{
public ProcessMapPlanRotorLoweringBitParser(IWellOperationRepository wellOperationRepository)
: base(wellOperationRepository)
{
}
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanRotorLoweringBitTemplate();
protected override ProcessMapPlanRotorLoweringBitDto BuildDto(IDictionary<string, object?> row, int rowNumber)
{
var dto = base.BuildDto(row, rowNumber);
var section = sections.FirstOrDefault(s =>
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
if (section is null)
{
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
TemplateParameters.SheetName,
rowNumber,
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
"Указана некорректная секция");
throw new FileFormatException(message);
}
dto.IdWellSectionType = section.Id;
return dto;
}
}

View File

@ -1,43 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using AsbCloudApp.Data.ProcessMaps;
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
public class ProcessMapPlanRotorRpmAccelerationParser : ProcessMapPlanParser<ProcessMapPlanRotorRpmAccelerationDto>
{
public ProcessMapPlanRotorRpmAccelerationParser(IWellOperationRepository wellOperationRepository)
: base(wellOperationRepository)
{
}
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanRotorRpmAccelerationTemplate();
protected override ProcessMapPlanRotorRpmAccelerationDto BuildDto(IDictionary<string, object?> row, int rowNumber)
{
var dto = base.BuildDto(row, rowNumber);
var section = sections.FirstOrDefault(s =>
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
if (section is null)
{
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
TemplateParameters.SheetName,
rowNumber,
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
"Указана некорректная секция");
throw new FileFormatException(message);
}
dto.IdWellSectionType = section.Id;
return dto;
}
}

View File

@ -1,43 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using AsbCloudApp.Data.ProcessMaps;
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
public class ProcessMapPlanSlideLoweringBitParser : ProcessMapPlanParser<ProcessMapPlanSlideLoweringBitDto>
{
public ProcessMapPlanSlideLoweringBitParser(IWellOperationRepository wellOperationRepository)
: base(wellOperationRepository)
{
}
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanSlideLoweringBitTemplate();
protected override ProcessMapPlanSlideLoweringBitDto BuildDto(IDictionary<string, object?> row, int rowNumber)
{
var dto = base.BuildDto(row, rowNumber);
var section = sections.FirstOrDefault(s =>
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
if (section is null)
{
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
TemplateParameters.SheetName,
rowNumber,
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
"Указана некорректная секция");
throw new FileFormatException(message);
}
dto.IdWellSectionType = section.Id;
return dto;
}
}

View File

@ -1,43 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using AsbCloudApp.Data.ProcessMaps;
using AsbCloudApp.Data.ProcessMaps.Functions;
using AsbCloudApp.Repositories;
using AsbCloudInfrastructure.Services.ExcelServices.Templates;
using AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;
namespace AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
public class ProcessMapPlanUpdatingNoloadParametersParser : ProcessMapPlanParser<ProcessMapPlanUpdatingNoloadParametersDto>
{
public ProcessMapPlanUpdatingNoloadParametersParser(IWellOperationRepository wellOperationRepository)
: base(wellOperationRepository)
{
}
protected override ITemplateParameters TemplateParameters => new ProcessMapPlanUpdatingNoloadParametersTemplate();
protected override ProcessMapPlanUpdatingNoloadParametersDto BuildDto(IDictionary<string, object?> row, int rowNumber)
{
var dto = base.BuildDto(row, rowNumber);
var section = sections.FirstOrDefault(s =>
string.Equals(s.Caption.Trim(), dto.Section?.Trim(), StringComparison.CurrentCultureIgnoreCase));
if (section is null)
{
var message = string.Format(XLExtentions.ProblemDetailsTemplate,
TemplateParameters.SheetName,
rowNumber,
TemplateParameters.Cells[nameof(ProcessMapPlanBaseDto.Section)],
"Указана некорректная секция");
throw new FileFormatException(message);
}
dto.IdWellSectionType = section.Id;
return dto;
}
}

View File

@ -1,28 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Functions;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Services;
using AsbCloudDb.Model.ProcessMapPlan.Functions;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
namespace AsbCloudWebApi.Controllers.ProcessMaps.Functions;
/// <summary>
/// РТК план обновление холостого хода
/// </summary>
public class ProcessMapPlanUpdatingNoloadParametersController :
ProcessMapPlanBaseController<ProcessMapPlanUpdatingNoloadParameters, ProcessMapPlanUpdatingNoloadParametersDto>
{
public ProcessMapPlanUpdatingNoloadParametersController(
IChangeLogRepository<ProcessMapPlanUpdatingNoloadParametersDto, ProcessMapPlanBaseRequestWithWell> repository,
IWellService wellService,
ProcessMapPlanUpdatingNoloadParametersParser parserService,
ITelemetryService telemetryService,
ProcessMapPlanUpdatingNoloadParametersExportService processMapPlanExportService)
: base(repository, wellService, parserService, processMapPlanExportService, telemetryService)
{
}
protected override string TemplateFileName => "ЕЦП_шаблон_файла_РТК_план_обновление_холостого_хода.xlsx";
}

View File

@ -1,26 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Services;
using AsbCloudDb.Model.ProcessMapPlan.Operations;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
namespace AsbCloudWebApi.Controllers.ProcessMaps.Operations;
/// <summary>
/// РТК план проработка
/// </summary>
public class ProcessMapPlanReamController : ProcessMapPlanBaseController<ProcessMapPlanReam, ProcessMapPlanReamDto>
{
public ProcessMapPlanReamController(IChangeLogRepository<ProcessMapPlanReamDto, ProcessMapPlanBaseRequestWithWell> repository,
IWellService wellService,
ProcessMapPlanReamParser parserService,
ITelemetryService telemetryService,
ProcessMapPlanReamExportService processMapPlanExportService)
: base(repository, wellService, parserService, processMapPlanExportService, telemetryService)
{
}
protected override string TemplateFileName => "ЕЦП_шаблон_файла_РТК_план_проработка.xlsx";
}

View File

@ -1,28 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Services;
using AsbCloudDb.Model.ProcessMapPlan.Operations;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
namespace AsbCloudWebApi.Controllers.ProcessMaps.Operations;
/// <summary>
/// РТК план подход к забою в роторе
/// </summary>
public class ProcessMapPlanRotorLoweringBitController :
ProcessMapPlanBaseController<ProcessMapPlanRotorLoweringBit, ProcessMapPlanRotorLoweringBitDto>
{
public ProcessMapPlanRotorLoweringBitController(
IChangeLogRepository<ProcessMapPlanRotorLoweringBitDto, ProcessMapPlanBaseRequestWithWell> repository,
IWellService wellService,
ProcessMapPlanRotorLoweringBitParser parserService,
ITelemetryService telemetryService,
ProcessMapPlanRotorLoweringBitExportService processMapPlanExportService)
: base(repository, wellService, parserService, processMapPlanExportService, telemetryService)
{
}
protected override string TemplateFileName => "ЕЦП_шаблон_файла_РТК_план_подход_к_забою_в_роторе.xlsx";
}

View File

@ -1,28 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Services;
using AsbCloudDb.Model.ProcessMapPlan.Operations;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
namespace AsbCloudWebApi.Controllers.ProcessMaps.Operations;
/// <summary>
/// РТК план выход на обороты перед ротором
/// </summary>
public class ProcessMapPlanRotorRpmAccelerationController :
ProcessMapPlanBaseController<ProcessMapPlanRotorRpmAcceleration, ProcessMapPlanRotorRpmAccelerationDto>
{
public ProcessMapPlanRotorRpmAccelerationController(
IChangeLogRepository<ProcessMapPlanRotorRpmAccelerationDto, ProcessMapPlanBaseRequestWithWell> repository,
IWellService wellService,
ProcessMapPlanRotorRpmAccelerationParser parserService,
ITelemetryService telemetryService,
ProcessMapPlanRotorRpmAccelerationExportService processMapPlanExportService)
: base(repository, wellService, parserService, processMapPlanExportService, telemetryService)
{
}
protected override string TemplateFileName => "ЕЦП_шаблон_файла_РТК_план_выход_на_обороты_перед_ротором.xlsx";
}

View File

@ -1,28 +0,0 @@
using AsbCloudApp.Data.ProcessMaps.Operations;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Services;
using AsbCloudDb.Model.ProcessMapPlan.Operations;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
namespace AsbCloudWebApi.Controllers.ProcessMaps.Operations;
/// <summary>
/// РТК план подход к забою в слайде
/// </summary>
public class ProcessMapPlanSlideLoweringBitController :
ProcessMapPlanBaseController<ProcessMapPlanSlideLoweringBit, ProcessMapPlanSlideLoweringBitDto>
{
public ProcessMapPlanSlideLoweringBitController(
IChangeLogRepository<ProcessMapPlanSlideLoweringBitDto, ProcessMapPlanBaseRequestWithWell> repository,
IWellService wellService,
ProcessMapPlanSlideLoweringBitParser parserService,
ITelemetryService telemetryService,
ProcessMapPlanSlideLoweringBitExportService processMapPlanExportService)
: base(repository, wellService, parserService, processMapPlanExportService, telemetryService)
{
}
protected override string TemplateFileName => "ЕЦП_шаблон_файла_РТК_план_подход_к_забою_в_слайде.xlsx";
}