diff --git a/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj b/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj
index 9bf44fa..8dd4e5f 100644
--- a/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj
+++ b/MP.MONO.ANALYZER/MP.MONO.ANALYZER.csproj
@@ -6,7 +6,7 @@
enable
enable
AnyCPU;x86;x64
- 1.12206.1915
+ 1.12206.1919
diff --git a/MP.MONO.ANALYZER/Resources/ChangeLog.html b/MP.MONO.ANALYZER/Resources/ChangeLog.html
index d6423c2..def8c6f 100644
--- a/MP.MONO.ANALYZER/Resources/ChangeLog.html
+++ b/MP.MONO.ANALYZER/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
MAPO-MONO
- Version: 1.12206.1915
+ Version: 1.12206.1919
Release Note:
-
diff --git a/MP.MONO.ANALYZER/Resources/VersNum.txt b/MP.MONO.ANALYZER/Resources/VersNum.txt
index caadd27..53ad82b 100644
--- a/MP.MONO.ANALYZER/Resources/VersNum.txt
+++ b/MP.MONO.ANALYZER/Resources/VersNum.txt
@@ -1 +1 @@
-1.12206.1915
+1.12206.1919
diff --git a/MP.MONO.ANALYZER/Resources/manifest.xml b/MP.MONO.ANALYZER/Resources/manifest.xml
index 0c6f551..49e74fc 100644
--- a/MP.MONO.ANALYZER/Resources/manifest.xml
+++ b/MP.MONO.ANALYZER/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 1.12206.1915
+ 1.12206.1919
http://nexus.steamware.net/repository/SWS/MP.MONO.ANALYZER/stable/LAST/MP.Mon.zip
http://nexus.steamware.net/repository/SWS/MP.MONO.ANALYZER/stable/LAST/ChangeLog.html
false
diff --git a/MP.MONO.Core/Constants.cs b/MP.MONO.Core/Constants.cs
index 773f2ca..21180a6 100644
--- a/MP.MONO.Core/Constants.cs
+++ b/MP.MONO.Core/Constants.cs
@@ -22,6 +22,7 @@ namespace MP.MONO.Core
// Configurazioni
public static readonly string ACTLOG_CONF_KEY = $"{BASE_HASH}:Conf:ActLog";
public static readonly string ALARMS_CONF_KEY = $"{BASE_HASH}:Conf:Alarms";
+ public static readonly string ALARMS_LREC_KEY = $"{BASE_HASH}:Conf:AlarmsListRec";
public static readonly string ALARMS_MODE_KEY = $"{BASE_HASH}:Conf:AlarmMode";
public static readonly string MODE_CONF_KEY = $"{BASE_HASH}:Conf:Mode";
public static readonly string PARAMS_CONF_KEY = $"{BASE_HASH}:Conf:Params";
diff --git a/MP.MONO.DECODER/MP.MONO.DECODER.csproj b/MP.MONO.DECODER/MP.MONO.DECODER.csproj
index 6d4bbda..798f066 100644
--- a/MP.MONO.DECODER/MP.MONO.DECODER.csproj
+++ b/MP.MONO.DECODER/MP.MONO.DECODER.csproj
@@ -6,7 +6,7 @@
enable
enable
AnyCPU;x86;x64
- 1.12206.1915
+ 1.12206.1919
diff --git a/MP.MONO.DECODER/Program.cs b/MP.MONO.DECODER/Program.cs
index f226205..5fd1843 100644
--- a/MP.MONO.DECODER/Program.cs
+++ b/MP.MONO.DECODER/Program.cs
@@ -10,6 +10,7 @@ using Newtonsoft.Json;
using NLog;
using NLua;
using StackExchange.Redis;
+using static MP.MONO.Core.Enums;
// See https://aka.ms/new-console-template for more information
@@ -69,7 +70,11 @@ ConnectionMultiplexer redisConn = ConnectionMultiplexer.Connect(config.GetConnec
IDatabase? redisDb = redisConn.GetDatabase();
// preparo oggetti da configurare
-List? alarmsConf = new List();
+AlarmReportingMode alarmMode = AlarmReportingMode.ND;
+List? alarmsBankBitConf = new List();
+List? alarmsRawConf = new List();
+List? activeAlarmList = new List();
+List? alarmsRecorded = new List();
List? machineModeConf = new List();
List? machineStatusConf = new List();
// gestione configurazioni da redis
@@ -126,13 +131,30 @@ void setupConf()
machineModeConf = JsonConvert.DeserializeObject
>(rawData);
}
- // allarmi, versione base...
+ // allarmi..
+ rawData = redisDb.StringGet(Constants.ALARMS_MODE_KEY);
+ alarmMode = JsonConvert.DeserializeObject(rawData);
+ // elenco allarmi già registrati (cache DB)
+ rawData = redisDb.StringGet(Constants.ALARMS_LREC_KEY);
+ if (!string.IsNullOrEmpty(rawData))
+ {
+ alarmsRecorded = JsonConvert.DeserializeObject>(rawData);
+ }
+ // ora la conf specifica
rawData = redisDb.StringGet(Constants.ALARMS_CONF_KEY);
if (!string.IsNullOrEmpty(rawData))
{
- alarmsConf = JsonConvert.DeserializeObject>(rawData);
+ if (alarmMode == AlarmReportingMode.RawList)
+ {
+ alarmsRawConf = JsonConvert.DeserializeObject>(rawData);
+ }
+ else
+ {
+ alarmsBankBitConf = JsonConvert.DeserializeObject>(rawData);
+ }
}
}
+
///
/// Gestione evento ricezione messaggi allarmi secondo tipologia attiva...
///
@@ -143,83 +165,213 @@ void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e)
if (!string.IsNullOrEmpty(currArgs.newMessage))
{
DateTime adesso = DateTime.Now;
- try
+ if (alarmMode == AlarmReportingMode.RawList)
{
- // verifico codici allarmi ricevuti
- var alarmList = JsonConvert.DeserializeObject>(currArgs.newMessage);
- if (alarmList != null)
+ try
{
- // variabili accessorie
- List activeAlarmList = new List();
+ // decodifico allarmi ricevuti
+ var alarmList = JsonConvert.DeserializeObject>(currArgs.newMessage);
+ List alarmRecList = new List();
List alarmLogList = new List();
- // rileggo da REDIS la conf attuale allarmi da area ALARMS_SETT_KEY, altrimenti uso quella letta inizialmente da conf base
- List? currAlarmsConf = new List();
- string rawData = redisDb.StringGet(Constants.ALARMS_SETT_KEY);
+ // rileggo da REDIS la conf attuale allarmi attivi da area ALARM_CURR_KEY
+ List? lastAlarms = new List();
+ string rawData = redisDb.StringGet(Constants.ALARM_CURR_KEY);
// se trovati uso questi...
if (!string.IsNullOrEmpty(rawData))
{
- currAlarmsConf = JsonConvert.DeserializeObject>(rawData);
+ lastAlarms = JsonConvert.DeserializeObject>(rawData);
}
- // altrimenti uso quelli di default inizialmente letti
+ // altrimenti parto da vuoto
else
{
- currAlarmsConf = alarmsConf;
+ lastAlarms = new List();
}
- if (currAlarmsConf != null)
+ // ciclo x ogni allarme ricevuto x vedere se sia INIZIATO
+ if (alarmList != null)
{
- // ciclo x ogni bank di allarmi configurato
- foreach (var alarmData in currAlarmsConf)
+ // ciclo x ogni allarme attivo x verificare se si sia CHIUSO
+ foreach (var newAlarm in alarmList)
{
- // recupero valore allarme
- var bankVal = alarmList.FirstOrDefault(x => x.Key == alarmData.memAddr);
- uint actVal = !string.IsNullOrEmpty(bankVal.Key) ? bankVal.Value : 0;
- // valutare se dividere in 2 da 16... FIXME TODO
- var bankAlarmList = AlarmsManager.processData(alarmData.memAddr, alarmData.messages, alarmData.silenceMask[0], alarmData.disableMask[0], alarmData.alarmsState[0], ref actVal);
- // salvo nuovo valore in oggetto...
- if (alarmData.alarmsState[0] != actVal)
+ if (!lastAlarms.Contains(newAlarm))
{
- alarmData.alarmsState[0] = actVal;
- // aggiungo...
- activeAlarmList.AddRange(bankAlarmList);
-
- AlarmLogModel newAlarm = new AlarmLogModel()
+ // cerco l'allarme nell'elenco degli allarmi dal DB
+ var foundAlarm = alarmsRecorded
+ .Where(x => x.FullValue == newAlarm)
+ .FirstOrDefault();
+ // se non lo trovo --> chiamo procedura che verifica su DB, eventualmente inserisce, restituisce nuovo elenco
+ if (foundAlarm == null)
{
- MachineId = MachineId,
- DtRif = adesso,
- MemAddress = bankVal.Key,
- Index = alarmData != null ? alarmData.index : 0,
- Status = alarmData != null ? (uint)bankVal.Value & alarmData.silenceMask[0] & alarmData.disableMask[0] : (uint)bankVal.Value,
- ValDecoded = bankAlarmList.Count > 0 ? string.Join(", ", bankAlarmList) : "All OK"
- };
- alarmLogList.Add(newAlarm);
+ // salvo sul DB
+ foundAlarm = dbController.AlarmListInsert(newAlarm);
+ }
+ if (foundAlarm != null)
+ {
+ // ora rileggo ed aggiorno redis e cerco di nuovo record...
+ alarmsRecorded = dbController.AlarmListGetAll();
+ redisDb.StringSet(Constants.ALARMS_LREC_KEY, JsonConvert.SerializeObject(alarmsRecorded));
+
+ // segno come iniziato...
+ AlarmRecModel newAlarmRec = new AlarmRecModel()
+ {
+ MachineId = MachineId,
+ DtStart = adesso,
+ DtEnd = adesso,
+ AlarmId = foundAlarm.AlarmId
+ };
+ alarmRecList.Add(newAlarmRec);
+ }
}
}
+
}
- // salvo status aggiornato allarme...
- redisDb.StringSet(Constants.ALARMS_SETT_KEY, JsonConvert.SerializeObject(currAlarmsConf));
+
+ // processo elenco allarmi già presenti
+ if (lastAlarms != null)
+ {
+ // ciclo x ogni allarme attivo x verificare se si sia CHIUSO
+ foreach (var oldData in lastAlarms)
+ {
+ var trovato = alarmList.Contains(oldData);
+ if (!trovato)
+ {
+ // se non lo trovo
+ var foundAlarm = alarmsRecorded
+ .Where(x => x.FullValue == oldData)
+ .FirstOrDefault();
+ if (foundAlarm != null)
+ {
+ // salvo sul DB
+ _ = dbController.AlarmRecCloseActive(foundAlarm.AlarmId);
+ }
+ }
+
+ }
+
+ }
+
+ // verifico se devo scrivere
+ bool wALog = lastAlarms.Count != alarmList.Count;
+ if (!wALog)
+ {
+ // verifico se ci siano differenze...
+ wALog = alarmList.Union(lastAlarms).Count() != lastAlarms.Count;
+ }
+
+ // salvo se c'è stata variazione...
+ if (wALog)
+ {
+ // preparo dati x alarmLog
+ AlarmLogModel newAlarmLog = new AlarmLogModel()
+ {
+ MachineId = MachineId,
+ DtRif = adesso,
+ MemAddress = "ND",
+ Index = 0,
+ Status = (uint)alarmList.Count,
+ ValDecoded = alarmList.Count > 0 ? string.Join(", ", alarmList) : "All OK"
+ };
+ alarmLogList.Add(newAlarmLog);
+ }
// serializzo l'elenco allarmi...
string serAlarms = "[]";
- serAlarms = JsonConvert.SerializeObject(activeAlarmList);
+ serAlarms = JsonConvert.SerializeObject(alarmList);
// invio sulla message pipeline corretta TUTTI gli allarmi serializzati
alarmsPipe.saveAndSendMessage(Constants.ALARM_CURR_KEY, serAlarms);
- // verifico NON ci sia veto di scrittura... 60 sec...
- if (adesso.Subtract(lastExecAlarms).TotalSeconds > 60)
+
+ // salvo sul DB
+ _ = dbController.AlarmRecInsertMany(alarmRecList).Result;
+ _ = dbController.AlarmLogInsertMany(alarmLogList).Result;
+
+ // salvo nuovo elenco allarmi
+ lastAlarms = alarmList;
+
+ }
+ catch
+ { }
+ }
+ else
+ {
+ try
+ {
+ // verifico codici allarmi ricevuti
+ var alarmList = JsonConvert.DeserializeObject>(currArgs.newMessage);
+ if (alarmList != null)
{
- lastExecAlarms = adesso;
- if (dbController != null)
+ // variabili accessorie
+ List activeAlarmList = new List();
+ List alarmLogList = new List();
+
+ // rileggo da REDIS la conf attuale allarmi da area ALARMS_SETT_KEY, altrimenti uso quella letta inizialmente da conf base
+ List? currAlarmsBankConf = new List();
+ string rawData = redisDb.StringGet(Constants.ALARMS_SETT_KEY);
+ // se trovati uso questi...
+ if (!string.IsNullOrEmpty(rawData))
{
- // salvo sul DB
- _ = dbController.AlarmLogInsertMany(alarmLogList).Result;
+ currAlarmsBankConf = JsonConvert.DeserializeObject>(rawData);
+ }
+ // altrimenti uso quelli di default inizialmente letti
+ else
+ {
+ currAlarmsBankConf = alarmsBankBitConf;
+ }
+ if (currAlarmsBankConf != null)
+ {
+ // ciclo x ogni bank di allarmi configurato
+ foreach (var alarmData in currAlarmsBankConf)
+ {
+ // recupero valore allarme
+ var bankVal = alarmList.FirstOrDefault(x => x.Key == alarmData.memAddr);
+ uint actVal = !string.IsNullOrEmpty(bankVal.Key) ? bankVal.Value : 0;
+ // valutare se dividere in 2 da 16... FIXME TODO
+ var bankAlarmList = AlarmsManager.processData(alarmData.memAddr, alarmData.messages, alarmData.silenceMask[0], alarmData.disableMask[0], alarmData.alarmsState[0], ref actVal);
+ // salvo nuovo valore in oggetto...
+ if (alarmData.alarmsState[0] != actVal)
+ {
+ alarmData.alarmsState[0] = actVal;
+ // aggiungo...
+ activeAlarmList.AddRange(bankAlarmList);
+
+ AlarmLogModel newAlarmLog = new AlarmLogModel()
+ {
+ MachineId = MachineId,
+ DtRif = adesso,
+ MemAddress = bankVal.Key,
+ Index = alarmData != null ? alarmData.index : 0,
+ Status = alarmData != null ? (uint)bankVal.Value & alarmData.silenceMask[0] & alarmData.disableMask[0] : (uint)bankVal.Value,
+ ValDecoded = bankAlarmList.Count > 0 ? string.Join(", ", bankAlarmList) : "All OK"
+ };
+ alarmLogList.Add(newAlarmLog);
+ }
+ }
+ }
+
+ // salvo status aggiornato allarme...
+ redisDb.StringSet(Constants.ALARMS_SETT_KEY, JsonConvert.SerializeObject(currAlarmsBankConf));
+
+ // serializzo l'elenco allarmi...
+ string serAlarms = "[]";
+ serAlarms = JsonConvert.SerializeObject(activeAlarmList);
+ // invio sulla message pipeline corretta TUTTI gli allarmi serializzati
+ alarmsPipe.saveAndSendMessage(Constants.ALARM_CURR_KEY, serAlarms);
+ // verifico NON ci sia veto di scrittura... 60 sec...
+ if (adesso.Subtract(lastExecAlarms).TotalSeconds > 60)
+ {
+ lastExecAlarms = adesso;
+ if (dbController != null)
+ {
+ // salvo sul DB
+ _ = dbController.AlarmLogInsertMany(alarmLogList).Result;
+ }
}
}
}
- }
- catch (Exception exc)
- {
- Log.Error($"Eccezione in AlarmsValPipe_EA_NewMessage:{Environment.NewLine}{exc}");
+ catch (Exception exc)
+ {
+ Log.Error($"Eccezione in AlarmsValPipe_EA_NewMessage, mode {alarmMode}:{Environment.NewLine}{exc}");
+ }
}
}
}
diff --git a/MP.MONO.DECODER/Resources/ChangeLog.html b/MP.MONO.DECODER/Resources/ChangeLog.html
index d6423c2..def8c6f 100644
--- a/MP.MONO.DECODER/Resources/ChangeLog.html
+++ b/MP.MONO.DECODER/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
MAPO-MONO
- Version: 1.12206.1915
+ Version: 1.12206.1919
Release Note:
-
diff --git a/MP.MONO.DECODER/Resources/VersNum.txt b/MP.MONO.DECODER/Resources/VersNum.txt
index caadd27..53ad82b 100644
--- a/MP.MONO.DECODER/Resources/VersNum.txt
+++ b/MP.MONO.DECODER/Resources/VersNum.txt
@@ -1 +1 @@
-1.12206.1915
+1.12206.1919
diff --git a/MP.MONO.DECODER/Resources/manifest.xml b/MP.MONO.DECODER/Resources/manifest.xml
index fd68c08..273a228 100644
--- a/MP.MONO.DECODER/Resources/manifest.xml
+++ b/MP.MONO.DECODER/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 1.12206.1915
+ 1.12206.1919
http://nexus.steamware.net/repository/SWS/MP.MONO.DECODER/stable/LAST/MP.Mon.zip
http://nexus.steamware.net/repository/SWS/MP.MONO.DECODER/stable/LAST/ChangeLog.html
false
diff --git a/MP.MONO.Data/Controllers/MpDbController.cs b/MP.MONO.Data/Controllers/MpDbController.cs
index 80faf64..db6b3ab 100644
--- a/MP.MONO.Data/Controllers/MpDbController.cs
+++ b/MP.MONO.Data/Controllers/MpDbController.cs
@@ -74,7 +74,7 @@ namespace MP.MONO.Data.Controllers
}
///
- /// Inserimento di un record AlarmLog
+ /// Inserimento di una lista record AlarmLog
///
/// Lista Record da inserire (senza ID...)
///
@@ -99,6 +99,214 @@ namespace MP.MONO.Data.Controllers
return fatto;
}
+ ///
+ /// Elenco records anagrafica allarmi
+ ///
+ ///
+ public List AlarmListGetAll()
+ {
+ List? dbResult = new List();
+ using (MapoMonoContext localDbCtx = new MapoMonoContext())
+ {
+ try
+ {
+ dbResult = localDbCtx
+ .DbSetAlarmList
+ .OrderBy(x => x.FullValue)
+ .ToList();
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"Eccezione durante AlarmListGetAll{Environment.NewLine}{exc}");
+ }
+ }
+ return dbResult;
+ }
+
+ ///
+ /// Inserimento di un record anagrafica allarmi (o se esiste restituisce quello esistente)
+ ///
+ /// Record da inserire (senza ID...)
+ ///
+ public AlarmListModel? AlarmListInsert(string alarmText)
+ {
+ AlarmListModel? foundRec = new AlarmListModel();
+ using (MapoMonoContext localDbCtx = new MapoMonoContext())
+ {
+ try
+ {
+ // verifico che NON esista con pèari descrizione...
+ foundRec = localDbCtx
+ .DbSetAlarmList
+ .FirstOrDefault(x => x.FullValue == alarmText);
+ // se non c'è aggiungo
+ if (foundRec == null)
+ {
+ foundRec = new AlarmListModel()
+ {
+ FullValue = alarmText
+ };
+ localDbCtx
+ .DbSetAlarmList
+ .Add(foundRec);
+ localDbCtx.SaveChanges();
+ // rifaccio search
+ foundRec = localDbCtx
+ .DbSetAlarmList
+ .FirstOrDefault(x => x.FullValue == alarmText);
+ }
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"Eccezione durante AlarmListInsert{Environment.NewLine}{exc}");
+ }
+ }
+ return foundRec;
+ }
+
+ ///
+ /// Inserimento di una lista record anagrafica allarmi
+ ///
+ /// Lista Record da inserire (senza ID...)
+ ///
+ public async Task AlarmListInsertMany(List newItems)
+ {
+ bool fatto = false;
+ using (MapoMonoContext localDbCtx = new MapoMonoContext())
+ {
+ try
+ {
+ await localDbCtx
+ .DbSetAlarmList
+ .AddRangeAsync(newItems);
+ await localDbCtx.SaveChangesAsync();
+ fatto = true;
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"Eccezione durante AlarmListInsertMany{Environment.NewLine}{exc}");
+ }
+ }
+ return fatto;
+ }
+
+
+ ///
+ /// Recupero elenco allarmi Rec (ultimi dato "skip")
+ ///
+ ///
+ ///
+ ///
+ ///
+ public List AlarmRecGetFilt(int MachineId, int skipRec, int numRec)
+ {
+ List dbResult = new List();
+ using (MapoMonoContext localDbCtx = new MapoMonoContext())
+ {
+ try
+ {
+ dbResult = localDbCtx
+ .DbSetAlarmRec
+ .Where(x => x.MachineId == MachineId)
+ .Include(m => m.MachineNav)
+ .Include(m => m.AlarmListNav)
+ .OrderByDescending(x => x.DtStart)
+ .Skip(skipRec)
+ .Take(numRec)
+ .ToList();
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"Eccezione durante AlarmRecGetFilt{Environment.NewLine}{exc}");
+ }
+ }
+ return dbResult;
+ }
+
+ ///
+ /// Inserimento di un record AlarmRec
+ ///
+ /// Record da inserire (senza ID...)
+ ///
+ public async Task AlarmRecInsert(AlarmRecModel newItem)
+ {
+ bool fatto = false;
+ using (MapoMonoContext localDbCtx = new MapoMonoContext())
+ {
+ try
+ {
+ localDbCtx
+ .DbSetAlarmRec
+ .Add(newItem);
+ await localDbCtx.SaveChangesAsync();
+ fatto = true;
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"Eccezione durante AlarmRecInsert{Environment.NewLine}{exc}");
+ }
+ }
+ return fatto;
+ }
+
+ ///
+ /// Chiude ultimo record dato Id (se fossero + di 1 chiude tutti...)
+ ///
+ /// Id Allarme
+ ///
+ public async Task AlarmRecCloseActive(int AlarmId)
+ {
+ bool fatto = false;
+ using (MapoMonoContext localDbCtx = new MapoMonoContext())
+ {
+ try
+ {
+ DateTime adesso = DateTime.Now;
+ var candList = localDbCtx
+ .DbSetAlarmRec
+ .Where(x => x.AlarmId==AlarmId)
+ .ToList();
+ foreach (var item in candList)
+ {
+ item.DtEnd = adesso;
+ }
+ await localDbCtx.SaveChangesAsync();
+ fatto = true;
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"Eccezione durante AlarmRecCloseActive{Environment.NewLine}{exc}");
+ }
+ }
+ return fatto;
+ }
+
+ ///
+ /// Inserimento di una lista record AlarmRec
+ ///
+ /// Lista Record da inserire (senza ID...)
+ ///
+ public async Task AlarmRecInsertMany(List newItems)
+ {
+ bool fatto = false;
+ using (MapoMonoContext localDbCtx = new MapoMonoContext())
+ {
+ try
+ {
+ await localDbCtx
+ .DbSetAlarmRec
+ .AddRangeAsync(newItems);
+ await localDbCtx.SaveChangesAsync();
+ fatto = true;
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"Eccezione durante AlarmRecInsertMany{Environment.NewLine}{exc}");
+ }
+ }
+ return fatto;
+ }
+
///
/// Recupero record DataLog data condizione filtro
///
diff --git a/MP.MONO.SIM/MP.MONO.SIM.csproj b/MP.MONO.SIM/MP.MONO.SIM.csproj
index ccd39b6..f6f3af0 100644
--- a/MP.MONO.SIM/MP.MONO.SIM.csproj
+++ b/MP.MONO.SIM/MP.MONO.SIM.csproj
@@ -6,7 +6,7 @@
enable
enable
AnyCPU;x86;x64
- 1.12206.1916
+ 1.12206.1919
diff --git a/MP.MONO.SIM/Program.cs b/MP.MONO.SIM/Program.cs
index 3abab40..3e97038 100644
--- a/MP.MONO.SIM/Program.cs
+++ b/MP.MONO.SIM/Program.cs
@@ -113,12 +113,10 @@ void setupConf()
ConfigManager configManager = new ConfigManager(redisConf, confPath);
if (alarmMode == AlarmReportingMode.RawList)
{
- //redisDb.StringSetAsync(Constants.ALARMS_MODE_KEY, "RawList");
alarmsRawConf = configManager.getAlarmsRawConf();
}
else
{
- //redisDb.StringSetAsync(Constants.ALARMS_MODE_KEY, "BankBit");
alarmsBankBitConf = configManager.getAlarmsBankConf();
}
machineModeConf = configManager.getMachineModeConf();
diff --git a/MP.MONO.SIM/Resources/ChangeLog.html b/MP.MONO.SIM/Resources/ChangeLog.html
index d11cd35..def8c6f 100644
--- a/MP.MONO.SIM/Resources/ChangeLog.html
+++ b/MP.MONO.SIM/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
MAPO-MONO
-
Version: 1.12206.1916
+ Version: 1.12206.1919
Release Note:
-
diff --git a/MP.MONO.SIM/Resources/VersNum.txt b/MP.MONO.SIM/Resources/VersNum.txt
index f428b29..53ad82b 100644
--- a/MP.MONO.SIM/Resources/VersNum.txt
+++ b/MP.MONO.SIM/Resources/VersNum.txt
@@ -1 +1 @@
-1.12206.1916
+1.12206.1919
diff --git a/MP.MONO.SIM/Resources/manifest.xml b/MP.MONO.SIM/Resources/manifest.xml
index 01a8934..52052c8 100644
--- a/MP.MONO.SIM/Resources/manifest.xml
+++ b/MP.MONO.SIM/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 1.12206.1916
+ 1.12206.1919
http://nexus.steamware.net/repository/SWS/MP.MONO.SIM/stable/LAST/MP.Mon.zip
http://nexus.steamware.net/repository/SWS/MP.MONO.SIM/stable/LAST/ChangeLog.html
false
diff --git a/MP.MONO.UI/Data/CurrentDataService.cs b/MP.MONO.UI/Data/CurrentDataService.cs
index a2bf9be..44f9f23 100644
--- a/MP.MONO.UI/Data/CurrentDataService.cs
+++ b/MP.MONO.UI/Data/CurrentDataService.cs
@@ -95,11 +95,59 @@ namespace MP.MONO.UI.Data
#region Public Methods
+
+ ///
+ /// Elenco records anagrafica allarmi
+ ///
+ ///
+ public async Task
> AlarmListGetAll()
+ {
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ var dbResult = dbController.AlarmListGetAll();
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Trace($"Effettuata lettura da DB AlarmListGetAll: {ts.TotalMilliseconds} ms");
+ return await Task.FromResult(dbResult);
+ }
+
+ ///
+ /// Inserisce nuovo record in anagrafica allarmi dato testo (o restituisce se esistente)
+ ///
+ ///
+ public async Task AlarmListInsert(string AlarmText)
+ {
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ var dbResult = dbController.AlarmListInsert(AlarmText);
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Trace($"Effettuata lettura da DB AlarmListInsert: {ts.TotalMilliseconds} ms");
+ return await Task.FromResult(dbResult);
+ }
+
+
+ ///
+ /// Chiude ultimo record dato Id (se fossero + di 1 chiude tutti...)
+ ///
+ /// Id Allarme
+ ///
+ public async Task AlarmRecCloseActive(int AlarmId)
+ {
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ var dbResult = await dbController.AlarmRecCloseActive(AlarmId);
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Trace($"Effettuata lettura da DB AlarmRecCloseActive: {ts.TotalMilliseconds} ms");
+ return await Task.FromResult(dbResult);
+ }
+
public async Task> AlarmLogGetFilt(int machineId, int skipRec, int numRec)
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
- List? dbResult = dbController.AlarmLogGetFilt(machineId, skipRec, numRec);
+ var dbResult = dbController.AlarmLogGetFilt(machineId, skipRec, numRec);
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Log.Trace($"Effettuata lettura da DB AlarmLogGetFilt: {ts.TotalMilliseconds} ms");
@@ -110,7 +158,7 @@ namespace MP.MONO.UI.Data
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
- List? dbResult = dbController.DataLogGetFilt(machineId, fluxType, inizio, fine);
+ var dbResult = dbController.DataLogGetFilt(machineId, fluxType, inizio, fine);
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Log.Trace($"Effettuata lettura da DB ParamLogGetFilt: {ts.TotalMilliseconds} ms");
diff --git a/MP.MONO.UI/MP.MONO.UI.csproj b/MP.MONO.UI/MP.MONO.UI.csproj
index 2b956e2..e6b23b5 100644
--- a/MP.MONO.UI/MP.MONO.UI.csproj
+++ b/MP.MONO.UI/MP.MONO.UI.csproj
@@ -5,7 +5,7 @@
enable
enable
AnyCPU;x86;x64
- 1.12206.1915
+ 1.12206.1919
diff --git a/MP.MONO.UI/Resources/ChangeLog.html b/MP.MONO.UI/Resources/ChangeLog.html
index d6423c2..def8c6f 100644
--- a/MP.MONO.UI/Resources/ChangeLog.html
+++ b/MP.MONO.UI/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
MAPO-MONO
- Version: 1.12206.1915
+ Version: 1.12206.1919
Release Note:
-
diff --git a/MP.MONO.UI/Resources/VersNum.txt b/MP.MONO.UI/Resources/VersNum.txt
index caadd27..53ad82b 100644
--- a/MP.MONO.UI/Resources/VersNum.txt
+++ b/MP.MONO.UI/Resources/VersNum.txt
@@ -1 +1 @@
-1.12206.1915
+1.12206.1919
diff --git a/MP.MONO.UI/Resources/manifest.xml b/MP.MONO.UI/Resources/manifest.xml
index 2352807..833f528 100644
--- a/MP.MONO.UI/Resources/manifest.xml
+++ b/MP.MONO.UI/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 1.12206.1915
+ 1.12206.1919
http://nexus.steamware.net/repository/SWS/MP.MONO.UI/stable/LAST/MP.Mon.zip
http://nexus.steamware.net/repository/SWS/MP.MONO.UI/stable/LAST/ChangeLog.html
false