diff --git a/GWMS.Data/Controllers/GWMSController.cs b/GWMS.Data/Controllers/GWMSController.cs index 117dd3e..ea9a0b3 100644 --- a/GWMS.Data/Controllers/GWMSController.cs +++ b/GWMS.Data/Controllers/GWMSController.cs @@ -847,9 +847,10 @@ namespace GWMS.Data.Controllers .OrderBy(x => x.DtOrder) .ToList(); + // imposto x ora a soli 2 gg (torno indietro di 1...) int numDays = 1; DateTime oggi = DateTime.Today; - // Ciclare su ultimi numDays gg + // recupero ultimi record carichi x numDays gg var rawDepOrderData = localDbCtx .DbSetOrders .Where(x => x.PlantId == PlantId && x.ExecutionQty > 0 && x.DtExecStart >= oggi.AddDays(-numDays)) @@ -857,59 +858,32 @@ namespace GWMS.Data.Controllers .ToList(); // ciclo numDays giorni precedenti - double startLevel = 0; - for (int i = numDays; i > 0; i--) + double venduto = 0; + double versatoQty = 0; + PlantLogModel firstRecord = null; + PlantLogModel nextRecord = null; + DateTime currDay = oggi; + for (int i = numDays; i >= 0; i--) { - DateTime currDay = oggi.AddDays(-i); - var firstRecord = rawLevelData.Where(x => x.DtEvent >= currDay).FirstOrDefault(); - var nextRecord = rawLevelData.Where(x => x.DtEvent >= currDay.AddDays(1)).FirstOrDefault(); + currDay = oggi.AddDays(-i); + firstRecord = rawLevelData.Where(x => x.DtEvent >= currDay).FirstOrDefault(); + nextRecord = rawLevelData.Where(x => x.DtEvent >= currDay.AddDays(1)).FirstOrDefault(); + if (nextRecord == null) + { + nextRecord = rawLevelData.Where(x => x.DtEvent < currDay.AddDays(1)).OrderByDescending(x => x.DtEvent).FirstOrDefault(); + } + versatoQty = rawDepOrderData.Where(x => x.DtExecStart.Date == currDay).Sum(x => x.ExecutionQty); if (firstRecord == null || nextRecord == null) { - double venduto = 0; + venduto = 0; } else { - double venduto = firstRecord.ValNumber - nextRecord.ValNumber; - // controllo se ho ordini chiusi ieri - var ordQty = rawDepOrderData.Where(x => x.DtExecStart.Date == currDay).Sum(x => x.ExecutionQty); - if (ordQty > 0 ) - { - venduto += ordQty; - } - - // salvo TS - SoldTS.Add(new TSData() { DtEvent = currDay, ValDouble = venduto }); - if (SoldTS[0] == null) - { - SoldTS.Add(new TSData() { DtEvent = currDay, ValDouble = 0 }); - } + venduto = firstRecord.ValNumber - nextRecord.ValNumber; + venduto += versatoQty; } - } - - // aggiungo oggi - DateTime today = oggi; - var firstRecord1 = rawLevelData.Where(x => x.DtEvent >= today).FirstOrDefault(); - var lastRecord1 = rawLevelData.Where(x => x.DtEvent >= today).LastOrDefault(); - if (firstRecord1 == null || lastRecord1 == null) - { - double vendutoOggi = 0; - } - else - { - double vendutoOggi = firstRecord1.ValNumber - lastRecord1.ValNumber; - // controllo se ho ordini chiusi oggi - var ordQty = rawDepOrderData.Where(x => x.DtExecStart.Date == today).Sum(x => x.ExecutionQty); - if (ordQty > 0 ) - { - vendutoOggi += ordQty; - } - // salvo TS - SoldTS.Add(new TSData() { DtEvent = today, ValDouble = vendutoOggi }); - if (SoldTS[1] == null) - { - SoldTS.Add(new TSData() { DtEvent = today, ValDouble = 0 }); - } + SoldTS.Add(new TSData() { DtEvent = currDay, ValDouble = venduto }); } LevelTS = rawLevelData diff --git a/GWMS.UI/GWMS.UI.csproj b/GWMS.UI/GWMS.UI.csproj index 2929722..77c0a37 100644 --- a/GWMS.UI/GWMS.UI.csproj +++ b/GWMS.UI/GWMS.UI.csproj @@ -2,7 +2,7 @@ net5.0 - 1.0.2202.0309 + 1.0.2202.0310 95c9f021-52d1-4390-a670-5810b7b777b0 true true diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html index 0e00f51..2577e63 100644 --- a/Resources/ChangeLog.html +++ b/Resources/ChangeLog.html @@ -1,6 +1,6 @@ GWMS - Gas Warehouse Management System -

Versione: 1.0.2202.0309

+

Versione: 1.0.2202.0310


Note di rilascio: