diff --git a/MP.Data/Controllers/MpSpecController.cs b/MP.Data/Controllers/MpSpecController.cs
index 046f73d0..bd8d87de 100644
--- a/MP.Data/Controllers/MpSpecController.cs
+++ b/MP.Data/Controllers/MpSpecController.cs
@@ -602,10 +602,12 @@ namespace MP.Data.Controllers
}
///
- /// Elenco id Macchine che abbiano dati FLuxLog
+ /// Elenco id Macchine che abbiano dati FLuxLog, nel periodo indicato
///
+ ///
+ ///
///
- public async Task> MacchineWithFlux()
+ public async Task> MacchineWithFlux(DateTime dtStart, DateTime dtEnd)
{
List dbResult = new List();
using (var dbCtx = new MoonProContext(_configuration))
@@ -613,6 +615,7 @@ namespace MP.Data.Controllers
dbResult = await dbCtx
.DbSetFluxLog
.AsNoTracking()
+ .Where(x => x.dtEvento >= dtStart && x.dtEvento <= dtEnd)
.Select(i => i.IdxMacchina)
.Distinct()
.ToListAsync();
@@ -795,8 +798,10 @@ namespace MP.Data.Controllers
.DbSetFluxLog
.AsNoTracking()
.Where(x => (IdxMacchina == "*" || x.IdxMacchina == IdxMacchina))
+ .Take(1000)
.Select(i => i.CodFlux)
.Distinct()
+ .OrderBy(x => x)
.ToList();
}
return dbResult;
diff --git a/MP.SPEC/Components/DossiersFilter.razor.cs b/MP.SPEC/Components/DossiersFilter.razor.cs
index 49456daf..3e5694c1 100644
--- a/MP.SPEC/Components/DossiersFilter.razor.cs
+++ b/MP.SPEC/Components/DossiersFilter.razor.cs
@@ -43,14 +43,14 @@ namespace MP.SPEC.Components
{
get
{
- return SelFilterDossier.DtRef;
+ return SelFilterDossier.DtEnd;
}
set
{
- if (!SelFilterDossier.DtRef.Equals(value))
+ if (!SelFilterDossier.DtEnd.Equals(value))
{
- SelFilterDossier.DtRef = value;
+ SelFilterDossier.DtEnd = value;
reportChange();
}
}
@@ -101,7 +101,7 @@ namespace MP.SPEC.Components
protected override async Task OnInitializedAsync()
{
SelFilterDossier = new SelectDossierParams();
- ListMacchine = await MDService.MacchineWithFlux();
+ ListMacchine = await MDService.MacchineWithFlux(SelFilterDossier.DtStart, SelFilterDossier.DtEnd);
ListArticoli = await MDService.ArticleWithDossier();
await FilterChanged.InvokeAsync(SelFilterDossier);
}
diff --git a/MP.SPEC/Components/ListDossiers.razor.cs b/MP.SPEC/Components/ListDossiers.razor.cs
index 43af9a38..99255735 100644
--- a/MP.SPEC/Components/ListDossiers.razor.cs
+++ b/MP.SPEC/Components/ListDossiers.razor.cs
@@ -187,7 +187,7 @@ namespace MP.SPEC.Components
private DateTime SelDtRef
{
- get => SelFilter.DtRef;
+ get => SelFilter.DtEnd;
}
private string SelMacchina
diff --git a/MP.SPEC/Components/ParamsFilter.razor.cs b/MP.SPEC/Components/ParamsFilter.razor.cs
index 25f497c7..aff65476 100644
--- a/MP.SPEC/Components/ParamsFilter.razor.cs
+++ b/MP.SPEC/Components/ParamsFilter.razor.cs
@@ -168,7 +168,10 @@ namespace MP.SPEC.Components
protected override async Task OnInitializedAsync()
{
SelFilter = new SelectFluxParams();
- ListMacchine = await MDService.MacchineWithFlux();
+ setDtMax();
+ DateTime dtStart = SelFilter.dtMin != null ? (DateTime)SelFilter.dtMin : DateTime.Now.AddDays(-7);
+ DateTime dtEnd = SelFilter.dtMax != null ? (DateTime)SelFilter.dtMax : DateTime.Now;
+ ListMacchine = await MDService.MacchineWithFlux(dtStart, dtEnd);
ListFlux = await MDService.ParametriGetFilt(selMacchina);
var configData = await MDService.ConfigGetAll();
diff --git a/MP.SPEC/Data/MpDataService.cs b/MP.SPEC/Data/MpDataService.cs
index 1d0b157f..54ba37e7 100644
--- a/MP.SPEC/Data/MpDataService.cs
+++ b/MP.SPEC/Data/MpDataService.cs
@@ -468,13 +468,33 @@ namespace MP.SPEC.Data
///
public async Task> FluxLogGetLastFilt(DateTime DtMax, string IdxMacchina, string CodFlux, int MaxRec)
{
+ List? result = new List();
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
- var results = await Task.FromResult(dbController.FluxLogGetLastFilt(DtMax, IdxMacchina, CodFlux, MaxRec));
+ string readType = "DB";
+ string currKey = $"{redisFluxLogFilt}:{IdxMacchina}:{CodFlux}:{MaxRec}:{DtMax:yyyyMMdd}:{DtMax:HHmm}";
+ // cerco in redis dato valore sel macchina...
+ RedisValue rawData = redisDb.StringGet(currKey);
+ if (rawData.HasValue)
+ {
+ result = JsonConvert.DeserializeObject>($"{rawData}");
+ readType = "REDIS";
+ }
+ else
+ {
+ result = await Task.FromResult(dbController.FluxLogGetLastFilt(DtMax, IdxMacchina, CodFlux, MaxRec));
+ // serializzo e salvo...
+ rawData = JsonConvert.SerializeObject(result);
+ redisDb.StringSet(currKey, rawData, TimeSpan.FromSeconds(10));
+ }
+ if (result == null)
+ {
+ result = new List();
+ }
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
- Log.Debug($"FluxLogGetLastFilt | Read from DB: {ts.TotalMilliseconds}ms");
- return results;
+ Log.Debug($"FluxLogGetLastFilt | Read from {readType}: {ts.TotalMilliseconds}ms");
+ return result;
}
///
@@ -613,16 +633,18 @@ namespace MP.SPEC.Data
}
///
- /// Elenco ID macchine con dati FluxLog gestite
+ /// Elenco id Macchine che abbiano dati FLuxLog, nel periodo indicato
///
+ ///
+ ///
///
- public async Task> MacchineWithFlux()
+ public async Task> MacchineWithFlux(DateTime dtStart, DateTime dtEnd)
{
List? result = new List();
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
string readType = "DB";
- string currKey = redisMacByFlux;
+ string currKey = $"{redisMacByFlux}:{dtStart:yyyyMMddHHmm}:{dtEnd:yyyyMMddHHmm}";
// cerco in redis dato valore sel macchina...
RedisValue rawData = redisDb.StringGet(currKey);
if (rawData.HasValue)
@@ -632,7 +654,7 @@ namespace MP.SPEC.Data
}
else
{
- result = await dbController.MacchineWithFlux();
+ result = await dbController.MacchineWithFlux(dtStart, dtEnd);
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache));
@@ -902,6 +924,7 @@ namespace MP.SPEC.Data
private const string redisMacByFlux = redisBaseAddr + "SPEC:Cache:MacByFlux";
private const string redisMacList = redisBaseAddr + "SPEC:Cache:MacList";
private const string redisPOdlList = redisBaseAddr + "SPEC:Cache:POdlList";
+ private const string redisFluxLogFilt = redisBaseAddr + "SPEC:Cache:FluxLogFilt";
private const string redisStatoCom = redisBaseAddr + "SPEC:Cache:StatoCom";
diff --git a/MP.SPEC/Data/SelectDossierParams.cs b/MP.SPEC/Data/SelectDossierParams.cs
index 06489118..8e9b4d15 100644
--- a/MP.SPEC/Data/SelectDossierParams.cs
+++ b/MP.SPEC/Data/SelectDossierParams.cs
@@ -13,7 +13,9 @@
public int CurrPage { get; set; } = 1;
- public DateTime DtRef { get; set; } = InitDatetime(5);
+ public DateTime DtEnd { get; set; } = InitDatetime(5);
+
+ public DateTime DtStart { get; set; } = InitDatetime(5).AddDays(-7);
public string IdxMacchina { get; set; } = "*";
@@ -52,7 +54,7 @@
if (MaxRecord != item.MaxRecord)
return false;
- if (DtRef != item.DtRef)
+ if (DtEnd != item.DtEnd)
return false;
if (CurrPage != item.CurrPage)
diff --git a/MP.SPEC/MP.SPEC.csproj b/MP.SPEC/MP.SPEC.csproj
index fb3ad326..f7cd5bff 100644
--- a/MP.SPEC/MP.SPEC.csproj
+++ b/MP.SPEC/MP.SPEC.csproj
@@ -5,7 +5,7 @@
enable
enable
MP.SPEC
- 6.16.2210.1818
+ 6.16.2210.1819
diff --git a/MP.SPEC/Pages/ODL.razor.cs b/MP.SPEC/Pages/ODL.razor.cs
index a8ff4f78..432543ee 100644
--- a/MP.SPEC/Pages/ODL.razor.cs
+++ b/MP.SPEC/Pages/ODL.razor.cs
@@ -85,7 +85,7 @@ namespace MP.SPEC.Pages
protected override async Task OnInitializedAsync()
{
ListStati = await MDService.AnagStatiComm();
- ListMacchine = await MDService.MacchineWithFlux();
+ ListMacchine = await MDService.MacchineWithFlux(currFilter.DtStart, currFilter.DtEnd);
}
protected async Task pgResetReq(bool doReset)
diff --git a/MP.SPEC/Resources/ChangeLog.html b/MP.SPEC/Resources/ChangeLog.html
index fef946a2..8de38dd8 100644
--- a/MP.SPEC/Resources/ChangeLog.html
+++ b/MP.SPEC/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
- Versione: 6.16.2210.1818
+ Versione: 6.16.2210.1819
Note di rilascio:
-
diff --git a/MP.SPEC/Resources/VersNum.txt b/MP.SPEC/Resources/VersNum.txt
index f58cd2c0..4782147c 100644
--- a/MP.SPEC/Resources/VersNum.txt
+++ b/MP.SPEC/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2210.1818
+6.16.2210.1819
diff --git a/MP.SPEC/Resources/manifest.xml b/MP.SPEC/Resources/manifest.xml
index f35138a3..eb0c777c 100644
--- a/MP.SPEC/Resources/manifest.xml
+++ b/MP.SPEC/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2210.1818
+ 6.16.2210.1819
https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/MP.SPEC.zip
https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/ChangeLog.html
false