From 5625848734c28459a7da17da183b5f002f72ebc7 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 6 Oct 2023 18:33:38 +0200 Subject: [PATCH] Fix eventi VSEB x fermate --- MP-TAB-SERV/Components/ProdConfirm.razor.cs | 4 +- MP-TAB-SERV/MP-TAB-SERV.csproj | 2 +- MP-TAB-SERV/Pages/ProdStop.razor.cs | 2 +- MP-TAB-SERV/Resources/ChangeLog.html | 2 +- MP-TAB-SERV/Resources/VersNum.txt | 2 +- MP-TAB-SERV/Resources/manifest.xml | 2 +- MP-TAB-SERV/_Imports.razor | 1 + MP.Data/Controllers/MpTabController.cs | 228 +++++++++--------- MP.Data/DatabaseModels/AnagEventiModel.cs | 6 +- .../DatabaseModels/vSelEventiBCodeModel.cs | 20 ++ MP.Data/MoonProContext.cs | 11 + MP.Data/Services/ListSelectDataSrv.cs | 11 +- MP.Data/Services/MessageService.cs | 7 +- MP.Data/Services/OrderDataSrv.cs | 3 +- MP.Data/Services/StatusData.cs | 4 +- MP.Data/Services/TabDataService.cs | 50 ++-- 16 files changed, 202 insertions(+), 153 deletions(-) create mode 100644 MP.Data/DatabaseModels/vSelEventiBCodeModel.cs diff --git a/MP-TAB-SERV/Components/ProdConfirm.razor.cs b/MP-TAB-SERV/Components/ProdConfirm.razor.cs index a6212e51..53ad75fb 100644 --- a/MP-TAB-SERV/Components/ProdConfirm.razor.cs +++ b/MP-TAB-SERV/Components/ProdConfirm.razor.cs @@ -197,11 +197,11 @@ namespace MP_TAB_SERV.Components protected async Task SetMacc(string selIdxMacc) { isProcessing = true; - await Task.Delay(100); + await Task.Delay(10); IdxMaccSel = selIdxMacc; await doUpdate(); isProcessing = false; - await Task.Delay(100); + await Task.Delay(10); } /// diff --git a/MP-TAB-SERV/MP-TAB-SERV.csproj b/MP-TAB-SERV/MP-TAB-SERV.csproj index aa2be04f..9bea2e83 100644 --- a/MP-TAB-SERV/MP-TAB-SERV.csproj +++ b/MP-TAB-SERV/MP-TAB-SERV.csproj @@ -3,7 +3,7 @@ net6.0 enable - 6.16.2310.617 + 6.16.2310.618 enable MP_TAB_SERV diff --git a/MP-TAB-SERV/Pages/ProdStop.razor.cs b/MP-TAB-SERV/Pages/ProdStop.razor.cs index 395ef8b9..07cbdaaf 100644 --- a/MP-TAB-SERV/Pages/ProdStop.razor.cs +++ b/MP-TAB-SERV/Pages/ProdStop.razor.cs @@ -154,7 +154,7 @@ namespace MP_TAB_SERV.Pages protected MappaStatoExpl? CurrMSE { get; set; } = null; protected string IdxMacc { get; set; } = ""; - protected List events2show { get; set; } = new List(); + protected List events2show { get; set; } = new List(); [Inject] protected MessageService MsgServ { get; set; } = null!; diff --git a/MP-TAB-SERV/Resources/ChangeLog.html b/MP-TAB-SERV/Resources/ChangeLog.html index 82600be5..7b5f8b42 100644 --- a/MP-TAB-SERV/Resources/ChangeLog.html +++ b/MP-TAB-SERV/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo MAPOSPEC -

Versione: 6.16.2310.617

+

Versione: 6.16.2310.618


Note di rilascio:
  • diff --git a/MP-TAB-SERV/Resources/VersNum.txt b/MP-TAB-SERV/Resources/VersNum.txt index 82ae98ad..0967f47a 100644 --- a/MP-TAB-SERV/Resources/VersNum.txt +++ b/MP-TAB-SERV/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2310.617 +6.16.2310.618 diff --git a/MP-TAB-SERV/Resources/manifest.xml b/MP-TAB-SERV/Resources/manifest.xml index f7f365d1..4a921950 100644 --- a/MP-TAB-SERV/Resources/manifest.xml +++ b/MP-TAB-SERV/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2310.617 + 6.16.2310.618 https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/MP-TAB-SERV.zip https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/ChangeLog.html false diff --git a/MP-TAB-SERV/_Imports.razor b/MP-TAB-SERV/_Imports.razor index 4f6c42c9..1d557bbf 100644 --- a/MP-TAB-SERV/_Imports.razor +++ b/MP-TAB-SERV/_Imports.razor @@ -13,4 +13,5 @@ @using MP.Data.DatabaseModels @using MP.Data.DTO @using MP.Data.Services +@using Newtonsoft.Json @using NLog diff --git a/MP.Data/Controllers/MpTabController.cs b/MP.Data/Controllers/MpTabController.cs index c1c50278..53663798 100644 --- a/MP.Data/Controllers/MpTabController.cs +++ b/MP.Data/Controllers/MpTabController.cs @@ -46,15 +46,15 @@ namespace MP.Data.Controllers /// Restituisce l'anagrafica EVENTI per intero ///
/// - public List AnagEventiGetByMacc(string IdxMac) + public List AnagEventiGetByMacc(string IdxMac) { - List dbResult = new List(); + List dbResult = new List(); using (var dbCtx = new MoonProContext(_configuration)) { var IdxMacch = new SqlParameter("@idxMacchina", IdxMac); dbResult = dbCtx - .DbSetAnagEventi + .DbSetVSEB .FromSqlRaw("exec dbo.stp_vseb_getByIdxMacchinaFull @idxMacchina", IdxMacch) .AsNoTracking() .AsEnumerable() @@ -80,6 +80,90 @@ namespace MP.Data.Controllers return dbResult; } + /// + /// Verifica se sia necessario inserire un cambio di stato impianto in modalità batch + /// + /// + /// + /// + /// + /// + /// + /// + /// + public void CheckCambiaStatoBatch(tipoInputEvento tipoInput, string IdxMacchina, DateTime InizioStato, int IdxTipo, string CodArt, string Value, int MatrOpr, string pallet) + { + List tabTransStati = new List(); + TransizioneStatiModel rigaTransStati = new TransizioneStatiModel(); + switch (tipoInput) + { + case tipoInputEvento.barcode: + // effettuo cambio stato INDIPENDENTEMENTE da stato precedente + try + { + tabTransStati = SMES_getUserForced(IdxMacchina, IdxTipo); + if (tabTransStati != null) + { + if (tabTransStati.Count > 0) + { + rigaTransStati = tabTransStati.FirstOrDefault(); + // solo se cambia stato... + if (rigaTransStati.IdxStato != rigaTransStati.next_IdxStato) + { + DDB_InsStatoBatch(IdxMacchina, InizioStato, rigaTransStati.next_IdxStato, CodArt, Value, MatrOpr, pallet); + // aggiorno MSE + RicalcMse(IdxMacchina, 0); + } + } + else + { + Log.Debug($"Non trovata riga per: BARCODE | IdxMacchina: {IdxMacchina} | IdxTipo: {IdxTipo} | CodArt: {CodArt} | Value: {Value} | MatrOpr: {MatrOpr} | pallet: {pallet}"); + } + } + } + catch (Exception exc) + { + // non dovrebbe succedere... input utente da barcode dovrebbero TUTTI essere + // inseriti in tab transizione con famiglia 1... + Log.Error($"Eccezione controllo transizione stato x evento barcode: BARCODE | IdxMacchina: {IdxMacchina} | IdxTipo: {IdxTipo} | CodArt: {CodArt} | Value: {Value} | MatrOpr: {MatrOpr} | pallet: {pallet}{Environment.NewLine}{exc}"); + } + break; + + case tipoInputEvento.hw: + // verifico se ci sia necessità di cambio stato + try + { + tabTransStati = SMES_getHwTransitions(IdxMacchina, IdxTipo); + if (tabTransStati != null) + { + if (tabTransStati.Count > 0) + { + //rigaTransStati = tabTransStati[0]; + rigaTransStati = tabTransStati.FirstOrDefault(); + if (rigaTransStati != null) + { + // solo se cambia stato... + if (rigaTransStati.IdxStato != rigaTransStati.next_IdxStato) + { + DDB_InsStatoBatch(IdxMacchina, InizioStato, rigaTransStati.next_IdxStato, CodArt, Value, MatrOpr, pallet); + } + } + } + else + { + Log.Debug($"Non trovata riga per: HW | IdxMacchina: {IdxMacchina} | IdxTipo: {IdxTipo} | CodArt: {CodArt} | Value: {Value} | MatrOpr: {MatrOpr} | pallet: {pallet}"); + } + } + } + catch (Exception exc) + { + // non trovo riga [0]... NON scrivo! + Log.Error($"Errore controllo transizione stato x evento barcode: HW | IdxMacchina: {IdxMacchina} | IdxTipo: {IdxTipo} | CodArt: {CodArt} | Value: {Value} | MatrOpr: {MatrOpr} | pallet: {pallet}{Environment.NewLine}{exc}"); + } + break; + } + } + /// /// Effettua conferma prod macchina dell'intero periodo da confermare (ultima conferma /// --> dtEvent) @@ -190,6 +274,29 @@ namespace MP.Data.Controllers return dbResult; } + public bool DDB_InsStatoBatch(string idxMacchina, DateTime inizioStato, int idxStato, string codArt, string value, int matrOpr, string pallet) + { + bool fatto = false; + using (var dbCtx = new MoonProContext(_configuration)) + { + var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina); + var InizioStato = new SqlParameter("@InizioStato", inizioStato); + var IdxStato = new SqlParameter("@IdxStato", idxStato); + var CodArticolo = new SqlParameter("@CodArticolo", codArt); + var Value = new SqlParameter("@Value", value); + var MatrOpr = new SqlParameter("@MatrOpr", matrOpr); + var Pallet = new SqlParameter("@pallet", pallet); + + var result = dbCtx + .Database + .ExecuteSqlRaw("exec dbo.stp_DDB_InsStatoBatch @IdxMacchina, @InizioStato, @IdxStato, @CodArticolo, @Value, @MatrOpr, @pallet", IdxMacchina, InizioStato, IdxStato, CodArticolo, Value, MatrOpr, Pallet); + + // indico eseguito! + fatto = result > 0; + } + return fatto; + } + public void Dispose() { _configuration = null; @@ -365,7 +472,7 @@ namespace MP.Data.Controllers /// /// /// - public List SMES_getUserForced(string idxMacchina, int idxTipo) + public List SMES_getHwTransitions(string idxMacchina, int idxTipo) { List dbResult = new List(); using (var dbCtx = new MoonProContext(_configuration)) @@ -374,7 +481,7 @@ namespace MP.Data.Controllers var IdxTipo = new SqlParameter("@IdxTipo", idxTipo); dbResult = dbCtx .DbSetSMES - .FromSqlRaw("exec dbo.stp_TS_getUserForcedTrans @IdxMacchina, @IdxTipo", IdxMacchina, IdxTipo) + .FromSqlRaw("exec dbo.stp_TS_getByIdxMacchIdxTipoEv @IdxMacchina, @IdxTipo", IdxMacchina, IdxTipo) .AsNoTracking() .AsEnumerable() .ToList(); @@ -387,7 +494,7 @@ namespace MP.Data.Controllers /// /// /// - public List SMES_getHwTransitions(string idxMacchina, int idxTipo) + public List SMES_getUserForced(string idxMacchina, int idxTipo) { List dbResult = new List(); using (var dbCtx = new MoonProContext(_configuration)) @@ -396,7 +503,7 @@ namespace MP.Data.Controllers var IdxTipo = new SqlParameter("@IdxTipo", idxTipo); dbResult = dbCtx .DbSetSMES - .FromSqlRaw("exec dbo.stp_TS_getByIdxMacchIdxTipoEv @IdxMacchina, @IdxTipo", IdxMacchina, IdxTipo) + .FromSqlRaw("exec dbo.stp_TS_getUserForcedTrans @IdxMacchina, @IdxTipo", IdxMacchina, IdxTipo) .AsNoTracking() .AsEnumerable() .ToList(); @@ -521,113 +628,6 @@ namespace MP.Data.Controllers #endregion Public Methods - public bool DDB_InsStatoBatch(string idxMacchina, DateTime inizioStato, int idxStato, string codArt, string value, int matrOpr, string pallet) - { - bool fatto = false; - using (var dbCtx = new MoonProContext(_configuration)) - { - var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina); - var InizioStato = new SqlParameter("@InizioStato", inizioStato); - var IdxStato = new SqlParameter("@IdxStato", idxStato); - var CodArticolo = new SqlParameter("@CodArticolo", codArt); - var Value = new SqlParameter("@Value", value); - var MatrOpr = new SqlParameter("@MatrOpr", matrOpr); - var Pallet = new SqlParameter("@pallet", pallet); - - var result = dbCtx - .Database - .ExecuteSqlRaw("exec dbo.stp_DDB_InsStatoBatch @IdxMacchina, @InizioStato, @IdxStato, @CodArticolo, @Value, @MatrOpr, @pallet", IdxMacchina, InizioStato, IdxStato, CodArticolo, Value, MatrOpr, Pallet); - - // indico eseguito! - fatto = result > 0; - } - return fatto; - } - - /// - /// Verifica se sia necessario inserire un cambio di stato impianto in modalità batch - /// - /// - /// - /// - /// - /// - /// - /// - /// - public void CheckCambiaStatoBatch(tipoInputEvento tipoInput, string IdxMacchina, DateTime InizioStato, int IdxTipo, string CodArt, string Value, int MatrOpr, string pallet) - { - List tabTransStati = new List(); - TransizioneStatiModel rigaTransStati = new TransizioneStatiModel(); - switch (tipoInput) - { - case tipoInputEvento.barcode: - // effettuo cambio stato INDIPENDENTEMENTE da stato precedente - try - { - tabTransStati = SMES_getUserForced(IdxMacchina, IdxTipo); - if (tabTransStati != null) - { - if (tabTransStati.Count > 0) - { - rigaTransStati = tabTransStati.FirstOrDefault(); - // solo se cambia stato... - if (rigaTransStati.IdxStato != rigaTransStati.next_IdxStato) - { - DDB_InsStatoBatch(IdxMacchina, InizioStato, rigaTransStati.next_IdxStato, CodArt, Value, MatrOpr, pallet); - // aggiorno MSE - RicalcMse(IdxMacchina, 0); - } - } - else - { - Log.Debug($"Non trovata riga per: BARCODE | IdxMacchina: {IdxMacchina} | IdxTipo: {IdxTipo} | CodArt: {CodArt} | Value: {Value} | MatrOpr: {MatrOpr} | pallet: {pallet}"); - } - } - } - catch (Exception exc) - { - // non dovrebbe succedere... input utente da barcode dovrebbero TUTTI essere - // inseriti in tab transizione con famiglia 1... - Log.Error($"Eccezione controllo transizione stato x evento barcode: BARCODE | IdxMacchina: {IdxMacchina} | IdxTipo: {IdxTipo} | CodArt: {CodArt} | Value: {Value} | MatrOpr: {MatrOpr} | pallet: {pallet}{Environment.NewLine}{exc}"); - } - break; - - case tipoInputEvento.hw: - // verifico se ci sia necessità di cambio stato - try - { - tabTransStati = SMES_getHwTransitions(IdxMacchina, IdxTipo); - if (tabTransStati != null) - { - if (tabTransStati.Count > 0) - { - //rigaTransStati = tabTransStati[0]; - rigaTransStati = tabTransStati.FirstOrDefault(); - if (rigaTransStati != null) - { - // solo se cambia stato... - if (rigaTransStati.IdxStato != rigaTransStati.next_IdxStato) - { - DDB_InsStatoBatch(IdxMacchina, InizioStato, rigaTransStati.next_IdxStato, CodArt, Value, MatrOpr, pallet); - } - } - } - else - { - Log.Debug($"Non trovata riga per: HW | IdxMacchina: {IdxMacchina} | IdxTipo: {IdxTipo} | CodArt: {CodArt} | Value: {Value} | MatrOpr: {MatrOpr} | pallet: {pallet}"); - } - } - } - catch (Exception exc) - { - // non trovo riga [0]... NON scrivo! - Log.Error($"Errore controllo transizione stato x evento barcode: HW | IdxMacchina: {IdxMacchina} | IdxTipo: {IdxTipo} | CodArt: {CodArt} | Value: {Value} | MatrOpr: {MatrOpr} | pallet: {pallet}{Environment.NewLine}{exc}"); - } - break; - } - } - #region Private Fields private static IConfiguration _configuration; diff --git a/MP.Data/DatabaseModels/AnagEventiModel.cs b/MP.Data/DatabaseModels/AnagEventiModel.cs index b197394a..99c04d3e 100644 --- a/MP.Data/DatabaseModels/AnagEventiModel.cs +++ b/MP.Data/DatabaseModels/AnagEventiModel.cs @@ -13,8 +13,12 @@ namespace MP.Data.DatabaseModels { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int IdxTipo { get; set; } = 0; - public string Label { get; set; } = ""; + public string Nome { get; set; } = ""; + public string TabAzione { get; set; } = ""; + public string Azione { get; set; } = ""; + public string KeyEvento { get; set; } = ""; public bool EventoTablet { get; set; } = true; + public string NoteEvento { get; set; } = ""; public string CssClass { get; set; } = ""; public string Icon { get; set; } = ""; } diff --git a/MP.Data/DatabaseModels/vSelEventiBCodeModel.cs b/MP.Data/DatabaseModels/vSelEventiBCodeModel.cs new file mode 100644 index 00000000..caa0b4d9 --- /dev/null +++ b/MP.Data/DatabaseModels/vSelEventiBCodeModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MP.Data.DatabaseModels +{ + public class vSelEventiBCodeModel + { + [Key] + public int IdxTipo { get; set; } = 0; + public string Label { get; set; } = ""; + public bool EventoTablet { get; set; } = true; + public string CssClass { get; set; } = ""; + public string Icon { get; set; } = ""; + } +} diff --git a/MP.Data/MoonProContext.cs b/MP.Data/MoonProContext.cs index e75729c7..57cb2254 100644 --- a/MP.Data/MoonProContext.cs +++ b/MP.Data/MoonProContext.cs @@ -79,6 +79,9 @@ namespace MP.Data public virtual DbSet DbSetStTemplateRows { get; set; } + public virtual DbSet DbSetVSEB { get; set; } + + #endregion Public Properties @@ -518,6 +521,14 @@ namespace MP.Data }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.IdxTipo); + + entity.ToView("v_selEventiBCode"); + }); + OnModelCreatingPartial(modelBuilder); } diff --git a/MP.Data/Services/ListSelectDataSrv.cs b/MP.Data/Services/ListSelectDataSrv.cs index fffbbc44..f36731ef 100644 --- a/MP.Data/Services/ListSelectDataSrv.cs +++ b/MP.Data/Services/ListSelectDataSrv.cs @@ -71,7 +71,7 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:Art:{azienda}:{searchVal}:{numRecord}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; @@ -139,7 +139,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:Menu:{tipoLink}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; @@ -172,7 +173,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:Menu:ALL"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; @@ -207,7 +209,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:Macc:{MatrOpr}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; diff --git a/MP.Data/Services/MessageService.cs b/MP.Data/Services/MessageService.cs index a7040975..2be64df9 100644 --- a/MP.Data/Services/MessageService.cs +++ b/MP.Data/Services/MessageService.cs @@ -1,10 +1,10 @@ using Blazored.LocalStorage; using Blazored.SessionStorage; using MP.Data.DatabaseModels; +using Newtonsoft.Json; using NLog; using System; using System.Collections.Generic; -using System.Text.Json; using System.Threading.Tasks; namespace MP.Data.Services @@ -180,11 +180,10 @@ namespace MP.Data.Services public async Task GetMachineMse(string idxMacchina) { MappaStatoExpl answ = new MappaStatoExpl(); - //answ = await localStorage.GetItemAsync(machineMse(idxMacchina)); string tryString = await localStorage.GetItemAsync(machineMse(idxMacchina)); if (tryString != "") { - answ = JsonSerializer.Deserialize(tryString); + answ = JsonConvert.DeserializeObject(tryString); } return answ; } @@ -331,7 +330,7 @@ namespace MP.Data.Services { foreach (var item in currListMSE) { - string serVal = JsonSerializer.Serialize(item); + string serVal = JsonConvert.SerializeObject(item); await localStorage.SetItemAsync(machineMse(item.IdxMacchina), serVal); } } diff --git a/MP.Data/Services/OrderDataSrv.cs b/MP.Data/Services/OrderDataSrv.cs index 38e98b81..711f28cd 100644 --- a/MP.Data/Services/OrderDataSrv.cs +++ b/MP.Data/Services/OrderDataSrv.cs @@ -76,7 +76,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:ODL:{IdxMacchina}:{CodArt}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; diff --git a/MP.Data/Services/StatusData.cs b/MP.Data/Services/StatusData.cs index 4ae03574..30696304 100644 --- a/MP.Data/Services/StatusData.cs +++ b/MP.Data/Services/StatusData.cs @@ -110,8 +110,8 @@ namespace MP.Data.Services stopWatch.Start(); List? result = new List(); // cerco in redis... - RedisValue rawData = await redisDb.StringGetAsync(redisMseKey); - if (!string.IsNullOrEmpty($"{rawData}")) + RedisValue rawData = redisDb.StringGet(redisMseKey); + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); stopWatch.Stop(); diff --git a/MP.Data/Services/TabDataService.cs b/MP.Data/Services/TabDataService.cs index 468e5ac2..44fb1d96 100644 --- a/MP.Data/Services/TabDataService.cs +++ b/MP.Data/Services/TabDataService.cs @@ -75,8 +75,6 @@ namespace MP.Data.Services public async Task> AnagEventiGetAll() { // setup parametri costanti - DateTime startDate = new DateTime(2000, 1, 1); - DateTime endDate = DateTime.Today.AddDays(1); string source = "DB"; Stopwatch sw = new Stopwatch(); sw.Start(); @@ -84,7 +82,7 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:AnagEventi:ALL"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; @@ -109,7 +107,7 @@ namespace MP.Data.Services /// Elenco EVENTI validi x macchina /// /// - public async Task> AnagEventiGetByMacch(string IdxMacch) + public async Task> AnagEventiGetByMacch(string IdxMacch) { // setup parametri costanti DateTime startDate = new DateTime(2000, 1, 1); @@ -117,13 +115,14 @@ namespace MP.Data.Services string source = "DB"; Stopwatch sw = new Stopwatch(); sw.Start(); - List? result = new List(); + List? result = new List(); // cerco in redis... - string currKey = $"{redisBaseKey}:AnagEventi:{IdxMacch}"; + string currKey = $"{redisBaseKey}:VSEB:{IdxMacch}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { - result = JsonConvert.DeserializeObject>($"{rawData}"); + result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; } else @@ -135,7 +134,7 @@ namespace MP.Data.Services } if (result == null) { - result = new List(); + result = new List(); } sw.Stop(); Log.Debug($"AnagEventiGetByMacch | {source} | {sw.Elapsed.TotalMilliseconds}ms"); @@ -158,7 +157,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:AnagStati"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; @@ -231,7 +231,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:Conf"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; @@ -258,8 +259,9 @@ namespace MP.Data.Services dbTabController.Dispose(); dbIocController.Dispose(); } + /// - /// Recupero info IOB x TAB (da info registrate IOB-WIN--> MP-IO) + /// Recupero info IOB x TAB (da info registrate IOB-WIN--> MP-IO) /// /// /// @@ -272,7 +274,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = redHash($"hM2IOB:{IdxMacchina}"); RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject($"{rawData}"); source = "REDIS"; @@ -487,7 +490,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:START:{codGruppo}:{idxODL}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; @@ -525,7 +529,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:START:{codGruppo}:{label}:{idxODL}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; @@ -561,7 +566,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:StatoMacc:{idxMacchina}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject($"{rawData}"); source = "REDIS"; @@ -598,7 +604,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:StatoProd:{idxMacchina}:{dtReq:HHmmss}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject($"{rawData}"); source = "REDIS"; @@ -633,7 +640,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:MSFD:ALL"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; @@ -669,7 +677,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:MSFD:MACCH:{idxMacc}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS"; @@ -705,7 +714,8 @@ namespace MP.Data.Services // cerco in redis... string currKey = $"{redisBaseKey}:MSFD:MULTI:{idxMacc}"; RedisValue rawData = await redisDb.StringGetAsync(currKey); - if (!string.IsNullOrEmpty($"{rawData}")) + //if (!string.IsNullOrEmpty($"{rawData}")) + if (rawData.HasValue) { result = JsonConvert.DeserializeObject>($"{rawData}"); source = "REDIS";