From 704539cd5ef45f89f338c625b63f7aecdb1b9139 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 5 Dec 2018 18:56:12 +0100 Subject: [PATCH] v 1019: faccio SEMPRE conteggio esatto del delta tempo... --- Jenkinsfile | 2 +- MapoDb/DataLayer.cs | 55 +++++++++++++++++++++------------------------ 2 files changed, 26 insertions(+), 31 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 191af7f3..baf51673 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -18,7 +18,7 @@ pipeline { /* calcolo numero versione... diverso x branch MASTER/DEVELOP */ script { - withEnv(['NEXT_BUILD_NUMBER=1018']) { + withEnv(['NEXT_BUILD_NUMBER=1019']) { // env.versionNumber = VersionNumber(versionNumberString : '6.2.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true) env.versionNumber = VersionNumber(versionNumberString : '6.2.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') env.APP_NAME = 'MAPO' diff --git a/MapoDb/DataLayer.cs b/MapoDb/DataLayer.cs index b285e5cc..143a9e67 100644 --- a/MapoDb/DataLayer.cs +++ b/MapoDb/DataLayer.cs @@ -479,40 +479,35 @@ namespace MapoDb delta = Convert.ToInt64(dtCurr) - Convert.ToInt64(dtEve); // log della classe del delta (1-10, 10-100, 100-1k, 1k-10k, > 10k ms) string deltaClass = ""; - // se meno di 1'000 ms = 1 secondo... (semplificazione possibile SE prima del cambio di minuto, sino al sec 58... dal 59 allo 00 successivo conta 41'000 x cui NON va bene e fa calcolo ESTESO) - if (delta <= 999) + // faccio SEMPRE calcolo esatto sennĂ² sbaglia... + CultureInfo provider = CultureInfo.InvariantCulture; + string format = "yyyyMMddHHmmssfff"; + dtEvento = DateTime.ParseExact(dtEve, format, provider); + dtCorrente = DateTime.ParseExact(dtCurr, format, provider); + Int64 tiks = dtCorrente.Ticks - dtEvento.Ticks; + TimeSpan ts = new TimeSpan(tiks); + double ms = Math.Abs(ts.TotalMilliseconds); + // calcolo ESATTO dataora evento + dataOraEvento = dataOraEvento.AddTicks(-tiks); + if (ms <= 10) { - dataOraEvento = dataOraEvento.AddMilliseconds(-delta); - if (delta <= 10) - { - deltaClass = "delta 0-10 ms"; - } - else if (delta <= 100) - { - deltaClass = "delta 10-100 ms"; - } - else - { - deltaClass = "delta 100-1000 ms"; - } + deltaClass = "delta 0-10 ms"; + } + else if (ms <= 100) + { + deltaClass = "delta 10-100 ms"; + } + else if (ms <= 1000) + { + deltaClass = "delta 100-1000 ms"; + } + else if (ms <= 10000) + { + deltaClass = "delta 1-10 sec"; } else { - // in questo caso elimino i MS dalle stringhe e converto i datetime.... - CultureInfo provider = CultureInfo.InvariantCulture; - string format = "yyyyMMddHHmmssfff"; - dtEvento = DateTime.ParseExact(dtEve, format, provider); - dtCorrente = DateTime.ParseExact(dtCurr, format, provider); - Int64 tiks = dtCorrente.Ticks - dtEvento.Ticks; - dataOraEvento = dataOraEvento.AddTicks(-tiks); - if (delta <= 10000) - { - deltaClass = "delta 1-10 sec"; - } - else - { - deltaClass = "delta > 10 sec"; - } + deltaClass = "delta > 10 sec"; } // se ho deltaClass loggo if (deltaClass != "")