modifica da int/uint a long (64bit) x invDDone
This commit is contained in:
Samuele E. Locatelli
2016-07-21 15:49:56 +02:00
parent 882d93f65a
commit bb0cfaf108
4 changed files with 40 additions and 17 deletions
+35 -13
View File
@@ -2326,24 +2326,17 @@ namespace MTC_Adapter
// controllo valore riferimento...
if (istNumInvAssi[i] > contNumInvAssi[i])
{
uint delta = istNumInvAssi[i] - contNumInvAssi[i];
long delta = istNumInvAssi[i] - contNumInvAssi[i];
//uint contTot = updateAxisRefListByIncr(i, delta, "Axis_{0:00}_InvDDone");
uint contTot = updateValUIntByIncr(i, delta, "Axis_{0:00}_InvDDone");
// trappola x capire se ci siano valori "strani"...
uint mtcVal = 0;
try
{
mtcVal = Convert.ToUInt32(vettAxis[i].mAxInvDDone.Value);
}
catch
{ }
if (Math.Abs((int)mtcVal - (int)contTot) > 10)
long contTot = updateValLongByIncr(i, delta, "Axis_{0:00}_InvDDone");
// trappola x capire se ci siano valori "strani"...
if (utils.CRB("logAll"))
{
// loggo anomalia...
lg.Info(string.Format("Anomalia conteggio valori: asse {0}, istNumInvAssi[i]={1}, contNumInvAssi[i]={2}, nuovo contTot: {3}", i, istNumInvAssi[i], contNumInvAssi[i], contTot));
lg.Info(string.Format("Conteggio valori: asse {0}, istNumInvAssi[i]={1}, contNumInvAssi[i]={2}, nuovo contTot: {3}", i, istNumInvAssi[i], contNumInvAssi[i], contTot));
}
// passo valore totale all'adapter
vettAxis[i].mAxInvDDone.Value = (int)contTot;
vettAxis[i].mAxInvDDone.Value = contTot;
// segnalo necessità salvataggio!
needSave = true;
}
@@ -2462,6 +2455,15 @@ namespace MTC_Adapter
return Convert.ToUInt32(getStoredVal(keyVal));
}
/// <summary>
/// recupera valore salvato in persistence layer (se non c'è crea...) come INT
/// </summary>
/// <param name="keyVal"></param>
/// <returns></returns>
private long getStoredValLong(string keyVal)
{
return Convert.ToInt64(getStoredVal(keyVal));
}
/// <summary>
/// recupera valore salvato in persistence layer (se non c'è crea...) come double
/// </summary>
/// <param name="keyVal"></param>
@@ -2514,6 +2516,26 @@ namespace MTC_Adapter
/// <param name="delta"></param>
/// <param name="searchString"></param>
/// <returns>Nuovo valore incrementato</returns>
private long updateValLongByIncr(int i, long delta, string searchString)
{
// stringa da cercare..
string keyVal = string.Format(searchString, i + 1);
// recupero valore precedente...
long contAct = getStoredValLong(keyVal);
// nuovo valore...
contAct += delta;
// salvo in ram!
persistenceLayer[keyVal] = contAct.ToString();
// rendo il valore!
return contAct;
}
/// <summary>
/// Aggiorna un valore del dizionario in INCREMENTO e lo restituisce
/// </summary>
/// <param name="i"></param>
/// <param name="delta"></param>
/// <param name="searchString"></param>
/// <returns>Nuovo valore incrementato</returns>
private double updateValDoubleByIncr(int i, double delta, string searchString)
{
// stringa da cercare..
+1
View File
@@ -35,6 +35,7 @@
<add key="recTime" value="true" />
<add key="verbose" value="true" />
<add key="logAll" value="false" />
<add key="autoLoadConf" value="false" />
+2 -2
View File
@@ -5,7 +5,7 @@
using System.Reflection;
[assembly: AssemblyVersion("1.1.22.94")]
[assembly: AssemblyFileVersion("1.1.22.94")]
[assembly: AssemblyVersion("1.1.23.94")]
[assembly: AssemblyFileVersion("1.1.23.94")]
[assembly: AssemblyCopyright("Steamware-SCM-CMS © 2015-2016")]
[assembly: AssemblyCompany("Steamware-SCM-CMS")]
+2 -2
View File
@@ -6,8 +6,8 @@
using System.Reflection;
[assembly: AssemblyVersion("1.1.22.<#= this.RevisionNumber #>")]
[assembly: AssemblyFileVersion("1.1.22.<#= this.RevisionNumber #>")]
[assembly: AssemblyVersion("1.1.23.<#= this.RevisionNumber #>")]
[assembly: AssemblyFileVersion("1.1.23.<#= this.RevisionNumber #>")]
[assembly: AssemblyCopyright("Steamware-SCM-CMS © 2015-<#= DateTime.Now.Year #>")]
[assembly: AssemblyCompany("Steamware-SCM-CMS")]
<#+