- 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)