From 74f8016fa035b0e5d7824a43ae2fc9a644eb0b5d Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Mon, 24 Oct 2022 16:27:10 +0200 Subject: [PATCH 01/10] Aggiunta cache redis alarm log --- MP.MONO.Core/Constants.cs | 1 + MP.MONO.Data/Controllers/MpDbController.cs | 13 +++++---- MP.MONO.UI/Data/CurrentDataService.cs | 32 +++++++++++++++++++--- MP.MONO.UI/MP.MONO.UI.csproj | 2 +- MP.MONO.UI/Resources/ChangeLog.html | 2 +- MP.MONO.UI/Resources/VersNum.txt | 2 +- MP.MONO.UI/Resources/manifest.xml | 2 +- 7 files changed, 40 insertions(+), 14 deletions(-) diff --git a/MP.MONO.Core/Constants.cs b/MP.MONO.Core/Constants.cs index d4750b8..531e269 100644 --- a/MP.MONO.Core/Constants.cs +++ b/MP.MONO.Core/Constants.cs @@ -85,6 +85,7 @@ namespace MP.MONO.Core //REDIS caching keys public static readonly string ALARM_REC = $"{BASE_HASH}:Current:AlarmsRecVal"; + public static readonly string ALARM_LOG = $"{BASE_HASH}:Current:AlarmsLogVal"; #endregion Public Fields diff --git a/MP.MONO.Data/Controllers/MpDbController.cs b/MP.MONO.Data/Controllers/MpDbController.cs index 943a529..4e3d963 100644 --- a/MP.MONO.Data/Controllers/MpDbController.cs +++ b/MP.MONO.Data/Controllers/MpDbController.cs @@ -123,14 +123,14 @@ namespace MP.MONO.Data.Controllers /// /// /// - public List AlarmLogGetFilt(int MachineId, int skipRec, int numRec) + public async Task> AlarmLogGetFilt(int MachineId, int skipRec, int numRec) { List dbResult = new List(); using (MapoMonoContext localDbCtx = new MapoMonoContext()) { try { - dbResult = localDbCtx + dbResult = await localDbCtx .DbSetAlarmLog .AsNoTracking() .Where(x => x.MachineId == MachineId) @@ -138,13 +138,14 @@ namespace MP.MONO.Data.Controllers .OrderByDescending(x => x.AlarmLogId) .Skip(skipRec) .Take(numRec) - .ToList(); + .ToListAsync(); } catch (Exception exc) { Log.Error($"Eccezione durante AlarmLogGetFilt{Environment.NewLine}{exc}"); } } + //await Task.Delay(1); return dbResult; } @@ -332,14 +333,14 @@ namespace MP.MONO.Data.Controllers /// /// /// - public List AlarmRecGetFilt(int MachineId, int skipRec, int numRec) + public async Task> AlarmRecGetFilt(int MachineId, int skipRec, int numRec) { List dbResult = new List(); using (MapoMonoContext localDbCtx = new MapoMonoContext()) { try { - dbResult = localDbCtx + dbResult = await localDbCtx .DbSetAlarmRec .AsNoTracking() .Where(x => x.MachineId == MachineId) @@ -348,7 +349,7 @@ namespace MP.MONO.Data.Controllers .OrderByDescending(x => x.DtStart) .Skip(skipRec) .Take(numRec) - .ToList(); + .ToListAsync(); } catch (Exception exc) { diff --git a/MP.MONO.UI/Data/CurrentDataService.cs b/MP.MONO.UI/Data/CurrentDataService.cs index aa929a2..fdb7481 100644 --- a/MP.MONO.UI/Data/CurrentDataService.cs +++ b/MP.MONO.UI/Data/CurrentDataService.cs @@ -7,9 +7,11 @@ using MP.MONO.Data.DbModels; using MP.MONO.Data.DTO; using Newtonsoft.Json; using NLog; +using Org.BouncyCastle.Bcpg.OpenPgp; using StackExchange.Redis; using System.ComponentModel.DataAnnotations; using System.Diagnostics; +using System.Diagnostics.Eventing.Reader; using System.Reflection.PortableExecutable; using static MP.MONO.Core.Enums; @@ -117,12 +119,34 @@ namespace MP.MONO.UI.Data /// public async Task> AlarmLogGetFilt(int machineId, int skipRec, int numRec) { + string source = "DB"; + List dbResult = new List(); Stopwatch stopWatch = new Stopwatch(); + string currKey = $"{Constants.ALARM_LOG}:{machineId}:{skipRec}:{numRec}"; stopWatch.Start(); - var dbResult = dbController.AlarmLogGetFilt(machineId, skipRec, numRec); + string rawData = await redisDb.StringGetAsync(currKey); + if (!string.IsNullOrEmpty(rawData)) + { + source = "REDIS"; + var tempResult = JsonConvert.DeserializeObject>(rawData); + if (tempResult == null) + { + dbResult = new List(); + } + else + { + dbResult = tempResult; + } + } + else + { + dbResult = await dbController.AlarmLogGetFilt(machineId, skipRec, numRec); + rawData = JsonConvert.SerializeObject(dbResult); + await redisDb.StringSetAsync(currKey, rawData, TimeSpan.FromMilliseconds(1000)); + } stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; - Log.Trace($"Effettuata lettura da DB AlarmLogGetFilt: {ts.TotalMilliseconds} ms"); + Log.Debug($"AlarmLogGetFilt | {source} in : {ts.TotalMilliseconds} ms"); return await Task.FromResult(dbResult); } /// @@ -190,9 +214,9 @@ namespace MP.MONO.UI.Data } else { - dbResult = dbController.AlarmRecGetFilt(MachineId, skipRec, numRec); + dbResult = await dbController.AlarmRecGetFilt(MachineId, skipRec, numRec); rawData = JsonConvert.SerializeObject(dbResult); - await redisDb.StringSetAsync(currKey, rawData, TimeSpan.FromMilliseconds(500)); + await redisDb.StringSetAsync(currKey, rawData, TimeSpan.FromMilliseconds(1000)); } stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; diff --git a/MP.MONO.UI/MP.MONO.UI.csproj b/MP.MONO.UI/MP.MONO.UI.csproj index 2fe9583..1e2675e 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.2210.2415 + 1.2.2210.2416 diff --git a/MP.MONO.UI/Resources/ChangeLog.html b/MP.MONO.UI/Resources/ChangeLog.html index 1379587..7e65ea8 100644 --- a/MP.MONO.UI/Resources/ChangeLog.html +++ b/MP.MONO.UI/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

Version: 1.2.2210.2415

+

Version: 1.2.2210.2416


Release Note:
  • diff --git a/MP.MONO.UI/Resources/VersNum.txt b/MP.MONO.UI/Resources/VersNum.txt index d57b9b2..c938d35 100644 --- a/MP.MONO.UI/Resources/VersNum.txt +++ b/MP.MONO.UI/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2415 +1.2.2210.2416 diff --git a/MP.MONO.UI/Resources/manifest.xml b/MP.MONO.UI/Resources/manifest.xml index 3504d22..51fac25 100644 --- a/MP.MONO.UI/Resources/manifest.xml +++ b/MP.MONO.UI/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2415 + 1.2.2210.2416 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 From 89465ed44c220ae996ffbeeb64f9e3a553575a27 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 24 Oct 2022 16:56:27 +0200 Subject: [PATCH 02/10] Refresh allarmi x timer --- MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj | 2 +- MP.MONO.ANALYZER/Resources/ChangeLog.html | 2 +- MP.MONO.ANALYZER/Resources/VersNum.txt | 2 +- MP.MONO.ANALYZER/Resources/manifest.xml | 2 +- MP.MONO.DECODER/MP.MONO.DECODER.csproj | 2 +- MP.MONO.DECODER/Resources/ChangeLog.html | 2 +- MP.MONO.DECODER/Resources/VersNum.txt | 2 +- MP.MONO.DECODER/Resources/manifest.xml | 2 +- MP.MONO.SIM/MP.MONO.SIM.csproj | 2 +- MP.MONO.SIM/Resources/ChangeLog.html | 2 +- MP.MONO.SIM/Resources/VersNum.txt | 2 +- MP.MONO.SIM/Resources/manifest.xml | 2 +- MP.MONO.UI/Pages/Alarms.razor | 2 - MP.MONO.UI/Pages/Alarms.razor.cs | 48 +++++++++++++++++++++-- 14 files changed, 56 insertions(+), 18 deletions(-) diff --git a/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj b/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj index 3212307..c660a48 100644 --- a/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj +++ b/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj @@ -6,7 +6,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2414 + 1.2.2210.2416 diff --git a/MP.MONO.ANALYZER/Resources/ChangeLog.html b/MP.MONO.ANALYZER/Resources/ChangeLog.html index 9148b0e..7e65ea8 100644 --- a/MP.MONO.ANALYZER/Resources/ChangeLog.html +++ b/MP.MONO.ANALYZER/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

    Version: 1.2.2210.2414

    +

    Version: 1.2.2210.2416


    Release Note:
    • diff --git a/MP.MONO.ANALYZER/Resources/VersNum.txt b/MP.MONO.ANALYZER/Resources/VersNum.txt index d804de9..c938d35 100644 --- a/MP.MONO.ANALYZER/Resources/VersNum.txt +++ b/MP.MONO.ANALYZER/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2414 +1.2.2210.2416 diff --git a/MP.MONO.ANALYZER/Resources/manifest.xml b/MP.MONO.ANALYZER/Resources/manifest.xml index 0e0300a..8d8d9e3 100644 --- a/MP.MONO.ANALYZER/Resources/manifest.xml +++ b/MP.MONO.ANALYZER/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2414 + 1.2.2210.2416 http://nexus.steamware.net/repository/SWS/MP.MONO.ANALYZER/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.ANALYZER/stable/LAST/ChangeLog.html false diff --git a/MP.MONO.DECODER/MP.MONO.DECODER.csproj b/MP.MONO.DECODER/MP.MONO.DECODER.csproj index 54b90b1..d7503bf 100644 --- a/MP.MONO.DECODER/MP.MONO.DECODER.csproj +++ b/MP.MONO.DECODER/MP.MONO.DECODER.csproj @@ -6,7 +6,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2414 + 1.2.2210.2416 diff --git a/MP.MONO.DECODER/Resources/ChangeLog.html b/MP.MONO.DECODER/Resources/ChangeLog.html index 9148b0e..7e65ea8 100644 --- a/MP.MONO.DECODER/Resources/ChangeLog.html +++ b/MP.MONO.DECODER/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

      Version: 1.2.2210.2414

      +

      Version: 1.2.2210.2416


      Release Note:
      • diff --git a/MP.MONO.DECODER/Resources/VersNum.txt b/MP.MONO.DECODER/Resources/VersNum.txt index d804de9..c938d35 100644 --- a/MP.MONO.DECODER/Resources/VersNum.txt +++ b/MP.MONO.DECODER/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2414 +1.2.2210.2416 diff --git a/MP.MONO.DECODER/Resources/manifest.xml b/MP.MONO.DECODER/Resources/manifest.xml index f74c8d6..e36d60a 100644 --- a/MP.MONO.DECODER/Resources/manifest.xml +++ b/MP.MONO.DECODER/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2414 + 1.2.2210.2416 http://nexus.steamware.net/repository/SWS/MP.MONO.DECODER/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.DECODER/stable/LAST/ChangeLog.html false diff --git a/MP.MONO.SIM/MP.MONO.SIM.csproj b/MP.MONO.SIM/MP.MONO.SIM.csproj index fff8648..eb54e5f 100644 --- a/MP.MONO.SIM/MP.MONO.SIM.csproj +++ b/MP.MONO.SIM/MP.MONO.SIM.csproj @@ -6,7 +6,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2414 + 1.2.2210.2416 diff --git a/MP.MONO.SIM/Resources/ChangeLog.html b/MP.MONO.SIM/Resources/ChangeLog.html index 9148b0e..7e65ea8 100644 --- a/MP.MONO.SIM/Resources/ChangeLog.html +++ b/MP.MONO.SIM/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

        Version: 1.2.2210.2414

        +

        Version: 1.2.2210.2416


        Release Note:
        • diff --git a/MP.MONO.SIM/Resources/VersNum.txt b/MP.MONO.SIM/Resources/VersNum.txt index d804de9..c938d35 100644 --- a/MP.MONO.SIM/Resources/VersNum.txt +++ b/MP.MONO.SIM/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2414 +1.2.2210.2416 diff --git a/MP.MONO.SIM/Resources/manifest.xml b/MP.MONO.SIM/Resources/manifest.xml index 1d4e5e6..5f4187a 100644 --- a/MP.MONO.SIM/Resources/manifest.xml +++ b/MP.MONO.SIM/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2414 + 1.2.2210.2416 http://nexus.steamware.net/repository/SWS/MP.MONO.SIM/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.SIM/stable/LAST/ChangeLog.html false diff --git a/MP.MONO.UI/Pages/Alarms.razor b/MP.MONO.UI/Pages/Alarms.razor index 1b9a821..0a455f4 100644 --- a/MP.MONO.UI/Pages/Alarms.razor +++ b/MP.MONO.UI/Pages/Alarms.razor @@ -182,11 +182,9 @@ } - } else { -
          @if (ListRecords == null) { diff --git a/MP.MONO.UI/Pages/Alarms.razor.cs b/MP.MONO.UI/Pages/Alarms.razor.cs index 98b1f89..caa4a4f 100644 --- a/MP.MONO.UI/Pages/Alarms.razor.cs +++ b/MP.MONO.UI/Pages/Alarms.razor.cs @@ -1,6 +1,6 @@ using MP.MONO.Data.DbModels; using MP.MONO.UI.Data; -using NLog.Fluent; +using NLog; using System.Diagnostics; namespace MP.MONO.UI.Pages @@ -24,8 +24,45 @@ namespace MP.MONO.UI.Pages public void Dispose() { + aTimer.Elapsed -= ElapsedTimer; + aTimer.Stop(); + aTimer.Dispose(); } + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + public void ElapsedTimer(object? source, System.Timers.ElapsedEventArgs e) + { + if (!isLoading && liveUpdate) + { + aTimer.Stop(); + // inizio misura esecuzione + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + var pUpd = Task.Run(async () => + { + await Task.Delay(1); + await InvokeAsync(() => ReloadData(true)); + }); + pUpd.Wait(); + // misuro tempo esecuzione + stopWatch.Stop(); + TimeSpan ts = stopWatch.Elapsed; + int deltaTime = RefreshPeriod - (int)ts.TotalMilliseconds; + aTimer.Interval = deltaTime > 100 ? deltaTime : 100; + aTimer.Start(); + Log.Debug("ElapsedTimer: Timer Restarted"); + } + } + private static System.Timers.Timer aTimer = null!; + public void StartTimer() + { + aTimer = new System.Timers.Timer(RefreshPeriod); + aTimer.Elapsed += ElapsedTimer; + aTimer.Enabled = true; + //aTimer.AutoReset = true; + aTimer.Start(); + } #endregion Public Methods @@ -45,7 +82,7 @@ namespace MP.MONO.UI.Pages get => setLogRec ? "Status History mode" : "Single Rec mode"; } - protected int RefreshPeriod { get; set; } = 2000; + protected int RefreshPeriod { get; set; } = 3000; #endregion Protected Properties @@ -92,10 +129,10 @@ namespace MP.MONO.UI.Pages StateHasChanged(); } - protected override async Task OnInitializedAsync() { await ReloadData(true); + StartTimer(); } protected async Task ReloadData(bool setChanged) @@ -147,6 +184,7 @@ namespace MP.MONO.UI.Pages protected async Task reloadFromMessage() { isLoading = true; + aTimer.Stop(); // verifico veto DateTime adesso = DateTime.Now; @@ -160,6 +198,7 @@ namespace MP.MONO.UI.Pages await Task.Delay(1); isLoading = false; + aTimer.Start(); } protected async Task ShowSetup() @@ -313,7 +352,8 @@ namespace MP.MONO.UI.Pages newParams.rightString = "SINGLE REC"; newParams.leftString = "STATUS HISTORY"; - await InvokeAsync(() => StateHasChanged()); + await ReloadData(true); + //await InvokeAsync(() => StateHasChanged()); currFilter = newParams; } From e631d9fd0827988b06c885f6bcbbee214438d707 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 24 Oct 2022 17:04:56 +0200 Subject: [PATCH 03/10] Update header allarmi --- MP.MONO.DECODER/appsettings.json | 2 +- MP.MONO.UI/Components/AlarmsOverview.razor | 4 ++-- MP.MONO.UI/Pages/Alarms.razor | 22 ++++++++++------------ MP.MONO.UI/Pages/Alarms.razor.cs | 1 - 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/MP.MONO.DECODER/appsettings.json b/MP.MONO.DECODER/appsettings.json index 4591d63..3f3b4bb 100644 --- a/MP.MONO.DECODER/appsettings.json +++ b/MP.MONO.DECODER/appsettings.json @@ -41,6 +41,6 @@ //"AlarmRegexp": "^{.*}", "BlinkCount": 3, "DbSampleInt": 60, - "BlinkPeriodMSec": 3000 + "BlinkPeriodMSec": 1200 } } diff --git a/MP.MONO.UI/Components/AlarmsOverview.razor b/MP.MONO.UI/Components/AlarmsOverview.razor index b8733cc..4100043 100644 --- a/MP.MONO.UI/Components/AlarmsOverview.razor +++ b/MP.MONO.UI/Components/AlarmsOverview.razor @@ -9,14 +9,14 @@ { if (@ListRecords.Count == 0) { -
          All OK
          +
          All OK
          } else {
            @foreach (var item in ListRecords) { -
          • +
          • @item.Title diff --git a/MP.MONO.UI/Pages/Alarms.razor b/MP.MONO.UI/Pages/Alarms.razor index 0a455f4..37ee058 100644 --- a/MP.MONO.UI/Pages/Alarms.razor +++ b/MP.MONO.UI/Pages/Alarms.razor @@ -49,14 +49,14 @@
            -
            +
            -
            +
            -
            -
            Current alarms
            +
            + Current alarms
            -
            +
            @@ -64,20 +64,18 @@
            -
            -
            - -
            - +
            + +
            -
            +
            @if (reqPassw) { diff --git a/MP.MONO.UI/Pages/Alarms.razor.cs b/MP.MONO.UI/Pages/Alarms.razor.cs index caa4a4f..49ecf8e 100644 --- a/MP.MONO.UI/Pages/Alarms.razor.cs +++ b/MP.MONO.UI/Pages/Alarms.razor.cs @@ -353,7 +353,6 @@ namespace MP.MONO.UI.Pages newParams.rightString = "SINGLE REC"; newParams.leftString = "STATUS HISTORY"; await ReloadData(true); - //await InvokeAsync(() => StateHasChanged()); currFilter = newParams; } From 556f34fe9c45a61d81269587aaae4c4e21d0566e Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Mon, 24 Oct 2022 17:05:52 +0200 Subject: [PATCH 04/10] bozza grafica alarms --- MP.MONO.UI/Pages/Alarms.razor | 46 ++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/MP.MONO.UI/Pages/Alarms.razor b/MP.MONO.UI/Pages/Alarms.razor index 0a455f4..0529292 100644 --- a/MP.MONO.UI/Pages/Alarms.razor +++ b/MP.MONO.UI/Pages/Alarms.razor @@ -16,32 +16,38 @@
            - @if (showParams) - { -
            + + +
            +
            +
            Offcanvas right
            + +
            +
            @if (!maxRecordStatus) { - Num Records: - +
            + Num Records: + +
            +
            + + +
            } else { - Num Records: - +
            + Num Records: + +
            +
            + + +
            } - - -
            - - - } - else - { -
            - -
            - } +
            @@ -144,7 +150,7 @@ { @if (record.DtEnd < record.DtStart) { - + @record.DtStart.ToString("yyyy.MM.dd HH:mm:ss") From e71add5378188b42fee19de867f4a0f0657b0362 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 24 Oct 2022 17:10:35 +0200 Subject: [PATCH 05/10] UPdate timing SIM --- MP.MONO.SIM/Program.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MP.MONO.SIM/Program.cs b/MP.MONO.SIM/Program.cs index 53dc5d6..edefa33 100644 --- a/MP.MONO.SIM/Program.cs +++ b/MP.MONO.SIM/Program.cs @@ -378,7 +378,7 @@ void simAlarms() // riaggiungo 1:1 ed invio foreach (var item in NewActiveAlarm) { - Thread.Sleep(rand.Next(200, 600)); + Thread.Sleep(rand.Next(100, 300)); currAlarm.Add(item.Key, item.Value); sendActiveAlarm(currAlarm); } @@ -391,7 +391,7 @@ void simAlarms() // riaggiungo 1:1 ed invio foreach (var item in NewActiveAlarm) { - Thread.Sleep(rand.Next(200, 600)); + Thread.Sleep(rand.Next(100, 300)); currAlarm.Add(item.Key, item.Value); sendActiveAlarm(currAlarm); } @@ -405,7 +405,7 @@ void simAlarms() // riaggiungo 1:1 ed invio foreach (var item in NewActiveAlarm) { - Thread.Sleep(rand.Next(400, 700)); + Thread.Sleep(rand.Next(100, 300)); currAlarm.Add(item.Key, item.Value); sendActiveAlarm(currAlarm); } From 6a526e66c5bb4e88f85a7c33ecd040fdb55d38b7 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 24 Oct 2022 17:12:14 +0200 Subject: [PATCH 06/10] Refresh btn analisi allarmi --- MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj | 2 +- MP.MONO.ANALYZER/Resources/ChangeLog.html | 2 +- MP.MONO.ANALYZER/Resources/VersNum.txt | 2 +- MP.MONO.ANALYZER/Resources/manifest.xml | 2 +- MP.MONO.DECODER/MP.MONO.DECODER.csproj | 2 +- MP.MONO.DECODER/Resources/ChangeLog.html | 2 +- MP.MONO.DECODER/Resources/VersNum.txt | 2 +- MP.MONO.DECODER/Resources/manifest.xml | 2 +- MP.MONO.SIM/MP.MONO.SIM.csproj | 2 +- MP.MONO.SIM/Resources/ChangeLog.html | 2 +- MP.MONO.SIM/Resources/VersNum.txt | 2 +- MP.MONO.SIM/Resources/manifest.xml | 2 +- MP.MONO.UI/MP.MONO.UI.csproj | 2 +- MP.MONO.UI/Pages/Alarms.razor | 2 +- MP.MONO.UI/Resources/ChangeLog.html | 2 +- MP.MONO.UI/Resources/VersNum.txt | 2 +- MP.MONO.UI/Resources/manifest.xml | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj b/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj index c660a48..f7244c8 100644 --- a/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj +++ b/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj @@ -6,7 +6,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2416 + 1.2.2210.2417 diff --git a/MP.MONO.ANALYZER/Resources/ChangeLog.html b/MP.MONO.ANALYZER/Resources/ChangeLog.html index 7e65ea8..5466578 100644 --- a/MP.MONO.ANALYZER/Resources/ChangeLog.html +++ b/MP.MONO.ANALYZER/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

            Version: 1.2.2210.2416

            +

            Version: 1.2.2210.2417


            Release Note:
            • diff --git a/MP.MONO.ANALYZER/Resources/VersNum.txt b/MP.MONO.ANALYZER/Resources/VersNum.txt index c938d35..d67b0e0 100644 --- a/MP.MONO.ANALYZER/Resources/VersNum.txt +++ b/MP.MONO.ANALYZER/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2416 +1.2.2210.2417 diff --git a/MP.MONO.ANALYZER/Resources/manifest.xml b/MP.MONO.ANALYZER/Resources/manifest.xml index 8d8d9e3..d980e10 100644 --- a/MP.MONO.ANALYZER/Resources/manifest.xml +++ b/MP.MONO.ANALYZER/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2416 + 1.2.2210.2417 http://nexus.steamware.net/repository/SWS/MP.MONO.ANALYZER/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.ANALYZER/stable/LAST/ChangeLog.html false diff --git a/MP.MONO.DECODER/MP.MONO.DECODER.csproj b/MP.MONO.DECODER/MP.MONO.DECODER.csproj index d7503bf..8c2a594 100644 --- a/MP.MONO.DECODER/MP.MONO.DECODER.csproj +++ b/MP.MONO.DECODER/MP.MONO.DECODER.csproj @@ -6,7 +6,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2416 + 1.2.2210.2417 diff --git a/MP.MONO.DECODER/Resources/ChangeLog.html b/MP.MONO.DECODER/Resources/ChangeLog.html index 7e65ea8..5466578 100644 --- a/MP.MONO.DECODER/Resources/ChangeLog.html +++ b/MP.MONO.DECODER/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

              Version: 1.2.2210.2416

              +

              Version: 1.2.2210.2417


              Release Note:
              • diff --git a/MP.MONO.DECODER/Resources/VersNum.txt b/MP.MONO.DECODER/Resources/VersNum.txt index c938d35..d67b0e0 100644 --- a/MP.MONO.DECODER/Resources/VersNum.txt +++ b/MP.MONO.DECODER/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2416 +1.2.2210.2417 diff --git a/MP.MONO.DECODER/Resources/manifest.xml b/MP.MONO.DECODER/Resources/manifest.xml index e36d60a..9992895 100644 --- a/MP.MONO.DECODER/Resources/manifest.xml +++ b/MP.MONO.DECODER/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2416 + 1.2.2210.2417 http://nexus.steamware.net/repository/SWS/MP.MONO.DECODER/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.DECODER/stable/LAST/ChangeLog.html false diff --git a/MP.MONO.SIM/MP.MONO.SIM.csproj b/MP.MONO.SIM/MP.MONO.SIM.csproj index eb54e5f..ad84c28 100644 --- a/MP.MONO.SIM/MP.MONO.SIM.csproj +++ b/MP.MONO.SIM/MP.MONO.SIM.csproj @@ -6,7 +6,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2416 + 1.2.2210.2417 diff --git a/MP.MONO.SIM/Resources/ChangeLog.html b/MP.MONO.SIM/Resources/ChangeLog.html index 7e65ea8..5466578 100644 --- a/MP.MONO.SIM/Resources/ChangeLog.html +++ b/MP.MONO.SIM/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

                Version: 1.2.2210.2416

                +

                Version: 1.2.2210.2417


                Release Note:
                • diff --git a/MP.MONO.SIM/Resources/VersNum.txt b/MP.MONO.SIM/Resources/VersNum.txt index c938d35..d67b0e0 100644 --- a/MP.MONO.SIM/Resources/VersNum.txt +++ b/MP.MONO.SIM/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2416 +1.2.2210.2417 diff --git a/MP.MONO.SIM/Resources/manifest.xml b/MP.MONO.SIM/Resources/manifest.xml index 5f4187a..0e82a78 100644 --- a/MP.MONO.SIM/Resources/manifest.xml +++ b/MP.MONO.SIM/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2416 + 1.2.2210.2417 http://nexus.steamware.net/repository/SWS/MP.MONO.SIM/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.SIM/stable/LAST/ChangeLog.html false diff --git a/MP.MONO.UI/MP.MONO.UI.csproj b/MP.MONO.UI/MP.MONO.UI.csproj index 1e2675e..b98a50a 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.2210.2416 + 1.2.2210.2417 diff --git a/MP.MONO.UI/Pages/Alarms.razor b/MP.MONO.UI/Pages/Alarms.razor index 37ee058..98817f2 100644 --- a/MP.MONO.UI/Pages/Alarms.razor +++ b/MP.MONO.UI/Pages/Alarms.razor @@ -65,7 +65,7 @@
            - + Alarm Analysis
            diff --git a/MP.MONO.UI/Resources/ChangeLog.html b/MP.MONO.UI/Resources/ChangeLog.html index 7e65ea8..5466578 100644 --- a/MP.MONO.UI/Resources/ChangeLog.html +++ b/MP.MONO.UI/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

            Version: 1.2.2210.2416

            +

            Version: 1.2.2210.2417


            Release Note:
            • diff --git a/MP.MONO.UI/Resources/VersNum.txt b/MP.MONO.UI/Resources/VersNum.txt index c938d35..d67b0e0 100644 --- a/MP.MONO.UI/Resources/VersNum.txt +++ b/MP.MONO.UI/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2416 +1.2.2210.2417 diff --git a/MP.MONO.UI/Resources/manifest.xml b/MP.MONO.UI/Resources/manifest.xml index 51fac25..a012a76 100644 --- a/MP.MONO.UI/Resources/manifest.xml +++ b/MP.MONO.UI/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2416 + 1.2.2210.2417 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 From 7c29fbce771775d1240947062ab9ca3b336ed66b Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 24 Oct 2022 18:09:46 +0200 Subject: [PATCH 07/10] Fix decoder x - filtraggio pre/post dati - gesitone muted --- MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj | 2 +- MP.MONO.ANALYZER/Resources/ChangeLog.html | 2 +- MP.MONO.ANALYZER/Resources/VersNum.txt | 2 +- MP.MONO.ANALYZER/Resources/manifest.xml | 2 +- MP.MONO.Core/Constants.cs | 1 + MP.MONO.DECODER/AlarmsBlinkManager.cs | 104 ++++++++++-- MP.MONO.DECODER/MP.MONO.DECODER.csproj | 2 +- MP.MONO.DECODER/Program.cs | 197 ++-------------------- MP.MONO.DECODER/Resources/ChangeLog.html | 2 +- MP.MONO.DECODER/Resources/VersNum.txt | 2 +- MP.MONO.DECODER/Resources/manifest.xml | 2 +- MP.MONO.SIM/MP.MONO.SIM.csproj | 2 +- MP.MONO.SIM/Resources/ChangeLog.html | 2 +- MP.MONO.SIM/Resources/VersNum.txt | 2 +- MP.MONO.SIM/Resources/manifest.xml | 2 +- MP.MONO.UI/MP.MONO.UI.csproj | 2 +- MP.MONO.UI/NLog.config | 2 +- MP.MONO.UI/Resources/ChangeLog.html | 2 +- MP.MONO.UI/Resources/VersNum.txt | 2 +- MP.MONO.UI/Resources/manifest.xml | 2 +- 20 files changed, 120 insertions(+), 216 deletions(-) diff --git a/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj b/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj index f7244c8..ac2e3c6 100644 --- a/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj +++ b/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj @@ -6,7 +6,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2417 + 1.2.2210.2418 diff --git a/MP.MONO.ANALYZER/Resources/ChangeLog.html b/MP.MONO.ANALYZER/Resources/ChangeLog.html index 5466578..4bde5ec 100644 --- a/MP.MONO.ANALYZER/Resources/ChangeLog.html +++ b/MP.MONO.ANALYZER/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

              Version: 1.2.2210.2417

              +

              Version: 1.2.2210.2418


              Release Note:
              • diff --git a/MP.MONO.ANALYZER/Resources/VersNum.txt b/MP.MONO.ANALYZER/Resources/VersNum.txt index d67b0e0..8b9ae25 100644 --- a/MP.MONO.ANALYZER/Resources/VersNum.txt +++ b/MP.MONO.ANALYZER/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2417 +1.2.2210.2418 diff --git a/MP.MONO.ANALYZER/Resources/manifest.xml b/MP.MONO.ANALYZER/Resources/manifest.xml index d980e10..dba65b0 100644 --- a/MP.MONO.ANALYZER/Resources/manifest.xml +++ b/MP.MONO.ANALYZER/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2417 + 1.2.2210.2418 http://nexus.steamware.net/repository/SWS/MP.MONO.ANALYZER/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.ANALYZER/stable/LAST/ChangeLog.html false diff --git a/MP.MONO.Core/Constants.cs b/MP.MONO.Core/Constants.cs index 531e269..87c0fcf 100644 --- a/MP.MONO.Core/Constants.cs +++ b/MP.MONO.Core/Constants.cs @@ -37,6 +37,7 @@ namespace MP.MONO.Core // settings utente public static readonly string ALARMS_SETT_BBIT_KEY = $"{BASE_HASH}:Settings:AlarmsBankBit"; + public static readonly string ALARMS_SETT_MUTED_KEY = $"{BASE_HASH}:Settings:AlarmsMuted"; public static readonly string ALARMS_SETT_RLIST_KEY = $"{BASE_HASH}:Settings:AlarmsRawList"; // REDIS KEY Dati correnti diff --git a/MP.MONO.DECODER/AlarmsBlinkManager.cs b/MP.MONO.DECODER/AlarmsBlinkManager.cs index ac715e8..d925ce6 100644 --- a/MP.MONO.DECODER/AlarmsBlinkManager.cs +++ b/MP.MONO.DECODER/AlarmsBlinkManager.cs @@ -2,6 +2,7 @@ using MP.MONO.Core; using MP.MONO.Data; using MP.MONO.Data.Controllers; +using MP.MONO.Data.DbModels; using Newtonsoft.Json; using NLog; using StackExchange.Redis; @@ -154,6 +155,84 @@ namespace MP.MONO.DECODER #region Public Methods + /// + /// restituisce elenco allarmi muted, eventualmente da cache redis ( 5 sec) + /// + /// + private static List alarmMutedList + { + get + { + List mutedAlarm = new List(); + string rawData = ""; + // cerco in redis... + if (redisDb != null) + { + rawData = redisDb.StringGet(Constants.ALARMS_SETT_MUTED_KEY); + if (!string.IsNullOrEmpty(rawData)) + { + var rawAlarm = JsonConvert.DeserializeObject>(rawData); + if (rawAlarm != null) + { + mutedAlarm = rawAlarm; + } + } + else + { + // altrimenti da conf/DB... gestione allarmi muted + List? alarmListSetup = new List(); + rawData = redisDb.StringGet(Constants.ALARMS_SETT_RLIST_KEY); + if (!string.IsNullOrEmpty(rawData)) + { + alarmListSetup = JsonConvert.DeserializeObject>(rawData); + } + if (alarmListSetup == null) + { + alarmListSetup = dbController.AlarmListGetAll(); + } + // calcolo come lista string... + if (alarmListSetup != null && alarmListSetup.Count > 0) + { + mutedAlarm = alarmListSetup.Where(x => x.Muted).Select(x => x.FullValue).ToList(); + } + // salvo cache in redis x 1 minuto... + rawData = JsonConvert.SerializeObject(mutedAlarm); + redisDb.StringSet(Constants.ALARMS_SETT_MUTED_KEY, rawData, TimeSpan.FromSeconds(60)); + } + } + return mutedAlarm; + } + } + /// + /// Effettua cleanup preliminare allarmi data condizione regext pre/post + /// + /// + /// + /// + /// + public static List cleanAlarms(string AlarmCleanPre, string AlarmCleanPost, List alarmListRaw) + { + List alarmList = new List(); + // effettuo cleanup degli allarmi con procedura ricerca regexp + foreach (var item in alarmListRaw) + { + string currData = item; + // se ho valori trim pre/post li applica... + if (!string.IsNullOrEmpty(AlarmCleanPre)) + { + currData = item.Replace(AlarmCleanPre, ""); + } + if (!string.IsNullOrEmpty(AlarmCleanPost)) + { + currData = currData.Replace(AlarmCleanPost, ""); + } + // aggiungo + alarmList.Add(currData); + } + // Restituisco + return alarmList; + } + /// /// Funzione chiamata x verifica allarmi: /// - fornisce elenco allarmi correnti aggiornati @@ -184,6 +263,16 @@ namespace MP.MONO.DECODER Log.Debug($"Ricezione ZERO allarmi | {alarmListReceived.Count}"); } + // elimino muted da allarmi + List listMuted = new List(alarmMutedList); + if (listMuted.Count > 0) + { + foreach (var item in listMuted) + { + alarmListReceivedOk.Remove(item); + } + } + // salvo set allarmi ricevuti... alarmsLastRec = alarmListReceivedOk; Log.Debug($"Salvataggio LastReceived | count {alarmListReceivedOk.Count}"); @@ -211,18 +300,7 @@ namespace MP.MONO.DECODER // loggo controllo Log.Debug($"Esito controllo | {alarmListReceivedOk.Count} ricevuti | {alarmListAdded.Count} aggiunti | {alarmListCeased.Count} cessati"); #if false - // gestione allarmi muted - List? mutedAlarmsList = new List(); - string rawData = redisDb.StringGet(Constants.ALARMS_SETT_RLIST_KEY); - if (!string.IsNullOrEmpty(rawData)) - { - mutedAlarmsList = JsonConvert.DeserializeObject>(rawData); - } - if (mutedAlarmsList == null) - { - mutedAlarmsList = dbController.AlarmListGetAll(); - } - + // rileggo da REDIS la conf attuale allarmi già attivi da area ALARM_CURR_KEY // FIXME TODO !!! usare una lista thread safe?!?!? @@ -387,7 +465,7 @@ namespace MP.MONO.DECODER private static bool useRedis = true; - private MpDbController dbController = null!; + private static MpDbController dbController = null!; #endregion Private Fields diff --git a/MP.MONO.DECODER/MP.MONO.DECODER.csproj b/MP.MONO.DECODER/MP.MONO.DECODER.csproj index 8c2a594..2d402cb 100644 --- a/MP.MONO.DECODER/MP.MONO.DECODER.csproj +++ b/MP.MONO.DECODER/MP.MONO.DECODER.csproj @@ -6,7 +6,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2417 + 1.2.2210.2418 diff --git a/MP.MONO.DECODER/Program.cs b/MP.MONO.DECODER/Program.cs index 1591adf..a97b01f 100644 --- a/MP.MONO.DECODER/Program.cs +++ b/MP.MONO.DECODER/Program.cs @@ -252,6 +252,7 @@ async Task checkCeasedAlarm(string alarmFullCode) return answ; } +#if false /// /// Verifica x TUTTI gli allarmi SE siano cessati topo 4 * periodo di controllo... zero ora e zero dopo... /// @@ -287,7 +288,8 @@ async Task checkCloseAllAlarm() answ = true; } return answ; -} +} +#endif /// /// Recupero da redis le conf (es modi,stati,allarmi) @@ -609,20 +611,22 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e) } else if (alarmMode == AlarmReportingMode.RawListBlink) { - bool needsWrite = false; try { // decodifico allarmi ricevuti var alarmListRaw = JsonConvert.DeserializeObject>(currArgs.newMessage); + var alarmListRcvd = alarmListRaw != null ? alarmListRaw : new List(); + // bonifico allarmi + var alarmiListClean = AlarmsBlinkManager.cleanAlarms(AlarmCleanPre, AlarmCleanPost, alarmListRcvd); + // allarmi correnti List alarmListCurrent = AlarmsBlinkManager.alarmsActAck; - // init classi helper List addedAlarms = new List(); List ceasedAlarms = new List(); // chiamo procedura in blocco... - bool fatto = AlarmsBlinkManager.processData(alarmListRaw, ref alarmListCurrent, ref addedAlarms, ref ceasedAlarms); + bool fatto = AlarmsBlinkManager.processData(alarmiListClean, ref alarmListCurrent, ref addedAlarms, ref ceasedAlarms); // salvo ed invio subito i current... string serAlarms = JsonConvert.SerializeObject(alarmListCurrent); @@ -631,7 +635,7 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e) // se cambiato --> ultimo ricevuto != current... string lastLogList = AlarmsBlinkManager.alarmsLogSaved; // calcolo nuova stringa... - string newLogString = string.Join(", ", alarmListRaw); + string newLogString = string.Join(", ", alarmiListClean); bool logChanged = !lastLogList.Equals(newLogString); AlarmsBlinkManager.alarmsLogSaved = newLogString; @@ -644,8 +648,8 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e) DtRif = adesso, MemAddress = "ND", Index = 0, - Status = (uint)alarmListRaw.Count, - ValDecoded = alarmListRaw.Count > 0 ? string.Join(", ", alarmListRaw) : "All OK" + Status = (uint)alarmiListClean.Count, + ValDecoded = alarmiListClean.Count > 0 ? string.Join(", ", alarmiListClean) : "All OK" }; alarmLogList.Add(newAlarmLog); _ = dbController.AlarmLogInsertMany(alarmLogList).Result; @@ -690,185 +694,6 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e) // Loggo quanto fatto Log.Debug($"Chiamato controllo differito per {ceasedAlarms.Count} allarmi cessati"); } -#if false - - // effettuo selezione dei SOLI allarmi distinct (in caso di cambio posizione...) - List alarmList = new List(); - if (alarmListRaw != null && alarmListRaw.Count > 0) - { - alarmList = alarmListRaw - .GroupBy(x => x) - .Select(grp => grp.First()) - .OrderBy(x => x) - .ToList(); - } - Log.Info($"Ricezione update allarmi | {alarmListRaw.Count} --> {alarmList.Count}"); - - // salvo set allarmi correnti... - setAlarms("LastReceived", alarmList); - Log.Debug($"Salvataggio LastReceived | count {alarmList.Count}"); - - // gestione allarmi muted - List? mutedAlarmsList = new List(); - string rawData = redisDb.StringGet(Constants.ALARMS_SETT_RLIST_KEY); - if (!string.IsNullOrEmpty(rawData)) - { - mutedAlarmsList = JsonConvert.DeserializeObject>(rawData); - } - if (mutedAlarmsList == null) - { - mutedAlarmsList = dbController.AlarmListGetAll(); - } - - // rileggo da REDIS la conf attuale allarmi già attivi da area ALARM_CURR_KEY - - // FIXME TODO !!! usare una lista thread safe?!?!? - List lastAlarms = alarmsActAck; - List startedAlarms = new List(); - List ceasedAlarms = new List(); - string serAlarms = ""; - - // ciclo x ogni allarme ricevuto x vedere se sia INIZIATO o vada filtrato x muted - if (alarmList != null) - { - // ciclo x ogni allarme attivo x verificare se si sia CHIUSO - foreach (var newAlarm in alarmList) - { - var currNewAlarm = newAlarm; - // se ho valori trim pre/post li applica... - if (!string.IsNullOrEmpty(AlarmCleanPre)) - { - currNewAlarm = currNewAlarm.Replace(AlarmCleanPre, ""); - } - if (!string.IsNullOrEmpty(AlarmCleanPost)) - { - currNewAlarm = currNewAlarm.Replace(AlarmCleanPost, ""); - } - // se AlarmIgnoreEmpty=true + vuoto --> salto - if (AlarmIgnoreEmpty && string.IsNullOrWhiteSpace(currNewAlarm)) - { - alarmList.Remove(currNewAlarm); - alarmList.Remove(newAlarm); - } - else - { - // in primis... se è muted --> lo escludo... - bool isMuted = false; - var maybeMuted = mutedAlarmsList.Where(x => x.FullValue == currNewAlarm).FirstOrDefault(); - if (maybeMuted != null) - { - isMuted = maybeMuted.Muted; - } - // cerco l'allarme nell'elenco degli allarmi dal DB - AlarmListModel? foundAlarm = getAlarmModel(currNewAlarm); - - if (!isMuted) - { - if (!lastAlarms.Contains(currNewAlarm)) - { - if (foundAlarm != null) - { - // segno come iniziato... - AlarmRecModel newAlarmRec = new AlarmRecModel() - { - MachineId = MachineId, - DtStart = adesso, - DtEnd = adesso.AddMinutes(-1), - AlarmId = foundAlarm.AlarmId - }; - alarmRecList.Add(newAlarmRec); - startedAlarms.Add(currNewAlarm); - lastAlarms.Add(currNewAlarm); - needsWrite = true; - } - } - } - else - { - // rimuovo da alarmList perché muted... - alarmList.Remove(currNewAlarm); - alarmList.Remove(newAlarm); - } - } - } - } - - // salvo - serAlarms = JsonConvert.SerializeObject(lastAlarms); - // invio sulla message pipeline corretta TUTTI gli allarmi serializzati - alarmsSendPipe.saveAndSendMessage(Constants.ALARM_CURR_KEY, serAlarms); - - // calcolo allarmi cessati... - if (lastAlarms != null) - { - // ciclo x ogni allarme attivo x verificare se si sia CHIUSO - foreach (var oldData in lastAlarms) - { - bool trovato = false; - if (alarmList != null) - { - trovato = alarmList.Contains(oldData); - } - // se non c'è... segno cessato - if (!trovato) - { - ceasedAlarms.Add(oldData); - await Task.Run(async () => - { - await checkCeasedAlarm(oldData); - }); - } - } - } - - Log.Debug($"Stato lastAlarms | count {lastAlarms.Count}"); - - // gli allarmi cessati avvio un task di verifica dopo periodo di blink - if (needsWrite) - { - Log.Debug($"Preparazione AlarmLogRecord | count {lastAlarms.Count}"); - - // preparo dati x alarmLog - AlarmLogModel newAlarmLog = new AlarmLogModel() - { - MachineId = MachineId, - DtRif = adesso, - MemAddress = "ND", - Index = 0, - // usare alarmList o lastAlarms - Status = (uint)alarmList.Count, - ValDecoded = alarmList.Count > 0 ? string.Join(", ", alarmList) : "All OK" - }; - alarmLogList.Add(newAlarmLog); - } - - if (lastAlarms != null) - { - lastAlarms = lastAlarms.OrderBy(x => x).ToList(); - // serializzo l'elenco allarmi... - serAlarms = JsonConvert.SerializeObject(lastAlarms); - - // se vuoto metto controllo x chiusura - if (lastAlarms.Count() == 0) - { - await Task.Run(async () => - { - await checkCloseAllAlarm(); - }); - } - - // invio sulla message pipeline corretta TUTTI gli allarmi serializzati - alarmsSendPipe.saveAndSendMessage(Constants.ALARM_CURR_KEY, serAlarms); - - Log.Debug($"Salvataggio/invio allarmi | serAlarms | count {lastAlarms.Count}"); - } - - // salvo sul DB - _ = dbController.AlarmRecInsertMany(alarmRecList).Result; - _ = dbController.AlarmLogInsertMany(alarmLogList).Result; - - Log.Debug($"Effettuato salvataggio su DB | alarmRecList {alarmRecList.Count} | alarmLogList {alarmLogList.Count}"); -#endif } catch { } diff --git a/MP.MONO.DECODER/Resources/ChangeLog.html b/MP.MONO.DECODER/Resources/ChangeLog.html index 5466578..4bde5ec 100644 --- a/MP.MONO.DECODER/Resources/ChangeLog.html +++ b/MP.MONO.DECODER/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

                Version: 1.2.2210.2417

                +

                Version: 1.2.2210.2418


                Release Note:
                • diff --git a/MP.MONO.DECODER/Resources/VersNum.txt b/MP.MONO.DECODER/Resources/VersNum.txt index d67b0e0..8b9ae25 100644 --- a/MP.MONO.DECODER/Resources/VersNum.txt +++ b/MP.MONO.DECODER/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2417 +1.2.2210.2418 diff --git a/MP.MONO.DECODER/Resources/manifest.xml b/MP.MONO.DECODER/Resources/manifest.xml index 9992895..bcb062d 100644 --- a/MP.MONO.DECODER/Resources/manifest.xml +++ b/MP.MONO.DECODER/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2417 + 1.2.2210.2418 http://nexus.steamware.net/repository/SWS/MP.MONO.DECODER/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.DECODER/stable/LAST/ChangeLog.html false diff --git a/MP.MONO.SIM/MP.MONO.SIM.csproj b/MP.MONO.SIM/MP.MONO.SIM.csproj index ad84c28..3ae6a1f 100644 --- a/MP.MONO.SIM/MP.MONO.SIM.csproj +++ b/MP.MONO.SIM/MP.MONO.SIM.csproj @@ -6,7 +6,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2417 + 1.2.2210.2418 diff --git a/MP.MONO.SIM/Resources/ChangeLog.html b/MP.MONO.SIM/Resources/ChangeLog.html index 5466578..4bde5ec 100644 --- a/MP.MONO.SIM/Resources/ChangeLog.html +++ b/MP.MONO.SIM/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

                  Version: 1.2.2210.2417

                  +

                  Version: 1.2.2210.2418


                  Release Note:
                  • diff --git a/MP.MONO.SIM/Resources/VersNum.txt b/MP.MONO.SIM/Resources/VersNum.txt index d67b0e0..8b9ae25 100644 --- a/MP.MONO.SIM/Resources/VersNum.txt +++ b/MP.MONO.SIM/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2417 +1.2.2210.2418 diff --git a/MP.MONO.SIM/Resources/manifest.xml b/MP.MONO.SIM/Resources/manifest.xml index 0e82a78..dd244ea 100644 --- a/MP.MONO.SIM/Resources/manifest.xml +++ b/MP.MONO.SIM/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2417 + 1.2.2210.2418 http://nexus.steamware.net/repository/SWS/MP.MONO.SIM/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.SIM/stable/LAST/ChangeLog.html false diff --git a/MP.MONO.UI/MP.MONO.UI.csproj b/MP.MONO.UI/MP.MONO.UI.csproj index b98a50a..2ed84aa 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.2210.2417 + 1.2.2210.2418 diff --git a/MP.MONO.UI/NLog.config b/MP.MONO.UI/NLog.config index a9d9392..cab77b4 100644 --- a/MP.MONO.UI/NLog.config +++ b/MP.MONO.UI/NLog.config @@ -52,7 +52,7 @@ --> - + \ No newline at end of file diff --git a/MP.MONO.UI/Resources/ChangeLog.html b/MP.MONO.UI/Resources/ChangeLog.html index 5466578..4bde5ec 100644 --- a/MP.MONO.UI/Resources/ChangeLog.html +++ b/MP.MONO.UI/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

                    Version: 1.2.2210.2417

                    +

                    Version: 1.2.2210.2418


                    Release Note:
                    • diff --git a/MP.MONO.UI/Resources/VersNum.txt b/MP.MONO.UI/Resources/VersNum.txt index d67b0e0..8b9ae25 100644 --- a/MP.MONO.UI/Resources/VersNum.txt +++ b/MP.MONO.UI/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2417 +1.2.2210.2418 diff --git a/MP.MONO.UI/Resources/manifest.xml b/MP.MONO.UI/Resources/manifest.xml index a012a76..80c3b60 100644 --- a/MP.MONO.UI/Resources/manifest.xml +++ b/MP.MONO.UI/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2417 + 1.2.2210.2418 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 From be65aaa7bbc5764e8a53f958bdb9537a9c90787c Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Mon, 24 Oct 2022 18:21:33 +0200 Subject: [PATCH 08/10] aggiunta counter allarmi + fix grafico --- MP.MONO.UI/Components/AlarmsOverview.razor | 22 ++++++ MP.MONO.UI/Components/AlarmsOverview.razor.cs | 16 +++++ MP.MONO.UI/Data/selectChartParams.cs | 2 + MP.MONO.UI/Data/selectGlobalToggle.cs | 8 +++ MP.MONO.UI/MP.MONO.UI.csproj | 2 +- MP.MONO.UI/Pages/Alarms.razor | 72 ++++++++++--------- MP.MONO.UI/Pages/Alarms.razor.cs | 9 +++ MP.MONO.UI/Resources/ChangeLog.html | 2 +- MP.MONO.UI/Resources/VersNum.txt | 2 +- MP.MONO.UI/Resources/manifest.xml | 2 +- 10 files changed, 101 insertions(+), 36 deletions(-) diff --git a/MP.MONO.UI/Components/AlarmsOverview.razor b/MP.MONO.UI/Components/AlarmsOverview.razor index 4100043..ae6f31f 100644 --- a/MP.MONO.UI/Components/AlarmsOverview.razor +++ b/MP.MONO.UI/Components/AlarmsOverview.razor @@ -7,12 +7,34 @@ @if (@ListRecords != null) { +
                      +
                      +
                      + Current alarms + @if (ListRecords.Count == 0) + { + @ListRecords.Count + } + else + { + @ListRecords.Count + } +
                      + +
                      +
                      + + Alarm Analysis + +
                      +
                      if (@ListRecords.Count == 0) {
                      All OK
                      } else { +
                        @foreach (var item in ListRecords) { diff --git a/MP.MONO.UI/Components/AlarmsOverview.razor.cs b/MP.MONO.UI/Components/AlarmsOverview.razor.cs index 9624d7f..dda25c5 100644 --- a/MP.MONO.UI/Components/AlarmsOverview.razor.cs +++ b/MP.MONO.UI/Components/AlarmsOverview.razor.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Components; using MP.MONO.Core.DTO; using MP.MONO.Data; +using MP.MONO.UI.Data; using Newtonsoft.Json; namespace MP.MONO.UI.Components @@ -49,6 +50,20 @@ namespace MP.MONO.UI.Components private List? ListRecords { get; set; } = new List(); + private selectGlobalToggle currFilter { get; set; } = new selectGlobalToggle(); + + private int numAlarm + { + get => currFilter.numAlarms; + set + { + if (ListRecords != null) + { + currFilter.numAlarms = value; + } + } + } + #endregion Private Properties #region Private Methods @@ -81,6 +96,7 @@ namespace MP.MONO.UI.Components { StateHasChanged(); }); + numAlarm = ListRecords.Count; } #endregion Private Methods diff --git a/MP.MONO.UI/Data/selectChartParams.cs b/MP.MONO.UI/Data/selectChartParams.cs index 4161520..b6c6173 100644 --- a/MP.MONO.UI/Data/selectChartParams.cs +++ b/MP.MONO.UI/Data/selectChartParams.cs @@ -35,6 +35,7 @@ /// Bool: indica se sia richeista analisi per frequenza (vs durata) ///
                public bool setFreqDur { get; set; } = true; + #endregion Public Properties @@ -60,6 +61,7 @@ if (dtMin != item.dtMin) return false; + return true; } diff --git a/MP.MONO.UI/Data/selectGlobalToggle.cs b/MP.MONO.UI/Data/selectGlobalToggle.cs index bddb734..ef96670 100644 --- a/MP.MONO.UI/Data/selectGlobalToggle.cs +++ b/MP.MONO.UI/Data/selectGlobalToggle.cs @@ -39,6 +39,11 @@ namespace MP.MONO.UI.Data public string rightStringCSS { get; set; } = ""; + /// + /// numero allarmi + /// + public int numAlarms { get; set; } = 0; + #endregion Public Properties #region Public Methods @@ -63,6 +68,9 @@ namespace MP.MONO.UI.Data if (rightStringCSS != item.rightStringCSS) return false; + if (numAlarms != item.numAlarms) + return false; + return true; } diff --git a/MP.MONO.UI/MP.MONO.UI.csproj b/MP.MONO.UI/MP.MONO.UI.csproj index 1e2675e..2ed84aa 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.2210.2416 + 1.2.2210.2418 diff --git a/MP.MONO.UI/Pages/Alarms.razor b/MP.MONO.UI/Pages/Alarms.razor index 2fe48c9..c722509 100644 --- a/MP.MONO.UI/Pages/Alarms.razor +++ b/MP.MONO.UI/Pages/Alarms.razor @@ -10,38 +10,65 @@
                -
                -
                ALARMS
                -
                -
                -
                -
                - +
                +
                +
                ALARMS
                +
                +
                +
                +
                +
                + + +
                +
                +
                +
                +
                +
                +
                -
                Offcanvas right
                +

                FILTERS

                +
                + Filter by: +
                + @if (!maxRecordStatus) { -
                +
                + +
                +
                Num Records:
                -
                + +
                + +
                +
                } else { -
                +
                + +
                +
                Num Records:
                -
                +
                + +
                +
                @@ -56,26 +83,7 @@
                -
                -
                -
                -
                - Current alarms -
                -
                -
                - - -
                - -
                -
                -
                - - Alarm Analysis - -
                -
                +
                diff --git a/MP.MONO.UI/Pages/Alarms.razor.cs b/MP.MONO.UI/Pages/Alarms.razor.cs index 49ecf8e..97de6be 100644 --- a/MP.MONO.UI/Pages/Alarms.razor.cs +++ b/MP.MONO.UI/Pages/Alarms.razor.cs @@ -12,6 +12,8 @@ namespace MP.MONO.UI.Pages public string lastUpdate { get; set; } = $"{DateTime.Now:yyyy/MM/dd HH:mm:ss}"; public bool liveUpdate { get; set; } = true; + + public bool setLogRec { get => currFilter.isActive; @@ -196,6 +198,8 @@ namespace MP.MONO.UI.Pages StateHasChanged(); }); + + await Task.Delay(1); isLoading = false; aTimer.Start(); @@ -252,6 +256,11 @@ namespace MP.MONO.UI.Pages private int _numRecord { get; set; } = 10; private selectGlobalToggle currFilter { get; set; } = new selectGlobalToggle(); + private int numAlarm + { + get => currFilter.numAlarms; + } + private int currPage { get => _currPage; diff --git a/MP.MONO.UI/Resources/ChangeLog.html b/MP.MONO.UI/Resources/ChangeLog.html index 7e65ea8..4bde5ec 100644 --- a/MP.MONO.UI/Resources/ChangeLog.html +++ b/MP.MONO.UI/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

                Version: 1.2.2210.2416

                +

                Version: 1.2.2210.2418


                Release Note:
                • diff --git a/MP.MONO.UI/Resources/VersNum.txt b/MP.MONO.UI/Resources/VersNum.txt index c938d35..8b9ae25 100644 --- a/MP.MONO.UI/Resources/VersNum.txt +++ b/MP.MONO.UI/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2416 +1.2.2210.2418 diff --git a/MP.MONO.UI/Resources/manifest.xml b/MP.MONO.UI/Resources/manifest.xml index 51fac25..80c3b60 100644 --- a/MP.MONO.UI/Resources/manifest.xml +++ b/MP.MONO.UI/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2416 + 1.2.2210.2418 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 From e8574c873c4f7f0d8e5275c703a288bcaf479a8a Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Mon, 24 Oct 2022 18:23:27 +0200 Subject: [PATCH 09/10] fix --- MP.MONO.UI/Components/AlarmsOverview.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MP.MONO.UI/Components/AlarmsOverview.razor b/MP.MONO.UI/Components/AlarmsOverview.razor index ae6f31f..2dea49d 100644 --- a/MP.MONO.UI/Components/AlarmsOverview.razor +++ b/MP.MONO.UI/Components/AlarmsOverview.razor @@ -23,7 +23,7 @@
                - + Alarm Analysis
                From e76d200971dbae90a01d4d9e6d95c3ee9b737f92 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 24 Oct 2022 18:53:10 +0200 Subject: [PATCH 10/10] Fix minor display su alarm overview --- MP.MONO.UI/Components/AlarmsOverview.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MP.MONO.UI/Components/AlarmsOverview.razor b/MP.MONO.UI/Components/AlarmsOverview.razor index 2dea49d..c0f4322 100644 --- a/MP.MONO.UI/Components/AlarmsOverview.razor +++ b/MP.MONO.UI/Components/AlarmsOverview.razor @@ -23,7 +23,7 @@
                - + Alarm Analysis