diff --git a/AsbCloudApp/Data/DrillFlowChartParamsDto.cs b/AsbCloudApp/Data/DrillFlowChartDto.cs similarity index 94% rename from AsbCloudApp/Data/DrillFlowChartParamsDto.cs rename to AsbCloudApp/Data/DrillFlowChartDto.cs index 086402c0..120ffcaa 100644 --- a/AsbCloudApp/Data/DrillFlowChartParamsDto.cs +++ b/AsbCloudApp/Data/DrillFlowChartDto.cs @@ -2,7 +2,7 @@ using System; namespace AsbCloudApp.Data { - public class DrillFlowChartParamsDto : IId + public class DrillFlowChartDto : IId { public int Id { get; set; } diff --git a/AsbCloudApp/Services/IDrillFlowChartService.cs b/AsbCloudApp/Services/IDrillFlowChartService.cs index a144fa4f..cef9877c 100644 --- a/AsbCloudApp/Services/IDrillFlowChartService.cs +++ b/AsbCloudApp/Services/IDrillFlowChartService.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -5,18 +6,18 @@ using AsbCloudApp.Data; namespace AsbCloudApp.Services { - public interface IDrillFlowChartService : ICrudService + public interface IDrillFlowChartService : ICrudService { - Task> GetAllAsync(int idWell, - CancellationToken token = default); + Task> GetAllAsync(int idWell, + DateTime updateFrom, CancellationToken token = default); - Task InsertAsync(int idWell, DrillFlowChartParamsDto dto, + Task InsertAsync(int idWell, DrillFlowChartDto dto, CancellationToken token = default); - Task InsertRangeAsync(int idWell, IEnumerable dtos, + Task InsertRangeAsync(int idWell, IEnumerable dtos, CancellationToken token = default); - Task UpdateAsync(int idWell, int idDto, DrillFlowChartParamsDto dto, + Task UpdateAsync(int idWell, int idDto, DrillFlowChartDto dto, CancellationToken token = default); } } \ No newline at end of file diff --git a/AsbCloudDb/Model/AsbCloudDbContext.cs b/AsbCloudDb/Model/AsbCloudDbContext.cs index f37b9c8b..9be19303 100644 --- a/AsbCloudDb/Model/AsbCloudDbContext.cs +++ b/AsbCloudDb/Model/AsbCloudDbContext.cs @@ -36,7 +36,7 @@ namespace AsbCloudDb.Model public virtual DbSet WellSectionTypes { get; set; } public virtual DbSet WellTypes { get; set; } public virtual DbSet DrillParams { get; set; } - public virtual DbSet DrillFlowChartParams { get; set; } + public virtual DbSet DrillFlowChart { get; set; } //var options = new DbContextOptionsBuilder() // .UseNpgsql("Host=localhost;Database=postgres;Username=postgres;Password=q;Persist Security Info=True") diff --git a/AsbCloudDb/Model/DrillFlowChartParams.cs b/AsbCloudDb/Model/DrillFlowChart.cs similarity index 98% rename from AsbCloudDb/Model/DrillFlowChartParams.cs rename to AsbCloudDb/Model/DrillFlowChart.cs index 8d035fd9..ad950c64 100644 --- a/AsbCloudDb/Model/DrillFlowChartParams.cs +++ b/AsbCloudDb/Model/DrillFlowChart.cs @@ -7,7 +7,7 @@ using System.Text.Json.Serialization; namespace AsbCloudDb.Model { [Table("t_drill_flow_chart_params"), Comment("Параметры корридоров бурения (диапазоны параметров бурения)")] - public class DrillFlowChartParams : IId + public class DrillFlowChart : IId { [Key] [Column("id")] diff --git a/AsbCloudDb/Model/IAsbCloudDbContext.cs b/AsbCloudDb/Model/IAsbCloudDbContext.cs index a2ff7544..6ff27c09 100644 --- a/AsbCloudDb/Model/IAsbCloudDbContext.cs +++ b/AsbCloudDb/Model/IAsbCloudDbContext.cs @@ -34,7 +34,7 @@ namespace AsbCloudDb.Model DbSet MeasureCategories { get; set; } DbSet TelemetryDataSpin { get; set; } DbSet DrillParams { get; set; } - DbSet DrillFlowChartParams { get; set; } + DbSet DrillFlowChart { get; set; } DatabaseFacade Database { get; } diff --git a/AsbCloudInfrastructure/Services/DrillFlowChartService.cs b/AsbCloudInfrastructure/Services/DrillFlowChartService.cs index adf5e475..064bef78 100644 --- a/AsbCloudInfrastructure/Services/DrillFlowChartService.cs +++ b/AsbCloudInfrastructure/Services/DrillFlowChartService.cs @@ -11,7 +11,7 @@ using Mapster; namespace AsbCloudInfrastructure.Services { - public class DrillFlowChartService : CrudServiceBase, + public class DrillFlowChartService : CrudServiceBase, IDrillFlowChartService { private readonly IAsbCloudDbContext db; @@ -24,21 +24,22 @@ namespace AsbCloudInfrastructure.Services this.telemetryService = telemetryService; } - public async Task> GetAllAsync(int idWell, - CancellationToken token = default) + public async Task> GetAllAsync(int idWell, + DateTime updateFrom, CancellationToken token = default) { - var entities = await (from p in db.DrillFlowChartParams - where p.IdWell == idWell + var entities = await (from p in db.DrillFlowChart + where p.IdWell == idWell && + p.LastUpdate >= updateFrom orderby p.Id select p) .ToListAsync(token) .ConfigureAwait(false); - var dto = entities.Adapt(); + var dto = entities.Adapt(); return dto; } - public async Task InsertAsync(int idWell, DrillFlowChartParamsDto dto, + public async Task InsertAsync(int idWell, DrillFlowChartDto dto, CancellationToken token = default) { dto.IdWell = idWell; @@ -49,7 +50,7 @@ namespace AsbCloudInfrastructure.Services return result; } - public async Task InsertRangeAsync(int idWell, IEnumerable dtos, + public async Task InsertRangeAsync(int idWell, IEnumerable dtos, CancellationToken token = default) { foreach (var dto in dtos) @@ -63,7 +64,7 @@ namespace AsbCloudInfrastructure.Services return result; } - public async Task UpdateAsync(int idWell, int idDto, DrillFlowChartParamsDto dto, + public async Task UpdateAsync(int idWell, int idDto, DrillFlowChartDto dto, CancellationToken token = default) { dto.IdWell = idWell; diff --git a/AsbCloudWebApi/Controllers/DrillFlowChartController.cs b/AsbCloudWebApi/Controllers/DrillFlowChartController.cs index 3023e878..2f203e75 100644 --- a/AsbCloudWebApi/Controllers/DrillFlowChartController.cs +++ b/AsbCloudWebApi/Controllers/DrillFlowChartController.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace AsbCloudWebApi.Controllers /// /// Контроллер для корридоров бурения на панели /// - [Route("api/drillFlowChartParams/{idWell}")] + [Route("api/well/{idWell}/drillFlowChart/")] [ApiController] public class DrillFlowChartController : ControllerBase { @@ -30,11 +31,13 @@ namespace AsbCloudWebApi.Controllers /// Возвращает все значения для корридоров бурения по id скважины /// /// id скважины + /// Дата, с которой следует искать новые параметры /// Токен отмены задачи /// Список параметров для корридоров бурения - [HttpGet("paramsByIdWell")] - [ProducesResponseType(typeof(IEnumerable), (int) System.Net.HttpStatusCode.OK)] - public async Task GetAllAsync(int idWell, CancellationToken token = default) + [HttpGet] + [ProducesResponseType(typeof(IEnumerable), (int) System.Net.HttpStatusCode.OK)] + public async Task GetAllAsync(int idWell, DateTime updateFrom, + CancellationToken token = default) { var idCompany = User.GetCompanyId(); @@ -42,7 +45,8 @@ namespace AsbCloudWebApi.Controllers idWell, token).ConfigureAwait(false)) return Forbid(); - var dto = await drillFlowChartService.GetAllAsync(idWell, token); + var dto = await drillFlowChartService.GetAllAsync(idWell, + updateFrom, token); return Ok(dto); } @@ -51,11 +55,12 @@ namespace AsbCloudWebApi.Controllers /// Возвращает все значения для корридоров бурения по uid панели /// /// uid панели + /// Дата, с которой следует искать новые параметры /// Токен отмены задачи /// Список параметров для корридоров бурения - [HttpGet] - [ProducesResponseType(typeof(IEnumerable), (int) System.Net.HttpStatusCode.OK)] - public async Task GetAllAsync(string uid, CancellationToken token = default) + [HttpGet("{uid}")] + [ProducesResponseType(typeof(IEnumerable), (int) System.Net.HttpStatusCode.OK)] + public async Task GetAllAsync(string uid, DateTime updateFrom, CancellationToken token = default) { var idCompany = User.GetCompanyId(); @@ -65,7 +70,8 @@ namespace AsbCloudWebApi.Controllers (int)idWell, token).ConfigureAwait(false)) return Forbid(); - var dto = await drillFlowChartService.GetAllAsync((int)idWell, token); + var dto = await drillFlowChartService.GetAllAsync((int)idWell, + updateFrom, token); return Ok(dto); } @@ -74,13 +80,13 @@ namespace AsbCloudWebApi.Controllers /// Сохраняет значения для корридоров бурения /// /// id скважины - /// Параметры корридоров бурения + /// Параметры корридоров бурения /// Токен отмены задачи /// [HttpPost] [ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)] public async Task InsertAsync(int idWell, - DrillFlowChartParamsDto drillFlowChartParamsDto, CancellationToken token = default) + DrillFlowChartDto drillFlowChartDto, CancellationToken token = default) { var idCompany = User.GetCompanyId(); @@ -88,7 +94,7 @@ namespace AsbCloudWebApi.Controllers idWell, token).ConfigureAwait(false)) return Forbid(); - var result = await drillFlowChartService.InsertAsync(idWell, drillFlowChartParamsDto, token); + var result = await drillFlowChartService.InsertAsync(idWell, drillFlowChartDto, token); return Ok(result); } @@ -103,7 +109,7 @@ namespace AsbCloudWebApi.Controllers [HttpPost("range")] [ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)] public async Task InsertRangeAsync(int idWell, - IEnumerable drillFlowChartParams, CancellationToken token = default) + IEnumerable drillFlowChartParams, CancellationToken token = default) { var idCompany = User.GetCompanyId(); @@ -121,13 +127,13 @@ namespace AsbCloudWebApi.Controllers /// Изменяет значения выбранного корридора бурения /// /// id скважины - /// Параметры корридоров бурения + /// Параметры корридоров бурения /// Токен отмены задачи /// [HttpPut] [ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)] public async Task EditAsync(int idWell, - DrillFlowChartParamsDto drillFlowChartParams, CancellationToken token = default) + DrillFlowChartDto drillFlowChart, CancellationToken token = default) { var idCompany = User.GetCompanyId(); @@ -136,7 +142,7 @@ namespace AsbCloudWebApi.Controllers return Forbid(); var result = await drillFlowChartService.UpdateAsync(idWell, - drillFlowChartParams, token); + drillFlowChart, token); return Ok(result); } diff --git a/AsbCloudWebApi/Controllers/DrillParamsController.cs b/AsbCloudWebApi/Controllers/DrillParamsController.cs index dcf0b776..5627dcde 100644 --- a/AsbCloudWebApi/Controllers/DrillParamsController.cs +++ b/AsbCloudWebApi/Controllers/DrillParamsController.cs @@ -10,7 +10,7 @@ namespace AsbCloudWebApi.Controllers /// /// Контроллер для режимов бурения /// - [Route("api/drillParams/{idWell}")] + [Route("api/well/{idWell}/drillParams/")] [ApiController] public class DrillParamsController : ControllerBase {