Fix chiamate multiple x check controlli (ogni 15 sec minimo)

This commit is contained in:
Samuele Locatelli
2023-12-14 17:12:48 +01:00
parent 45bd245628
commit a939079cee
6 changed files with 51 additions and 38 deletions
+46 -33
View File
@@ -16,15 +16,12 @@ namespace MP_TAB_SERV.Components
#region Protected Properties
[Inject]
protected NavigationManager NavMan { get; set; } = null!;
/// <summary>
/// Determina se dato lo stato dell'impianto si debba mostrare btn fermata perché
/// - fermo &gt; xx min (da web.config, es 20')
/// - impianto fermo (controllando idxStato: priorità &gt; 1)
/// </summary>
protected bool ShowInsFermata
protected bool CheckShowInsFermata
{
get
{
@@ -55,55 +52,56 @@ namespace MP_TAB_SERV.Components
/// <summary>
/// Verifica necessità visualizzare il check controlli
/// </summary>
protected bool ShowReqControls
protected async Task<bool> CheckShowReqControls()
{
get
bool answ = false;
if (RecMSE != null)
{
bool answ = false;
if (RecMSE != null)
// SE abilitata gestione controlli...
bool enableCtrl = SMServ.GetConfBool("enableControlli");
if (enableCtrl)
{
// SE abilitata gestione controlli...
bool enableCtrl = SMServ.GetConfBool("enableControlli");
if (enableCtrl)
int intervalloControlli = SMServ.GetConfInt("intervalloControlli");
// cerco ultimo controllo fatto
DateTime lastControl = DateTime.Now.AddYears(-1);
try
{
int intervalloControlli = SMServ.GetConfInt("intervalloControlli");
// cerco ultimo controllo fatto
DateTime lastControl = DateTime.Now.AddYears(-1);
try
var tabCtrls = await TabDServ.RegControlliLast(RecMSE.IdxMacchina);
if (tabCtrls != null && tabCtrls.Count > 0)
{
var pUpd = Task.Run(async () =>
var thisRec = tabCtrls.FirstOrDefault();
if (thisRec != null)
{
await Task.Delay(1);
var tabCtrls = await TabDServ.RegControlliLast(RecMSE.IdxMacchina);
if (tabCtrls != null && tabCtrls.Count > 0)
lastControl = thisRec.DataOra;
if (Math.Abs(DateTime.Now.Subtract(lastControl).TotalMinutes) >= intervalloControlli)
{
var thisRec = tabCtrls.FirstOrDefault();
if (thisRec != null)
{
lastControl = thisRec.DataOra;
if (Math.Abs(DateTime.Now.Subtract(lastControl).TotalMinutes) >= intervalloControlli)
{
answ = true;
}
}
answ = true;
}
});
pUpd.Wait();
}
}
catch
{ }
}
catch
{ }
}
return answ;
}
return answ;
}
[Inject]
protected NavigationManager NavMan { get; set; } = null!;
protected bool ShowInsFermata { get; set; } = false;
protected bool ShowReqControls { get; set; } = false;
[Inject]
protected SharedMemService SMServ { get; set; } = null!;
[Inject]
protected TabDataService TabDServ { get; set; } = null!;
protected DateTime lastCheck = DateTime.Today;
protected string lastIdxMacc = "";
#endregion Protected Properties
#region Protected Methods
@@ -118,6 +116,21 @@ namespace MP_TAB_SERV.Components
NavMan.NavigateTo("prod-stop");
}
protected override async Task OnParametersSetAsync()
{
if (RecMSE != null)
{
DateTime adesso = DateTime.Now;
if (adesso.Subtract(lastCheck).TotalSeconds > 15 || lastIdxMacc != RecMSE.IdxMacchina)
{
ShowInsFermata = CheckShowInsFermata;
ShowReqControls = await CheckShowReqControls();
lastIdxMacc = RecMSE.IdxMacchina;
lastCheck = adesso;
}
}
}
#endregion Protected Methods
}
}
+1 -1
View File
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<Version>6.16.2312.1416</Version>
<Version>6.16.2312.1417</Version>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP_TAB_SERV</RootNamespace>
</PropertyGroup>
+1 -1
View File
@@ -49,7 +49,7 @@ namespace MP_TAB_SERV.Pages
await RefreshMBlock();
}
}
await InvokeAsync(StateHasChanged);
//await InvokeAsync(StateHasChanged);
}
protected async Task RefreshMBlock()
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 6.16.2312.1416</h4>
<h4>Versione: 6.16.2312.1417</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
6.16.2312.1416
6.16.2312.1417
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>6.16.2312.1416</version>
<version>6.16.2312.1417</version>
<url>https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/MP-TAB-SERV.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>