2022-10-25 09:42:08 +05:00
|
|
|
|
using AsbCloudApp.Data;
|
|
|
|
|
using AsbCloudApp.Data.Subsystems;
|
2022-07-18 18:51:49 +05:00
|
|
|
|
using AsbCloudApp.Requests;
|
2022-10-21 15:52:51 +05:00
|
|
|
|
using System;
|
2022-07-14 03:47:11 +05:00
|
|
|
|
using System.Collections.Generic;
|
2022-07-18 18:51:49 +05:00
|
|
|
|
using System.Threading;
|
2022-07-14 03:47:11 +05:00
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace AsbCloudApp.Services.Subsystems
|
|
|
|
|
{
|
2022-09-07 18:01:39 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получение инфо о наработке подсистем
|
|
|
|
|
/// </summary>
|
2022-07-14 03:47:11 +05:00
|
|
|
|
public interface ISubsystemOperationTimeService
|
2022-09-07 18:01:39 +05:00
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Статистика о наработке подсистем
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="request"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2022-08-08 16:53:01 +05:00
|
|
|
|
Task<IEnumerable<SubsystemStatDto>?> GetStatAsync(SubsystemOperationTimeRequest request, CancellationToken token);
|
2022-09-07 18:01:39 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Удаление наработки по подсистемам.
|
|
|
|
|
/// Если удаляется конец, то фоновый сервис подсчета наработки восстановит эти данные.
|
|
|
|
|
/// Может потребоваться для запуска повторного расчета по новому алгоритму.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="request"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2022-07-18 18:51:49 +05:00
|
|
|
|
Task<int> DeleteAsync(SubsystemOperationTimeRequest request, CancellationToken token);
|
2022-09-07 18:01:39 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Интервалы работы подсистем
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="request"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2022-10-20 14:26:36 +05:00
|
|
|
|
Task<IEnumerable<SubsystemOperationTimeDto>?> GetOperationTimeAsync(SubsystemOperationTimeRequest request, CancellationToken token);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Временной диапазон за который есть статистика работы подсистем
|
|
|
|
|
/// </summary>
|
2022-10-21 15:52:51 +05:00
|
|
|
|
/// <param name="request"></param>
|
2022-10-20 14:26:36 +05:00
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2022-10-31 18:59:08 +05:00
|
|
|
|
Task<DatesRangeDto?> GetDateRangeOperationTimeAsync(SubsystemOperationTimeRequest request, CancellationToken token);
|
2023-02-16 16:27:14 +05:00
|
|
|
|
|
2022-10-31 18:59:08 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получение статистики по наработке подсистем по активным скважинам
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idCompany"></param>
|
|
|
|
|
/// <param name="gtDate"></param>
|
|
|
|
|
/// <param name="ltDate"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2022-11-04 17:56:34 +05:00
|
|
|
|
Task<IEnumerable<SubsystemActiveWellStatDto>> GetStatByActiveWells(int idCompany, DateTime? gtDate, DateTime? ltDate, CancellationToken token);
|
2023-02-16 16:27:14 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получение статистики по наработке подсистем по активным скважинам
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="wellIds"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
Task<IEnumerable<SubsystemActiveWellStatDto>> GetStatByActiveWells(IEnumerable<int> wellIds, CancellationToken token);
|
2022-07-14 03:47:11 +05:00
|
|
|
|
}
|
|
|
|
|
}
|