forked from ddrilling/AsbCloudServer
1. Разделение методов получения фактических и плановых операций (GetPageOperationsPlanAsync и GetPageOperationsFactAsync)
2. Фикс получения категории операции в BuildQuery
This commit is contained in:
parent
c15c0e5522
commit
c7c5de563a
@ -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)
|
||||
|
@ -86,16 +86,18 @@ namespace AsbCloudWebApi.Controllers
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Отфильтрованный список операций на скважине. Если не применять фильтр, то вернется весь список. Сортированный по глубине затем по дате
|
||||
/// Отфильтрованный список фактических операций на скважине.
|
||||
/// Если не применять фильтр, то вернется весь список. Сортированный по глубине затем по дате
|
||||
/// </summary>
|
||||
/// <param name="idWell">id скважины</param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns>Список операций на скважине</returns>
|
||||
[HttpGet]
|
||||
[Route("fact")]
|
||||
[Permission]
|
||||
[ProducesResponseType(typeof(IEnumerable<WellOperationDto>), (int)System.Net.HttpStatusCode.OK)]
|
||||
public async Task<IActionResult> GetOperationsAsync(
|
||||
public async Task<IActionResult> GetPageOperationsFactAsync(
|
||||
[FromRoute] int idWell,
|
||||
[FromQuery] WellOperationRequestBase request,
|
||||
CancellationToken token)
|
||||
@ -111,6 +113,34 @@ namespace AsbCloudWebApi.Controllers
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Отфильтрованный список плановых операций на скважине.
|
||||
/// Если не применять фильтр, то вернется весь список. Сортированный по глубине затем по дате
|
||||
/// </summary>
|
||||
/// <param name="idWell">id скважины</param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns>Список операций на скважине в контейнере для постраничного просмотра</returns>
|
||||
[HttpGet]
|
||||
[Route("plan")]
|
||||
[Permission]
|
||||
[ProducesResponseType(typeof(PaginationContainer<WellOperationDto>), (int)System.Net.HttpStatusCode.OK)]
|
||||
public async Task<IActionResult> 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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Статистика операций по скважине, группированая по категориям
|
||||
/// </summary>
|
||||
|
Loading…
Reference in New Issue
Block a user