diff --git a/MP.Stats/Pages/Oee.razor b/MP.Stats/Pages/Oee.razor new file mode 100644 index 00000000..68d95794 --- /dev/null +++ b/MP.Stats/Pages/Oee.razor @@ -0,0 +1,71 @@ +@page "/oee" + +@using MP.Stats.Components +@using MP.Stats.Data + +
+
+
+
TRS / OEE %
+
+
+
+
+
+ @if (currRecord != null) + { + @**@ + } + @if (ListRecords == null) + { +
+ } + else + { +
+
+ +
+
+ + + + @**@ + + + + + + + + + + + @foreach (var record in ListRecords) + { + + @**@ + + + + + + + + + } + +
DataTurnoMacchinaArticoloDurataPezziOEE
  +
@record.DataRif.ToString("yyyy.MM.dd")
+
@record.Turno +
@record.CodMacchina
+
@record.IdxMacchina
+
@record.CodArticolo@record.TotPeriodo.ToString("N2")@record.TotPz@record.OEE
+
+
+ } +
+ +
\ No newline at end of file diff --git a/MP.Stats/Pages/Oee.razor.cs b/MP.Stats/Pages/Oee.razor.cs new file mode 100644 index 00000000..be601c8e --- /dev/null +++ b/MP.Stats/Pages/Oee.razor.cs @@ -0,0 +1,131 @@ +using Microsoft.AspNetCore.Components; +using Microsoft.JSInterop; +using MP.Stats.Data; +using System; +using System.Linq; +using System.Threading.Tasks; + +namespace MP.Stats.Pages +{ + public partial class Oee : ComponentBase, IDisposable + { + #region Private Fields + + private MP.Data.DatabaseModels.TurniOee currRecord = null; + + private MP.Data.DatabaseModels.TurniOee[] ListRecords; + + private MP.Data.DatabaseModels.TurniOee[] SearchRecords; + + #endregion Private Fields + + #region Private Properties + + private SelectData currFilter { get; set; } = new SelectData(); + private int currPage { get; set; } = 1; + private int numRecord { get; set; } = 10; + + #endregion Private Properties + + #region Protected Properties + + [Inject] + protected IJSRuntime JSRuntime { get; set; } + + [Inject] + protected MessageService MessageService { get; set; } + + [Inject] + protected NavigationManager NavManager { get; set; } + + [Inject] + protected MpStatsService StatService { get; set; } + + #endregion Protected Properties + + #region Private Methods + + private async Task reloadData() + { + SearchRecords = await StatService.StatTurniOeeGetAll(currFilter.DateStart, currFilter.DateEnd, currFilter.IdxMacchina, currFilter.IdxOdl, currFilter.KeyRichiesta, currFilter.CodArticolo, MessageService.SearchVal); + ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToArray(); + } + + #endregion Private Methods + + #region Protected Methods + + protected async Task DoFilter(SelectData newFilter) + { + currFilter = newFilter; + await reloadData(); + } + + protected async Task ForceReload(int newNum) + { + numRecord = newNum; + await reloadData(); + } + + protected async Task ForceReloadPage(int newNum) + { + currPage = newNum; + await reloadData(); + } + + protected override async Task OnInitializedAsync() + { + numRecord = 10; + MessageService.ShowSearch = true; + MessageService.EA_SearchUpdated += OnSeachUpdated; + await reloadData(); + } + + protected void ResetData() + { + StatService.rollBackEdit(currRecord); + currRecord = null; + } + + protected async Task UpdateData() + { + currRecord = null; + await reloadData(); + } + + #endregion Protected Methods + + #region Public Methods + + public string checkSelect(DateTime DataRif, string Turno, string IdxMacchina) + { + string answ = ""; + if (currRecord != null) + { + try + { + answ = (currRecord.IdxMacchina == IdxMacchina && currRecord.Turno == Turno && currRecord.DataRif == DataRif) ? "table-info" : ""; + } + catch + { } + } + return answ; + } + + public void Dispose() + { + MessageService.EA_SearchUpdated -= OnSeachUpdated; + } + + public void OnSeachUpdated() + { + InvokeAsync(() => + { + UpdateData(); + StateHasChanged(); + }); + } + + #endregion Public Methods + } +} \ No newline at end of file diff --git a/MP.Stats/Shared/NavMenu.razor b/MP.Stats/Shared/NavMenu.razor index 810eb676..ef470f19 100644 --- a/MP.Stats/Shared/NavMenu.razor +++ b/MP.Stats/Shared/NavMenu.razor @@ -7,16 +7,16 @@