diff --git a/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanRotorLoweringBitDto.cs b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanRotorLoweringBitDto.cs new file mode 100644 index 00000000..9d8da53d --- /dev/null +++ b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanRotorLoweringBitDto.cs @@ -0,0 +1,60 @@ +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace AsbCloudApp.Data.ProcessMaps; + +/// +/// РТК план подход к забою в роторе +/// +public class ProcessMapPlanRotorLoweringBitDto : ProcessMapPlanBaseDto +{ + /// + /// Максимально допустимое давление, атм. + /// + [Range(0.0, 400.0, ErrorMessage = "Максимально допустимое давление, атм., должно быть в пределах от 0 до 400")] + public double PressureMax { get; set; } + + /// + /// Перепад давления уставка, атм. + /// + [Range(0.0, 60.0, ErrorMessage = "Перепад давления уставка, атм., должно быть в пределах от 0 до 60")] + public double DifferentialPressure { get; set; } + + /// + /// Посадка, т. + /// + [Range(0.0, 20.0, ErrorMessage = "Посадка, т., должно быть в пределах от 0 до 20")] + public double SlackingOff { get; set; } + + /// + /// Максимально допустимый момент, кН*м. + /// + [Range(0.0, 35.0, ErrorMessage = "Максимально допустимый момент, кН*м., должно быть в пределах от 0 до 35")] + public double TorqueMax { get; set; } + + /// + /// Скорость вниз, м/ч. + /// + [Range(0.0, 999.0, ErrorMessage = "Скорость вниз, м/ч., должно быть в пределах от 0 до 999")] + public double RopDown { get; set; } + + /// + /// Обороты вниз, об/мин. + /// + [Range(0.0, 270.0, ErrorMessage = "Обороты вниз, об/мин., должно быть в пределах от 0 до 270")] + public double RpmDown { get; set; } + + /// + /// Расход вниз, л/с. + /// + [Range(0.0, 100.0, ErrorMessage = "Расход вниз, л/с., должно быть в пределах от 0 до 100")] + public double FlowRateDown { get; set; } + + /// + /// Примечание + /// + [StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")] + public string Note { get; set; } = string.Empty; + + +} \ No newline at end of file diff --git a/AsbCloudDb/Model/AsbCloudDbContext.cs b/AsbCloudDb/Model/AsbCloudDbContext.cs index ed28d6b5..fb333ded 100644 --- a/AsbCloudDb/Model/AsbCloudDbContext.cs +++ b/AsbCloudDb/Model/AsbCloudDbContext.cs @@ -40,6 +40,7 @@ namespace AsbCloudDb.Model public virtual DbSet ProcessMapPlanFunctionsOscillation => Set(); public virtual DbSet ProcessMapPlanFunctionsAnticrashRotation => Set(); public virtual DbSet ProcessMapPlanFunctionsStaticMeasure => Set(); + public virtual DbSet ProcessMapPlanRotorLoweringBit => Set(); public virtual DbSet DrillingProgramParts => Set(); public virtual DbSet FileCategories => Set(); @@ -563,6 +564,11 @@ namespace AsbCloudDb.Model .WithMany() .OnDelete(DeleteBehavior.Restrict); + modelBuilder.Entity() + .HasOne(p => p.Author) + .WithMany() + .OnDelete(DeleteBehavior.Restrict); + modelBuilder.Entity() .HasOne(p => p.Editor) .WithMany() @@ -663,6 +669,11 @@ namespace AsbCloudDb.Model .WithMany() .OnDelete(DeleteBehavior.Restrict); + modelBuilder.Entity() + .HasOne(p => p.Editor) + .WithMany() + .OnDelete(DeleteBehavior.Restrict); + DefaultData.DefaultContextData.Fill(modelBuilder); } diff --git a/AsbCloudDb/Model/IAsbCloudDbContext.cs b/AsbCloudDb/Model/IAsbCloudDbContext.cs index b33c0f4f..a595affe 100644 --- a/AsbCloudDb/Model/IAsbCloudDbContext.cs +++ b/AsbCloudDb/Model/IAsbCloudDbContext.cs @@ -101,6 +101,7 @@ namespace AsbCloudDb.Model DbSet ProcessMapPlanFunctionsOscillation { get; } DbSet ProcessMapPlanFunctionsAnticrashRotation { get; } DbSet ProcessMapPlanFunctionsStaticMeasure { get; } + DbSet ProcessMapPlanRotorLoweringBit { get; } Task RefreshMaterializedViewAsync(string mwName, CancellationToken token); Task RefreshMaterializedViewAsync(CancellationToken token) where TEntity : class; diff --git a/AsbCloudDb/Model/ProcessMapPlan/ProcessMapPlanRotorLoweringBit.cs b/AsbCloudDb/Model/ProcessMapPlan/ProcessMapPlanRotorLoweringBit.cs index 8e6460eb..a87a1ac3 100644 --- a/AsbCloudDb/Model/ProcessMapPlan/ProcessMapPlanRotorLoweringBit.cs +++ b/AsbCloudDb/Model/ProcessMapPlan/ProcessMapPlanRotorLoweringBit.cs @@ -8,24 +8,44 @@ namespace AsbCloudDb.Model.ProcessMaps; [Table("t_process_map_plan_rotor_lowering_bit"), Comment("РТК подход к забою в роторе")] public class ProcessMapPlanRotorLoweringBit : ProcessMapPlanBase { - [Column("time_load_capacity_min"), Comment("Время выработки минимальное, сек")] - [Range(0.0, 800.0)] + [Column("pressure_max"), Comment("Максимально допустимое давление, атм.")] + [Range(0.0, 400.0)] [Required] - public double TimeLoadCapacityMin { get; set; } + public double PressureMax { get; set; } - [Column("differential_pressure_min"), Comment("Перепад давления минимальный, атм")] - [Range(0.1, 400.0)] + [Column("differential_pressure"), Comment("Перепад давления уставка, атм.")] + [Range(0.0, 60.0)] [Required] - public double DifferentialPressureMin { get; set; } + public double DifferentialPressure { get; set; } - [Column("weight_on_bit_min"), Comment("Нагрузка минимальная, т")] - [Range(0.1, 99.0)] + [Column("slacking_off"), Comment("Посадка, т.")] + [Range(0.0, 20.0)] [Required] - public double WeightOnBitMin { get; set; } + 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 ProcessMapPlanLoadCapacity? Previous { get; set; } + public virtual ProcessMapPlanRotorLoweringBit? Previous { get; set; } } \ No newline at end of file diff --git a/AsbCloudInfrastructure/DependencyInjection.cs b/AsbCloudInfrastructure/DependencyInjection.cs index 5201ae94..fc9c867c 100644 --- a/AsbCloudInfrastructure/DependencyInjection.cs +++ b/AsbCloudInfrastructure/DependencyInjection.cs @@ -271,6 +271,13 @@ namespace AsbCloudInfrastructure { Item = src.Adapt() }); + + TypeAdapterConfig>.NewConfig() + .Include>() + .Map(dest => dest, src => new ChangeLogDto() + { + Item = src.Adapt() + }); } public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration) @@ -447,6 +454,7 @@ namespace AsbCloudInfrastructure services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); @@ -473,6 +481,7 @@ namespace AsbCloudInfrastructure services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); @@ -566,6 +575,10 @@ namespace AsbCloudInfrastructure IChangeLogRepository, ProcessMapPlanBaseRepository>(); + services.AddTransient< + IChangeLogRepository, + ProcessMapPlanBaseRepository>(); + services.AddTransient>(); services.AddTransient>(); services.AddTransient>(); @@ -586,6 +599,7 @@ namespace AsbCloudInfrastructure services.AddTransient>(); services.AddTransient>(); services.AddTransient>(); + services.AddTransient>(); return services; }