Merge branch 'dev' into feature/email_notifications

This commit is contained in:
commit bbc42208c2
9 changed files with 48 additions and 21 deletions

View File

@ -21,7 +21,7 @@ namespace AsbCloudApp.Data.ProcessMap
public int? IdUser { get; set; } public int? IdUser { get; set; }
/// <summary> /// <summary>
/// Id режима 1-ротор, 2 - слайд /// Id режима 0-ручной, 1-ротор, 2 - слайд
/// </summary> /// </summary>
[Range(0, 2, ErrorMessage = "Id режима должен быть либо 0-ручной либо, 1-ротор либо 2-слайд")] [Range(0, 2, ErrorMessage = "Id режима должен быть либо 0-ручной либо, 1-ротор либо 2-слайд")]
public int IdMode { get; set; } public int IdMode { get; set; }

View File

@ -27,11 +27,11 @@ public interface IHelpPageService
/// <summary> /// <summary>
/// Метод получения файла справки /// Метод получения файла справки
/// </summary> /// </summary>
/// <param name="urlPage"></param> /// <param name="pageKey"></param>
/// <param name="idCategory"></param> /// <param name="idCategory"></param>
/// <param name="cancellationToken"></param> /// <param name="cancellationToken"></param>
/// <returns></returns> /// <returns></returns>
Task<(Stream stream, string fileName)> GetFileStreamAsync(string urlPage, Task<(Stream stream, string fileName)?> GetFileStreamAsync(string pageKey,
int idCategory, int idCategory,
CancellationToken cancellationToken); CancellationToken cancellationToken);
} }

View File

@ -1,6 +1,7 @@
using AsbCloudApp.Exceptions; using AsbCloudApp.Exceptions;
using AsbCloudDb.Model; using AsbCloudDb.Model;
using AsbSaubReport.Model; using AsbSaubReport.Model;
using iText.Forms.Xfdf;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -129,6 +130,26 @@ namespace AsbCloudInfrastructure
return query; return query;
} }
public IQueryable<DataSpinReport> GetDataSpinItems(DateTime begin, DateTime end)
{
var beginUtc = begin.ToUtcDateTimeOffset(timezoneOffset);
var endUtc = end.ToUtcDateTimeOffset(timezoneOffset);
var query = context.TelemetryDataSpin
.Where(d => d.IdTelemetry == idTelemetry
&& d.DateTime >= beginUtc
&& d.DateTime <= endUtc)
.OrderBy(d => d.DateTime)
.Select(d => new DataSpinReport
{
Date = d.DateTime.DateTime.AddHours(timezoneOffset),
Mode = d.Mode,
IsWorkingSpinMaster = (d.State != 0 && d.State != 5 && d.State != 6 && d.State != 7),
IsWorkingTorqueMaster = (d.State == 7 && (d.Mode & 2) > 0),
});
return query;
}
public IQueryable<MessageReport> GetMessages(DateTime begin, DateTime end) public IQueryable<MessageReport> GetMessages(DateTime begin, DateTime end)
{ {
var beginUtc = begin.ToUtcDateTimeOffset(timezoneOffset); var beginUtc = begin.ToUtcDateTimeOffset(timezoneOffset);

View File

@ -78,20 +78,23 @@ public class HelpPageService : IHelpPageService
/// <summary> /// <summary>
/// Метод получения файла справки /// Метод получения файла справки
/// </summary> /// </summary>
/// <param name="urlPage"></param> /// <param name="pageKey"></param>
/// <param name="idCategory"></param> /// <param name="idCategory"></param>
/// <param name="cancellationToken"></param> /// <param name="cancellationToken"></param>
/// <returns></returns> /// <returns></returns>
/// <exception cref="ArgumentInvalidException"></exception> /// <exception cref="NotFoundException"></exception>
public async Task<(Stream stream, string fileName)> GetFileStreamAsync(string urlPage, public async Task<(Stream stream, string fileName)?> GetFileStreamAsync(string pageKey,
int idCategory, int idCategory,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
urlPage = WebUtility.UrlDecode(urlPage); pageKey = WebUtility.UrlDecode(pageKey);
var helpPage = await helpPageRepository.GetOrDefaultByUrlPageAndIdCategoryAsync(urlPage, var helpPage = await helpPageRepository.GetOrDefaultByUrlPageAndIdCategoryAsync(pageKey,
idCategory, idCategory,
cancellationToken) ?? throw new ArgumentInvalidException("Справки не существует", nameof(idCategory)); cancellationToken);
if(helpPage is null)
return null;
string filePath = fileStorageRepository.GetFilePath(directoryNameHelpPageFiles, string filePath = fileStorageRepository.GetFilePath(directoryNameHelpPageFiles,
helpPage.IdCategory.ToString(), helpPage.IdCategory.ToString(),

View File

@ -89,14 +89,10 @@ public class HelpPageController : ControllerBase
idCategory, idCategory,
cancellationToken); cancellationToken);
using var fileStream = file.stream; if (!file.HasValue)
return NoContent();
var memoryStream = new MemoryStream(); return File(file.Value.stream, "application/pdf", file.Value.fileName);
await fileStream.CopyToAsync(memoryStream,
cancellationToken);
memoryStream.Position = 0;
return File(memoryStream, "application/pdf", file.fileName);
} }
/// <summary> /// <summary>

View File

@ -204,11 +204,18 @@ namespace AsbCloudWebApi.Controllers
using Stream stream = file.OpenReadStream(); using Stream stream = file.OpenReadStream();
try
{
await processMapPlanImportService.ImportAsync(idWell, await processMapPlanImportService.ImportAsync(idWell,
idUser.Value, idUser.Value,
(options & 1) > 0, (options & 1) > 0,
stream, stream,
cancellationToken); cancellationToken);
}
catch (FileFormatException ex)
{
return BadRequest(ex.Message);
}
return Ok(); return Ok();
} }