diff --git a/MP-TAB-SERV/Components/OdlMan.razor.cs b/MP-TAB-SERV/Components/OdlMan.razor.cs
index ec768e88..67dc94fa 100644
--- a/MP-TAB-SERV/Components/OdlMan.razor.cs
+++ b/MP-TAB-SERV/Components/OdlMan.razor.cs
@@ -150,14 +150,39 @@ namespace MP_TAB_SERV.Components
// verifico attrezzaggio su macchina corrente o se multi su parent
string idxMacc2check = isMulti ? IdxMaccParent : IdxMaccSel;
StatoMacchineModel rigaStato = TabDServ.StatoMacchina(idxMacc2check);
- //calcolo stato attrezzaggio, hard coded!!!
- inAttr = (rigaStato.IdxStato == 2);
+ // calcolo stato attrezzaggio, hard coded!!!
+ if (isMulti)
+ {
+ inAttr = (rigaStato.IdxStato == 2 && tavHasOdl);
+ }
+ else
+ {
+ inAttr = rigaStato.IdxStato == 2;
+ }
// se in attr --> carico podlCurr...
if (inAttr && RecMSE != null)
{
await ReloadXDL(false);
}
}
+ ///
+ /// Verifica se la tavola SIA in fase di attrezzaggio, ovvero SE:
+ /// - sia un impianto MULTI (= con + tavole)
+ /// - sia già attrezzata
+ ///
+ protected bool tavHasOdl
+ {
+ get
+ {
+ bool answ = false;
+ // se è multi controllo
+ if (isMulti)
+ {
+ answ = !emptyOdlMacc;
+ }
+ return answ;
+ }
+ }
///
/// Aggiorno...
@@ -255,10 +280,6 @@ namespace MP_TAB_SERV.Components
await advStep(currStep++);
isProcessing = false;
await InvokeAsync(StateHasChanged);
-#if false
- await Task.Delay(50);
- NavMan.NavigateTo(NavMan.Uri, true);
-#endif
}
///
@@ -681,8 +702,8 @@ namespace MP_TAB_SERV.Components
{
IdxMaccSel = idxMSel;
}
- IdxMaccParent = getIdxMaccParent();
}
+ IdxMaccParent = getIdxMaccParent();
// verifica stato inAttr
await CheckAttr();
await ReloadData(true);
@@ -690,10 +711,18 @@ namespace MP_TAB_SERV.Components
checkAll();
}
+#if false
protected override async Task OnParametersSetAsync()
{
- await ReloadData(false);
+ // verifica stato inAttr
+ if (!string.IsNullOrEmpty(IdxMaccSel) && IdxMaccSelLast != IdxMaccSel)
+ {
+ await CheckAttr();
+ await ReloadData(false);
+ IdxMaccSelLast = IdxMaccSel;
+ }
}
+#endif
protected async Task ProdEnd()
{
@@ -896,6 +925,7 @@ namespace MP_TAB_SERV.Components
IdxMaccSel = selIdxMacc;
// recupero dati
RecMSE = TabDServ.MseGetSub(IdxMaccParent, selIdxMacc, true);
+ await CheckAttr();
await ReloadData(true);
await DoUpdate();
if (showOdlDetail || inAttr)
@@ -950,6 +980,9 @@ namespace MP_TAB_SERV.Components
private int gPeriodReopenOdlTav = 1;
private string IdxMaccSel = "";
+#if false
+ private string IdxMaccSelLast = "";
+#endif
private int idxPOdlSel = 0;
@@ -1223,6 +1256,17 @@ namespace MP_TAB_SERV.Components
private void checkAll()
{
+ if (string.IsNullOrEmpty(IdxMaccParent))
+ {
+ if (isMulti)
+ {
+ IdxMaccParent = getIdxMaccParent();
+ }
+ else
+ {
+ IdxMaccParent = IdxMaccSel;
+ }
+ }
checkConfProd();
}