From 93c230db72cc10aac1a8bf7e174c2972db58301b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=94?= =?UTF-8?q?=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B0=D0=BD=D0=B4=D1=80=D0=BE=D0=B2=D0=B8=D1=87?= Date: Wed, 26 Jul 2023 18:23:53 +0500 Subject: [PATCH 1/4] =?UTF-8?q?=D0=9E=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20FileFormatException=20=D0=BF=D1=80=D0=B8=20?= =?UTF-8?q?=D0=B8=D0=BC=D0=BF=D0=BE=D1=80=D1=82=D0=B5=20=D0=A0=D0=A2=D0=9A?= =?UTF-8?q?-=D0=BF=D0=BB=D0=B0=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ProcessMapController.cs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/AsbCloudWebApi/Controllers/ProcessMapController.cs b/AsbCloudWebApi/Controllers/ProcessMapController.cs index 95f41405..ffa88938 100644 --- a/AsbCloudWebApi/Controllers/ProcessMapController.cs +++ b/AsbCloudWebApi/Controllers/ProcessMapController.cs @@ -204,11 +204,18 @@ namespace AsbCloudWebApi.Controllers using Stream stream = file.OpenReadStream(); - await processMapPlanImportService.ImportAsync(idWell, - idUser.Value, - (options & 1) > 0, - stream, - cancellationToken); + try + { + await processMapPlanImportService.ImportAsync(idWell, + idUser.Value, + (options & 1) > 0, + stream, + cancellationToken); + } + catch (FileFormatException ex) + { + return BadRequest(ex.Message); + } return Ok(); } From 145d528074661a914f4c38e8f08e4fda1fbb8aab Mon Sep 17 00:00:00 2001 From: ngfrolov Date: Thu, 27 Jul 2023 10:11:20 +0500 Subject: [PATCH 2/4] ProcessMapPlanDto doc --- AsbCloudApp/Data/ProcessMap/ProcessMapPlanDto.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AsbCloudApp/Data/ProcessMap/ProcessMapPlanDto.cs b/AsbCloudApp/Data/ProcessMap/ProcessMapPlanDto.cs index c35d4135..8849e13d 100644 --- a/AsbCloudApp/Data/ProcessMap/ProcessMapPlanDto.cs +++ b/AsbCloudApp/Data/ProcessMap/ProcessMapPlanDto.cs @@ -21,7 +21,7 @@ namespace AsbCloudApp.Data.ProcessMap public int? IdUser { get; set; } /// - /// Id режима 1-ротор, 2 - слайд + /// Id режима 0-ручной, 1-ротор, 2 - слайд /// [Range(0, 2, ErrorMessage = "Id режима должен быть либо 0-ручной либо, 1-ротор либо 2-слайд")] public int IdMode { get; set; } From f40cd0acff9358de6d4e8e83beb6d63d08a4b6cf Mon Sep 17 00:00:00 2001 From: ngfrolov Date: Thu, 27 Jul 2023 10:20:12 +0500 Subject: [PATCH 3/4] HelpPageController.GetFileAsync() 404->204 --- AsbCloudWebApi/Controllers/HelpPageController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AsbCloudWebApi/Controllers/HelpPageController.cs b/AsbCloudWebApi/Controllers/HelpPageController.cs index e27f0f5f..db0b5faf 100644 --- a/AsbCloudWebApi/Controllers/HelpPageController.cs +++ b/AsbCloudWebApi/Controllers/HelpPageController.cs @@ -90,7 +90,7 @@ public class HelpPageController : ControllerBase cancellationToken); if (!file.HasValue) - return NotFound(); + return NoContent(); return File(file.Value.stream, "application/pdf", file.Value.fileName); } From e5a563f6e685035829021eaa5b3d6795ae6b973a Mon Sep 17 00:00:00 2001 From: ngfrolov Date: Thu, 27 Jul 2023 10:47:02 +0500 Subject: [PATCH 4/4] =?UTF-8?q?#11342611=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=B1=D0=B8=D0=B1=D0=BB=D0=B8=D0=BE=D1=82?= =?UTF-8?q?=D0=B5=D0=BA=D0=B8=20=D1=84=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=80=D0=B0=D0=BF=D0=BE=D1=80?= =?UTF-8?q?=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CommonLibs/AsbSaubReport.dll | Bin 17408 -> 17408 bytes .../CommonLibs/AsbSaubReportLas.dll | Bin 17408 -> 16896 bytes .../CommonLibs/AsbSaubReportPdf.dll | Bin 451584 -> 451584 bytes .../ReportDataSourcePgCloud.cs | 21 ++++++++++++++++++ 4 files changed, 21 insertions(+) diff --git a/AsbCloudInfrastructure/CommonLibs/AsbSaubReport.dll b/AsbCloudInfrastructure/CommonLibs/AsbSaubReport.dll index e03f8c34175ec46f09f1b1aa93d4e389cac8bf19..b9260919993494519b90d28e7a99d046f7305953 100644 GIT binary patch literal 17408 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 literal 17408 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≺!$2;_mpEr2l{rlA4py~ko?NEUkc15tk#SX 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 E0(Kd9+yDRo diff --git a/AsbCloudInfrastructure/CommonLibs/AsbSaubReportPdf.dll b/AsbCloudInfrastructure/CommonLibs/AsbSaubReportPdf.dll index a478be7cfe98e531484aa42804e176a89a306e4c..4fd8d9060e059302ed39182f339088d910ef50e0 100644 GIT binary patch delta 30509 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 ZX%8lLTmLZh_rLI<`=<4Qwqcz8e*lr6O_u-w diff --git a/AsbCloudInfrastructure/ReportDataSourcePgCloud.cs b/AsbCloudInfrastructure/ReportDataSourcePgCloud.cs index 13a44914..d292e812 100644 --- a/AsbCloudInfrastructure/ReportDataSourcePgCloud.cs +++ b/AsbCloudInfrastructure/ReportDataSourcePgCloud.cs @@ -1,6 +1,7 @@ using AsbCloudApp.Exceptions; using AsbCloudDb.Model; using AsbSaubReport.Model; +using iText.Forms.Xfdf; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; @@ -129,6 +130,26 @@ namespace AsbCloudInfrastructure return query; } + public IQueryable 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 GetMessages(DateTime begin, DateTime end) { var beginUtc = begin.ToUtcDateTimeOffset(timezoneOffset);