diff --git a/MP.Data/Controllers/MpStatsController.cs b/MP.Data/Controllers/MpStatsController.cs index 90de21ef..1fdb1f9b 100644 --- a/MP.Data/Controllers/MpStatsController.cs +++ b/MP.Data/Controllers/MpStatsController.cs @@ -135,15 +135,27 @@ namespace MP.Data.Controllers /// /// /// - public List StatDdbGetAll(int numRecord, string searchVal = "") + public List StatDdbGetAll(DateTime DataStart, DateTime DataEnd, string IdxMacchina, int IdxODL, string KeyRichiesta, string CodArticolo) { List dbResult = new List(); + //dbResult = dbCtx + // . + // .Where(x => x.Descrizione.Contains(searchVal) || x.IdxMacchina.Contains(searchVal) || x.CodArticolo.Contains(searchVal) || x.KeyRichiesta.Contains(searchVal) || string.IsNullOrEmpty(searchVal)) + // .OrderByDescending(x => x.InizioStato) + // .Take(numRecord) + // .ToList(); + + var dataFrom = new SqlParameter("@dataFrom", DataStart); + var dataTo = new SqlParameter("@dataTo", DataEnd); + var idxMacchina = new SqlParameter("@idxMacchina", IdxMacchina); + var idxODL = new SqlParameter("@IdxODL", IdxODL); + var keyRichiesta = new SqlParameter("@KeyRichiesta", KeyRichiesta); + var codArticolo = new SqlParameter("@CodArticolo", CodArticolo); + dbResult = dbCtx .DbSetDdbTurni - .Where(x => x.Descrizione.Contains(searchVal) || x.IdxMacchina.Contains(searchVal) || x.CodArticolo.Contains(searchVal) || x.KeyRichiesta.Contains(searchVal) || string.IsNullOrEmpty(searchVal)) - .OrderByDescending(x => x.InizioStato) - .Take(numRecord) + .FromSqlRaw("EXEC stp_UI_DDBTurni_GetByFilter @dataFrom,@dataTo,@idxMacchina,@IdxODL,@KeyRichiesta,@CodArticolo", dataFrom, dataTo, idxMacchina, idxODL, keyRichiesta, codArticolo) .ToList(); return dbResult; diff --git a/MP.Stats/Data/MpStatsService.cs b/MP.Stats/Data/MpStatsService.cs index 4b2a9352..7455e85d 100644 --- a/MP.Stats/Data/MpStatsService.cs +++ b/MP.Stats/Data/MpStatsService.cs @@ -112,9 +112,26 @@ namespace MP.Stats.Data return Task.FromResult(dbController.StatControlliGetAll(DataStart, DataEnd, IdxMacchina, IdxODL, KeyRichiesta, CodArticolo).ToArray()); } - public Task StatDdbGetAll(int numRecord, string searchVal = "") + public async Task> StatDdbGetAll(SelectData CurrFilter, string searchVal = "") { - return Task.FromResult(dbController.StatDdbGetAll(numRecord, searchVal).ToArray()); + //return Task.FromResult(dbController.StatDdbGetAll(numRecord, searchVal).ToArray()); + List dbResult = new List(); + string cacheKey = getCacheKey("MP:STATS:DDBT", CurrFilter); + string rawData; + var redisDataList = await distributedCache.GetAsync(cacheKey); + if (redisDataList != null) + { + rawData = Encoding.UTF8.GetString(redisDataList); + dbResult = JsonConvert.DeserializeObject>(rawData); + } + else + { + dbResult = dbController.StatDdbGetAll(CurrFilter.DateStart, CurrFilter.DateEnd, CurrFilter.IdxMacchina, CurrFilter.IdxOdl, CurrFilter.KeyRichiesta, CurrFilter.CodArticolo); + rawData = JsonConvert.SerializeObject(dbResult); + redisDataList = Encoding.UTF8.GetBytes(rawData); + await distributedCache.SetAsync(cacheKey, redisDataList, cacheOpt); + } + return await Task.FromResult(dbResult); } public Task StatMacchineGetAll() diff --git a/MP.Stats/Pages/Diario.razor b/MP.Stats/Pages/Diario.razor index b9769c30..94f8c0ef 100644 --- a/MP.Stats/Pages/Diario.razor +++ b/MP.Stats/Pages/Diario.razor @@ -1,7 +1,6 @@ @page "/diario" @using MP.Stats.Components -@using MP.Stats.Data
@@ -12,40 +11,38 @@
- @if (currRecord != null) +
+
+ +
+
+ @if (totalCount == 0 || ListRecords == null || ListRecords.Count() == 0) { - @**@ - } - @if (ListRecords == null) - { -
+ } else { -
-
- -
-
- - - - @**@ - - - - - - - - @**@ - - - - @foreach (var record in ListRecords) +
+
+ +
+
+
MacchinaDataODL/CommessaArticoloStatoDurataPezziOperatore
+ + + + + + + + + + + + + @foreach (var record in ListRecords) { - @**@ } - -
MacchinaDataODL/CommessaArticoloStatoDurataPezzi
 
@record.CodMacchina
@record.IdxMacchina
@@ -61,13 +58,13 @@
@record.TotPzProd
-
-
+ + +
+ } \ No newline at end of file diff --git a/MP.Stats/Pages/Diario.razor.cs b/MP.Stats/Pages/Diario.razor.cs index e94b882d..69ea6466 100644 --- a/MP.Stats/Pages/Diario.razor.cs +++ b/MP.Stats/Pages/Diario.razor.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; using MP.Stats.Data; using System; +using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -13,9 +14,8 @@ namespace MP.Stats.Pages private MP.Data.DatabaseModels.DdbTurni currRecord = null; - private MP.Data.DatabaseModels.DdbTurni[] ListRecords; - - private MP.Data.DatabaseModels.DdbTurni[] SearchRecords; + private List ListRecords; + private List SearchRecords; #endregion Private Fields @@ -41,16 +41,28 @@ namespace MP.Stats.Pages [Inject] protected MpStatsService StatService { get; set; } + protected int totalCount + { + get + { + int answ = 0; + if (SearchRecords != null) + { + answ = SearchRecords.Count; + } + return answ; + } + } + #endregion Protected Properties #region Private Methods private async Task reloadData() { - // fare VERO filtro periodo - SearchRecords = await StatService.StatDdbGetAll(200, MessageService.SearchVal); - // SearchRecords = await StatService.StatDdbGetAll(currFilter.DateStart, currFilter.DateEnd, currFilter.IdxMacchina, currFilter.IdxOdl, currFilter.KeyRichiesta, currFilter.CodArticolo, MessageService.SearchVal); - ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToArray(); + // SearchRecords = await StatService.StatDdbGetAll(200, MessageService.SearchVal); + SearchRecords = await StatService.StatDdbGetAll(currFilter, MessageService.SearchVal); + ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); } #endregion Private Methods @@ -59,6 +71,8 @@ namespace MP.Stats.Pages protected async Task DoFilter(SelectData newFilter) { + SearchRecords = null; + ListRecords = null; currFilter = newFilter; await reloadData(); } @@ -78,6 +92,7 @@ namespace MP.Stats.Pages protected override async Task OnInitializedAsync() { numRecord = 10; + currFilter = SelectData.Init(5, 7); MessageService.ShowSearch = false; MessageService.EA_SearchUpdated += OnSeachUpdated; await reloadData();