diff --git a/AsbCloudInfrastructure/Repository/WellOperationRepository.cs b/AsbCloudInfrastructure/Repository/WellOperationRepository.cs
index 2467e470..96b23b96 100644
--- a/AsbCloudInfrastructure/Repository/WellOperationRepository.cs
+++ b/AsbCloudInfrastructure/Repository/WellOperationRepository.cs
@@ -356,7 +356,7 @@ namespace AsbCloudInfrastructure.Repository
IdWellSectionType = o.IdWellSectionType,
IdCategory = o.IdCategory,
- CategoryName = o.WellSectionType.Caption,
+ CategoryName = o.OperationCategory.Name,
WellSectionTypeName = o.WellSectionType.Caption,
DateStart = DateTime.SpecifyKind(o.DateStart.UtcDateTime + timeZoneOffset, DateTimeKind.Unspecified),
@@ -375,8 +375,7 @@ namespace AsbCloudInfrastructure.Repository
.Where(subOp => subOp.IdType == o.IdType)
.Where(subOp => subOp.DateStart <= o.DateStart)
.Min(subOp => subOp.DateStart))
- .TotalDays,
-
+ .TotalDays
});
if (request.SortFields?.Any() == true)
diff --git a/AsbCloudWebApi/Controllers/WellOperationController.cs b/AsbCloudWebApi/Controllers/WellOperationController.cs
index 95bbec44..a674b365 100644
--- a/AsbCloudWebApi/Controllers/WellOperationController.cs
+++ b/AsbCloudWebApi/Controllers/WellOperationController.cs
@@ -86,16 +86,18 @@ namespace AsbCloudWebApi.Controllers
}
///
- /// Отфильтрованный список операций на скважине. Если не применять фильтр, то вернется весь список. Сортированный по глубине затем по дате
+ /// Отфильтрованный список фактических операций на скважине.
+ /// Если не применять фильтр, то вернется весь список. Сортированный по глубине затем по дате
///
/// id скважины
///
///
/// Список операций на скважине
[HttpGet]
+ [Route("fact")]
[Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
- public async Task GetOperationsAsync(
+ public async Task GetPageOperationsFactAsync(
[FromRoute] int idWell,
[FromQuery] WellOperationRequestBase request,
CancellationToken token)
@@ -111,6 +113,34 @@ namespace AsbCloudWebApi.Controllers
return Ok(result);
}
+ ///
+ /// Отфильтрованный список плановых операций на скважине.
+ /// Если не применять фильтр, то вернется весь список. Сортированный по глубине затем по дате
+ ///
+ /// id скважины
+ ///
+ ///
+ /// Список операций на скважине в контейнере для постраничного просмотра
+ [HttpGet]
+ [Route("plan")]
+ [Permission]
+ [ProducesResponseType(typeof(PaginationContainer), (int)System.Net.HttpStatusCode.OK)]
+ public async Task GetPageOperationsPlanAsync(
+ [FromRoute] int idWell,
+ [FromQuery] WellOperationRequestBase request,
+ CancellationToken token)
+ {
+ if (!await CanUserAccessToWellAsync(idWell, token).ConfigureAwait(false))
+ return Forbid();
+
+ var requestToService = new WellOperationRequest(request, idWell);
+ var result = await operationRepository.GetPageAsync(
+ requestToService,
+ token)
+ .ConfigureAwait(false);
+ return Ok(result);
+ }
+
///
/// Статистика операций по скважине, группированая по категориям
///