From 6126085f9e2a1424e8ff01fe35cbc4e30c9816f7 Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Mon, 9 Oct 2023 12:53:23 +0200 Subject: [PATCH] ok pagina commenti --- MP-TAB-SERV/Components/LongStopList.razor | 31 ++++++++--- MP-TAB-SERV/Components/NotesMan.razor | 47 +++++++++++++++-- MP-TAB-SERV/Components/NotesMan.razor.cs | 63 ++++++++++++++++++++--- MP-TAB-SERV/MP-TAB-SERV.csproj | 2 +- MP-TAB-SERV/Resources/ChangeLog.html | 2 +- MP-TAB-SERV/Resources/VersNum.txt | 2 +- MP-TAB-SERV/Resources/manifest.xml | 2 +- MP.Data/Controllers/MpTabController.cs | 26 ++++++++++ MP.Data/DTO/FnqDTO.cs | 19 +++++++ MP.Data/MoonProContext.cs | 2 + MP.Data/Services/TabDataService.cs | 40 ++++++++++++++ 11 files changed, 213 insertions(+), 23 deletions(-) create mode 100644 MP.Data/DTO/FnqDTO.cs diff --git a/MP-TAB-SERV/Components/LongStopList.razor b/MP-TAB-SERV/Components/LongStopList.razor index 6e0f5e56..8b6044fa 100644 --- a/MP-TAB-SERV/Components/LongStopList.razor +++ b/MP-TAB-SERV/Components/LongStopList.razor @@ -1,20 +1,21 @@ 
-
-
- Fermo Generico +
+
+ @fnqName
- NCC_1701E + @fnqArticle
- @@ -23,5 +24,19 @@ @code { + [Parameter] + public string fnqName { get; set; } = ""; + + [Parameter] + public string fnqArticle { get; set; } = ""; + + [Parameter] + public DateTime fnqDateTime { get; set; } = DateTime.Now; + + [Parameter] + public double fnqDurMin { get; set; } = 0; + + [Parameter] + public string fnqSemaforo { get; set; } = ""; } diff --git a/MP-TAB-SERV/Components/NotesMan.razor b/MP-TAB-SERV/Components/NotesMan.razor index a8564785..bbec5f1e 100644 --- a/MP-TAB-SERV/Components/NotesMan.razor +++ b/MP-TAB-SERV/Components/NotesMan.razor @@ -3,11 +3,48 @@
+
+
+
+ Ultimi gg + +
+
+
+
+ Durata min + +
+
+
- @for (int i = 0; i < 8; i++) + @foreach (var item in RecordListFnq) { - + }
@@ -19,17 +56,17 @@
- @if (RecordList == null) + @if (RecordListComments == null) { } - else if (RecordList.Count == 0) + else if (RecordListComments.Count == 0) {
Nessun record trovato
} else { - foreach (var item in RecordList) + foreach (var item in RecordListComments) {
diff --git a/MP-TAB-SERV/Components/NotesMan.razor.cs b/MP-TAB-SERV/Components/NotesMan.razor.cs index 73499365..abd38e81 100644 --- a/MP-TAB-SERV/Components/NotesMan.razor.cs +++ b/MP-TAB-SERV/Components/NotesMan.razor.cs @@ -1,5 +1,6 @@ using global::Microsoft.AspNetCore.Components; using MP.Data.DatabaseModels; +using MP.Data.DTO; using MP.Data.Services; namespace MP_TAB_SERV.Components @@ -23,13 +24,40 @@ namespace MP_TAB_SERV.Components if (numComm != value) { numComm = value; - ReloadData().ConfigureAwait(false); + ReloadComments().ConfigureAwait(false); + } + } + } + protected int NumGiorni + { + get => _numGiorni; + set + { + if (_numGiorni != value) + { + _numGiorni = value; + ReloadFnq().ConfigureAwait(false); + } + } + } + protected int DurataMin + { + get => _durataMin; + set + { + if (_durataMin != value) + { + _durataMin = value; + ReloadFnq().ConfigureAwait(false); } } } private int numComm { get; set; } = 10; + private int _numGiorni { get; set; } = 3; + private int _durataMin { get; set; } = 30; - protected List RecordList { get; set; } = new List(); + protected List RecordListComments { get; set; } = new List(); + protected List RecordListFnq { get; set; } = new List(); [Inject] protected TabDataService TabServ { get; set; } = null!; @@ -40,26 +68,49 @@ namespace MP_TAB_SERV.Components protected override async Task OnParametersSetAsync() { - await ReloadData(); + await ReloadComments(); + await ReloadFnq(); } #endregion Protected Methods #region Private Methods - private async Task ReloadData() + private async Task ReloadComments() { - RecordList = await TabServ.CommentiGetLastByMacc(RecMSE?.IdxMacchina, NumComm); + RecordListComments = await TabServ.CommentiGetLastByMacc(RecMSE?.IdxMacchina, NumComm); + } + private async Task ReloadFnq() + { + RecordListFnq = await TabServ.FnqGetByFilt(RecMSE?.IdxMacchina, NumGiorni, DurataMin); } private async Task DoUpdate(bool forceReload) { if (forceReload) { - await ReloadData(); + await ReloadComments(); } } + private string setSemaforo(string sem) + { + string answ = ""; + if(sem == "sBl") + { + answ = "bg-primary text-warning"; + } + else if(sem == "sGr") + { + answ = "bg-secondary text-dark"; + } + else if(sem == "sGi") + { + answ = "bg-warning text-dark"; + } + return answ; + } + #endregion Private Methods } } \ No newline at end of file diff --git a/MP-TAB-SERV/MP-TAB-SERV.csproj b/MP-TAB-SERV/MP-TAB-SERV.csproj index b77cece6..ce48d6aa 100644 --- a/MP-TAB-SERV/MP-TAB-SERV.csproj +++ b/MP-TAB-SERV/MP-TAB-SERV.csproj @@ -3,7 +3,7 @@ net6.0 enable - 6.16.2310.910 + 6.16.2310.912 enable MP_TAB_SERV diff --git a/MP-TAB-SERV/Resources/ChangeLog.html b/MP-TAB-SERV/Resources/ChangeLog.html index cd2a8fb9..48114fc2 100644 --- a/MP-TAB-SERV/Resources/ChangeLog.html +++ b/MP-TAB-SERV/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo MAPOSPEC -

Versione: 6.16.2310.910

+

Versione: 6.16.2310.912


Note di rilascio:
  • diff --git a/MP-TAB-SERV/Resources/VersNum.txt b/MP-TAB-SERV/Resources/VersNum.txt index 75847634..c29d1dfa 100644 --- a/MP-TAB-SERV/Resources/VersNum.txt +++ b/MP-TAB-SERV/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2310.910 +6.16.2310.912 diff --git a/MP-TAB-SERV/Resources/manifest.xml b/MP-TAB-SERV/Resources/manifest.xml index e14f3dab..6b36f353 100644 --- a/MP-TAB-SERV/Resources/manifest.xml +++ b/MP-TAB-SERV/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2310.910 + 6.16.2310.912 https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/MP-TAB-SERV.zip https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/ChangeLog.html false diff --git a/MP.Data/Controllers/MpTabController.cs b/MP.Data/Controllers/MpTabController.cs index 716bec72..940cc3ef 100644 --- a/MP.Data/Controllers/MpTabController.cs +++ b/MP.Data/Controllers/MpTabController.cs @@ -2,6 +2,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using MP.Data.DatabaseModels; +using MP.Data.DTO; using NLog; using System; using System.Collections.Generic; @@ -355,6 +356,31 @@ namespace MP.Data.Controllers } return dbResult; } + /// + /// Recupera elenco ultime fermate non frequenti + /// + /// + /// + /// + /// + public List FnqGetByFilt(string idxMacchina, int numGg, int durataMin) + { + List dbResult = new List(); + using (var dbCtx = new MoonProContext(_configuration)) + { + var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina); + var NumGg = new SqlParameter("@gg", numGg); + var DurataMin = new SqlParameter("@durataMin", durataMin); + + dbResult = dbCtx + .DbSetFnq + .FromSqlRaw("exec dbo.stp_FNQ_getFilt @IdxMacchina, @gg, @durataMin", IdxMacchina, NumGg, DurataMin) + .AsNoTracking() + .AsEnumerable() + .ToList(); + } + return dbResult; + } /// diff --git a/MP.Data/DTO/FnqDTO.cs b/MP.Data/DTO/FnqDTO.cs new file mode 100644 index 00000000..cb4676f0 --- /dev/null +++ b/MP.Data/DTO/FnqDTO.cs @@ -0,0 +1,19 @@ +using System; +using System.ComponentModel.DataAnnotations; + +namespace MP.Data.DTO +{ + public class FnqDTO + { + [Key] + public string IdxMacchina { get; set; } = ""; + public DateTime InizioStato { get; set; } = DateTime.Now; + public string Macchina { get; set; } = ""; + public int IdxStato { get; set; } = 0; + public string Stato { get; set; } = ""; + public string Semaforo { get; set; } = ""; + public double DurataMinuti { get; set; } = 0; + public string Value { get; set; } = ""; + public string CodArticolo { get; set; } = ""; + } +} \ No newline at end of file diff --git a/MP.Data/MoonProContext.cs b/MP.Data/MoonProContext.cs index 1bebb9c1..8a9b5abf 100644 --- a/MP.Data/MoonProContext.cs +++ b/MP.Data/MoonProContext.cs @@ -3,6 +3,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.Extensions.Configuration; using MP.Data.DatabaseModels; +using MP.Data.DTO; using NLog; #nullable disable @@ -56,6 +57,7 @@ namespace MP.Data public virtual DbSet DbSetPzProd { get; set; } public virtual DbSet DbSetEvList { get; set; } public virtual DbSet DbSetDDB { get; set; } + public virtual DbSet DbSetFnq { get; set; } public virtual DbSet DbSetVocabolario { get; set; } public virtual DbSet DbOperatori { get; set; } public virtual DbSet DbSetGrp2Oper { get; set; } diff --git a/MP.Data/Services/TabDataService.cs b/MP.Data/Services/TabDataService.cs index 98507f3a..29d9a7e0 100644 --- a/MP.Data/Services/TabDataService.cs +++ b/MP.Data/Services/TabDataService.cs @@ -1,6 +1,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using MP.Data.DatabaseModels; +using MP.Data.DTO; using MP.Data.Objects; using Newtonsoft.Json; using NLog; @@ -217,6 +218,45 @@ namespace MP.Data.Services return result; } + /// + /// Recupera elenco ultime fermate non frequenti + /// + /// + /// + /// + /// + public async Task> FnqGetByFilt(string idxMacchina, int numGg, int durataMin) + { + // setup parametri costanti + string source = "DB"; + Stopwatch sw = new Stopwatch(); + sw.Start(); + List result = new List(); + // cerco in redis... + string currKey = $"{redisBaseKey}:FNQ:{idxMacchina}:{numGg}:{durataMin}"; + RedisValue rawData = await redisDb.StringGetAsync(currKey); + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) + { + result = JsonConvert.DeserializeObject>($"{rawData}"); + source = "REDIS"; + } + else + { + result = dbTabController.FnqGetByFilt(idxMacchina, numGg, durataMin); + // serializzp e salvo... + rawData = JsonConvert.SerializeObject(result); + await redisDb.StringSetAsync(currKey, rawData, FastCache); + } + if (result == null) + { + result = new List(); + } + sw.Stop(); + Log.Debug($"FnqGetByFilt | {source} | {sw.Elapsed.TotalMilliseconds}ms"); + return result; + } + /// /// Effettua conferma prod macchina dell'intero periodo da confermare (ultima conferma /// --> dtEvent)