refresh oggetti vari
This commit is contained in:
+70
-1
@@ -1,4 +1,5 @@
|
||||
using MongoDB.Driver;
|
||||
using System.Linq;
|
||||
using MongoDB.Driver;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
using NKC_SDK;
|
||||
@@ -62,6 +63,7 @@ namespace AppData
|
||||
public static string redOrders = "NKC:SERV:ORDERS";
|
||||
public static string redOutPath = "NKC:SERV:BREQ";
|
||||
public static string redProdAnsw = "NKC:PROD:BUNKS";
|
||||
public static string redProdMachStateData = "NKC:PROD:MACHSTATE";
|
||||
public static string redProdReq = "NKC:SERV:BUNKS";
|
||||
|
||||
/// <summary>
|
||||
@@ -1784,6 +1786,73 @@ namespace AppData
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce stato amcchina (da Redis)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static List<MachineStatData> prodMachStateDataGet()
|
||||
{
|
||||
List<MachineStatData> answ = new List<MachineStatData>();
|
||||
|
||||
string redVal = memLayer.ML.getRSV(redProdMachStateData);
|
||||
if (!string.IsNullOrEmpty(redVal))
|
||||
{
|
||||
answ = JsonConvert.DeserializeObject<List<MachineStatData>>(redVal);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Salva gli stati macchina ricevuti sul DB e poi salva ultimo su redis
|
||||
/// Do x scontato tutti singola macchina
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static bool prodMachStateDataInsert(MachineStatData updateRecords)
|
||||
{
|
||||
List<MachineStatData> currData = new List<MachineStatData>();
|
||||
// FIXME TODO: salvare TUTTO sul DB !!!
|
||||
|
||||
// leggo stato attuale...
|
||||
string redVal = memLayer.ML.getRSV(redProdMachStateData);
|
||||
if (!string.IsNullOrEmpty(redVal))
|
||||
{
|
||||
currData = JsonConvert.DeserializeObject<List<MachineStatData>>(redVal);
|
||||
|
||||
// certo info x macchina corrente
|
||||
var machRecord = currData.Where(x => x.Machine == updateRecords.Machine).FirstOrDefault();
|
||||
// recupero ultimo stato
|
||||
var lastRecord = updateRecords.Records.OrderByDescending(x => x.DtRecord).ToList();
|
||||
//var lastRecord = newData.Records.OrderByDescending(x => x.DtRecord).Take(1).ToList();
|
||||
|
||||
if (machRecord != null)
|
||||
{
|
||||
machRecord.Records = lastRecord;
|
||||
}
|
||||
// aggiungo
|
||||
else
|
||||
{
|
||||
currData.Add(new MachineStatData() { Machine = updateRecords.Machine, Records = lastRecord });
|
||||
}
|
||||
}
|
||||
|
||||
// serializzo
|
||||
string rawData = JsonConvert.SerializeObject(currData);
|
||||
|
||||
// salvo!
|
||||
bool answ = memLayer.ML.setRSV(redProdMachStateData, rawData);
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset stati macchina registrati
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static bool prodMachStateDataReset()
|
||||
{
|
||||
bool answ = memLayer.ML.setRSV(redProdMachStateData, "", 1);
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Leggo il Takt inviato
|
||||
/// </summary>
|
||||
|
||||
+44
-4
@@ -29,7 +29,7 @@ namespace NKC_SDK
|
||||
{
|
||||
_baseIp = baseIp;
|
||||
_baseUrl = baseUrl;
|
||||
_codPost = codPost;
|
||||
_machine = codPost;
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
@@ -52,7 +52,7 @@ namespace NKC_SDK
|
||||
/// <summary>
|
||||
/// COD macchina x cui si effettua chiamata
|
||||
/// </summary>
|
||||
protected string _codPost { get; set; } = "";
|
||||
protected string _machine { get; set; } = "";
|
||||
|
||||
protected string urlAlive
|
||||
{
|
||||
@@ -82,7 +82,20 @@ namespace NKC_SDK
|
||||
{
|
||||
get
|
||||
{
|
||||
return $"{_baseUrl}api/Sheet/{_codPost}";
|
||||
return $"{_baseUrl}api/Sheet/{_machine}";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// URL x salvataggio dati MachineStat
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected string urlPutMachStat
|
||||
{
|
||||
get
|
||||
{
|
||||
return $"{_baseUrl}api/MachineStat";
|
||||
//return $"{_baseUrl}api/MachineStat/{_machine}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +107,7 @@ namespace NKC_SDK
|
||||
{
|
||||
get
|
||||
{
|
||||
return $"{_baseUrl}api/Sheet/{_codPost}";
|
||||
return $"{_baseUrl}api/Sheet/{_machine}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,6 +336,31 @@ namespace NKC_SDK
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua salvataggio dell'elenco info stati/eventi su NKC
|
||||
/// </summary>
|
||||
/// <param name="updatedInfo"></param>
|
||||
public bool saveMachStatRecords(MachineStatData updatedInfo)
|
||||
{
|
||||
bool answ = false;
|
||||
string rawdata = "";
|
||||
try
|
||||
{
|
||||
// aggiungo macchina nel codice dei fogli...
|
||||
updatedInfo.Machine = _machine;
|
||||
// serializzo oggetto
|
||||
rawdata = JsonConvert.SerializeObject(updatedInfo);
|
||||
// invio con metodo put!
|
||||
putData(urlPutMachStat, rawdata);
|
||||
answ = true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Instance.Error($"Eccezione durante saveMachStatRecords, ricevuto {rawdata}{Environment.NewLine}{exc}");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua salvataggio dell'elenco dei fogli (1..n) su NKC
|
||||
/// </summary>
|
||||
@@ -333,6 +371,8 @@ namespace NKC_SDK
|
||||
string rawdata = "";
|
||||
try
|
||||
{
|
||||
// aggiungo macchina nel codice dei fogli...
|
||||
updatedSheetList.Machine = _machine;
|
||||
// serializzo oggetto
|
||||
rawdata = JsonConvert.SerializeObject(updatedSheetList);
|
||||
// invio con metodo put!
|
||||
|
||||
@@ -233,6 +233,51 @@ namespace NKC_SDK
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
public class MachineStatData
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Codice macchina
|
||||
/// </summary>
|
||||
public string Machine { get; set; } = "WRK000";
|
||||
|
||||
/// <summary>
|
||||
/// record registrati dalla macchina
|
||||
/// </summary>
|
||||
public List<MachineStatRecord> Records { get; set; } = new List<MachineStatRecord>();
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
public class MachineStatRecord
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Codice evento/stato
|
||||
/// 00 = KeepAlive --> imposto dataora/drift
|
||||
/// </summary>
|
||||
public string Code { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// DataOra dell'informazione (clock mittente)
|
||||
/// </summary>
|
||||
public DateTime DtRecord { get; set; } = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// Valore / carico associato all'invio (opzionale)
|
||||
/// </summary>
|
||||
public string Payload { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Codice postazione
|
||||
/// </summary>
|
||||
public string Station { get; set; } = "";
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Definizione classe x materiali
|
||||
/// </summary>
|
||||
@@ -861,6 +906,11 @@ namespace NKC_SDK
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Codice impianto/macchina
|
||||
/// </summary>
|
||||
public string Machine { get; set; } = "WRK000";
|
||||
|
||||
/// <summary>
|
||||
/// Numero di Sheets da lavorare
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user