From 7f67bc1a394794f06acb85d8a8cb04620c46bf91 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Sat, 5 Jul 2025 17:43:15 +0200 Subject: [PATCH] Bozza aggiunta sel multiplo x macchine --- MP.Stats/Components/SelectionFilter.razor | 46 ++++++++++--- MP.Stats/Components/SelectionFilter.razor.cs | 70 +++++++++++++++++++- MP.Stats/Data/SelectData.cs | 1 + MP.Stats/MP.Stats.csproj | 4 +- MP.Stats/Pages/TrendAnalysis.razor.cs | 12 +++- MP.Stats/Resources/ChangeLog.html | 2 +- MP.Stats/Resources/VersNum.txt | 2 +- MP.Stats/Resources/manifest.xml | 2 +- MP.Stats/appsettings.json | 10 +-- 9 files changed, 127 insertions(+), 22 deletions(-) diff --git a/MP.Stats/Components/SelectionFilter.razor b/MP.Stats/Components/SelectionFilter.razor index 70f52143..8d60e247 100644 --- a/MP.Stats/Components/SelectionFilter.razor +++ b/MP.Stats/Components/SelectionFilter.razor @@ -22,25 +22,51 @@
- + + @* *@
- + + @* *@
-
- -
- + @foreach (var item in ddlMacchineMult) + { + + } + } - -
+ else + { + @listSelected + } + +
+ } + else + { + +
+ +
+ } @if (ActionsEnabled) { diff --git a/MP.Stats/Components/SelectionFilter.razor.cs b/MP.Stats/Components/SelectionFilter.razor.cs index ad4742fd..ef6e40e1 100644 --- a/MP.Stats/Components/SelectionFilter.razor.cs +++ b/MP.Stats/Components/SelectionFilter.razor.cs @@ -1,7 +1,9 @@ using Microsoft.AspNetCore.Components; using MP.Stats.Data; using System; +using System.Collections; using System.Collections.Generic; +using System.ComponentModel; using System.Linq; using System.Threading.Tasks; @@ -139,9 +141,73 @@ namespace MP.Stats.Components } set { - if (!SelFilter.IdxMacchina.Equals(value)) + // verifico se sia energy --> multiselect + if (OnlyEnergy) { - SelFilter.IdxMacchina = value; + if (!ListIdxMaccSel.Contains(value)) + { + ListIdxMaccSel.Add(value); + showAddMacc = false; + } + } + else + { + + if (!SelFilter.IdxMacchina.Equals(value)) + { + SelFilter.IdxMacchina = value; + reportChange(); + } + } + } + } + + + + protected void ResetSelMacchine() + { + ListIdxMaccSel.Clear(); + showAddMacc = false; + } + + protected void ShowAdd() + { + showAddMacc = true; + } + private bool showAddMacc = false; + + protected string listSelected + { + get => ListIdxMaccSel != null && ListIdxMaccSel.Count > 0 ? string.Join(", ", ListIdxMaccSel) : "..selezionare..."; + } + + protected List ddlMacchineMult + { + get + { + List answ = new List(); + foreach (var item in ddlMacchine) + { + if (!ListIdxMaccSel.Contains(item.ValueField) && item.ValueField != "*") + { + answ.Add(item); + } + } + return answ; + } + } + + protected List ListIdxMaccSel + { + get + { + return SelFilter.ListIdxMaccSel; + } + set + { + if (!SelFilter.ListIdxMaccSel.SequenceEqual(value)) + { + SelFilter.ListIdxMaccSel = value; reportChange(); } } diff --git a/MP.Stats/Data/SelectData.cs b/MP.Stats/Data/SelectData.cs index 62decfe8..d39bc5f5 100644 --- a/MP.Stats/Data/SelectData.cs +++ b/MP.Stats/Data/SelectData.cs @@ -27,6 +27,7 @@ namespace MP.Stats.Data } public string IdxMacchina { get; set; } = "*"; + public List ListIdxMaccSel { get; set; } = new List(); public int IdxOdl { get; set; } = -999; public string KeyRichiesta { get; set; } = "*"; public string Azione { get; set; } = "*"; diff --git a/MP.Stats/MP.Stats.csproj b/MP.Stats/MP.Stats.csproj index ffefb60e..bb987ab2 100644 --- a/MP.Stats/MP.Stats.csproj +++ b/MP.Stats/MP.Stats.csproj @@ -4,8 +4,8 @@ net6.0 MP.Stats 826e877c-ba70-4253-84cb-d0b1cafd4440 - 6.16.2507.0408 - 6.16.2507.0408 + 6.16.2507.0517 + 6.16.2507.0517 true $(NoWarn);1591 en diff --git a/MP.Stats/Pages/TrendAnalysis.razor.cs b/MP.Stats/Pages/TrendAnalysis.razor.cs index 43acabaf..5553f3b6 100644 --- a/MP.Stats/Pages/TrendAnalysis.razor.cs +++ b/MP.Stats/Pages/TrendAnalysis.razor.cs @@ -89,6 +89,7 @@ namespace MP.Stats.Pages protected override async Task OnInitializedAsync() { + isLoading = true; MServ.ShowSearch = false; MServ.PageName = "Trend Analisys"; MServ.PageIcon = "fa-solid fa-arrow-trend-up"; @@ -96,6 +97,7 @@ namespace MP.Stats.Pages MServ.EA_SearchUpdated += OnSeachUpdated; await LoadConfData(); await ReloadData(); + isLoading = false; } protected async Task ResetFilter(SelectData newFilter) @@ -200,6 +202,8 @@ namespace MP.Stats.Pages #endregion Private Properties + private int maxDisplay = 5; + #region Private Methods /// @@ -224,11 +228,17 @@ namespace MP.Stats.Pages .GroupBy(o => o.IdxMacchina) .ToDictionary(g => g.Key, g => g.ToList()); - // per ogni valore recupero timeserie downsampled + // per ogni valore recupero timeserie downsampled fino al num max di quelle ottenibili... + int numAdd = 0; foreach (var item in grpDict) { + numAdd++; // ora effettuo deduplica valori per tenere un subset minore ed evitare problemi visualizzazione... PlotRecords.AddRange(TimeSeriesUtils.DownsampleFluxModels(item.Value, MaxPoints)); + if(numAdd >= maxDisplay) + { + return; + } } } diff --git a/MP.Stats/Resources/ChangeLog.html b/MP.Stats/Resources/ChangeLog.html index cd76e83e..b9845651 100644 --- a/MP.Stats/Resources/ChangeLog.html +++ b/MP.Stats/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo statistiche MAPO -

Versione: 6.16.2507.0408

+

Versione: 6.16.2507.0517


Note di rilascio:
    diff --git a/MP.Stats/Resources/VersNum.txt b/MP.Stats/Resources/VersNum.txt index 2e4bfad5..2b307afe 100644 --- a/MP.Stats/Resources/VersNum.txt +++ b/MP.Stats/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2507.0408 +6.16.2507.0517 diff --git a/MP.Stats/Resources/manifest.xml b/MP.Stats/Resources/manifest.xml index 30a9a80e..9f1a1b95 100644 --- a/MP.Stats/Resources/manifest.xml +++ b/MP.Stats/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2507.0408 + 6.16.2507.0517 https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/MP.Stats.zip https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/ChangeLog.html false diff --git a/MP.Stats/appsettings.json b/MP.Stats/appsettings.json index 3e65a53f..d247641c 100644 --- a/MP.Stats/appsettings.json +++ b/MP.Stats/appsettings.json @@ -51,10 +51,12 @@ ] }, "ConnectionStrings": { - "Redis": "redis.ufficio:26379,serviceName=devel,DefaultDatabase=5,connectTimeout=5000,syncTimeout=5000,asyncTimeout=5000,abortConnect=false,ssl=false,allowAdmin=true", - "DefaultConnection": "Server=SQL2016DEV;Database=MoonPro_STATS;Trusted_Connection=True;MultipleActiveResultSets=true", - "MP.Stats": "Server=SQL2016DEV;Database=MoonPro_STATS;User ID=sa;Password=keyhammer16;integrated security=False;MultipleActiveResultSets=True;App=MP.STATS;", - "MP.Voc": "Server=SQL2016DEV;Database=MoonPro;User ID=sa;Password=keyhammer16;integrated security=False;MultipleActiveResultSets=True;App=MP.STATS;" + //"DefaultConnection": "Server=SQL2016DEV;Database=MoonPro_STATS;Trusted_Connection=True;MultipleActiveResultSets=true", + //"MP.Stats": "Server=SQL2016DEV;Database=MoonPro_STATS;User ID=sa;Password=keyhammer16;integrated security=False;MultipleActiveResultSets=True;App=MP.STATS;", + "DefaultConnection": "Server=SQL2016DEV;Database=Jetco_MoonPro_STATS_Prod;Trusted_Connection=True;MultipleActiveResultSets=true", + "MP.Stats": "Server=SQL2022PROD;Database=Jetco_MoonPro_STATS_Prod;User ID=sa;Password=keyhammer16;integrated security=False;MultipleActiveResultSets=True;App=MP.STATS;", + "MP.Voc": "Server=SQL2016DEV;Database=MoonPro;User ID=sa;Password=keyhammer16;integrated security=False;MultipleActiveResultSets=True;App=MP.STATS;", + "Redis": "redis.ufficio:26379,serviceName=devel,DefaultDatabase=5,connectTimeout=5000,syncTimeout=5000,asyncTimeout=5000,abortConnect=false,ssl=false,allowAdmin=true" }, "FormatDur": "HH:mm.ss.ff", "SpecialConf": {