Правка по результатм ревью

This commit is contained in:
Оля Бизюкова 2024-05-28 00:05:21 +05:00
parent 28d9e74e45
commit 98b99a041a
11 changed files with 66 additions and 39 deletions

View File

@ -21,7 +21,7 @@ namespace AsbCloudApp.Extensions
/// <param name="moment"></param>
/// <returns></returns>
public static IEnumerable<ChangeLogDto<T>> WhereActualAtMoment<T>(this IEnumerable<ChangeLogDto<T>> items, DateTimeOffset moment)
where T : ProcessMapPlanBaseDto
where T : IId
{
var actualItems = items
.Where(item => item.Creation <= moment)

View File

@ -11,7 +11,7 @@ namespace AsbCloudApp.Repositories;
/// Репозиторий для записей с историей
/// </summary>
public interface IChangeLogRepository<TDto, TRequest>
where TDto : IId
where TDto : AsbCloudApp.Data.IId
where TRequest : ChangeLogBaseRequest
{
/// <summary>
@ -78,10 +78,10 @@ public interface IChangeLogRepository<TDto, TRequest>
Task<IEnumerable<DateOnly>> GetDatesChange(TRequest request, CancellationToken token);
/// <summary>
/// Получение журнала изменений
/// Получение измененных записей за определенную дату
/// </summary>
/// <param name="request"></param>
/// <param name="date">Фильтр по дате. Если null - вернет все</param>
/// <param name="date">Фильтр по дате. Если null - вернет все записи, без привязки к дате</param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<ChangeLogDto<TDto>>> GetChangeLog(TRequest request, DateOnly? date, CancellationToken token);

View File

@ -34,6 +34,6 @@ namespace AsbCloudApp.Repositories
/// <param name="idWell"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<ProcessMapPlanDrillingDto>> GetCompositeProcessMap(int idWell, CancellationToken token);
IEnumerable<ProcessMapPlanDrillingDto> GetCompositeProcessMap(int idWell, CancellationToken token);
}
}

View File

@ -11,4 +11,21 @@ public class ChangeLogBaseRequest
/// Дата/время на которую записи были актуальны. Если не задано, то возвращаются все данные без учета их актуальности
/// </summary>
public DateTimeOffset? Moment { get; set; }
/// <summary>
/// Конструктор
/// </summary>
public ChangeLogBaseRequest()
{
}
/// <summary>
/// Копирующий конструктор
/// </summary>
/// <param name="request"></param>
public ChangeLogBaseRequest(ChangeLogBaseRequest request)
{
Moment = request.Moment;
}
}

View File

@ -1,23 +1,39 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Requests;
/// <summary>
/// Запрос для получения РТК план
/// </summary>
public class ProcessMapPlanBaseRequest: ChangeLogBaseRequest
public class ProcessMapPlanBaseRequest : ChangeLogBaseRequest
{
/// <summary>
/// Вернуть данные, которые поменялись с указанной даты
/// </summary>
public DateTimeOffset? UpdateFrom { get; set; }
/// <summary>
/// Конструктор
/// </summary>
public ProcessMapPlanBaseRequest()
{
}
/// <summary>
/// Копирующий конструктор
/// </summary>
/// <param name="request">Параметры запроса</param>
public ProcessMapPlanBaseRequest(ProcessMapPlanBaseRequest request) : base(request)
{
UpdateFrom = request.UpdateFrom;
}
}
/// <summary>
/// Запрос для получения РТК план по скважине
/// </summary>
public class ProcessMapPlanBaseRequestWithWell: ProcessMapPlanBaseRequest
public class ProcessMapPlanBaseRequestWithWell : ProcessMapPlanBaseRequest
{
/// <summary>
/// Запрос для получения РТК план по скважине
@ -34,8 +50,9 @@ public class ProcessMapPlanBaseRequestWithWell: ProcessMapPlanBaseRequest
/// <param name="request"></param>
/// <param name="idWell"></param>
public ProcessMapPlanBaseRequestWithWell(ProcessMapPlanBaseRequest request, int idWell)
: base(request)
{
IdWell=idWell;
IdWell = idWell;
UpdateFrom = request.UpdateFrom;
Moment = request.Moment;
}

View File

@ -1,18 +1,17 @@
using AsbCloudApp.Data;
using AsbCloudApp.Data.DailyReport.Blocks.TimeBalance;
using AsbCloudApp.Data.DetectedOperation;
using AsbCloudApp.Data.DrillTestReport;
using AsbCloudApp.Data.Manuals;
using AsbCloudApp.Data.ProcessMaps;
using AsbCloudApp.Data.SAUB;
using AsbCloudApp.Data.Subsystems;
using AsbCloudApp.Data.Trajectory;
using AsbCloudApp.Data.WellOperationImport.Options;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Services;
using AsbCloudApp.Services.DailyReport;
using AsbCloudApp.Services.Notifications;
using AsbCloudApp.Services.ProcessMaps;
using AsbCloudApp.Services.ProcessMaps.WellDrilling;
using AsbCloudDb.Model;
using AsbCloudDb.Model.DailyReports.Blocks.TimeBalance;
@ -27,14 +26,15 @@ using AsbCloudInfrastructure.Services.DailyReport;
using AsbCloudInfrastructure.Services.DetectOperations;
using AsbCloudInfrastructure.Services.DrillingProgram;
using AsbCloudInfrastructure.Services.DrillTestReport;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Parser;
using AsbCloudInfrastructure.Services.ProcessMaps;
using AsbCloudInfrastructure.Services.ProcessMaps.Report;
using AsbCloudInfrastructure.Services.SAUB;
using AsbCloudInfrastructure.Services.Subsystems;
using AsbCloudInfrastructure.Services.Trajectory;
using AsbCloudInfrastructure.Services.Trajectory.Export;
using AsbCloudInfrastructure.Services.Trajectory.Parser;
using AsbCloudInfrastructure.Services.WellOperations.Factories;
using AsbCloudInfrastructure.Services.WellOperationService;
using Mapster;
using Microsoft.EntityFrameworkCore;
@ -42,13 +42,6 @@ using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using System;
using AsbCloudApp.Data.DetectedOperation;
using AsbCloudInfrastructure.Services.ProcessMapPlan.Export;
using AsbCloudInfrastructure.Services.WellOperations.Factories;
using AsbCloudDb.Model.ProcessMapPlan;
using static Org.BouncyCastle.Math.EC.ECCurve;
using AsbCloudApp.Data.User;
using DocumentFormat.OpenXml.Drawing;
namespace AsbCloudInfrastructure
{
@ -60,15 +53,15 @@ namespace AsbCloudInfrastructure
.ForType<SetpointsRequestDto, SetpointsRequest>()
.Ignore(source => source.Author)
.Ignore(source => source.Well);
TypeAdapterConfig.GlobalSettings.Default.Config
.ForType<DetectedOperationDto, DetectedOperation>()
.Ignore(source => source.OperationCategory);
TypeAdapterConfig.GlobalSettings.Default.Config
.ForType<ScheduleDto, Schedule>()
.Ignore(source => source.Driller);
TypeAdapterConfig.GlobalSettings.Default.Config
.ForType<DateTimeOffset, DateTime>()
.MapWith((source) => source.DateTime);
@ -136,7 +129,7 @@ namespace AsbCloudInfrastructure
.Include<ProcessMapPlanDrilling, ChangeLogDto<ProcessMapPlanDrillingDto>>()
.Map(dest => dest, src => new ChangeLogDto<ProcessMapPlanDrillingDto>()
{
Item = src.Adapt<ProcessMapPlanDrillingDto>()
Item = src.Adapt<ProcessMapPlanDrillingDto>()
});
}
@ -304,7 +297,7 @@ namespace AsbCloudInfrastructure
services.AddTransient<TrajectoryFactManualParser>();
services.AddTransient<ProcessMapPlanDrillingParser>();
services.AddTransient<ProcessMapPlanReamParser>();
services.AddTransient<TrajectoryPlanExportService>();
services.AddTransient<TrajectoryFactManualExportService>();
services.AddTransient<TrajectoryFactNnbExportService>();
@ -314,7 +307,7 @@ namespace AsbCloudInfrastructure
services.AddTransient<WellOperationParserFactory>();
services.AddTransient<WellOperationExportServiceFactory>();
return services;
}
}

View File

@ -16,7 +16,7 @@ using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Repository;
public abstract class ChangeLogRepositoryAbstract<TDto, TEntity, TRequest> : IChangeLogRepository<TDto, TRequest>
where TDto : ProcessMapPlanBaseDto
where TDto : AsbCloudApp.Data.IId
where TEntity : ChangeLogAbstract
where TRequest : ChangeLogBaseRequest
{

View File

@ -11,7 +11,7 @@ using System.Linq;
namespace AsbCloudInfrastructure.Repository;
public class ProcessMapPlanBaseRepository<TDto, TEntity> : ChangeLogRepositoryAbstract<TDto, TEntity, ProcessMapPlanBaseRequestWithWell>
where TDto : ProcessMapPlanBaseDto
where TDto : AsbCloudApp.Data.IId
where TEntity : ProcessMapPlanBase
{
private readonly IWellService wellService;

View File

@ -51,9 +51,10 @@ public class WellCompositeRepository : IWellCompositeRepository
}
/// <inheritdoc/>
public async Task<IEnumerable<ProcessMapPlanDrillingDto>> GetCompositeProcessMap(int idWell, CancellationToken token)
public IEnumerable<ProcessMapPlanDrillingDto> GetCompositeProcessMap(int idWell, CancellationToken token)
{
return await Task.FromResult(Enumerable.Empty<ProcessMapPlanDrillingDto>());
throw new NotImplementedException();
//return await Task.FromResult(Enumerable.Empty<ProcessMapPlanDrillingDto>());
}
private static WellComposite Convert(int idWell, WellCompositeDto dto)

View File

@ -79,7 +79,7 @@ namespace AsbCloudWebApi.Controllers
if (!await CanUserAccessToWellAsync(idWell, token).ConfigureAwait(false))
return Forbid();
var result = await wellCompositeRepository.GetCompositeProcessMap(idWell, token).ConfigureAwait(false);
var result = wellCompositeRepository.GetCompositeProcessMap(idWell, token);
return Ok(result);
}

View File

@ -1,25 +1,24 @@
using AsbCloudApp.Data.GTR;
using AsbCloudApp.IntegrationEvents;
using AsbCloudApp.IntegrationEvents.Interfaces;
using AsbCloudApp.Repositories;
using AsbCloudApp.Services.Notifications;
using AsbCloudDb.Model;
using AsbCloudInfrastructure.Services;
using AsbCloudInfrastructure.Services.Email;
using AsbCloudWebApi.SignalR;
using AsbCloudWebApi.SignalR.Services;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens;
using Microsoft.OpenApi.Any;
using Microsoft.OpenApi.Models;
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Threading.Tasks;
using AsbCloudApp.IntegrationEvents;
using AsbCloudApp.IntegrationEvents.Interfaces;
using AsbCloudApp.Services.Notifications;
using AsbCloudInfrastructure.Services.Email;
using AsbCloudWebApi.SignalR;
using AsbCloudWebApi.SignalR.Services;
using Microsoft.AspNetCore.Mvc;
using Microsoft.OpenApi.Any;
using Swashbuckle.AspNetCore.SwaggerGen;
namespace AsbCloudWebApi
{