diff --git a/MP.Data/Controllers/MpSpecController.cs b/MP.Data/Controllers/MpSpecController.cs index aba8b789..f31a1c6a 100644 --- a/MP.Data/Controllers/MpSpecController.cs +++ b/MP.Data/Controllers/MpSpecController.cs @@ -6,6 +6,7 @@ using NLog; using System; using System.Collections.Generic; using System.Linq; +using System.Security.Cryptography.X509Certificates; using System.Threading.Tasks; namespace MP.Data.Controllers @@ -325,7 +326,7 @@ namespace MP.Data.Controllers dbResult = dbCtx .DbSetDossiers .AsNoTracking() - .Where(x => (IdxMacchina == "*" || x.IdxMacchina == IdxMacchina) && (CodArticolo == "*" || x.OdlNav.CodArticolo== CodArticolo) && x.DtRif <= DtRef) + .Where(x => (IdxMacchina == "*" || x.IdxMacchina == IdxMacchina) && (CodArticolo == "*" || x.OdlNav.CodArticolo == CodArticolo) && x.DtRif <= DtRef) .Include(m => m.MachineNav) .Include(o => o.OdlNav) .Include(a => a.OdlNav.ArticoloNav) @@ -436,19 +437,21 @@ namespace MP.Data.Controllers /// Stato ODL: true=in corso/completato /// Cod articolo /// KeyRich (parziale) da cercare (es cod stato x yacht) + /// Data inizio + /// Data fine /// - public List ListODLFilt(bool inCorso, string codArt, string keyRichPart) + public List ListODLFilt(bool inCorso, string codArt, string keyRichPart, DateTime startDate, DateTime endDate) { List dbResult = new List(); using (var dbCtx = new MoonProContext(_configuration)) { dbResult = dbCtx .DbSetODL - .Where(x => ((inCorso && x.DataFine == null) || (!inCorso && x.DataFine != null)) && (x.KeyRichiesta.Contains(keyRichPart) || keyRichPart == "*") && (codArt == "*" || x.CodArticolo.Contains(codArt))) + .Where(x => ((inCorso && x.DataFine == null) || ((!inCorso && x.DataFine != null) && x.DataInizio >= startDate && x.DataInizio <= endDate)) && (x.KeyRichiesta.Contains(keyRichPart) || keyRichPart == "*") && (codArt == "*" || x.CodArticolo.Contains(codArt))) .AsNoTracking() .Include(m => m.MachineNav) .Include(a => a.ArticoloNav) - .OrderBy(x => x.IdxOdl) + .OrderByDescending(x => x.IdxOdl) .ToList(); } return dbResult; diff --git a/MP.SPEC/Components/ListODL.razor.cs b/MP.SPEC/Components/ListODL.razor.cs index 504e0154..96f1fb8b 100644 --- a/MP.SPEC/Components/ListODL.razor.cs +++ b/MP.SPEC/Components/ListODL.razor.cs @@ -10,20 +10,10 @@ namespace MP.SPEC.Components #region Public Properties [Parameter] - public EventCallback PagerResetReq { get; set; } + public SelectOdlParams currFilter { get; set; } = null!; [Parameter] - public string StatoSel - { - get => _statoSel; - set - { - if (_statoSel != value) - { - _statoSel = value; - } - } - } + public EventCallback PagerResetReq { get; set; } [Parameter] public EventCallback updateRecordCount { get; set; } @@ -46,8 +36,6 @@ namespace MP.SPEC.Components } return answ; } - [Parameter] - public bool inCorso { get; set; } = true; public void Dispose() { @@ -57,6 +45,7 @@ namespace MP.SPEC.Components #endregion Public Methods + #region Protected Properties [Inject] @@ -75,8 +64,10 @@ namespace MP.SPEC.Components protected override async Task OnInitializedAsync() { ListStati = await MDService.AnagStatiComm(); +#if false MessageService.EA_PageUpdated += MessageService_EA_PageUpdated; - MessageService.EA_SearchUpdated += OnSeachUpdated; + MessageService.EA_SearchUpdated += OnSeachUpdated; +#endif } protected override async Task OnParametersSetAsync() @@ -105,7 +96,6 @@ namespace MP.SPEC.Components #region Private Fields - private string _statoSel = "*"; private ODLModel? currRecord = null; private List? ListRecords; private List? ListStati; @@ -129,11 +119,6 @@ namespace MP.SPEC.Components set => MessageService.numRecord = value; } - private string SearchVal - { - get => string.IsNullOrEmpty(MessageService.SearchVal) ? "*" : MessageService.SearchVal; - } - private int totalCount { get; set; } = 0; #endregion Private Properties @@ -148,7 +133,7 @@ namespace MP.SPEC.Components private async Task reloadData() { isLoading = true; - SearchRecords = await MDService.ListODLFilt(inCorso, SearchVal, StatoSel); + SearchRecords = await MDService.ListODLFilt(currFilter.IsActive, currFilter.SearchVal, currFilter.CodStato, currFilter.DtStart, currFilter.DtEnd); totalCount = SearchRecords.Count; ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); await Task.Delay(1); diff --git a/MP.SPEC/Data/MpDataService.cs b/MP.SPEC/Data/MpDataService.cs index c42b520e..6415690f 100644 --- a/MP.SPEC/Data/MpDataService.cs +++ b/MP.SPEC/Data/MpDataService.cs @@ -473,9 +473,9 @@ namespace MP.SPEC.Data /// Cod articolo /// KeyRich (parziale) da cercare (es cod stato x yacht) /// - public async Task> ListODLFilt(bool inCorso, string codArt, string keyRichPart) + public async Task> ListODLFilt(bool inCorso, string codArt, string keyRichPart, DateTime startDate, DateTime endDate) { - return await Task.FromResult(dbController.ListODLFilt(inCorso, codArt, keyRichPart)); + return await Task.FromResult(dbController.ListODLFilt(inCorso, codArt, keyRichPart, startDate, endDate)); } /// diff --git a/MP.SPEC/Data/SelectOdlParams.cs b/MP.SPEC/Data/SelectOdlParams.cs index 8533639e..c2e9de0f 100644 --- a/MP.SPEC/Data/SelectOdlParams.cs +++ b/MP.SPEC/Data/SelectOdlParams.cs @@ -15,11 +15,12 @@ namespace MP.SPEC.Data public string CodStato { get; set; } = "*"; public int CurrPage { get; set; } = 1; - + public int NumRec { get; set; } = 10; public DateTime DtEnd { get; set; } = Utils.InitDatetime(DateTime.Now, 5); - public DateTime DtStart { get; set; } = Utils.InitDatetime(DateTime.Now.AddDays(-7), 5); + public DateTime DtStart { get; set; } = Utils.InitDatetime(DateTime.Now, 5).AddDays(-7); public int MaxRecord { get; set; } = 100; - public bool ShowClosed { get; set; } = false; + public bool IsActive { get; set; } = true; + public string SearchVal { get; set; } = "*"; #endregion Public Properties @@ -30,7 +31,7 @@ namespace MP.SPEC.Data if (!(obj is SelectOdlParams item)) return false; - if (ShowClosed != item.ShowClosed) + if (IsActive != item.IsActive) return false; if (CodStato != item.CodStato) @@ -39,6 +40,9 @@ namespace MP.SPEC.Data if (MaxRecord != item.MaxRecord) return false; + if (NumRec != item.NumRec) + return false; + if (DtStart != item.DtStart) return false; @@ -48,6 +52,9 @@ namespace MP.SPEC.Data if (CurrPage != item.CurrPage) return false; + if (SearchVal != item.SearchVal) + return false; + return true; } diff --git a/MP.SPEC/Pages/ODL.razor b/MP.SPEC/Pages/ODL.razor index 82290fd4..c2c5eef2 100644 --- a/MP.SPEC/Pages/ODL.razor +++ b/MP.SPEC/Pages/ODL.razor @@ -9,7 +9,12 @@

ODL

- + @**@ + Completati + + + + In Corso
@@ -31,7 +36,7 @@
- +