diff --git a/MP.Data/Controllers/MpSpecController.cs b/MP.Data/Controllers/MpSpecController.cs
index 10e5bf5c..8292b9e3 100644
--- a/MP.Data/Controllers/MpSpecController.cs
+++ b/MP.Data/Controllers/MpSpecController.cs
@@ -502,12 +502,13 @@ namespace MP.Data.Controllers
///
/// Elenco ultimi n record flux log dato macchina e flusso (ordinato x data registrazione)
///
- /// Data massima (recupera eventi antecedenti)
+ /// Data massima x eventi
+ /// Data minima x eventi
/// * = tutte, altrimenti solo x una data macchina
/// *=tutti, altrimenti solo selezionato
/// numero massimo record da restituire
///
- public List FluxLogGetLastFilt(DateTime DtMax, string IdxMacchina, string CodFlux, int MaxRec)
+ public List FluxLogGetLastFilt(DateTime DtMax, DateTime DtMin, string IdxMacchina, string CodFlux, int MaxRec)
{
List dbResult = new List();
using (var dbCtx = new MoonProContext(_configuration))
@@ -515,7 +516,7 @@ namespace MP.Data.Controllers
dbResult = dbCtx
.DbSetFluxLog
.AsNoTracking()
- .Where(x => (x.dtEvento <= DtMax) && (IdxMacchina == "*" || x.IdxMacchina == IdxMacchina) && (CodFlux == "*" || x.CodFlux == CodFlux))
+ .Where(x => (x.dtEvento >= DtMin && x.dtEvento <= DtMax) && (IdxMacchina == "*" || x.IdxMacchina == IdxMacchina) && (CodFlux == "*" || x.CodFlux == CodFlux))
.OrderByDescending(x => x.dtEvento)
.Take(MaxRec)
.ToList();
diff --git a/MP.SPEC/Components/ListPARAMS.razor.cs b/MP.SPEC/Components/ListPARAMS.razor.cs
index 67a203e0..60e514d1 100644
--- a/MP.SPEC/Components/ListPARAMS.razor.cs
+++ b/MP.SPEC/Components/ListPARAMS.razor.cs
@@ -93,12 +93,18 @@ namespace MP.SPEC.Components
public async Task reloadData(bool setChanged)
{
isLoading = true;
- DateTime limitData = DateTime.Now;
+ DateTime dataFrom = DateTime.Today.AddMonths(-1);
+ DateTime dataTo = DateTime.Now.AddMinutes(5);
+ if (SelFilter != null && SelFilter.dtMin != null)
+ {
+ dataFrom = (DateTime)SelFilter.dtMin;
+ }
if (SelDtMax != null)
{
- limitData = (DateTime)SelDtMax;
+ dataTo = (DateTime)SelDtMax;
}
- SearchRecords = await MDService.FluxLogGetLastFilt(limitData, SelMacchina, SelFlux, MaxRecord);
+
+ SearchRecords = await MDService.FluxLogGetLastFilt(dataTo, dataFrom, SelMacchina, SelFlux, MaxRecord);
totalCount = SearchRecords.Count;
ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList();
await Task.Delay(1);
diff --git a/MP.SPEC/Data/MpDataService.cs b/MP.SPEC/Data/MpDataService.cs
index bdcf0c87..cd090911 100644
--- a/MP.SPEC/Data/MpDataService.cs
+++ b/MP.SPEC/Data/MpDataService.cs
@@ -505,18 +505,19 @@ namespace MP.SPEC.Data
///
/// Elenco ultimi n record flux log dato macchina e flusso (ordinato x data registrazione)
///
- /// Data massima (recupera eventi antecedenti)
+ /// Data massima x eventi
+ /// Data minima x eventi
/// * = tutte, altrimenti solo x una data macchina
/// *=tutti, altrimenti solo selezionato
/// numero massimo record da restituire
///
- public async Task> FluxLogGetLastFilt(DateTime DtMax, string IdxMacchina, string CodFlux, int MaxRec)
+ public async Task> FluxLogGetLastFilt(DateTime DtMax, DateTime DtMin, string IdxMacchina, string CodFlux, int MaxRec)
{
List? result = new List();
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
string readType = "DB";
- string currKey = $"{redisFluxLogFilt}:{IdxMacchina}:{CodFlux}:{MaxRec}:{DtMax:yyyyMMdd}:{DtMax:HHmm}";
+ string currKey = $"{redisFluxLogFilt}:{IdxMacchina}:{CodFlux}:{MaxRec}:{DtMax:yyyyMMddHHmm}:{DtMin:yyyyMMddHHmm}";
// cerco in redis dato valore sel macchina...
RedisValue rawData = redisDb.StringGet(currKey);
if (rawData.HasValue)
@@ -526,7 +527,7 @@ namespace MP.SPEC.Data
}
else
{
- result = await Task.FromResult(dbController.FluxLogGetLastFilt(DtMax, IdxMacchina, CodFlux, MaxRec));
+ result = await Task.FromResult(dbController.FluxLogGetLastFilt(DtMax, DtMin, IdxMacchina, CodFlux, MaxRec));
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, TimeSpan.FromSeconds(10));