From 2b9f6bae40edcf3dd264da9c8a9479f86d84aa90 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 11 Mar 2026 07:43:04 +0100 Subject: [PATCH] Update salvataggio parametri --- MP-IO/Controllers/IOBController.cs | 33 +++++++++++++++++++++--------- MapoSDK/Objects.cs | 4 ++-- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/MP-IO/Controllers/IOBController.cs b/MP-IO/Controllers/IOBController.cs index 3720c348..977e5aa8 100644 --- a/MP-IO/Controllers/IOBController.cs +++ b/MP-IO/Controllers/IOBController.cs @@ -212,7 +212,7 @@ namespace MP_IO.Controllers // salvo risposta! answ = DataLayerObj.insEnab(id) ? "OK" : "NO"; #endif - answ= DataLayerMan.insEnab(id) ? "OK" : "NO"; + answ = DataLayerMan.insEnab(id) ? "OK" : "NO"; // 2025.03.04 aggiunto keepalive x evitare C101 MapoDb.MapoDb connDb = new MapoDb.MapoDb(); connDb.scriviKeepAlive(id, DateTime.Now); @@ -2730,6 +2730,7 @@ namespace MP_IO.Controllers answ = "NO"; } // leggo parametri correnti... + DateTime adesso= DateTime.Now; try { List currParams = DataLayerObj.getCurrObjItems(id); @@ -2745,15 +2746,25 @@ namespace MP_IO.Controllers { // aggiorno valore e data trovato.value = item.valore; - trovato.lastRead = DateTime.Now; - // se fosse un valore WRITE e mi ha dato un valore vuoto --> mando - // un fix x riscrittura - if (trovato.writable && string.IsNullOrEmpty(item.valore)) + trovato.lastRead = adesso; + trovato.lastMessage = item.valore; + // se fosse un valore WRITE + if (trovato.writable) { - logger.lg.scriviLog($"flogJson | verifica parametri | {trovato.uid} | reqVal: {trovato.reqValue}"); - taskType currTask = (taskType)Enum.Parse(typeof(taskType), trovato.uid); - DataLayerObj.addCheckTask4Machine(id, currTask, item.valore); + // ...e mi ha dato un valore vuoto --> mando un fix x riscrittura + if (string.IsNullOrEmpty(item.valore)) + { + logger.lg.scriviLog($"flogJson | verifica parametri | {trovato.uid} | reqVal: {trovato.reqValue}"); + taskType currTask = (taskType)Enum.Parse(typeof(taskType), trovato.uid); + DataLayerObj.addCheckTask4Machine(id, currTask, item.valore); + } } + else + { + // richiesto 10 sec prima... + trovato.lastRequest= adesso.AddSeconds(-10); + } + } // altrimenti AGGIUNGO (READ ONLY)... else @@ -2763,7 +2774,8 @@ namespace MP_IO.Controllers uid = item.flux, name = item.flux, value = item.valore, - lastRead = DateTime.Now, + lastRead = adesso, + lastRequest = adesso.AddSeconds(-10), writable = false }; } @@ -2772,10 +2784,11 @@ namespace MP_IO.Controllers } // faccio upsert innovations! DataLayerObj.upsertCurrObjItems(id, innovazioni); + logger.lg.scriviLog($"processFLogJson | {id} | Updated {innovazioni.Count} par"); } catch (Exception exc) { - logger.lg.scriviLog($"Errore in fase salvataggio innovazioni parametri correnti da flogJson{Environment.NewLine}{exc}"); + logger.lg.scriviLog($"Errore in fase salvataggio innovazioni parametri correnti da flogJson{Environment.NewLine}{exc}", tipoLog.EXCEPTION); answ = "NO"; } } diff --git a/MapoSDK/Objects.cs b/MapoSDK/Objects.cs index 519e188e..acc9c619 100644 --- a/MapoSDK/Objects.cs +++ b/MapoSDK/Objects.cs @@ -389,12 +389,12 @@ namespace MapoSDK /// /// DataOra ultima lettura /// - public DateTime lastRead { get; set; } = DateTime.Now.AddHours(-1); + public DateTime lastRead { get; set; } = DateTime.Now.AddMinutes(-5); /// /// DataOra ultima richiesta scrittura /// - public DateTime lastRequest { get; set; } = DateTime.Now.AddDays(-1); + public DateTime lastRequest { get; set; } = DateTime.Now.AddMinutes(-5); /// /// NOME item