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,
|
IdWellSectionType = o.IdWellSectionType,
|
||||||
IdCategory = o.IdCategory,
|
IdCategory = o.IdCategory,
|
||||||
|
|
||||||
CategoryName = o.WellSectionType.Caption,
|
CategoryName = o.OperationCategory.Name,
|
||||||
WellSectionTypeName = o.WellSectionType.Caption,
|
WellSectionTypeName = o.WellSectionType.Caption,
|
||||||
|
|
||||||
DateStart = DateTime.SpecifyKind(o.DateStart.UtcDateTime + timeZoneOffset, DateTimeKind.Unspecified),
|
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.IdType == o.IdType)
|
||||||
.Where(subOp => subOp.DateStart <= o.DateStart)
|
.Where(subOp => subOp.DateStart <= o.DateStart)
|
||||||
.Min(subOp => subOp.DateStart))
|
.Min(subOp => subOp.DateStart))
|
||||||
.TotalDays,
|
.TotalDays
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (request.SortFields?.Any() == true)
|
if (request.SortFields?.Any() == true)
|
||||||
|
@ -86,16 +86,18 @@ namespace AsbCloudWebApi.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Отфильтрованный список операций на скважине. Если не применять фильтр, то вернется весь список. Сортированный по глубине затем по дате
|
/// Отфильтрованный список фактических операций на скважине.
|
||||||
|
/// Если не применять фильтр, то вернется весь список. Сортированный по глубине затем по дате
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="idWell">id скважины</param>
|
/// <param name="idWell">id скважины</param>
|
||||||
/// <param name="request"></param>
|
/// <param name="request"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns>Список операций на скважине</returns>
|
/// <returns>Список операций на скважине</returns>
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
|
[Route("fact")]
|
||||||
[Permission]
|
[Permission]
|
||||||
[ProducesResponseType(typeof(IEnumerable<WellOperationDto>), (int)System.Net.HttpStatusCode.OK)]
|
[ProducesResponseType(typeof(IEnumerable<WellOperationDto>), (int)System.Net.HttpStatusCode.OK)]
|
||||||
public async Task<IActionResult> GetOperationsAsync(
|
public async Task<IActionResult> GetPageOperationsFactAsync(
|
||||||
[FromRoute] int idWell,
|
[FromRoute] int idWell,
|
||||||
[FromQuery] WellOperationRequestBase request,
|
[FromQuery] WellOperationRequestBase request,
|
||||||
CancellationToken token)
|
CancellationToken token)
|
||||||
@ -111,6 +113,34 @@ namespace AsbCloudWebApi.Controllers
|
|||||||
return Ok(result);
|
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>
|
||||||
/// Статистика операций по скважине, группированая по категориям
|
/// Статистика операций по скважине, группированая по категориям
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Loading…
Reference in New Issue
Block a user