diff --git a/MP-TAB3/Components/CmpTop.razor.cs b/MP-TAB3/Components/CmpTop.razor.cs index 4dc12c29..9212a4b6 100644 --- a/MP-TAB3/Components/CmpTop.razor.cs +++ b/MP-TAB3/Components/CmpTop.razor.cs @@ -155,17 +155,6 @@ namespace MP_TAB3.Components await RefreshScadLogIn(currOprTokLsDeco); await EA_UserIsOk.InvokeAsync(true); } - -#if false - // infine controllo sia valida macchina richiesta rispetto a memoria... - // cerco MSE macchina - var machMse = MsgServ.GetMachineMse(CurrMacc); - if (machMse != null) - { - MsgServ.LastIdxMacchina = ""; - NavMan.NavigateTo("status-map"); - } -#endif } protected async Task RefreshScadLogIn(string decodValue) diff --git a/MP-TAB3/Components/MachineBlock.razor b/MP-TAB3/Components/MachineBlock.razor index 1f3fb84d..4de2f7cb 100644 --- a/MP-TAB3/Components/MachineBlock.razor +++ b/MP-TAB3/Components/MachineBlock.razor @@ -1,359 +1,326 @@ -@if (isLoading) +@if (isLoading || CRecMSE == null) { -
-
-
- - - - - - - - - - - ...loading stage 1... -
-
-
-} -else -{ - @if (CRecMSE == null) + @if (FullMode) { -
-
-
No data
-
- - - - - - - - - - - ...loading stage 2... -
-
-
+ } else { - @if (FullMode) + + } +} +else +{ + @if (FullMode) + { + if (Width > 640) { - if (Width > 640) - { -
- @CRecMSE.CodMacchina -
-
-
-
- @CRecMSE.Nome -
-
-
-
-
-
-
-
- @CRecMSE.DescrizioneStato -
-
- @(FormatDurata(CRecMSE.Durata)) -
-
-
-
-
-
-   @($" {CRecMSE.PezziConf}")   -
-
- @if (datiProdAct != null && datiProdAct.PzConfScarto > 0) - { - @($"(- {datiProdAct.PzConfScarto})") - } -
-
-
-
-   @($" {CRecMSE.PezziProd}") -
-
-
-
-
- -
-
-
-
ART:
-
@($"{CRecMSE.CodArticolo}")
-
-
-
ODL:
-
@($"ODL{CRecMSE.IdxOdl:00000000}")
-
-
-
PODL:
-
@($"PODL{CRecMSE.IdxPOdl:00000000}")
-
+
+ @CRecMSE.CodMacchina +
+
+
+
+ @CRecMSE.Nome
- } - else - { -
- @CRecMSE.CodMacchina -
-
-
-
- @CRecMSE.Nome -
+
+
+
+
+ @CRecMSE.DescrizioneStato
-
-
-
-
-
-
- @CRecMSE.DescrizioneStato -
-
- - @(FormatDurata(CRecMSE.Durata)) - -
-
-
-
-
-
-   @($" {CRecMSE.PezziConf}")   -
-
- @if (datiProdAct != null && datiProdAct.PzConfScarto > 0) - { - @($"(- {datiProdAct.PzConfScarto})") - } -
-
-
-
-   @($" {CRecMSE.PezziProd}") -
-
-
-
-
- -
-
- -
-
ART:
-
@($"{CRecMSE.CodArticolo}")
-
-
-
ODL:
-
@($"ODL{CRecMSE.IdxOdl:00000000}")
-
-
-
PODL:
-
@($"PODL{CRecMSE.IdxPOdl:00000000}")
-
-
-
-
-
- } - } - else - { -
-
-
-

- @CRecMSE.Nome -

-
-
-
-
-
- Cicli Prod -
- @if (datiProdAct != null) - { -
@($"{datiProdAct.PzTotODL}")
- } - else - { -
@($"{CRecMSE.PezziProd}")
- } -
- @if (datiProdAct != null) - { - @if (datiProdAct.Pz2RecTot > 0) - { -
-
- Da Confermare -
-
- @($"{datiProdAct.Pz2RecTot}") -
-
- } - else - { -
-
- Da Confermare -
-
- @($"{datiProdAct.Pz2RecTot}") -
-
- } - @if (NumScartiConf > 0) - { -
-
- Scarti Versati -
-
- @($"{NumScartiConf}") -
-
- } - @if (datiProdAct.PzConfRilav > 0) - { -
-
- Rilav Versati -
-
- @($"{datiProdAct.PzConfRilav}") -
-
- } -
-
- Buoni Versati -
-
- @($"{datiProdAct.PzConfBuoni}") -
-
- } - @if (CRecMSE.extraVal > 0) - { -
-
- Qta Extra -
-
@($"{CRecMSE.extraVal}")
-
- } -
-
-
- -
-
-
- @if (!string.IsNullOrEmpty(IdxMacchSub)) - { -
- @IdxMacchSub -
- } -
-
-
-
ART
-
@CRecMSE.CodArticolo
-
-
-
ODL
-
@CRecMSE.IdxOdl
-
-
-
PODL:
-
@CRecMSE.IdxPOdl
-
-
-
-
-
-
-
- @if (showPodl) - { - - } - else - { - - } -
-
-
-
-
- @CRecMSE.DescrizioneStato -
-
+
@(FormatDurata(CRecMSE.Durata))
- @if (enableDisegno) - { -
-
- @if (showDraw) +
+
+
+   @($" {CRecMSE.PezziConf}")   +
+
+ @if (datiProdAct != null && datiProdAct.PzConfScarto > 0) { - - } - else - { - + @($"(- {datiProdAct.PzConfScarto})") }
- } - else - { -
-
- +
+
+   @($" {CRecMSE.PezziProd}")
- } +
+
+
+ +
+
+
+
ART:
+
@($"{CRecMSE.CodArticolo}")
+
+
+
ODL:
+
@($"ODL{CRecMSE.IdxOdl:00000000}")
+
+
+
PODL:
+
@($"PODL{CRecMSE.IdxPOdl:00000000}")
+
+
+
} - @if (enableDisegno && showDraw) + else { - string docUrl = string.IsNullOrEmpty(CRecMSE.Disegno) ? $"disegni/{CRecMSE.CodArticolo}.pdf" : $"disegni/{CRecMSE.Disegno}.pdf"; -
- +
+ @CRecMSE.CodMacchina +
+
+
+
+ @CRecMSE.Nome +
+
+
+
+
+
+
+
+ @CRecMSE.DescrizioneStato +
+
+ + @(FormatDurata(CRecMSE.Durata)) + +
+
+
+
+
+
+   @($" {CRecMSE.PezziConf}")   +
+
+ @if (datiProdAct != null && datiProdAct.PzConfScarto > 0) + { + @($"(- {datiProdAct.PzConfScarto})") + } +
+
+
+
+   @($" {CRecMSE.PezziProd}") +
+
+
+
+
+ +
+
+ +
+
ART:
+
@($"{CRecMSE.CodArticolo}")
+
+
+
ODL:
+
@($"ODL{CRecMSE.IdxOdl:00000000}")
+
+
+
PODL:
+
@($"PODL{CRecMSE.IdxPOdl:00000000}")
+
+
+
+
} - @if (showPodl) - { - - } + } + else + { +
+
+
+

+ @CRecMSE.Nome +

+
+
+
+
+
+ Cicli Prod +
+ @if (datiProdAct != null) + { +
@($"{datiProdAct.PzTotODL}")
+ } + else + { +
@($"{CRecMSE.PezziProd}")
+ } +
+ @if (datiProdAct != null) + { + @if (datiProdAct.Pz2RecTot > 0) + { +
+
+ Da Confermare +
+
+ @($"{datiProdAct.Pz2RecTot}") +
+
+ } + else + { +
+
+ Da Confermare +
+
+ @($"{datiProdAct.Pz2RecTot}") +
+
+ } + @if (NumScartiConf > 0) + { +
+
+ Scarti Versati +
+
+ @($"{NumScartiConf}") +
+
+ } + @if (datiProdAct.PzConfRilav > 0) + { +
+
+ Rilav Versati +
+
+ @($"{datiProdAct.PzConfRilav}") +
+
+ } +
+
+ Buoni Versati +
+
+ @($"{datiProdAct.PzConfBuoni}") +
+
+ } + @if (CRecMSE.extraVal > 0) + { +
+
+ Qta Extra +
+
@($"{CRecMSE.extraVal}")
+
+ } +
+
+
+ +
+
+
+ @if (!string.IsNullOrEmpty(IdxMacchSub)) + { +
+ @IdxMacchSub +
+ } +
+
+
+
ART
+
@CRecMSE.CodArticolo
+
+
+
ODL
+
@CRecMSE.IdxOdl
+
+
+
PODL:
+
@CRecMSE.IdxPOdl
+
+
+
+
+
+
+
+ @if (showPodl) + { + + } + else + { + + } +
+
+
+
+
+ @CRecMSE.DescrizioneStato +
+
+ @(FormatDurata(CRecMSE.Durata)) +
+
+
+ @if (enableDisegno) + { +
+
+ @if (showDraw) + { + + } + else + { + + } +
+
+ } + else + { +
+
+ +
+
+ } +
+
+ } + @if (enableDisegno && showDraw) + { + string docUrl = string.IsNullOrEmpty(CRecMSE.Disegno) ? $"disegni/{CRecMSE.CodArticolo}.pdf" : $"disegni/{CRecMSE.Disegno}.pdf"; +
+ +
+ } + @if (showPodl) + { + } } \ No newline at end of file diff --git a/MP-TAB3/Components/MachineBlock.razor.cs b/MP-TAB3/Components/MachineBlock.razor.cs index 69aefb01..ab79bfd9 100644 --- a/MP-TAB3/Components/MachineBlock.razor.cs +++ b/MP-TAB3/Components/MachineBlock.razor.cs @@ -428,16 +428,6 @@ namespace MP_TAB3.Components datiProdAct = SDService.MachProdStGet(IdxMaccCur); } isMulti = SMServ.DictMacchMulti[IdxMaccMain] == 1; -#if false - if (!string.IsNullOrEmpty(IdxMacchSub)) - { - } - else - { - //isMulti = false; - isMulti = SMServ.DictMacchMulti[IdxMaccMain] == 1; - } -#endif // verificare if (!FullMode || !detailLoaded || doForce) { diff --git a/MP-TAB3/Components/MachineBlock.razor.css b/MP-TAB3/Components/MachineBlock.razor.css index b29e5e7e..04d545b5 100644 --- a/MP-TAB3/Components/MachineBlock.razor.css +++ b/MP-TAB3/Components/MachineBlock.razor.css @@ -136,10 +136,6 @@ height: 10rem; object-fit: cover; } -.pholderHeight { - height: 7rem; - object-fit: cover; -} @media (max-width: 640.98px) { .imgFitToSize { height: 7.5rem; @@ -147,7 +143,4 @@ .card-body { background-color: transparent; } - .pholderHeight { - height: 5rem; - } } \ No newline at end of file diff --git a/MP-TAB3/Components/MachineBlock.razor.less b/MP-TAB3/Components/MachineBlock.razor.less index affeb12c..82838e08 100644 --- a/MP-TAB3/Components/MachineBlock.razor.less +++ b/MP-TAB3/Components/MachineBlock.razor.less @@ -152,7 +152,6 @@ --bs-shadow-rgb: var(--bs-dark-rgb); } - .card-body { background-color: currentColor; background-image: linear-gradient(121deg, rgba(255, 255, 255, 0.20) -0.71%, rgba(255, 255, 255, 0.05) 97.66%); @@ -163,11 +162,6 @@ object-fit: cover; } -.pholderHeight { - height: 7rem; - object-fit: cover; -} - @media (max-width: 640.98px){ .imgFitToSize{ height: 7.5rem; @@ -175,9 +169,6 @@ .card-body{ background-color: transparent; } - .pholderHeight { - height: 5rem; - } } diff --git a/MP-TAB3/Components/MachineBlock.razor.min.css b/MP-TAB3/Components/MachineBlock.razor.min.css index 6a0714e0..bea89d3d 100644 --- a/MP-TAB3/Components/MachineBlock.razor.min.css +++ b/MP-TAB3/Components/MachineBlock.razor.min.css @@ -1 +1 @@ -.mapBlock{font-family:'Open Sans Condensed',sans-serif;color:#fff;background-image:linear-gradient(#111,#000);min-width:8em;}.text-sizer{font-size:1.1rem;}.labelTop{padding:.1em;width:auto;min-height:0;top:0;left:auto;bottom:auto;color:#fff;background:#2200de;background:rgba(33,36,39,.75);border-radius:15px 15px 0 0;}.scroll-left{height:1.5em;overflow:hidden;position:relative;width:70%;white-space:nowrap;}.scroll-left span{position:absolute;width:100%;height:100%;margin:0;line-height:1.5em;-moz-transform:translateX(0%);-webkit-transform:translateX(0%);transform:translateX(0%);-moz-animation:scroll-left 8s ease infinite;-webkit-animation:scroll-left 8s ease infinite;animation:scroll-left 8s ease infinite;}@keyframes scroll-left{0%{transform:translateX(0%);}30%{transform:translateX(0%);}80%{transform:translateX(-50%);}}.sVe{text-align:left;background:#198754;color:#fff;}.sGi{text-align:left;background:#ffc107;background:rgba(255,220,0,.6);color:#fff;}.sRo{text-align:left;background-color:#e2001a;background:rgba(240,0,10,.6);color:#fff;}.sBl{text-align:left;background:#3690ff;background:rgba(0,80,255,.6);color:#fff;}.sGr{text-align:left;background-color:#bcbcbc;background:rgba(180,180,180,.6);color:#fff;}.shadow{--bs-shadow-rgb:0,0,0;box-shadow:0 .5rem 1rem rgba(var(--bs-shadow-rgb),.15)!important;}.shadow-sm{--bs-shadow-rgb:0,0,0;box-shadow:0 .125rem .25rem rgba(var(--bs-shadow-rgb),.075)!important;}.shadow-lg{--bs-shadow-rgb:0,0,0;box-shadow:0 1rem 3rem rgba(var(--bs-shadow-rgb),.175)!important;}.shadow-none{box-shadow:none!important;}.shadow-primary{--bs-shadow-rgb:var(--bs-primary-rgb);}.shadow-secondary{--bs-shadow-rgb:var(--bs-secondary-rgb);}.shadow-success{--bs-shadow-rgb:var(--bs-success-rgb);}.shadow-info{--bs-shadow-rgb:var(--bs-info-rgb);}.shadow-warning{--bs-shadow-rgb:var(--bs-warning-rgb);}.shadow-danger{--bs-shadow-rgb:var(--bs-danger-rgb);}.shadow-light{--bs-shadow-rgb:var(--bs-light-rgb);}.shadow-dark{--bs-shadow-rgb:var(--bs-dark-rgb);}.card-body{background-color:currentColor;background-image:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);}.imgFitToSize{height:10rem;object-fit:cover;}.pholderHeight{height:7rem;object-fit:cover;}@media(max-width:640.98px){.imgFitToSize{height:7.5rem;}.card-body{background-color:transparent;}.pholderHeight{height:5rem;}} \ No newline at end of file +.mapBlock{font-family:'Open Sans Condensed',sans-serif;color:#fff;background-image:linear-gradient(#111,#000);min-width:8em;}.text-sizer{font-size:1.1rem;}.labelTop{padding:.1em;width:auto;min-height:0;top:0;left:auto;bottom:auto;color:#fff;background:#2200de;background:rgba(33,36,39,.75);border-radius:15px 15px 0 0;}.scroll-left{height:1.5em;overflow:hidden;position:relative;width:70%;white-space:nowrap;}.scroll-left span{position:absolute;width:100%;height:100%;margin:0;line-height:1.5em;-moz-transform:translateX(0%);-webkit-transform:translateX(0%);transform:translateX(0%);-moz-animation:scroll-left 8s ease infinite;-webkit-animation:scroll-left 8s ease infinite;animation:scroll-left 8s ease infinite;}@keyframes scroll-left{0%{transform:translateX(0%);}30%{transform:translateX(0%);}80%{transform:translateX(-50%);}}.sVe{text-align:left;background:#198754;color:#fff;}.sGi{text-align:left;background:#ffc107;background:rgba(255,220,0,.6);color:#fff;}.sRo{text-align:left;background-color:#e2001a;background:rgba(240,0,10,.6);color:#fff;}.sBl{text-align:left;background:#3690ff;background:rgba(0,80,255,.6);color:#fff;}.sGr{text-align:left;background-color:#bcbcbc;background:rgba(180,180,180,.6);color:#fff;}.shadow{--bs-shadow-rgb:0,0,0;box-shadow:0 .5rem 1rem rgba(var(--bs-shadow-rgb),.15)!important;}.shadow-sm{--bs-shadow-rgb:0,0,0;box-shadow:0 .125rem .25rem rgba(var(--bs-shadow-rgb),.075)!important;}.shadow-lg{--bs-shadow-rgb:0,0,0;box-shadow:0 1rem 3rem rgba(var(--bs-shadow-rgb),.175)!important;}.shadow-none{box-shadow:none!important;}.shadow-primary{--bs-shadow-rgb:var(--bs-primary-rgb);}.shadow-secondary{--bs-shadow-rgb:var(--bs-secondary-rgb);}.shadow-success{--bs-shadow-rgb:var(--bs-success-rgb);}.shadow-info{--bs-shadow-rgb:var(--bs-info-rgb);}.shadow-warning{--bs-shadow-rgb:var(--bs-warning-rgb);}.shadow-danger{--bs-shadow-rgb:var(--bs-danger-rgb);}.shadow-light{--bs-shadow-rgb:var(--bs-light-rgb);}.shadow-dark{--bs-shadow-rgb:var(--bs-dark-rgb);}.card-body{background-color:currentColor;background-image:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);}.imgFitToSize{height:10rem;object-fit:cover;}@media(max-width:640.98px){.imgFitToSize{height:7.5rem;}.card-body{background-color:transparent;}} \ No newline at end of file diff --git a/MP-TAB3/Components/NotesMan.razor.cs b/MP-TAB3/Components/NotesMan.razor.cs index 0b41c589..f2621695 100644 --- a/MP-TAB3/Components/NotesMan.razor.cs +++ b/MP-TAB3/Components/NotesMan.razor.cs @@ -9,6 +9,18 @@ namespace MP_TAB3.Components { public partial class NotesMan { + #region Private Fields + + private int durataMinCurr = 5; + + private int durataMinLast = 0; + + private int numGiorniCurr = 3; + + private int numGiorniLast = 0; + + #endregion Private Fields + #region Public Properties [Parameter] @@ -18,6 +30,7 @@ namespace MP_TAB3.Components #region Protected Properties + protected CommentiModel? currComm { get; set; } = null; protected EventListModel? currEv { get; set; } = null; protected int DurataMin @@ -43,11 +56,6 @@ namespace MP_TAB3.Components [Inject] protected MessageService MsgServ { get; set; } = null!; -#if false - [Inject] - protected NavigationManager NavMan { get; set; } = null!; -#endif - protected int NumGiorni { get => numGiorniCurr; @@ -88,27 +96,6 @@ namespace MP_TAB3.Components await ReloadData(); } - protected async Task reloadAfterDelOrUpd(bool rel) - { - if (rel) - { - await ReloadData(); - currComm = null; - await InvokeAsync(StateHasChanged); - } - } - - protected CommentiModel? currComm { get; set; } = null; - - protected async Task setCurrComm(CommentiModel _CurrComm) - { - await Task.Delay(1); - if(_CurrComm != null) - { - currComm = _CurrComm; - } - } - protected async Task EditRec(CommentiModel currRec) { await Task.Delay(1); @@ -129,20 +116,27 @@ namespace MP_TAB3.Components } } + protected async Task reloadAfterDelOrUpd(bool rel) + { + if (rel) + { + await ReloadData(); + currComm = null; + await InvokeAsync(StateHasChanged); + } + } + + protected async Task setCurrComm(CommentiModel _CurrComm) + { + await Task.Delay(1); + if (_CurrComm != null) + { + currComm = _CurrComm; + } + } + #endregion Protected Methods - #region Private Fields - - private int durataMinCurr = 5; - - private int durataMinLast = 0; - - private int numGiorniCurr = 3; - - private int numGiorniLast = 0; - - #endregion Private Fields - #region Private Methods private async Task DoUpdate(bool forceReload) diff --git a/MP-TAB3/Components/OdlMan.razor.cs b/MP-TAB3/Components/OdlMan.razor.cs index 23958164..cd3c805c 100644 --- a/MP-TAB3/Components/OdlMan.razor.cs +++ b/MP-TAB3/Components/OdlMan.razor.cs @@ -12,6 +12,82 @@ namespace MP_TAB3.Components { public partial class OdlMan { + #region Private Fields + + private static Logger Log = LogManager.GetCurrentClassLogger(); + + private bool approvTCEnabled = false; + + private bool confRett = true; + + private double currVal = 0; + + private List emailAdmDest = new List(); + + private bool enableAnnullaSetup = false; + + private bool enableFixSetup = false; + + private bool enableRiattrezzaggio = false; + + private bool enableRPO = true; + + private bool enableSchedaTecnica = false; + + private bool enableSplitODL = false; + + private int expTimeMsec = 500; + + private bool forceCloseOdl = true; + + private int gPeriodReopenOdlTav = 1; + + private int idxPOdlSel = 0; + + private bool isMaster = false; + + private bool isMulti = false; + + private bool isProcessing = false; + + private bool isSlave = false; + + private int lastIdxPOdl = 0; + + private string lblOut = ""; + + private int MaxVal = 10; + + private int modoConfProd = 0; + + private double nextVal = 0; + + private string noteAttr = ""; + + private int numDayOdl = 5; + + private int PzPallet = 0; + + private string searchPodl = ""; + + private bool showAll = false; + + private bool showChkCloseOdlVal = false; + + private bool showOdlDetail = false; + + private bool showOdlProvv = false; + + private bool showPOdlData = true; + + private bool showReopenOdlTav = false; + + private bool showSplitOdlOnTav = false; + + private bool showSplitOdlRiattr = false; + + #endregion Private Fields + #region Public Properties [Parameter] @@ -180,6 +256,248 @@ namespace MP_TAB3.Components #endregion Protected Properties + #region Private Properties + + private bool annullaSetupVisible + { + get + { + bool answ = inAttr && enableAnnullaSetup && RecMSE != null && RecMSE.PezziConf == 0; + // forzato: se è doppia tavola è SEMPRE false... + if (isMulti) + { + answ = false; + } + // 2024.04.15 deciso con Gian di togliere la possibilità di annullare su doppia tavola (problema di doppio reset con conferme aperte su altra tavola) + //DateTime adesso = DateTime.Now; + //if (isMulti) + //{ + // var pUpd = Task.Run(async () => + // { + // // controllo ANCHE che la tav correntemente selezionata NON abbia pezzi da confermare + // datiProdAct = await TabDServ.StatoProdMacchina(IdxMaccMain, adesso); + // answ = datiProdAct.PzConfBuoni == 0 && datiProdAct.Pz2RecScarto == 0; + // }); + // pUpd.Wait(); + //} + return answ; + } + } + + private string baseLang + { + get => MsgServ.UserPrefGet("Lang"); + } + + private bool cancelSetupEnabled + { + //get => InAttr && enableSchedaTecnica && enableAnnullaSetup; + get => inAttr && enableAnnullaSetup; + } + + private ODLExpModel currOdl { get; set; } = new ODLExpModel(); + + private PODLExpModel currPodl { get; set; } = new PODLExpModel(); + + private MappaStatoExpl? currRecMSE { get; set; } = null; + + /// + /// Verifica se l'ALTRA macchina NON abbia ODL valido (== 0) + /// + private bool emptyOdlAltraMacc + { + get => IdxOdlAltra == 0; + } + + /// + /// Verifica se la macchina NON abbia ODL valido (== 0) + /// + private bool emptyOdlMacc + { + get => IdxOdl == 0; + } + + private bool endProdDisabled + { + get => !odlOk || needConfProd; + } + + /// + /// Variabile idxMacc parent x selezione ODL + /// + private string IdxMaccParent { get; set; } = ""; + + private string IdxMaccSel { get; set; } = ""; + + /// + /// Valore calcolato key ODL corrente... + /// + private int IdxOdl { get; set; } = 0; + + /// + /// Valore calcolato key ODL altra tavola attivo... + /// + private int IdxOdlAltra { get; set; } = 0; + + private bool inAttr { get; set; } = false; + + private bool isLoading { get; set; } = false; + + private MappaStatoExpl? lastRecMSE { get; set; } = null; + + private string lblWarnBody + { + get => odlOk ? Traduci("ConfProdBeforeContinueBody") : Traduci("setOdlBeforeContinueBody"); + } + + private string lblWarnHead + { + get => odlOk ? Traduci("ConfProdBeforeContinueHead") : Traduci("setOdlBeforeContinueHead"); + } + + private int MatrOpr + { + get => MsgServ.MatrOpr; + } + + private bool needConfProd { get; set; } = false; + + private int numPz2Conf + { + get + { + int answ = -1; + if (datiProdAct != null) + { + answ = datiProdAct.Pz2RecTot; + } + else + { + answ = RecMSE != null ? RecMSE.PezziProd - RecMSE.PezziConf : 0; + } + return answ; + } + } + + private int numRil2Conf + { + get + { + int answ = -1; + if (datiProdAct != null) + { + answ = datiProdAct.Pz2RecRilav; + } + return answ; + } + } + + private int numSca2Conf + { + get + { + int answ = -1; + if (datiProdAct != null) + { + answ = datiProdAct.Pz2RecScarto; + } + return answ; + } + } + + private bool setupActive { get; set; } = false; + + /// + /// Verifica visibilità btn riprendi ODL su 2° tavola SE: + /// - sia un impianto MULTI (= con + tavole) + /// - sia disattrezzata la tavola + /// - in tab congif: se sia abilitato la ripresa ODL sulla seconda tavola + /// - in tab config: sia il grace period + /// - NON SIANO passati i minuti indicati dalla chiusura + /// + private bool showReopOdlTav + { + get + { + bool answ = false; + // se è multi controllo + if (isMulti) + { + // verifico se NON HA ODL... + if (emptyOdlMacc) + { + if (!emptyOdlAltraMacc) + { + // verifico SE siamo nel gracePeriod... chiuso da meno di 1h + DateTime adesso = DateTime.Now; + DateTime dtChiusura = DateTime.Now.AddHours(-1); + try + { + var lastOdl = TabDServ.OdlLastByMacc(IdxMaccSel, true); + if (lastOdl != null) + { + dtChiusura = lastOdl.DataFine ?? DateTime.Now.AddHours(-1); + } + } + catch + { } + + // ora verifico SE E SOLO SE è ANCORA in attrezzaggio ora verifico SE + // ALTRA TAVOLA ha ODL... + if (dtChiusura.AddMinutes(gPeriodReopenOdlTav) > adesso) + { + answ = showReopenOdlTav; + } + } + } + } + return answ; + } + } + + /// + /// Verifica visibilità btn split ODL su 2° tavola SE: + /// - sia un impianto MULTI (= con + tavole) + /// - sia già attrezzata la prima tavola + /// - in tab Congif: se sia abilitato lo split ODL sulla seconda tavola + /// - la macchina SIA ANCORA in attrezzaggio (2019.07.08) = 2 + /// + private bool showSplitOdlOnTavVal + { + get + { + bool answ = false; + // se è multi controllo + if (isMulti) + { + // verifico se NON HA ODL ma ce l'ha altra tavola... + if (emptyOdlMacc) + { + // ora verifico SE ALTRA TAVOLA ha ODL... + if (!emptyOdlAltraMacc) + { + answ = showSplitOdlOnTav; + } + } + } + return answ; + } + } + + private decimal tcRichAttr { get; set; } = 0; + + private string txtBtnOdlDetail + { + get => showOdlDetail ? "Nascondi Dettaglio PODL" : "MOSTRA Dettaglio ODL Corrente"; + } + + private string txtForceCloseOdl + { + get => forceCloseOdl ? Traduci("ForceCloseODL") : Traduci("SplitCurrODL"); + } + + #endregion Private Properties + #region Protected Methods /// @@ -195,10 +513,6 @@ namespace MP_TAB3.Components protected async Task CheckAttr() { -#if false - // rileggo ODL - await updateIdxOdl(); -#endif // verifico attrezzaggio su macchina corrente o se multi su parent string idxMacc2check = isMulti ? IdxMaccParent : IdxMaccSel; StatoMacchineModel rigaStato = TabDServ.StatoMacchina(idxMacc2check); @@ -1147,323 +1461,6 @@ namespace MP_TAB3.Components #endregion Protected Methods - #region Private Fields - - private static Logger Log = LogManager.GetCurrentClassLogger(); - - private bool approvTCEnabled = false; - - private bool confRett = true; - - private double currVal = 0; - - private List emailAdmDest = new List(); - - private bool enableAnnullaSetup = false; - - private bool enableFixSetup = false; - - private bool enableRiattrezzaggio = false; - - private bool enableRPO = true; - - private bool enableSchedaTecnica = false; - - private bool enableSplitODL = false; - - private int expTimeMsec = 500; - - private bool forceCloseOdl = true; - - private int gPeriodReopenOdlTav = 1; - - private int idxPOdlSel = 0; - - private bool isMaster = false; - - private bool isMulti = false; - - private bool isProcessing = false; - - private bool isSlave = false; - - private int lastIdxPOdl = 0; - - private string lblOut = ""; - - private int MaxVal = 10; - - private int modoConfProd = 0; - - private double nextVal = 0; - - private string noteAttr = ""; - - private int numDayOdl = 5; - - private int PzPallet = 0; - - private string searchPodl = ""; - - private bool showAll = false; - - private bool showChkCloseOdlVal = false; - - private bool showOdlDetail = false; - - private bool showOdlProvv = false; - - private bool showPOdlData = true; - - private bool showReopenOdlTav = false; - - private bool showSplitOdlOnTav = false; - - private bool showSplitOdlRiattr = false; - - #endregion Private Fields - - #region Private Properties - - private bool annullaSetupVisible - { - get - { - bool answ = inAttr && enableAnnullaSetup && RecMSE != null && RecMSE.PezziConf == 0; - // forzato: se è doppia tavola è SEMPRE false... - if (isMulti) - { - answ = false; - } - // 2024.04.15 deciso con Gian di togliere la possibilità di annullare su doppia tavola (problema di doppio reset con conferme aperte su altra tavola) - //DateTime adesso = DateTime.Now; - //if (isMulti) - //{ - // var pUpd = Task.Run(async () => - // { - // // controllo ANCHE che la tav correntemente selezionata NON abbia pezzi da confermare - // datiProdAct = await TabDServ.StatoProdMacchina(IdxMaccMain, adesso); - // answ = datiProdAct.PzConfBuoni == 0 && datiProdAct.Pz2RecScarto == 0; - // }); - // pUpd.Wait(); - //} - return answ; - } - } - - private string baseLang - { - get => MsgServ.UserPrefGet("Lang"); - } - - private bool cancelSetupEnabled - { - //get => InAttr && enableSchedaTecnica && enableAnnullaSetup; - get => inAttr && enableAnnullaSetup; - } - - private ODLExpModel currOdl { get; set; } = new ODLExpModel(); - - private PODLExpModel currPodl { get; set; } = new PODLExpModel(); - - private MappaStatoExpl? currRecMSE { get; set; } = null; - - /// - /// Verifica se l'ALTRA macchina NON abbia ODL valido (== 0) - /// - private bool emptyOdlAltraMacc - { - get => IdxOdlAltra == 0; - } - - /// - /// Verifica se la macchina NON abbia ODL valido (== 0) - /// - private bool emptyOdlMacc - { - get => IdxOdl == 0; - } - - private bool endProdDisabled - { - get => !odlOk || needConfProd; - } - - /// - /// Variabile idxMacc parent x selezione ODL - /// - private string IdxMaccParent { get; set; } = ""; - - private string IdxMaccSel { get; set; } = ""; - - /// - /// Valore calcolato key ODL corrente... - /// - private int IdxOdl { get; set; } = 0; - - /// - /// Valore calcolato key ODL altra tavola attivo... - /// - private int IdxOdlAltra { get; set; } = 0; - - private bool inAttr { get; set; } = false; - - private bool isLoading { get; set; } = false; - - private MappaStatoExpl? lastRecMSE { get; set; } = null; - - private string lblWarnBody - { - get => odlOk ? Traduci("ConfProdBeforeContinueBody") : Traduci("setOdlBeforeContinueBody"); - } - - private string lblWarnHead - { - get => odlOk ? Traduci("ConfProdBeforeContinueHead") : Traduci("setOdlBeforeContinueHead"); - } - - private int MatrOpr - { - get => MsgServ.MatrOpr; - } - - private bool needConfProd { get; set; } = false; - - private int numPz2Conf - { - get - { - int answ = -1; - if (datiProdAct != null) - { - answ = datiProdAct.Pz2RecTot; - } - else - { - answ = RecMSE != null ? RecMSE.PezziProd - RecMSE.PezziConf : 0; - } - return answ; - } - } - - private int numSca2Conf - { - get - { - int answ = -1; - if (datiProdAct != null) - { - answ = datiProdAct.Pz2RecScarto; - } - return answ; - } - } - private int numRil2Conf - { - get - { - int answ = -1; - if (datiProdAct != null) - { - answ = datiProdAct.Pz2RecRilav; - } - return answ; - } - } - - private bool setupActive { get; set; } = false; - - /// - /// Verifica visibilità btn riprendi ODL su 2° tavola SE: - /// - sia un impianto MULTI (= con + tavole) - /// - sia disattrezzata la tavola - /// - in tab congif: se sia abilitato la ripresa ODL sulla seconda tavola - /// - in tab config: sia il grace period - /// - NON SIANO passati i minuti indicati dalla chiusura - /// - private bool showReopOdlTav - { - get - { - bool answ = false; - // se è multi controllo - if (isMulti) - { - // verifico se NON HA ODL... - if (emptyOdlMacc) - { - if (!emptyOdlAltraMacc) - { - // verifico SE siamo nel gracePeriod... chiuso da meno di 1h - DateTime adesso = DateTime.Now; - DateTime dtChiusura = DateTime.Now.AddHours(-1); - try - { - var lastOdl = TabDServ.OdlLastByMacc(IdxMaccSel, true); - if (lastOdl != null) - { - dtChiusura = lastOdl.DataFine ?? DateTime.Now.AddHours(-1); - } - } - catch - { } - - // ora verifico SE E SOLO SE è ANCORA in attrezzaggio ora verifico SE - // ALTRA TAVOLA ha ODL... - if (dtChiusura.AddMinutes(gPeriodReopenOdlTav) > adesso) - { - answ = showReopenOdlTav; - } - } - } - } - return answ; - } - } - - /// - /// Verifica visibilità btn split ODL su 2° tavola SE: - /// - sia un impianto MULTI (= con + tavole) - /// - sia già attrezzata la prima tavola - /// - in tab Congif: se sia abilitato lo split ODL sulla seconda tavola - /// - la macchina SIA ANCORA in attrezzaggio (2019.07.08) = 2 - /// - private bool showSplitOdlOnTavVal - { - get - { - bool answ = false; - // se è multi controllo - if (isMulti) - { - // verifico se NON HA ODL ma ce l'ha altra tavola... - if (emptyOdlMacc) - { - // ora verifico SE ALTRA TAVOLA ha ODL... - if (!emptyOdlAltraMacc) - { - answ = showSplitOdlOnTav; - } - } - } - return answ; - } - } - - private decimal tcRichAttr { get; set; } = 0; - - private string txtBtnOdlDetail - { - get => showOdlDetail ? "Nascondi Dettaglio PODL" : "MOSTRA Dettaglio ODL Corrente"; - } - - private string txtForceCloseOdl - { - get => forceCloseOdl ? Traduci("ForceCloseODL") : Traduci("SplitCurrODL"); - } - - #endregion Private Properties - #region Private Methods private void checkAll() diff --git a/MP-TAB3/Components/PlaceholderDetail.razor b/MP-TAB3/Components/PlaceholderDetail.razor new file mode 100644 index 00000000..1ec38f42 --- /dev/null +++ b/MP-TAB3/Components/PlaceholderDetail.razor @@ -0,0 +1,35 @@ +
+
+
+
+ +
+
+ + + + + + + +
+
+ +
+
+ + + + + + + +
+
+ + + +
+
+
+
\ No newline at end of file diff --git a/MP-TAB3/Components/PlaceholderDetail.razor.css b/MP-TAB3/Components/PlaceholderDetail.razor.css new file mode 100644 index 00000000..61bad387 --- /dev/null +++ b/MP-TAB3/Components/PlaceholderDetail.razor.css @@ -0,0 +1,4 @@ +.pholderHeight { + height: 5rem; + object-fit: cover; +} \ No newline at end of file diff --git a/MP-TAB3/Components/PlaceholderDetail.razor.less b/MP-TAB3/Components/PlaceholderDetail.razor.less new file mode 100644 index 00000000..73045d73 --- /dev/null +++ b/MP-TAB3/Components/PlaceholderDetail.razor.less @@ -0,0 +1,6 @@ + +.pholderHeight { + height: 5rem; + object-fit: cover; +} + diff --git a/MP-TAB3/Components/PlaceholderDetail.razor.min.css b/MP-TAB3/Components/PlaceholderDetail.razor.min.css new file mode 100644 index 00000000..b22a0149 --- /dev/null +++ b/MP-TAB3/Components/PlaceholderDetail.razor.min.css @@ -0,0 +1 @@ +.pholderHeight{height:5rem;object-fit:cover;} \ No newline at end of file diff --git a/MP-TAB3/Components/PlaceholderStatusMap.razor b/MP-TAB3/Components/PlaceholderStatusMap.razor new file mode 100644 index 00000000..8d12accf --- /dev/null +++ b/MP-TAB3/Components/PlaceholderStatusMap.razor @@ -0,0 +1,30 @@ +
+
+
+
+ +
+
+ + +
+
+ +
+
+ + + +
+
+ +
+
+ + + + +
+
+
+
\ No newline at end of file diff --git a/MP-TAB3/Components/PlaceholderStatusMap.razor.css b/MP-TAB3/Components/PlaceholderStatusMap.razor.css new file mode 100644 index 00000000..218fdd85 --- /dev/null +++ b/MP-TAB3/Components/PlaceholderStatusMap.razor.css @@ -0,0 +1,4 @@ +.pholderHeight { + height: 3rem; + object-fit: cover; +} \ No newline at end of file diff --git a/MP-TAB3/Components/PlaceholderStatusMap.razor.less b/MP-TAB3/Components/PlaceholderStatusMap.razor.less new file mode 100644 index 00000000..90d74c36 --- /dev/null +++ b/MP-TAB3/Components/PlaceholderStatusMap.razor.less @@ -0,0 +1,6 @@ + +.pholderHeight { + height: 3rem; + object-fit: cover; +} + diff --git a/MP-TAB3/Components/PlaceholderStatusMap.razor.min.css b/MP-TAB3/Components/PlaceholderStatusMap.razor.min.css new file mode 100644 index 00000000..66d7e09e --- /dev/null +++ b/MP-TAB3/Components/PlaceholderStatusMap.razor.min.css @@ -0,0 +1 @@ +.pholderHeight{height:3rem;object-fit:cover;} \ No newline at end of file diff --git a/MP-TAB3/Components/ProdConfirm.razor b/MP-TAB3/Components/ProdConfirm.razor index 86615958..82e4e231 100644 --- a/MP-TAB3/Components/ProdConfirm.razor +++ b/MP-TAB3/Components/ProdConfirm.razor @@ -131,7 +131,7 @@
@if (isProcessing) { - + } else { @@ -148,7 +148,7 @@
@if (isProcessing) { - + } else { @@ -165,7 +165,7 @@
@if (isProcessing) { - + } else { @@ -182,7 +182,7 @@
@if (isProcessing) { - + } else { @@ -199,7 +199,7 @@
@if (isProcessing) { - + } else { diff --git a/MP-TAB3/Components/ProdConfirm.razor.cs b/MP-TAB3/Components/ProdConfirm.razor.cs index 5809c2c9..901bbc51 100644 --- a/MP-TAB3/Components/ProdConfirm.razor.cs +++ b/MP-TAB3/Components/ProdConfirm.razor.cs @@ -8,6 +8,26 @@ namespace MP_TAB3.Components { public partial class ProdConfirm { + #region Private Fields + + private static Logger Log = LogManager.GetCurrentClassLogger(); + + private bool chkPzBuoniNeg = false; + + private bool confRett = false; + + private bool enableMagPrint = false; + + private bool enablePzProdLasciati = false; + + private bool isMulti = false; + + private string lblOut = ""; + + private int modoConfProd = 0; + + #endregion Private Fields + #region Public Properties /// @@ -155,8 +175,8 @@ namespace MP_TAB3.Components protected int numPzProdotti2Rec { get; set; } = 0; - protected int numPzRilavConf { get; set; } = 0; protected int numPzRilav2Rec { get; set; } = 0; + protected int numPzRilavConf { get; set; } = 0; protected int numPzScaConf { get; set; } = 0; protected int numPzScarto2Rec { get; set; } = 0; @@ -206,6 +226,31 @@ namespace MP_TAB3.Components #endregion Protected Properties + #region Private Properties + + private bool confProdActive { get; set; } = false; + + private MappaStatoExpl? currRecMSE { get; set; } = null; + + private DateTime dtReqUpdate { get; set; } = DateTime.Now; + + private string IdxMaccSel { get; set; } = ""; + + private bool isProcessing { get; set; } = false; + + private MappaStatoExpl? lastRecMSE { get; set; } = null; + + private int MatrOpr + { + get => MsgServ.MatrOpr; + } + + private int numPzLasc { get; set; } = 0; + + private bool showConfirm { get; set; } = true; + + #endregion Private Properties + #region Protected Methods /// @@ -274,19 +319,12 @@ namespace MP_TAB3.Components protected async Task SalvaConfPz() { - int delay = 1; isProcessing = true; - Log.Info("Conf 01"); // effettua conferma con conf da DB del tipo (giorni / turni / periodo bool fatto = effettuaConfermaProd(); - await Task.Delay(delay); await TabDServ.FlushCache("StatoProd"); - await Task.Delay(delay); - Log.Info("Conf 02"); // refresh tabella dati tablet... await TabDServ.RicalcMse(IdxMaccSel, 0); - await Task.Delay(delay); - Log.Info("Conf 03"); // rileggo e salvo.. var ListMSE = await SDService.MseGetAll(true); if (ListMSE != null) @@ -296,22 +334,17 @@ namespace MP_TAB3.Components // aggiorno MSE attuale RecMSE = ListMSE.Find(x => x.IdxMacchina == IdxMaccSel); } - await Task.Delay(delay); // mostro output lblOut = $"Confermata produzione {numPzConfermati - numPzLasciati} pezzi (+{numPzLasciati} pz lasciati, +{numPzScarto2Rec} pz scarto) |{dtReqUpdate:HH:mm:ss} | {dtReqUpdate:ddd yyyy.MM.dd}"; // cambio button conferma... confProdActive = false; numPzLasciati = 0; - await Task.Delay(delay); dtReqUpdate = DateTime.Now; // azzero cache pezzi conf SDService.MachNumPzSet(IdxMaccSel, -1); await DoUpdate(); - await Task.Delay(delay); await RefreshData(); - await Task.Delay(delay); TabDServ.NotifyDataInvalidated(IdxMaccSel); - Log.Info("Conf 04"); isProcessing = false; } @@ -349,39 +382,6 @@ namespace MP_TAB3.Components #endregion Protected Methods - #region Private Fields - - private static Logger Log = LogManager.GetCurrentClassLogger(); - private bool chkPzBuoniNeg = false; - private bool confRett = false; - private bool enableMagPrint = false; - private bool enablePzProdLasciati = false; - private bool isMulti = false; - private string lblOut = ""; - private int modoConfProd = 0; - - #endregion Private Fields - - #region Private Properties - - private bool confProdActive { get; set; } = false; - private MappaStatoExpl? currRecMSE { get; set; } = null; - private DateTime dtReqUpdate { get; set; } = DateTime.Now; - private string IdxMaccSel { get; set; } = ""; - private bool isProcessing { get; set; } = false; - private MappaStatoExpl? lastRecMSE { get; set; } = null; - - private int MatrOpr - { - get => MsgServ.MatrOpr; - } - - private int numPzLasc { get; set; } = 0; - - private bool showConfirm { get; set; } = true; - - #endregion Private Properties - #region Private Methods /// diff --git a/MP-TAB3/Components/SelTempoMSMC.razor.cs b/MP-TAB3/Components/SelTempoMSMC.razor.cs index 060c6baf..90b6b067 100644 --- a/MP-TAB3/Components/SelTempoMSMC.razor.cs +++ b/MP-TAB3/Components/SelTempoMSMC.razor.cs @@ -54,14 +54,6 @@ namespace MP_TAB3.Components [Parameter] public timeControlMode modoControllo { get; set; } = timeControlMode.testo; -#if false - /// - /// modalit� controllo tempo - /// - [Parameter] - public timeMode modoTempo { get; set; } = timeMode.MC; -#endif - /// /// Valore tempo (centesimale) /// @@ -88,15 +80,12 @@ namespace MP_TAB3.Components [Inject] protected MessageService MsgServ { get; set; } = null!; - /// - /// tempo selezionato in formato Minuti Secondi - /// - protected DateTime selTempoMS + protected int selMin { - get => DateTime.Today.Add(TempoMS); + get => TempoMS.Minutes; set { - TempoMS = value.Subtract(value.Date); + TempoMS = new TimeSpan(selOre, value, selSec); E_TCRich.InvokeAsync(TempoMC); } } @@ -110,15 +99,7 @@ namespace MP_TAB3.Components E_TCRich.InvokeAsync(TempoMC); } } - protected int selMin - { - get => TempoMS.Minutes; - set - { - TempoMS = new TimeSpan(selOre,value, selSec); - E_TCRich.InvokeAsync(TempoMC); - } - } + protected int selSec { get => TempoMS.Seconds; @@ -129,6 +110,19 @@ namespace MP_TAB3.Components } } + /// + /// tempo selezionato in formato Minuti Secondi + /// + protected DateTime selTempoMS + { + get => DateTime.Today.Add(TempoMS); + set + { + TempoMS = value.Subtract(value.Date); + E_TCRich.InvokeAsync(TempoMC); + } + } + protected bool ShowMS { get; set; } = true; [Inject] @@ -162,48 +156,6 @@ namespace MP_TAB3.Components #endregion Protected Properties - #region Protected Methods - - /// - /// conversione da tempo minuti centesimali a minuti/secondi - /// - /// - /// - protected TimeSpan minCent2Sec(decimal valore) - { - TimeSpan answ = TimeSpan.FromSeconds(Math.Round((double)(valore * 60))); - return answ; - } - - /// - /// conversione da tempo minuti/secondi a minuti centesimali - /// - /// - /// - protected decimal minSec2Cent(TimeSpan valore) - { - decimal answ = 0; - decimal.TryParse($"{Math.Floor(valore.TotalMinutes) + (double)valore.Seconds / 60}", out answ); - return answ; - } - - protected override void OnInitialized() - { - //baseLang = SMServ.GetConf("baseLang"); - } - - protected override void OnParametersSet() - { - showControls(); - } - - protected string Traduci(string lemma) - { - return SMServ.Traduci($"{baseLang}_{lemma}".ToUpper()); - } - - #endregion Protected Methods - #region Private Properties private string _baseLang { get; set; } = "IT"; @@ -278,6 +230,48 @@ namespace MP_TAB3.Components #endregion Private Properties + #region Protected Methods + + /// + /// conversione da tempo minuti centesimali a minuti/secondi + /// + /// + /// + protected TimeSpan minCent2Sec(decimal valore) + { + TimeSpan answ = TimeSpan.FromSeconds(Math.Round((double)(valore * 60))); + return answ; + } + + /// + /// conversione da tempo minuti/secondi a minuti centesimali + /// + /// + /// + protected decimal minSec2Cent(TimeSpan valore) + { + decimal answ = 0; + decimal.TryParse($"{Math.Floor(valore.TotalMinutes) + (double)valore.Seconds / 60}", out answ); + return answ; + } + + protected override void OnInitialized() + { + //baseLang = SMServ.GetConf("baseLang"); + } + + protected override void OnParametersSet() + { + showControls(); + } + + protected string Traduci(string lemma) + { + return SMServ.Traduci($"{baseLang}_{lemma}".ToUpper()); + } + + #endregion Protected Methods + #region Private Methods /// diff --git a/MP-TAB3/MP-TAB3.csproj b/MP-TAB3/MP-TAB3.csproj index 13c9afb6..6b9504fc 100644 --- a/MP-TAB3/MP-TAB3.csproj +++ b/MP-TAB3/MP-TAB3.csproj @@ -3,7 +3,7 @@ net6.0 enable - 6.16.2503.722 + 6.16.2503.809 enable MP_TAB3 diff --git a/MP-TAB3/Pages/Controls.razor.cs b/MP-TAB3/Pages/Controls.razor.cs index 5063203f..5fabe458 100644 --- a/MP-TAB3/Pages/Controls.razor.cs +++ b/MP-TAB3/Pages/Controls.razor.cs @@ -2,22 +2,20 @@ namespace MP_TAB3.Pages { public partial class Controls { - #region Public Methods + #region Private Fields + private string IdxMaccSubSel = ""; - #endregion Public Methods + private bool IsLoading = false; - #region Protected Properties - - - #endregion Protected Properties + #endregion Private Fields #region Protected Methods protected async Task ForceReload() { IsLoading = true; - await Task.Delay(50); + await Task.Delay(5); IsLoading = false; } @@ -33,19 +31,5 @@ namespace MP_TAB3.Pages } #endregion Protected Methods - - #region Private Fields - - private string IdxMaccSubSel = ""; - - private bool IsLoading = false; - - #endregion Private Fields - - #region Private Methods - - - - #endregion Private Methods } } \ No newline at end of file diff --git a/MP-TAB3/Resources/ChangeLog.html b/MP-TAB3/Resources/ChangeLog.html index eae63147..52865357 100644 --- a/MP-TAB3/Resources/ChangeLog.html +++ b/MP-TAB3/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo MAPOSPEC -

Versione: 6.16.2503.722

+

Versione: 6.16.2503.809


Note di rilascio:
  • diff --git a/MP-TAB3/Resources/VersNum.txt b/MP-TAB3/Resources/VersNum.txt index 8a473663..b11f2077 100644 --- a/MP-TAB3/Resources/VersNum.txt +++ b/MP-TAB3/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2503.722 +6.16.2503.809 diff --git a/MP-TAB3/Resources/manifest.xml b/MP-TAB3/Resources/manifest.xml index 95ddc311..1158244c 100644 --- a/MP-TAB3/Resources/manifest.xml +++ b/MP-TAB3/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2503.722 + 6.16.2503.809 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 diff --git a/MP-TAB3/compilerconfig.json b/MP-TAB3/compilerconfig.json index 52388af1..ecaeb067 100644 --- a/MP-TAB3/compilerconfig.json +++ b/MP-TAB3/compilerconfig.json @@ -58,5 +58,13 @@ { "outputFile": "Components/ProdStopMan.razor.css", "inputFile": "Components/ProdStopMan.razor.less" + }, + { + "outputFile": "Components/PlaceholderDetail.razor.css", + "inputFile": "Components/PlaceholderDetail.razor.less" + }, + { + "outputFile": "Components/PlaceholderStatusMap.razor.css", + "inputFile": "Components/PlaceholderStatusMap.razor.less" } ] \ No newline at end of file diff --git a/MP.Data/Services/SharedMemService.cs b/MP.Data/Services/SharedMemService.cs index 9cd161c8..0ce1654c 100644 --- a/MP.Data/Services/SharedMemService.cs +++ b/MP.Data/Services/SharedMemService.cs @@ -1,7 +1,6 @@ using MP.Data.DatabaseModels; using NLog; using StackExchange.Redis; -using System; using System.Collections.Generic; using System.Linq; @@ -9,6 +8,17 @@ namespace MP.Data.Services { public class SharedMemService : BaseServ { + #region Private Fields + + private static Logger Log = LogManager.GetCurrentClassLogger(); + + /// + /// Oggetto vocabolario x uso continuo traduzione + /// + private List ObjVocabolario = new List(); + + #endregion Private Fields + #region Public Properties /// @@ -56,6 +66,11 @@ namespace MP.Data.Services /// public List ListEventi { get; set; } = new List(); + /// + /// Lista macchine master2slave stati + /// + public List ListM2S { get; set; } = new List(); + /// /// List configurazione attiva da tab DB /// @@ -66,13 +81,6 @@ namespace MP.Data.Services ///
public List ListStati { get; set; } = new List(); - /// - /// Lista macchine master2slave stati - /// - public List ListM2S { get; set; } = new List(); - - - /// /// Lista completa stati /// @@ -85,6 +93,12 @@ namespace MP.Data.Services #endregion Public Properties + #region Private Properties + + private List AllMenuData { get; set; } = new List(); + + #endregion Private Properties + #region Public Methods /// @@ -199,6 +213,12 @@ namespace MP.Data.Services Log.Info("SharedMemService | SetEventi executed!"); } + public void SetM2S(List newList) + { + ListM2S = newList ?? new List(); + Log.Info("SharedMemService | SetM2S executed!"); + } + public void SetMsfd(List newList) { ListMSFD = newList ?? new List(); @@ -207,12 +227,6 @@ namespace MP.Data.Services Log.Info("SharedMemService | SetMsfd executed!"); } - public void SetM2S(List newList) - { - ListM2S = newList ?? new List(); - Log.Info("SharedMemService | SetM2S executed!"); - } - public void SetStati(List allStati) { ListStati = allStati ?? new List(); @@ -282,22 +296,5 @@ namespace MP.Data.Services } #endregion Public Methods - - #region Private Fields - - private static Logger Log = LogManager.GetCurrentClassLogger(); - - /// - /// Oggetto vocabolario x uso continuo traduzione - /// - private List ObjVocabolario = new List(); - - #endregion Private Fields - - #region Private Properties - - private List AllMenuData { get; set; } = new List(); - - #endregion Private Properties } } \ No newline at end of file diff --git a/MP.Data/Services/StatusData.cs b/MP.Data/Services/StatusData.cs index c0a46009..6484659c 100644 --- a/MP.Data/Services/StatusData.cs +++ b/MP.Data/Services/StatusData.cs @@ -373,10 +373,6 @@ namespace MP.Data.Services #endregion Private Properties -#if false - private string redisMseKey = "MP:MON:Cache:MSE"; -#endif - #region Private Methods /// diff --git a/MP.Data/Services/TabDataService.cs b/MP.Data/Services/TabDataService.cs index 50791ece..faa8b9c0 100644 --- a/MP.Data/Services/TabDataService.cs +++ b/MP.Data/Services/TabDataService.cs @@ -82,6 +82,7 @@ namespace MP.Data.Services /// Evento richiesta rilettura dati pagina (x refresh pagine aperte) /// public event EventHandler ReloadRequest = delegate { }; + /// /// Evento report dati invalidati x rilettura /// @@ -1314,6 +1315,7 @@ namespace MP.Data.Services ReloadRequest.Invoke(this, rea); } } + /// /// Invio notifica dati invalidati x impianto ///