Бурение слайд

This commit is contained in:
Olga Nemt 2024-06-30 11:11:09 +05:00
parent bb155aa87d
commit 543db8ecca
7 changed files with 83 additions and 83 deletions

View File

@ -10,62 +10,62 @@ public class ProcessMapPlanSlideDto : ProcessMapPlanBaseDto
/// <summary>
/// Максимально допустимая скорость, м/ч
/// </summary>
[Range(0, 800.0, ErrorMessage = "Максимально допустимая скорость, м/ч., должно быть в пределах от 0 до 800.0")]
public double RopLimitMax { get; set; }
[Range(0, 800, ErrorMessage = "Максимально допустимая скорость, м/ч., должно быть в пределах от 0 до 800")]
public double RopMax { get; set; }
/// <summary>
/// Максимально допустимое давление, атм
/// </summary>
[Range(0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400.0")]
public double PressureLimitMax { get; set; }
[Range(0, 400, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400")]
public double PressureMax { get; set; }
/// <summary>
/// Перепад давления, атм. Уставка
/// Перепад давления уставка, атм
/// </summary>
[Range(0, 60.0, ErrorMessage = "Перепад давления, атм. уставка, должно быть в пределах от 0 до 60.0")]
[Range(0, 60, ErrorMessage = "Перепад давления уставка, атм., должно быть в пределах от 0 до 60")]
public double DifferentialPressure { get; set; }
/// <summary>
/// Перепад давления, атм. Ограничение
/// Перепад давления ограничение, атм
/// </summary>
[Range(0, 60.0, ErrorMessage = "Перепад давления, атм., ограничение, должно быть в пределах от 0 до 60.0")]
public double DifferentialPressureLimitMax { get; set; }
[Range(0, 60, ErrorMessage = "Перепад давления ограничение, атм., должно быть в пределах от 0 до 60")]
public double DifferentialPressureMax { get; set; }
/// <summary>
/// Нагрузка, т. Уставка
/// Нагрузка уставка, т
/// </summary>
[Range(0, 50.0, ErrorMessage = " Нагрузка, т., уставка, должно быть в пределах от 0 до 50.0")]
[Range(0, 99, ErrorMessage = "Нагрузка уставка, т., должно быть в пределах от 0 до 99")]
public double WeightOnBit { get; set; }
/// <summary>
/// Нагрузка, т. Ограничение
/// Нагрузка ограничение, т
/// </summary>
[Range(0, 50.0, ErrorMessage = "Нагрузка, т., ограничение, должно быть в пределах от 0 до 50.0")]
public double WeightOnBitLimitMax { get; set; }
[Range(0, 99, ErrorMessage = "Нагрузка ограничение, т., должно быть в пределах от 0 до 99")]
public double WeightOnBitMax { get; set; }
/// <summary>
/// Расход л/с. Уставка
/// Расход уставка л/с
/// </summary>
[Range(0, 100.0, ErrorMessage = "Расход, л/с., уставка, должно быть в пределах от 0 до 50.0")]
[Range(0, 100, ErrorMessage = "Расход уставка л/с., должно быть в пределах от 0 до 100")]
public double FlowRate { get; set; }
/// <summary>
/// Расход л/с. Ограничение
/// Расход ограничение л/с
/// </summary>
[Range(0, 100.0, ErrorMessage = "Расход, л/с., ограничение, должно быть в пределах от 0 до 100.0")]
public double FlowRateLimitMax { get; set; }
[Range(0, 100, ErrorMessage = "Расход ограничение л/с., должно быть в пределах от 0 до 100")]
public double FlowRateMax { get; set; }
/// <summary>
/// Расчётная пружина, градус
/// </summary>
[Range(0, 9999.9, ErrorMessage = "Расчётная пружина, градус, должно быть в пределах от 0 до 9999.9")]
[Range(0, 9999, ErrorMessage = "Расчётная пружина, градус, должно быть в пределах от 0 до 9999")]
public double Spring { get; set; }
/// <summary>
/// Складывание инструмента, м
/// </summary>
[Range(0, 9999.9, ErrorMessage = "Складывание инструмента, м, должно быть в пределах от 0 до 9999.9")]
public double ToolBuckling { get; set; }
[Range(0, 9999, ErrorMessage = "Складывание инструмента, м., должно быть в пределах от 0 до 9999")]
public double Buckling { get; set; }
/// <summary>
/// Примечание

View File

@ -8,55 +8,55 @@ namespace AsbCloudDb.Model.ProcessMaps;
[Table("t_process_map_plan_slide"), Comment("РТК план бурение слайд")]
public class ProcessMapPlanSlide : ProcessMapPlanBase
{
[Column("rop_limit_max"), Comment("Максимально допустимая скорость, м/ч")]
[Range(0, 800.0)]
[Column("rop_max"), Comment("Максимально допустимая скорость, м/ч.")]
[Range(0, 800)]
[Required]
public double RopLimitMax { get; set; }
public double RopMax { get; set; }
[Column("pressure_limit_max"), Comment("Максимально допустимое давление, атм")]
[Range(0, 400.0)]
[Column("pressure_max"), Comment("Максимально допустимое давление, атм.")]
[Range(0, 400)]
[Required]
public double PressureLimitMax { get; set; }
public double PressureMax { get; set; }
[Column("differential_pressure"), Comment("Перепад давления, атм. Уставка")]
[Range(0, 60.0)]
[Column("differential_pressure"), Comment("Перепад давления уставка, атм.")]
[Range(0, 60)]
[Required]
public double DifferentialPressure { get; set; }
[Column("differential_pressure_limit_max"), Comment("Перепад давления, атм. Ограничение")]
[Range(0, 60.0)]
[Column("differential_pressure_max"), Comment("Перепад давления ограничение, атм.")]
[Range(0, 60)]
[Required]
public double DifferentialPressureLimitMax { get; set; }
public double DifferentialPressureMax { get; set; }
[Column("weight_on_bit"), Comment("Нагрузка, т. Уставка")]
[Range(0, 50.0)]
[Column("weight_on_bit"), Comment("Нагрузка уставка, т.")]
[Range(0, 99)]
[Required]
public double WeightOnBit { get; set; }
[Column("weight_on_bit_limit_max"), Comment("Нагрузка, т. Ограничение")]
[Range(0, 50.0)]
[Column("weight_on_bit_max"), Comment("Нагрузка ограничение, т.")]
[Range(0, 99)]
[Required]
public double WeightOnBitLimitMax { get; set; }
public double WeightOnBitMax { get; set; }
[Column("flow_rate"), Comment("Расход л/с. Уставка")]
[Range(0, 100.0)]
[Column("flow_rate"), Comment("Расход уставка, л/с.")]
[Range(0, 100)]
[Required]
public double FlowRate { get; set; }
[Column("flow_rate_limit_max"), Comment("Расход л/с. Ограничение")]
[Range(0, 100.0)]
[Column("flow_rate_max"), Comment("Расход ограничение, л/с.")]
[Range(0, 100)]
[Required]
public double FlowRateLimitMax { get; set; }
public double FlowRateMax { get; set; }
[Column("spring"), Comment("Расчётная пружина, градус")]
[Range(0, 9999.9)]
[Range(0, 9999)]
[Required]
public double Spring { get; set; }
[Column("tool_buckling"), Comment("Складывание инструмента, м")]
[Range(0, 9999.9)]
[Column("buckling"), Comment("Складывание инструмента, м.")]
[Range(0, 9999)]
[Required]
public double ToolBuckling { get; set; }
public double Buckling { get; set; }
[Column("note"), Comment("Примечание"), StringLength(1024)]
public string Note { get; set; } = string.Empty;

View File

@ -16,16 +16,16 @@ public class ProcessMapPlanSlideTemplate : ITemplateParameters
{ nameof(ProcessMapPlanSlideDto.Section), new Cell(1, typeof(string)) },
{ nameof(ProcessMapPlanSlideDto.DepthStart), new Cell(2, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.DepthEnd), new Cell(3, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.RopLimitMax), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.PressureLimitMax), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.RopMax), new Cell(4, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.PressureMax), new Cell(5, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.DifferentialPressure), new Cell(6, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.DifferentialPressureLimitMax), new Cell(7, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.DifferentialPressureMax), new Cell(7, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.WeightOnBit), new Cell(8, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.WeightOnBitLimitMax), new Cell(9, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.WeightOnBitMax), new Cell(9, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.FlowRate), new Cell(10, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.FlowRateLimitMax), new Cell(11, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.FlowRateMax), new Cell(11, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.Spring), new Cell(12, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.ToolBuckling), new Cell(13, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.Buckling), new Cell(13, typeof(double)) },
{ nameof(ProcessMapPlanSlideDto.Note), new Cell(14, typeof(double)) }
};
}

View File

@ -287,13 +287,13 @@ public class ProcessMapReportDrillingService : IProcessMapReportDrillingService
if (processMapPlanFilteredByDepth is ProcessMapPlanSlideDto processMapPlanSlideFilteredByDepth)
{
result.PressureDiff.SetpointPlan = processMapPlanSlideFilteredByDepth.DifferentialPressure;
result.PressureDiff.Limit = processMapPlanSlideFilteredByDepth.DifferentialPressureLimitMax;
result.PressureDiff.Limit = processMapPlanSlideFilteredByDepth.DifferentialPressureMax;
result.AxialLoad.SetpointPlan = processMapPlanSlideFilteredByDepth.WeightOnBit;
result.AxialLoad.Limit = processMapPlanSlideFilteredByDepth.WeightOnBitLimitMax;
result.SpeedLimit.SetpointPlan = processMapPlanSlideFilteredByDepth.RopLimitMax;
result.AxialLoad.Limit = processMapPlanSlideFilteredByDepth.WeightOnBitMax;
result.SpeedLimit.SetpointPlan = processMapPlanSlideFilteredByDepth.RopMax;
result.Flow.SetpointPlan = processMapPlanSlideFilteredByDepth.FlowRate;
result.Flow.Limit = processMapPlanSlideFilteredByDepth.FlowRateLimitMax;
result.Rop.Plan = processMapPlanSlideFilteredByDepth.RopLimitMax;
result.Flow.Limit = processMapPlanSlideFilteredByDepth.FlowRateMax;
result.Rop.Plan = processMapPlanSlideFilteredByDepth.RopMax;
}
return result;

View File

@ -186,7 +186,7 @@ public class WellInfoService
wellMapInfo.Pressure.Plan = processMapPlanSlide?.DifferentialPressure;
wellMapInfo.ROP.Plan = processMapPlanSlide?.RopLimitMax;
wellMapInfo.ROP.Plan = processMapPlanSlide?.RopMax;
}
var wellSubsystemStat = subsystemStat.FirstOrDefault(s => s.Well.Id == well.Id);

View File

@ -12,16 +12,16 @@ public class ProcessMapPlanSlideControllerTest : ProcessMapPlanBaseControllerTes
IdWell = 1,
DepthStart = 1,
DepthEnd = 2,
RopLimitMax = 3,
PressureLimitMax = 4,
RopMax = 3,
PressureMax = 4,
DifferentialPressure = 5,
DifferentialPressureLimitMax = 6,
DifferentialPressureMax = 6,
WeightOnBit = 7,
WeightOnBitLimitMax = 8,
WeightOnBitMax = 8,
FlowRate = 9,
FlowRateLimitMax = 10,
FlowRateMax = 10,
Spring = 11,
ToolBuckling = 12,
Buckling = 12,
Id = 0,
IdWellSectionType = 1,
Note = "13"
@ -33,21 +33,21 @@ public class ProcessMapPlanSlideControllerTest : ProcessMapPlanBaseControllerTes
DepthEnd = 10,
DepthStart = 2,
DifferentialPressure = 3,
DifferentialPressureLimitMax = 4,
DifferentialPressureMax = 4,
FlowRate = 5,
FlowRateLimitMax = 6,
FlowRateMax = 6,
Id = 0,
IdWellSectionType = 1,
Note = "1",
PressureLimitMax = 2,
RopLimitMax = 5,
PressureMax = 2,
RopMax = 5,
WeightOnBit = 8,
WeightOnBitLimitMax = 9,
WeightOnBitMax = 9,
IdAuthor = 1,
IdEditor = 1,
Creation = DateTimeOffset.UtcNow,
Spring = 10,
ToolBuckling = 11,
Buckling = 11,
};
public ProcessMapPlanSlideControllerTest(WebAppFactoryFixture factory) : base(factory, "ProcessMapPlanSlide")
@ -60,7 +60,7 @@ public class ProcessMapPlanSlideControllerTest : ProcessMapPlanBaseControllerTes
var entity = dbContext
.Set<ProcessMapPlanSlide>()
.Where(p => p.WeightOnBit == dto.WeightOnBit)
.Where(p => p.WeightOnBitLimitMax == dto.WeightOnBitLimitMax)
.Where(p => p.WeightOnBitMax == dto.WeightOnBitMax)
.Where(p => p.Note == dto.Note)
.FirstOrDefault(p => p.IdWell == dto.IdWell);
@ -115,32 +115,32 @@ public class ProcessMapPlanSlideControllerTest : ProcessMapPlanBaseControllerTes
var dtoUpdate = dto.Adapt<ProcessMapPlanSlideDto>();
dtoUpdate.IdWell = 0;
dtoUpdate.Note = "nebuchadnezzar";
dtoUpdate.DifferentialPressureLimitMax++;
dtoUpdate.DifferentialPressureMax++;
dtoUpdate.DifferentialPressure++;
dtoUpdate.FlowRate++;
dtoUpdate.FlowRateLimitMax++;
dtoUpdate.RopLimitMax++;
dtoUpdate.FlowRateMax++;
dtoUpdate.RopMax++;
dtoUpdate.WeightOnBit++;
dtoUpdate.WeightOnBitLimitMax++;
dtoUpdate.WeightOnBitMax++;
dtoUpdate.DepthStart++;
dtoUpdate.DepthEnd++;
dtoUpdate.Spring++;
dtoUpdate.ToolBuckling++;
dtoUpdate.Buckling++;
var dtoInsert = dtoUpdate.Adapt<ProcessMapPlanSlideDto>();
dtoInsert.Id = 0;
dtoInsert.Note = "nebuchad";
dtoInsert.DifferentialPressureLimitMax++;
dtoInsert.DifferentialPressureMax++;
dtoInsert.DifferentialPressure++;
dtoInsert.FlowRate++;
dtoInsert.FlowRateLimitMax++;
dtoInsert.RopLimitMax++;
dtoInsert.FlowRateMax++;
dtoInsert.RopMax++;
dtoInsert.WeightOnBit++;
dtoInsert.WeightOnBitLimitMax++;
dtoInsert.WeightOnBitMax++;
dtoInsert.DepthStart++;
dtoInsert.DepthEnd++;
dtoUpdate.Spring++;
dtoUpdate.ToolBuckling++;
dtoUpdate.Buckling++;
await UpdateOrInsertRange(entity, dtoUpdate, dtoInsert);
}

View File

@ -6,7 +6,7 @@ using AsbCloudDb.Model.ProcessMaps;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
namespace AsbCloudWebApi.Controllers.ProcessMaps;
namespace AsbCloudWebApi.Controllers.ProcessMaps.Operations;
/// <summary>
/// РТК план бурения (ротор)