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: