forked from ddrilling/AsbCloudServer
doc AsbCloudApp
This commit is contained in:
parent
b826962ed1
commit
ff357f2794
@ -9,7 +9,7 @@ namespace AsbCloudApp.Comparators
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ComparerIId : IComparer<IId>, IEqualityComparer<IId>
|
public class ComparerIId : IComparer<IId>, IEqualityComparer<IId>
|
||||||
{
|
{
|
||||||
private static readonly ComparerIId instance = new ComparerIId();
|
private static readonly ComparerIId instance = new ();
|
||||||
private ComparerIId() { }
|
private ComparerIId() { }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -52,12 +52,12 @@ namespace AsbCloudApp.Data.DetectedOperation
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// название/описание операции
|
/// название/описание операции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public WellOperationCategoryDto OperationCategory { get; set; }
|
public WellOperationCategoryDto OperationCategory { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Пользователь панели оператора
|
/// Пользователь панели оператора
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string TelemetryUserName { get; set; }
|
public string? TelemetryUserName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Бурильщик
|
/// Бурильщик
|
||||||
|
@ -121,6 +121,7 @@ namespace AsbCloudApp.Data
|
|||||||
public int CompareTo(TimeDto other)
|
public int CompareTo(TimeDto other)
|
||||||
=> TotalSeconds - other.TotalSeconds;
|
=> TotalSeconds - other.TotalSeconds;
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
public override bool Equals(object obj)
|
public override bool Equals(object obj)
|
||||||
{
|
{
|
||||||
if (ReferenceEquals(this, obj))
|
if (ReferenceEquals(this, obj))
|
||||||
@ -141,6 +142,7 @@ namespace AsbCloudApp.Data
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
public override int GetHashCode()
|
public override int GetHashCode()
|
||||||
{
|
{
|
||||||
return base.GetHashCode();
|
return base.GetHashCode();
|
||||||
|
@ -5,14 +5,49 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace AsbCloudApp.Services
|
namespace AsbCloudApp.Services
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Сервис авторизации
|
||||||
|
/// </summary>
|
||||||
public interface IAuthService
|
public interface IAuthService
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Смена пароля пользователю
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idUser"></param>
|
||||||
|
/// <param name="newPassword"></param>
|
||||||
|
/// <returns></returns>
|
||||||
int ChangePassword(int idUser, string newPassword);
|
int ChangePassword(int idUser, string newPassword);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Смена пароля пользователю
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="userLogin"></param>
|
||||||
|
/// <param name="newPassword"></param>
|
||||||
|
/// <returns></returns>
|
||||||
int ChangePassword(string userLogin, string newPassword);
|
int ChangePassword(string userLogin, string newPassword);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Авторизация
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="login"></param>
|
||||||
|
/// <param name="password"></param>
|
||||||
|
/// <param name="token">токен отмены задачи</param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<UserTokenDto> LoginAsync(string login,
|
Task<UserTokenDto> LoginAsync(string login,
|
||||||
string password, CancellationToken token = default);
|
string password, CancellationToken token = default);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Обновление токена авторизации
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="user"></param>
|
||||||
|
/// <returns></returns>
|
||||||
string Refresh(ClaimsPrincipal user);
|
string Refresh(ClaimsPrincipal user);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Регистрация нового пользователя
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="userDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
int Register(UserRegistrationDto userDto);
|
int Register(UserRegistrationDto userDto);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,19 +4,47 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace AsbCloudApp.Services
|
namespace AsbCloudApp.Services
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Сервис выстраивает очередь из фоновых задач. Ограничивает количество одновременно выполняющихся задач.
|
||||||
|
/// </summary>
|
||||||
public interface IBackgroundWorkerService
|
public interface IBackgroundWorkerService
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Проверка, есть ли задача в очереди
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id">идентификатор задачи</param>
|
||||||
|
/// <returns></returns>
|
||||||
bool Contains(string id);
|
bool Contains(string id);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавляет в очередь задач новую задачу
|
/// Добавляет в очередь задач новую задачу
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id">id задачи в очереди</param>
|
/// <param name="id">идентификатор задачи</param>
|
||||||
/// <param name="func">делегат</param>
|
/// <param name="func">делегат</param>
|
||||||
/// <returns>id задачи в очереди</returns>
|
/// <returns>id задачи в очереди</returns>
|
||||||
string Enqueue(string id, Func<string, CancellationToken, Task> func);
|
string Enqueue(string id, Func<string, CancellationToken, Task> func);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Добавляет в очередь задач новую задачу
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="func"></param>
|
||||||
|
/// <returns></returns>
|
||||||
string Enqueue(Func<string, CancellationToken, Task> func);
|
string Enqueue(Func<string, CancellationToken, Task> func);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Добавляет в очередь задач новую задачу
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id">идентификатор задачи</param>
|
||||||
|
/// <param name="func"></param>
|
||||||
|
/// <param name="onError"></param>
|
||||||
|
/// <returns></returns>
|
||||||
string Enqueue(string id, Func<string, CancellationToken, Task> func, Func<string, Exception, CancellationToken, Task> onError);
|
string Enqueue(string id, Func<string, CancellationToken, Task> func, Func<string, Exception, CancellationToken, Task> onError);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Пробуем удалить задачу по идентификатору
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
bool TryRemove(string id);
|
bool TryRemove(string id);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,16 +5,57 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace AsbCloudApp.Services
|
namespace AsbCloudApp.Services
|
||||||
{
|
{
|
||||||
|
//TODO: remove unused methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Сервис информации о кустах
|
||||||
|
/// </summary>
|
||||||
public interface IClusterService
|
public interface IClusterService
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// список месторождений
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idCompany"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<IEnumerable<DepositDto>> GetDepositsAsync(int idCompany,
|
Task<IEnumerable<DepositDto>> GetDepositsAsync(int idCompany,
|
||||||
CancellationToken token);
|
CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Список кустов с заполненными параметрами бурения
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idCompany"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<IEnumerable<DepositDto>> GetDepositsDrillParamsAsync(int idCompany,
|
Task<IEnumerable<DepositDto>> GetDepositsDrillParamsAsync(int idCompany,
|
||||||
CancellationToken token = default);
|
CancellationToken token = default);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Список кустов месторождения доступных компании
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idCompany"></param>
|
||||||
|
/// <param name="depositId"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<IEnumerable<ClusterDto>> GetClustersAsync(int idCompany,
|
Task<IEnumerable<ClusterDto>> GetClustersAsync(int idCompany,
|
||||||
int depositId, CancellationToken token);
|
int depositId, CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Список кустов доступных компании
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idCompany"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<IEnumerable<ClusterDto>> GetClustersAsync(int idCompany,
|
Task<IEnumerable<ClusterDto>> GetClustersAsync(int idCompany,
|
||||||
CancellationToken token);
|
CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Список скважин доступных компании
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idCompany"></param>
|
||||||
|
/// <param name="clusterId"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<IEnumerable<WellDto>> GetWellsAsync(int idCompany,
|
Task<IEnumerable<WellDto>> GetWellsAsync(int idCompany,
|
||||||
int clusterId, CancellationToken token);
|
int clusterId, CancellationToken token);
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,12 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace AsbCloudApp.Services
|
namespace AsbCloudApp.Services
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Суточный рапорт (сводка)
|
||||||
|
/// </summary>
|
||||||
public interface IDailyReportService
|
public interface IDailyReportService
|
||||||
{
|
{
|
||||||
|
|
||||||
Task<IEnumerable<DailyReportDto>> GetListAsync(int idWell, DateTime? v1, DateTime? v2, CancellationToken cancellationToken);
|
Task<IEnumerable<DailyReportDto>> GetListAsync(int idWell, DateTime? v1, DateTime? v2, CancellationToken cancellationToken);
|
||||||
Task<DailyReportDto> GetOrGenerateAsync(int idWell, DateTime date, CancellationToken token);
|
Task<DailyReportDto> GetOrGenerateAsync(int idWell, DateTime date, CancellationToken token);
|
||||||
Task<int> AddAsync(int idWell, DailyReportDto dto, CancellationToken token = default);
|
Task<int> AddAsync(int idWell, DailyReportDto dto, CancellationToken token = default);
|
||||||
|
@ -9,12 +9,50 @@ using System.Threading.Tasks;
|
|||||||
namespace AsbCloudApp.Services
|
namespace AsbCloudApp.Services
|
||||||
{
|
{
|
||||||
#nullable enable
|
#nullable enable
|
||||||
|
/// <summary>
|
||||||
|
/// Сервис автоматически определенных по телеметрии операций
|
||||||
|
/// </summary>
|
||||||
public interface IDetectedOperationService
|
public interface IDetectedOperationService
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Список названий операций.
|
||||||
|
/// Если указан idWell, то возвращается список названий операций найденных на указанной скважине.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idWell"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<IEnumerable<WellOperationCategoryDto>?> GetCategoriesAsync(int? idWell, CancellationToken token);
|
Task<IEnumerable<WellOperationCategoryDto>?> GetCategoriesAsync(int? idWell, CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить автоматически определенные по телеметрии операции с анализом по бурильщикам
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<DetectedOperationListDto?> GetAsync(DetectedOperationRequest request, CancellationToken token);
|
Task<DetectedOperationListDto?> GetAsync(DetectedOperationRequest request, CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Удалить операции
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<int> DeleteAsync(DetectedOperationRequest request, CancellationToken token);
|
Task<int> DeleteAsync(DetectedOperationRequest request, CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Статистика по операциям
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<IEnumerable<DetectedOperationStatDto>?> GetOperationsStatAsync(DetectedOperationRequest request, CancellationToken token);
|
Task<IEnumerable<DetectedOperationStatDto>?> GetOperationsStatAsync(DetectedOperationRequest request, CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Выгрузка в Excel
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idsWells"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<Stream> ExportAsync(IEnumerable<int> idsWells, CancellationToken token);
|
Task<Stream> ExportAsync(IEnumerable<int> idsWells, CancellationToken token);
|
||||||
}
|
}
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
@ -131,7 +131,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
|||||||
request = new DetectedOperationRequest
|
request = new DetectedOperationRequest
|
||||||
{
|
{
|
||||||
IdWell = 1,
|
IdWell = 1,
|
||||||
IdCategory = 1
|
IdsCategories = new int[] { 1 },
|
||||||
};
|
};
|
||||||
AsbCloudInfrastructure.DependencyInjection.MapsterSetup();
|
AsbCloudInfrastructure.DependencyInjection.MapsterSetup();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user