diff --git a/MP.MONO.UI/Components/ListFreqAlarms.razor b/MP.MONO.UI/Components/ListFreqAlarms.razor new file mode 100644 index 0000000..09037c3 --- /dev/null +++ b/MP.MONO.UI/Components/ListFreqAlarms.razor @@ -0,0 +1,42 @@ +@*
+
+ + + + + + + + + + + @foreach (var record in ListRecordsFreq) + { + + + + + + + + } + +
Alarm DescriptionAlarm Event CountEvent FrequenceEvent Frequence Chart
+
@record.AlarmDescription
+
+
@record.EventCount
+
+
+ @if (totalVar != 0) + { + @calcPerc((double)record.EventCount) + } +
+
+
+
@record.EventCount
+
+
+
+
+*@ \ No newline at end of file diff --git a/MP.MONO.UI/Components/ListFreqAlarms.razor.cs b/MP.MONO.UI/Components/ListFreqAlarms.razor.cs new file mode 100644 index 0000000..1b63a93 --- /dev/null +++ b/MP.MONO.UI/Components/ListFreqAlarms.razor.cs @@ -0,0 +1,79 @@ +//using Microsoft.AspNetCore.Components; +//using MP.MONO.Data.DTO; +//using MP.MONO.UI.Data; + +//namespace MP.MONO.UI.Components +//{ +// public partial class ListFreqAlarms +// { +// [Parameter] +// public List? ListRecordsFreq { get; set; } = null; + +// [Parameter] +// public List? SearchRecordsFreq { get; set; } = null; + +// [Parameter] +// public int _currPage { get; set; } = 1; + +// [Parameter] +// public int _numRecord { get; set; } = 10; + +// [Parameter] +// public double totalVar { get; set; } = 0; + +// protected DateTime _dtStart = DateTime.Now.AddHours(-24); +// protected DateTime dtStart +// { +// get => _dtStart; +// set +// { +// _dtStart = value; +// var pUpd = Task.Run(async () => +// { +// await ReloadData(); +// }); +// pUpd.Wait(); +// } +// } +// protected DateTime _dtEnd = DateTime.Now; +// protected DateTime dtEnd +// { +// get => _dtEnd; +// set +// { +// _dtEnd = value; +// var pUpd = Task.Run(async () => +// { +// await ReloadData(); +// }); +// pUpd.Wait(); +// } +// } +// private bool isLoading { get; set; } = false; +// private async Task ReloadData() +// { +// isLoading = true; +// DateTime adesso = DateTime.Now; +// //SearchRecords = CurrentDataService.dbController.AlarmRecGetParetoFreq(1, adesso.AddHours(-numHourPrev), adesso); +// if (setFreqDur) +// { +// SearchRecordsFreq = CurrentDataService.dbController.AlarmRecGetParetoFreq(1, dtStart, dtEnd); +// ListRecordsFreq = SearchRecordsFreq.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); +// totalCount = SearchRecordsFreq.Count; +// totalVar = SearchRecordsFreq.Sum(x => x.EventCount); +// calcolaSoglie(); +// await Task.Delay(1); +// } +// else +// { +// SearchRecordsDur = CurrentDataService.dbController.AlarmRecGetParetoDur(1, dtStart, dtEnd); +// ListRecordsDur = SearchRecordsDur.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); +// totalCount = SearchRecordsDur.Count; +// totalVar = SearchRecordsDur.Sum(x => x.Duration); +// await Task.Delay(1); +// } +// await Task.Delay(1); +// isLoading = false; +// } +// } +//} diff --git a/MP.MONO.UI/MP.MONO.UI.csproj b/MP.MONO.UI/MP.MONO.UI.csproj index 0499876..d48d1ae 100644 --- a/MP.MONO.UI/MP.MONO.UI.csproj +++ b/MP.MONO.UI/MP.MONO.UI.csproj @@ -5,7 +5,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2209.2615 + 1.2.2209.2617 diff --git a/MP.MONO.UI/Pages/AlarmsAnalysis.razor b/MP.MONO.UI/Pages/AlarmsAnalysis.razor index 5de1536..fc8c8cf 100644 --- a/MP.MONO.UI/Pages/AlarmsAnalysis.razor +++ b/MP.MONO.UI/Pages/AlarmsAnalysis.razor @@ -54,8 +54,8 @@ Alarm Description Alarm Event Count - Event Frequence - Event Frequence Chart + Event Frequency + Event Frequency Chart @@ -73,13 +73,13 @@
@if (totalVar != 0) { - @calcPerc((double)record.EventCount) + @calcPercFreq((double)record.EventCount) }
-
@record.EventCount
+
@record.EventCount
@@ -98,8 +98,8 @@ Alarm Description Alarm Duration - @*Event Frequence - Event Frequence Chart*@ + Event Duration + Event Duration Chart @@ -111,21 +111,21 @@
@item.AlarmDescription
-
@item.Duration
+
@Math.Round(item.Duration,2)
- @* +
- @if (totalEvents != 0) + @if (totalVar != 0) { - @calcPerc((double)record.EventCount) + @calcPercDur((double)item.Duration) }
-
@record.EventCount
-
- *@ +
@Math.Round(item.Duration,2)
+ + } diff --git a/MP.MONO.UI/Pages/AlarmsAnalysis.razor.cs b/MP.MONO.UI/Pages/AlarmsAnalysis.razor.cs index 95cafb6..df790c3 100644 --- a/MP.MONO.UI/Pages/AlarmsAnalysis.razor.cs +++ b/MP.MONO.UI/Pages/AlarmsAnalysis.razor.cs @@ -168,7 +168,7 @@ namespace MP.MONO.UI.Pages ListRecordsFreq = SearchRecordsFreq.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); totalCount = SearchRecordsFreq.Count; totalVar = SearchRecordsFreq.Sum(x => x.EventCount); - calcolaSoglie(); + calcolaSoglieFreq(); await Task.Delay(1); } else @@ -177,6 +177,7 @@ namespace MP.MONO.UI.Pages ListRecordsDur = SearchRecordsDur.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); totalCount = SearchRecordsDur.Count; totalVar = SearchRecordsDur.Sum(x => x.Duration); + //calcolaSoglieDur(); await Task.Delay(1); } await Task.Delay(1); @@ -209,15 +210,15 @@ namespace MP.MONO.UI.Pages { SearchRecordsDur = CurrentDataService.dbController.AlarmRecGetParetoDur(1, dtStart, dtEnd); ListRecordsDur= SearchRecordsDur.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); - + //calcolaSoglieDur(); } await ReloadData(); } private double sogliaGreen = 0; private double sogliaRed = 1; - private void calcolaSoglie() + private void calcolaSoglieFreq() { - int numRecord = SearchRecordsFreq.Count; + int numRecord = totalCount; var firstRecord = SearchRecordsFreq.Skip((int)(numRecord * 0.2)).FirstOrDefault(); var lastRecord = SearchRecordsFreq.Skip((int)(numRecord * 0.8)).FirstOrDefault(); if (firstRecord != null) @@ -229,19 +230,39 @@ namespace MP.MONO.UI.Pages sogliaRed = (double)lastRecord.EventCount / totalVar; } } + private void calcolaSoglieDur() + { + int numRecord = totalCount; + var firstRecord = SearchRecordsDur.Skip((int)(numRecord * 0.2)).FirstOrDefault(); + var lastRecord = SearchRecordsDur.Skip((int)(numRecord * 0.8)).FirstOrDefault(); + if (firstRecord != null) + { + sogliaGreen = (double)firstRecord.Duration / totalVar; + } + if (lastRecord != null) + { + sogliaRed = (double)lastRecord.Duration / totalVar; + } + } protected void ResetData() { currRecord = null; } - protected string calcPerc(double numEvent) + protected string calcPercFreq(double numEvent) { string ans = $"{numEvent / totalVar:P2}"; return ans; } + protected string calcPercDur(double duration) + { + string ans = $"{duration / totalVar:P2}"; - protected string val(double eventCount) + return ans; + } + + protected string valFreq(double eventCount) { int max = SearchRecordsFreq.Max(a => a.EventCount); @@ -254,12 +275,25 @@ namespace MP.MONO.UI.Pages return ans; } - protected string styleColourPBar(double eventFreq) + protected string valDur(double duration) + { + double max = SearchRecordsDur.Max(a => a.Duration); + + double divisione = duration / max; + + int percentage = (int)(divisione * 100); + + string ans = $"width: {percentage}%"; + + return ans; + } + + protected string styleColourPBarFreq(double eventFreq) { string ans = ""; var source = ListRecordsFreq; - calcolaSoglie(); + //calcolaSoglieDur(); if (eventFreq >= sogliaGreen) { @@ -277,7 +311,29 @@ namespace MP.MONO.UI.Pages return ans; } + protected string styleColourPBarDur(double duration) + { + string ans = ""; + var source = ListRecordsFreq; + calcolaSoglieFreq(); + + if (duration >= sogliaGreen) + { + ans = "bg-danger"; + } + else if (duration <= sogliaRed) + { + ans = "bg-success"; + } + else + { + ans = "bg-warning"; + } + + + return ans; + } protected void Select(AlarmFreqDTO selRecord) { // applico filtro da selezione diff --git a/MP.MONO.UI/Resources/ChangeLog.html b/MP.MONO.UI/Resources/ChangeLog.html index ce23c9e..1b92696 100644 --- a/MP.MONO.UI/Resources/ChangeLog.html +++ b/MP.MONO.UI/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

Version: 1.2.2209.2615

+

Version: 1.2.2209.2617


Release Note:
  • diff --git a/MP.MONO.UI/Resources/VersNum.txt b/MP.MONO.UI/Resources/VersNum.txt index dbc7e7d..01e9efe 100644 --- a/MP.MONO.UI/Resources/VersNum.txt +++ b/MP.MONO.UI/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2209.2615 +1.2.2209.2617 diff --git a/MP.MONO.UI/Resources/manifest.xml b/MP.MONO.UI/Resources/manifest.xml index 988bef9..192fb90 100644 --- a/MP.MONO.UI/Resources/manifest.xml +++ b/MP.MONO.UI/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2209.2615 + 1.2.2209.2617 http://nexus.steamware.net/repository/SWS/MP.MONO.UI/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.UI/stable/LAST/ChangeLog.html false