forked from ddrilling/AsbCloudServer
24232d4f36
Сделана оптимизация получения фиктивного рапорта. Получение диапозона дат операций по скважине вынес в репозиторий. Избавился от получения всего списка фактический операций.
118 lines
4.6 KiB
C#
118 lines
4.6 KiB
C#
using AsbCloudApp.Data;
|
||
using AsbCloudApp.Requests;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Threading;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace AsbCloudApp.Repositories
|
||
{
|
||
/// <summary>
|
||
/// сервис операций по скважине
|
||
/// </summary>
|
||
public interface IWellOperationRepository
|
||
{
|
||
/// <summary>
|
||
/// список названий операций
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
IEnumerable<WellOperationCategoryDto> GetCategories(bool includeParents);
|
||
|
||
/// <summary>
|
||
/// Список секций
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
IEnumerable<WellSectionTypeDto> GetSectionTypes();
|
||
|
||
/// <summary>
|
||
/// список плановых операций для сопоставления
|
||
/// <param name="idWell"></param>
|
||
/// <param name="currentDate"></param>
|
||
/// <param name="token"></param>
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
Task<WellOperationPlanDto> GetOperationsPlanAsync(int idWell, DateTime? currentDate, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// дата/время первой операции по скважине
|
||
/// </summary>
|
||
/// <param name="idWell"></param>
|
||
/// <returns></returns>
|
||
DateTimeOffset? FirstOperationDate(int idWell);
|
||
|
||
/// <summary>
|
||
/// Получить страницу списка операций
|
||
/// </summary>
|
||
/// <param name="request"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<IEnumerable<WellOperationDto>> GetAsync(WellOperationRequest request, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Получить страницу списка операций
|
||
/// </summary>
|
||
/// <param name="request"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<PaginationContainer<WellOperationDto>> GetPageAsync(WellOperationRequest request, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Получить операцию по id
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<WellOperationDto?> GetOrDefaultAsync(int id, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Получить статистику операции по скважине с группировкой по категориям
|
||
/// </summary>
|
||
/// <param name="request"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<IEnumerable<WellGroupOpertionDto>> GetGroupOperationsStatAsync(
|
||
WellOperationRequest request,
|
||
CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Добавить несколько операций за один раз
|
||
/// </summary>
|
||
/// <param name="wellOperationDtos"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<int> InsertRangeAsync(IEnumerable<WellOperationDto> wellOperationDtos, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Обновить существующую операцию
|
||
/// </summary>
|
||
/// <param name="dto"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<int> UpdateAsync(WellOperationDto dto, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Удалить операции по id
|
||
/// </summary>
|
||
/// <param name="ids"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<int> DeleteAsync(IEnumerable<int> ids, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Получить секции скважин из операций ГГД. Секцие поделены на плановые и фактические.
|
||
/// </summary>
|
||
/// <param name="idsWells"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<IEnumerable<SectionByOperationsDto>> GetSectionsAsync(IEnumerable<int> idsWells, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Получить диапазон дат выполнения операций
|
||
/// </summary>
|
||
/// <param name="idWell"></param>
|
||
/// <param name="idType"></param>
|
||
/// <param name="cancellationToken"></param>
|
||
/// <returns></returns>
|
||
Task<DatesRangeDto?> GetDatesRangeAsync(int idWell, int idType, CancellationToken cancellationToken);
|
||
}
|
||
} |