diff --git a/MP-TAB3/Components/MachineBlock.razor.cs b/MP-TAB3/Components/MachineBlock.razor.cs
index 8e9e633a..10b5c90d 100644
--- a/MP-TAB3/Components/MachineBlock.razor.cs
+++ b/MP-TAB3/Components/MachineBlock.razor.cs
@@ -28,17 +28,33 @@ namespace MP_TAB3.Components
public string IdxMacchSub { get; set; } = "";
[Parameter]
- public int keepAliveMin { get; set; } = 5;
+ public int KeepAliveMin { get; set; } = 5;
[Parameter]
public MappaStatoExpl? RecMSE { get; set; } = null;
[Parameter]
- public bool showCard { get; set; }
+ public bool ShowCard { get; set; }
[Parameter]
public int Width { get; set; } = 0;
+ private bool LastFullMode = true;
+ private MappaStatoExpl? LastRecMSE = null;
+ private bool LastShowCard = true;
+ private int LastKeepAliveMin = 5;
+ private string LastIdxMacchSub = "";
+
+ ///
+ /// Info correnti secondo tipo selezione
+ ///
+ private MappaStatoExpl? CRecMSE
+ {
+ get => string.IsNullOrEmpty(IdxMacchSub) ? RecMSE : RecMSESub;
+ }
+
+ private MappaStatoExpl? RecMSESub { get; set; } = null;
+
#endregion Public Properties
#region Public Methods
@@ -244,6 +260,8 @@ namespace MP_TAB3.Components
protected override async Task OnInitializedAsync()
{
isLoading = true;
+ // salvo i parametri precedenti x calcolare variazioni...
+ saveParams();
// abilitazione disegni...
TabDServ.ConfigGetVal("enableDisegno", ref enableDisegno);
await ReloadXDL(true);
@@ -260,35 +278,73 @@ namespace MP_TAB3.Components
await Task.Delay(1);
}
+ private void saveParams()
+ {
+ LastIdxMacchSub = IdxMacchSub;
+ LastRecMSE = RecMSE;
+ LastFullMode = FullMode;
+ LastShowCard = ShowCard;
+ LastKeepAliveMin = KeepAliveMin;
+ }
+
+ ///
+ /// Verifica variazione parametri
+ ///
+ ///
+ private bool paramsChanged()
+ {
+ if (LastFullMode != FullMode)
+ return true;
+ if (LastKeepAliveMin != KeepAliveMin)
+ return true;
+ if (LastShowCard != ShowCard)
+ return true;
+ if (LastIdxMacchSub != IdxMacchSub)
+ return true;
+ if (LastRecMSE != RecMSE)
+ return true;
+
+ return false;
+ }
+
protected override async Task OnParametersSetAsync()
{
- DateTime adesso = DateTime.Now;
- isLoading = RecMSE == null;
- // controllo SE ho variazioni cosė rileggo
- if (RecMSE != null)
+ // controllo variazione parametri...
+ if (paramsChanged())
{
- if (SDService.MachNumPzGet(RecMSE.IdxMacchina) != RecMSE.PezziProd || SDService.MachProdStGet(RecMSE.IdxMacchina).IdxOdl != RecMSE.IdxOdl || (datiProdAct != null && datiProdAct.PzTotODL != RecMSE.PezziProd))
+ saveParams();
+ DateTime adesso = DateTime.Now;
+ isLoading = RecMSE == null;
+ // controllo SE ho variazioni cosė rileggo
+ if (RecMSE != null)
{
- datiProdAct = await TabDServ.StatoProdMacchina(RecMSE.IdxMacchina, adesso);
- SDService.MachProdStSet(RecMSE.IdxMacchina, datiProdAct);
- SDService.MachNumPzSet(RecMSE.IdxMacchina, RecMSE.PezziProd);
+ if (SDService.MachNumPzGet(RecMSE.IdxMacchina) != RecMSE.PezziProd || SDService.MachProdStGet(RecMSE.IdxMacchina).IdxOdl != RecMSE.IdxOdl || (datiProdAct != null && datiProdAct.PzTotODL != RecMSE.PezziProd))
+ {
+ datiProdAct = await TabDServ.StatoProdMacchina(RecMSE.IdxMacchina, adesso);
+ SDService.MachProdStSet(RecMSE.IdxMacchina, datiProdAct);
+ SDService.MachNumPzSet(RecMSE.IdxMacchina, RecMSE.PezziProd);
+ }
+ else
+ {
+ datiProdAct = SDService.MachProdStGet(RecMSE.IdxMacchina);
+ }
+
+ if (string.IsNullOrEmpty(IdxMaccSel))
+ {
+ IdxMaccSel = RecMSE.IdxMacchina;
+ }
+ isMulti = SMServ.DictMacchMulti[RecMSE.IdxMacchina] == 1;
+ }
+ if (!string.IsNullOrEmpty(IdxMacchSub) && RecMSE != null)
+ {
+ RecMSESub = TabDServ.MseGetSub(RecMSE.IdxMacchina, IdxMacchSub, true);
}
else
{
- datiProdAct = SDService.MachProdStGet(RecMSE.IdxMacchina);
+ RecMSESub = RecMSE;
}
-
- if (string.IsNullOrEmpty(IdxMaccSel))
- {
- IdxMaccSel = RecMSE.IdxMacchina;
- }
- isMulti = SMServ.DictMacchMulti[RecMSE.IdxMacchina] == 1;
+ setGaugeVals();
}
- if (!string.IsNullOrEmpty(IdxMacchSub) && RecMSE != null)
- {
- RecMSE = TabDServ.MseGetSub(RecMSE.IdxMacchina, IdxMacchSub, true);
- }
- setGaugeVals();
}
protected void setGaugeVals()
@@ -406,7 +462,7 @@ namespace MP_TAB3.Components
{
DateTime lastUpdate = lastUpdateN.HasValue ? (DateTime)lastUpdateN : DateTime.Now.AddHours(-1);
string answ = cssStatus(semaforo);
- if (DateTime.Now.Subtract(lastUpdate).TotalSeconds > (keepAliveMin * kaFactor))
+ if (DateTime.Now.Subtract(lastUpdate).TotalSeconds > (KeepAliveMin * kaFactor))
{
answ = $"{baseCss}Ro";
// blink se secondo pari...
diff --git a/MP-TAB3/MP-TAB3.csproj b/MP-TAB3/MP-TAB3.csproj
index 0021cee7..d3746fcf 100644
--- a/MP-TAB3/MP-TAB3.csproj
+++ b/MP-TAB3/MP-TAB3.csproj
@@ -3,7 +3,7 @@
net6.0
enable
- 6.16.2503.709
+ 6.16.2503.712
enable
MP_TAB3
diff --git a/MP-TAB3/Pages/StatusMap.razor b/MP-TAB3/Pages/StatusMap.razor
index 22989052..bd01ee07 100644
--- a/MP-TAB3/Pages/StatusMap.razor
+++ b/MP-TAB3/Pages/StatusMap.razor
@@ -36,7 +36,7 @@
{
currIdx++;
-
+
@if (currIdx >= maxBlocks)
{
diff --git a/MP-TAB3/Resources/ChangeLog.html b/MP-TAB3/Resources/ChangeLog.html
index 1f22f900..67a1420b 100644
--- a/MP-TAB3/Resources/ChangeLog.html
+++ b/MP-TAB3/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
- Versione: 6.16.2503.709
+ Versione: 6.16.2503.712
Note di rilascio:
-
diff --git a/MP-TAB3/Resources/VersNum.txt b/MP-TAB3/Resources/VersNum.txt
index c7f8b226..75d36873 100644
--- a/MP-TAB3/Resources/VersNum.txt
+++ b/MP-TAB3/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2503.709
+6.16.2503.712
diff --git a/MP-TAB3/Resources/manifest.xml b/MP-TAB3/Resources/manifest.xml
index 034531e3..2b8d53ab 100644
--- a/MP-TAB3/Resources/manifest.xml
+++ b/MP-TAB3/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2503.709
+ 6.16.2503.712
https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/MP-TAB3.zip
https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/ChangeLog.html
false