diff --git a/AsbCloudApp/Data/PlanLimitDto.cs b/AsbCloudApp/Data/PlanLimitDto.cs new file mode 100644 index 00000000..ec597292 --- /dev/null +++ b/AsbCloudApp/Data/PlanLimitDto.cs @@ -0,0 +1,19 @@ +namespace AsbCloudApp.Data +{ + /// + /// Плановое значение и максимально допустимое ограничение + /// + public class PlanLimitDto + { + /// + /// План + /// + public double Plan { get; set; } + + /// + /// Максимальное ограничение + /// + public double LimitMax { get; set; } + + } +} diff --git a/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs b/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs index 17664ba0..20767a23 100644 --- a/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs +++ b/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs @@ -12,7 +12,7 @@ namespace AsbCloudApp.Data.ProcessMap public int Id { get; set; } /// - [Range(1,int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")] + [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")] public int IdWell { get; set; } /// @@ -20,6 +20,12 @@ namespace AsbCloudApp.Data.ProcessMap /// public int? IdUser { get; set; } + /// + /// Id режима 1-ротор, 2 - слайд + /// + [Range(1, 2, ErrorMessage = "Id режима должен быть либо 1-ротор либо 2-слайд")] + public int IdMode { get; set; } + /// /// Тип секции /// @@ -33,7 +39,7 @@ namespace AsbCloudApp.Data.ProcessMap /// /// Стартовая глубина /// - [Range(0,50000,ErrorMessage = "Глубина не может быть отрицательной")] + [Range(0, 50000, ErrorMessage = "Глубина не может быть отрицательной")] public double DepthStart { get; set; } /// @@ -45,27 +51,27 @@ namespace AsbCloudApp.Data.ProcessMap /// /// Нагрузка /// - public PlanFactDto AxialLoad { get; set; } = null!; + public PlanLimitDto AxialLoad { get; set; } = null!; /// /// Перепад давления /// - public PlanFactDto Pressure { get; set; } = null!; + public PlanLimitDto Pressure { get; set; } = null!; /// /// Момент на ВСП /// - public PlanFactDto TopDriveTorque { get; set; } = null!; + public PlanLimitDto TopDriveTorque { get; set; } = null!; /// /// Обороты на ВСП /// - public PlanFactDto TopDriveSpeed { get; set; } = null!; + public PlanLimitDto TopDriveSpeed { get; set; } = null!; /// /// Расход /// - public PlanFactDto Flow { get; set; } = null!; + public PlanLimitDto Flow { get; set; } = null!; /// /// Плановая механическая скорость, м/ч diff --git a/AsbCloudInfrastructure/Repository/ProcessMapRepository.cs b/AsbCloudInfrastructure/Repository/ProcessMapRepository.cs index 09f1f0a4..35d51724 100644 --- a/AsbCloudInfrastructure/Repository/ProcessMapRepository.cs +++ b/AsbCloudInfrastructure/Repository/ProcessMapRepository.cs @@ -109,29 +109,29 @@ namespace AsbCloudInfrastructure.Repository { var dto = entity.Adapt(); dto.LastUpdate = entity.LastUpdate.ToRemoteDateTime(entity.Well.Timezone.Hours); - dto.AxialLoad = new PlanFactDto + dto.AxialLoad = new PlanLimitDto { - Fact = entity.AxialLoadFact, + LimitMax = entity.AxialLoadLimitMax, Plan = entity.AxialLoadPlan }; - dto.Flow = new PlanFactDto + dto.Flow = new PlanLimitDto { - Fact = entity.FlowFact, + LimitMax = entity.FlowLimitMax, Plan = entity.FlowPlan }; - dto.Pressure = new PlanFactDto + dto.Pressure = new PlanLimitDto { - Fact = entity.PressureFact, + LimitMax = entity.PressureLimitMax, Plan = entity.PressurePlan }; - dto.TopDriveSpeed = new PlanFactDto + dto.TopDriveSpeed = new PlanLimitDto { - Fact = entity.TopDriveSpeedFact, + LimitMax = entity.TopDriveSpeedLimitMax, Plan = entity.TopDriveSpeedPlan }; - dto.TopDriveTorque = new PlanFactDto + dto.TopDriveTorque = new PlanLimitDto { - Fact = entity.TopDriveTorqueFact, + LimitMax = entity.TopDriveTorqueLimitMax, Plan = entity.TopDriveTorquePlan }; return dto; @@ -141,20 +141,20 @@ namespace AsbCloudInfrastructure.Repository { var entity = dto.Adapt(); entity.AxialLoadPlan = dto.AxialLoad.Plan; - entity.AxialLoadFact = dto.AxialLoad.Fact; + entity.AxialLoadLimitMax = dto.AxialLoad.LimitMax; entity.FlowPlan = dto.Flow.Plan; - entity.FlowFact = dto.Flow.Fact; + entity.FlowLimitMax = dto.Flow.LimitMax; entity.PressurePlan = dto.Pressure.Plan; - entity.PressureFact = dto.Pressure.Fact; + entity.PressureLimitMax = dto.Pressure.LimitMax; entity.TopDriveSpeedPlan = dto.TopDriveSpeed.Plan; - entity.TopDriveSpeedFact = dto.TopDriveSpeed.Fact; + entity.TopDriveSpeedLimitMax = dto.TopDriveSpeed.LimitMax; entity.TopDriveTorquePlan = dto.TopDriveTorque.Plan; - entity.TopDriveTorqueFact = dto.TopDriveTorque.Fact; - + entity.TopDriveTorqueLimitMax = dto.TopDriveTorque.LimitMax; + return entity; } } diff --git a/AsbCloudInfrastructure/Repository/WellCompositeRepository.cs b/AsbCloudInfrastructure/Repository/WellCompositeRepository.cs index d9b7b8ab..5fd50aaf 100644 --- a/AsbCloudInfrastructure/Repository/WellCompositeRepository.cs +++ b/AsbCloudInfrastructure/Repository/WellCompositeRepository.cs @@ -59,38 +59,7 @@ namespace AsbCloudInfrastructure.Repository IdWellSectionType = x.IdWellSectionType }); - var processMap = await processMapRepository.GetProcessMapAsync(requests, token); - - var result = processMap.Select(x => new ProcessMapDto - { - IdWell = x.IdWell, - IdWellSectionType = x.IdWellSectionType, - RopPlan = x.RopPlan, - DepthStart = x.DepthStart, - DepthEnd = x.DepthEnd, - AxialLoad = new PlanFactDto - { - Plan = x.AxialLoad.Fact ?? x.AxialLoad.Plan, - }, - Flow = new PlanFactDto - { - Plan = x.Flow.Fact ?? x.Flow.Plan - }, - Pressure = new PlanFactDto - { - Plan = x.Pressure.Fact ?? x.Pressure.Plan - }, - TopDriveSpeed = new PlanFactDto - { - Plan = x.TopDriveSpeed.Fact ?? x.TopDriveSpeed.Plan - }, - TopDriveTorque = new PlanFactDto - { - Plan = x.TopDriveTorque.Fact ?? x.TopDriveTorque.Plan - }, - LastUpdate = DateTime.UtcNow - }); - + var result = await processMapRepository.GetProcessMapAsync(requests, token); return result; }