using AsbCloudApp.Data.Subsystems; using AsbCloudApp.Requests; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using AsbCloudApp.Data; namespace AsbCloudApp.Services; /// <summary> /// Получение инфо о наработке подсистем /// </summary> public interface ISubsystemService { /// <summary> /// Статистика о наработке подсистем /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<SubsystemStatDto>> GetStatAsync(SubsystemRequest request, CancellationToken token); /// <summary> /// Получение статистики по наработке подсистем по активным скважинам /// </summary> /// <param name="wellIds"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<SubsystemActiveWellStatDto>> GetStatByActiveWells(IEnumerable<int> wellIds, CancellationToken token); /// <summary> /// Получение статистики по бурильщику /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<DrillerDetectedOperationStatDto>> GetByWellsAsync(GetStatRequest request, CancellationToken token); }