diff --git a/MP-TAB-SERV/MP-TAB-SERV.csproj b/MP-TAB-SERV/MP-TAB-SERV.csproj
index 8675ac35..83f980b9 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.908
+ 6.16.2310.911
enable
MP_TAB_SERV
diff --git a/MP-TAB-SERV/Resources/ChangeLog.html b/MP-TAB-SERV/Resources/ChangeLog.html
index a3da2a90..254215dc 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.908
+ Versione: 6.16.2310.911
Note di rilascio:
-
diff --git a/MP-TAB-SERV/Resources/VersNum.txt b/MP-TAB-SERV/Resources/VersNum.txt
index 6f6678bc..0e4d2d30 100644
--- a/MP-TAB-SERV/Resources/VersNum.txt
+++ b/MP-TAB-SERV/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2310.908
+6.16.2310.911
diff --git a/MP-TAB-SERV/Resources/manifest.xml b/MP-TAB-SERV/Resources/manifest.xml
index 2e1d04b3..a779ca80 100644
--- a/MP-TAB-SERV/Resources/manifest.xml
+++ b/MP-TAB-SERV/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2310.908
+ 6.16.2310.911
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..4bf9ad87 100644
--- a/MP.Data/Controllers/MpTabController.cs
+++ b/MP.Data/Controllers/MpTabController.cs
@@ -164,6 +164,30 @@ namespace MP.Data.Controllers
}
}
+ ///
+ /// Recupera elenco ultimi commenti x macchina
+ ///
+ /// Idx macchina, "*" = tutte
+ /// Num massimo di record da recuperare
+ ///
+ public List CommentiGetLastByMacc(string idxMacchina, int maxRec)
+ {
+ List dbResult = new List();
+ using (var dbCtx = new MoonProContext(_configuration))
+ {
+ var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
+ var MaxRec = new SqlParameter("@MaxRec", maxRec);
+
+ dbResult = dbCtx
+ .DbSetCommenti
+ .FromSqlRaw("exec dbo.stp_Comm_getLastByMacchina @IdxMacchina, @MaxRec", IdxMacchina, MaxRec)
+ .AsNoTracking()
+ .AsEnumerable()
+ .ToList();
+ }
+ return dbResult;
+ }
+
///
/// Effettua conferma prod macchina dell'intero periodo da confermare (ultima conferma
/// --> dtEvent)
@@ -332,30 +356,6 @@ namespace MP.Data.Controllers
await Task.Delay(1);
return fatto;
}
- ///
- /// Recupera elenco ultimi commenti x macchina
- ///
- /// Idx macchina, "*" = tutte
- /// Num massimo di record da recuperare
- ///
- public List CommentiGetLastByMacc(string idxMacchina, int maxRec)
- {
- List dbResult = new List();
- using (var dbCtx = new MoonProContext(_configuration))
- {
- var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
- var MaxRec = new SqlParameter("@MaxRec", maxRec);
-
- dbResult = dbCtx
- .DbSetCommenti
- .FromSqlRaw("exec dbo.stp_Comm_getLastByMacchina @IdxMacchina, @MaxRec", IdxMacchina, MaxRec)
- .AsNoTracking()
- .AsEnumerable()
- .ToList();
- }
- return dbResult;
- }
-
///
/// Recupera record EventList date condizioni filtro
@@ -408,6 +408,32 @@ namespace MP.Data.Controllers
return fatto;
}
+ ///
+ /// Recupera elenco fermi non qualificati da filtro
+ ///
+ /// Idx macchina, "*" = tutte
+ /// Num massimo di giorni antecedenti
+ /// Durata minima (in minuti)
+ ///
+ public List FermiNonQualificatiFilt(string idxMacchina, int gg, double durataMin)
+ {
+ List dbResult = new List();
+ using (var dbCtx = new MoonProContext(_configuration))
+ {
+ var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
+ var GG = new SqlParameter("@MaxRec", gg);
+ var DurataMin = new SqlParameter("@MaxRec", durataMin);
+
+ dbResult = dbCtx
+ .DbSetFNQ
+ .FromSqlRaw("exec dbo.stp_FNQ_getFilt @IdxMacchina, @gg, @durataMin", IdxMacchina, GG, DurataMin)
+ .AsNoTracking()
+ .AsEnumerable()
+ .ToList();
+ }
+ return dbResult;
+ }
+
///
/// MicroStato macchina (da key)
///
diff --git a/MP.Data/DatabaseModels/FermiNonQualModel.cs b/MP.Data/DatabaseModels/FermiNonQualModel.cs
new file mode 100644
index 00000000..68aa34c8
--- /dev/null
+++ b/MP.Data/DatabaseModels/FermiNonQualModel.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+
+
+#nullable disable
+//
+// This is here so CodeMaid doesn't reorganize this document
+//
+namespace MP.Data.DatabaseModels
+{
+ public partial class FermiNonQualModel
+ {
+ #region Public Properties
+
+ public string IdxMacchina { get; set; } = "NA";
+ public DateTime InizioStato { get; set; } = DateTime.Now;
+ public string Macchina { get; set; } = "";
+ public int IdxStato { get; set; } = 0;
+ public string Semaforo { get; set; } = "";
+ public double DurataMinuti { get; set; } = 0;
+ public string Value { get; set; } = "";
+ public string CodArticolo { get; set; } = "";
+
+ #endregion Public Properties
+ }
+}
\ No newline at end of file
diff --git a/MP.Data/MoonProContext.cs b/MP.Data/MoonProContext.cs
index 1bebb9c1..305dccdf 100644
--- a/MP.Data/MoonProContext.cs
+++ b/MP.Data/MoonProContext.cs
@@ -81,7 +81,8 @@ namespace MP.Data
public virtual DbSet DbSetVSEB { get; set; }
public virtual DbSet DbSetCommenti { get; set; }
-
+ public virtual DbSet DbSetFNQ { get; set; }
+
#endregion Public Properties
@@ -533,6 +534,11 @@ namespace MP.Data
entity.HasKey(e => new { e.IdxMacchina, e.InizioStato });
});
+ modelBuilder.Entity(entity =>
+ {
+ entity.HasKey(e => new { e.IdxMacchina, e.InizioStato });
+ });
+
OnModelCreatingPartial(modelBuilder);
}
diff --git a/MP.Data/Services/TabDataService.cs b/MP.Data/Services/TabDataService.cs
index 98507f3a..3eeede7b 100644
--- a/MP.Data/Services/TabDataService.cs
+++ b/MP.Data/Services/TabDataService.cs
@@ -405,6 +405,44 @@ namespace MP.Data.Services
return answ;
}
+ ///
+ /// Recupera elenco fermi non qualificati da filtro
+ ///
+ /// Idx macchina, "*" = tutte
+ /// Num massimo di giorni antecedenti
+ /// Durata minima (in minuti)
+ ///
+ public async Task
> FermiNonQualificatiFilt(string idxMacchina, int gg, double 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}:{gg}:{durataMin:N0}";
+ RedisValue rawData = await redisDb.StringGetAsync(currKey);
+ if (rawData.HasValue)
+ {
+ result = JsonConvert.DeserializeObject>($"{rawData}");
+ source = "REDIS";
+ }
+ else
+ {
+ result = dbTabController.FermiNonQualificatiFilt(idxMacchina, gg, durataMin);
+ // serializzp e salvo...
+ rawData = JsonConvert.SerializeObject(result);
+ await redisDb.StringSetAsync(currKey, rawData, FastCache);
+ }
+ if (result == null)
+ {
+ result = new List();
+ }
+ sw.Stop();
+ Log.Debug($"FermiNonQualificatiFilt | {source} | {sw.Elapsed.TotalMilliseconds}ms");
+ return result;
+ }
+
///
/// Pulizia cache Redis (tutta)
///