From 7069e8af24156abaf377cc9f55e4be115271adbd Mon Sep 17 00:00:00 2001 From: KharchenkoVV Date: Wed, 16 Jun 2021 14:47:36 +0500 Subject: [PATCH] =?UTF-8?q?CS2-24:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20Analytics=20controller.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AsbCloudApp/Data/OperationPercentageDto.cs | 8 ++++ .../Controllers/AnalyticsController.cs | 41 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 AsbCloudApp/Data/OperationPercentageDto.cs create mode 100644 AsbCloudWebApi/Controllers/AnalyticsController.cs diff --git a/AsbCloudApp/Data/OperationPercentageDto.cs b/AsbCloudApp/Data/OperationPercentageDto.cs new file mode 100644 index 00000000..90c455b7 --- /dev/null +++ b/AsbCloudApp/Data/OperationPercentageDto.cs @@ -0,0 +1,8 @@ +namespace AsbCloudApp.Data +{ + public class OperationPercentageDto + { + public string ProcessName { get; set; } + public double Percentage { get; set; } + } +} diff --git a/AsbCloudWebApi/Controllers/AnalyticsController.cs b/AsbCloudWebApi/Controllers/AnalyticsController.cs new file mode 100644 index 00000000..41fcb19d --- /dev/null +++ b/AsbCloudWebApi/Controllers/AnalyticsController.cs @@ -0,0 +1,41 @@ +using System; +using AsbCloudApp.Data; +using System.Collections.Generic; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Authorization; + +namespace AsbCloudWebApi.Controllers +{ + [Route("api/analytics")] + [ApiController] + [Authorize] + public class AnalyticsController : ControllerBase + { + /// + /// Возвращает данные по операциям на скважине за период + /// + /// id скважины + /// дата начала интервала + /// дата окончания интервала + /// Коллекцию операций на скважине + [HttpGet] + [Route("{wellId}/get")] + [ProducesResponseType(typeof(List), (int)System.Net.HttpStatusCode.OK)] + public IActionResult GetAnalytics(int wellId, DateTime begin = default, DateTime end = default) + { + var analytics = new List + { + new OperationPercentageDto { ProcessName = "Роторное бурение", Percentage = 19.7 }, + new OperationPercentageDto { ProcessName = "Подъем с проработкой", Percentage = 6.2 }, + new OperationPercentageDto { ProcessName = "Спуск с проработкой", Percentage = 9.4 }, + new OperationPercentageDto { ProcessName = "Подъем с промывкой", Percentage = 18.4 }, + new OperationPercentageDto { ProcessName = "Неподвижное состояние", Percentage = 12.1 }, + new OperationPercentageDto { ProcessName = "Вращение без циркуляции", Percentage = 7.4 }, + new OperationPercentageDto { ProcessName = "Спуск в скважину", Percentage = 16.7 }, + new OperationPercentageDto { ProcessName = "На поверхности", Percentage = 10.1 } + }; + + return Ok(analytics); + } + } +}