Aggiutni metodi x salvare valori opzionali (es contatori da IOB-WIN)

This commit is contained in:
Samuele E. Locatelli
2019-03-27 18:26:41 +01:00
parent 8d72f0a49b
commit bcdb7b2d20
3 changed files with 154 additions and 3 deletions
Vendored
+1 -1
View File
@@ -18,7 +18,7 @@ pipeline {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=1186']) {
withEnv(['NEXT_BUILD_NUMBER=1188']) {
// env.versionNumber = VersionNumber(versionNumberString : '6.6.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '6.6.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'MAPO'
+71 -1
View File
@@ -253,7 +253,6 @@ namespace MP_IO.Controllers
/// </summary>
/// <param name="id"></param>
/// <param name="taskName"></param>
/// <param name="taskVal"></param>
public string remTask2Exe(string id, string taskName)
{
string answ = "";
@@ -270,6 +269,77 @@ namespace MP_IO.Controllers
return answ;
}
/// <summary>
/// Recupera TASK richiesto x macchina:
///
/// GET: IOB/getOptPar/SIMUL_03
///
/// </summary>
/// <param name="id"></param>
/// <returns>jSon contenente 1..n task da eseguire</returns>
public string getOptPar(string id)
{
string answ = "";
// scrivo keep alive!!! (se necessario, altrimenti è in cache...)
MapoDb.MapoDb connDb = new MapoDb.MapoDb();
connDb.scriviKeepAlive(id, DateTime.Now);
try
{
// leggo da REDIS eventuale elenco task x macchina...
Dictionary<string, string> valori = DataLayer.mOptParMacchina(id);
answ = JsonConvert.SerializeObject(valori);
}
catch
{ }
return answ;
}
/// <summary>
/// SALVA x macchina KVP parametro/valore:
///
/// GET: IOB/addOptPar/SIMUL_03?pName=PZREQ&pValue=1000
///
/// </summary>
/// <param name="id"></param>
/// <param name="pName"></param>
/// <param name="pValue"></param>
public string addOptPar(string id, string pName, string pValue)
{
string answ = "";
// scrivo keep alive!!! (se necessario, altrimenti è in cache...)
MapoDb.MapoDb connDb = new MapoDb.MapoDb();
connDb.scriviKeepAlive(id, DateTime.Now);
try
{
DataLayer.addOptPar4Machine(id, pName, pValue);
answ = getOptPar(id);
}
catch
{ }
return answ;
}
/// <summary>
/// ELIMINA TASK richiesto x macchina:
///
/// GET: IOB/remOptPar/SIMUL_03?pName=PZREQ
///
/// </summary>
/// <param name="id"></param>
/// <param name="pName"></param>
public string remOptPar(string id, string pName)
{
string answ = "";
// scrivo keep alive!!! (se necessario, altrimenti è in cache...)
MapoDb.MapoDb connDb = new MapoDb.MapoDb();
connDb.scriviKeepAlive(id, DateTime.Now);
try
{
DataLayer.remOptPar4Machine(id, pName);
answ = getOptPar(id);
}
catch
{ }
return answ;
}
/// <summary>
/// Effettua RESET dell'ODL corrente x macchina:
///
/// GET: IOB/resetCurrODL/5
+82 -1
View File
@@ -1020,6 +1020,15 @@ namespace MapoDb
return mHash(string.Format("ExeTask:{0}", idxMacchina));
}
/// <summary>
/// Hash dati OPT PARAMETERS x la macchina specificata
/// </summary>
/// <param name="idxMacchina"></param>
/// <returns></returns>
public static string optParHash(string idxMacchina)
{
return mHash(string.Format("OptPar:{0}", idxMacchina));
}
/// <summary>
/// Hash dati STATUS x la macchina specificata.
/// - dati ODL
/// - dati articolo
@@ -1153,7 +1162,7 @@ namespace MapoDb
return answ;
}
/// <summary>
/// Aggiunge un task all'elenco di quelli salvati (in modalità upsert)
/// RIMUOVE un task dall'elenco di quelli salvati
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="taskKey"></param>
@@ -1175,6 +1184,78 @@ namespace MapoDb
return answ;
}
#endregion
#region gestione OPT PARAMETERS macchina
/// <summary>
/// Restitusice elenco KVP dei TASK (da passare a IOB-WIN) per l'impianto indicato
/// </summary>
/// <param name="idxMacchina"></param>
/// <returns></returns>
public static Dictionary<string, string> mOptParMacchina(string idxMacchina)
{
// hard coded dimensione vettore DatiMacchine
Dictionary<string, string> answ = new Dictionary<string, string>();
// ORA recupero da memoria redis...
try
{
string currHash = optParHash(idxMacchina);
answ = memLayer.ML.redGetHashDict(currHash);
}
catch (Exception exc)
{
logger.lg.scriviLog(string.Format("Errore in compilazione dati OPT PARAM x Redis - idxMacchina {2}:{0}{1}", Environment.NewLine, exc, idxMacchina));
}
return answ;
}
/// <summary>
/// Aggiunge un PARAMETRO OPZIONALE all'elenco di quelli salvati (in modalità upsert)
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="taskKey"></param>
/// <param name="taskVal"></param>
/// <returns></returns>
public static bool addOptPar4Machine(string idxMacchina, string taskKey, string taskVal)
{
bool answ = false;
string currHash = optParHash(idxMacchina);
try
{
// leggo task attuali...
var currVal = mOptParMacchina(idxMacchina);
currVal[taskKey] = taskVal;
answ = memLayer.ML.redSaveHashDict(currHash, currVal);
}
catch
{ }
return answ;
}
/// <summary>
/// RIMUOVE un PARAMETRO OPZIONALE dall'elenco di quelli salvati
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="taskKey"></param>
/// <returns></returns>
public static bool remOptPar4Machine(string idxMacchina, string taskKey)
{
bool answ = false;
string currHash = optParHash(idxMacchina);
try
{
// leggo task attuali...
var currVal = mOptParMacchina(idxMacchina);
currVal.Remove(taskKey);
memLayer.ML.redDelKey(currHash);
answ = memLayer.ML.redSaveHashDict(currHash, currVal);
}
catch
{ }
return answ;
}
#endregion