Modifica x gestione errore in caricamento doppio se cache inganna il check orario

This commit is contained in:
Samuele Locatelli
2021-08-06 12:32:55 +02:00
parent c56cd613d9
commit f7ed3c8b59
9 changed files with 94 additions and 112 deletions
+72 -63
View File
@@ -227,13 +227,17 @@ namespace GWMS.Data.Controllers
public List<PlantDTO> GetPlantsDTO(int maxRecords)
{
var plantList = dbCtx
.DbSetPlant
.ToList();
List<PlantDTO> dbResult = new List<PlantDTO>();
using (GWMSContext dbCtxMult = new GWMSContext(_configuration))
{
var plantList = dbCtxMult
.DbSetPlant
.ToList();
var dbResult = plantList
dbResult = plantList
.Select(x => PlantDTO(x.PlantId, maxRecords))
.ToList();
}
return dbResult;
}
@@ -353,7 +357,7 @@ namespace GWMS.Data.Controllers
public PlantDTO PlantDTO(int PlantId, int maxRecords)
{
var currPlant = GetPlant(PlantId);
PlantDTO answ = new PlantDTO();
List<TSData> LevelTS = new List<TSData>();
Dictionary<string, double> PressAct = new Dictionary<string, double>();
Dictionary<string, List<TSData>> PressTS = new Dictionary<string, List<TSData>>();
@@ -361,82 +365,87 @@ namespace GWMS.Data.Controllers
List<TSData> PressBHTS = new List<TSData>();
List<TSData> PressBLTS = new List<TSData>();
List<TSData> OrderTS = new List<TSData>();
// recupero dal DB
var rawLevelData = dbCtx
using (GWMSContext dbCtxMult = new GWMSContext(_configuration))
{
// recupero dal DB
var rawLevelData = dbCtxMult
.DbSetPlantLog
.Where(x => x.FluxType == "Level" && x.PlantId == PlantId)
.OrderBy(x => x.DtEvent)
.Take(maxRecords)
.ToList();
var rawMainPressData = dbCtx
.DbSetPlantLog
.Where(x => x.FluxType == "MainPress" && x.PlantId == PlantId)
.OrderBy(x => x.DtEvent)
.Take(maxRecords)
.ToList();
var rawMainPressData = dbCtxMult
.DbSetPlantLog
.Where(x => x.FluxType == "MainPress" && x.PlantId == PlantId)
.OrderBy(x => x.DtEvent)
.Take(maxRecords)
.ToList();
var rawBHPressData = dbCtx
.DbSetPlantLog
.Where(x => x.FluxType == "PressBH" && x.PlantId == PlantId)
.OrderBy(x => x.DtEvent)
.Take(maxRecords)
.ToList();
var rawBHPressData = dbCtxMult
.DbSetPlantLog
.Where(x => x.FluxType == "PressBH" && x.PlantId == PlantId)
.OrderBy(x => x.DtEvent)
.Take(maxRecords)
.ToList();
var rawBLPressData = dbCtx
.DbSetPlantLog
.Where(x => x.FluxType == "PressBL" && x.PlantId == PlantId)
.OrderBy(x => x.DtEvent)
.Take(maxRecords)
.ToList();
var rawBLPressData = dbCtxMult
.DbSetPlantLog
.Where(x => x.FluxType == "PressBL" && x.PlantId == PlantId)
.OrderBy(x => x.DtEvent)
.Take(maxRecords)
.ToList();
var rawOrderData = dbCtx
.DbSetOrders
.Where(x => x.PlantId == PlantId)
.OrderBy(x => x.DtOrder)
.Take(maxRecords)
.ToList();
var rawOrderData = dbCtxMult
.DbSetOrders
.Where(x => x.PlantId == PlantId)
.OrderBy(x => x.DtOrder)
.Take(maxRecords)
.ToList();
LevelTS = rawLevelData
.Select(x => new TSData() { DtEvent = x.DtEvent, ValDouble = x.ValNumber }).ToList();
LevelTS = rawLevelData
.Select(x => new TSData() { DtEvent = x.DtEvent, ValDouble = x.ValNumber }).ToList();
OrderTS = rawOrderData
.Select(x => new TSData() { DtEvent = x.DtOrder, ValDouble = x.OrderQty }).ToList();
OrderTS = rawOrderData
.Select(x => new TSData() { DtEvent = x.DtOrder, ValDouble = x.OrderQty }).ToList();
PressMainTS = rawMainPressData
.Select(x => new TSData() { DtEvent = x.DtEvent, ValDouble = x.ValNumber }).ToList();
PressMainTS = rawMainPressData
.Select(x => new TSData() { DtEvent = x.DtEvent, ValDouble = x.ValNumber }).ToList();
PressBHTS = rawBHPressData
.Select(x => new TSData() { DtEvent = x.DtEvent, ValDouble = x.ValNumber }).ToList();
PressBHTS = rawBHPressData
.Select(x => new TSData() { DtEvent = x.DtEvent, ValDouble = x.ValNumber }).ToList();
PressBLTS = rawBLPressData
.Select(x => new TSData() { DtEvent = x.DtEvent, ValDouble = x.ValNumber }).ToList();
PressBLTS = rawBLPressData
.Select(x => new TSData() { DtEvent = x.DtEvent, ValDouble = x.ValNumber }).ToList();
PressTS.Add("Main", PressMainTS);
PressTS.Add("BH", PressBHTS);
PressTS.Add("BL", PressBLTS);
PressTS.Add("Main", PressMainTS);
PressTS.Add("BH", PressBHTS);
PressTS.Add("BL", PressBLTS);
double actLevel = LevelTS.Count > 0 ? LevelTS.OrderByDescending(x => x.DtEvent).Take(1).FirstOrDefault().ValDouble : 0;
double valMain = PressMainTS.Count > 0 ? PressMainTS.OrderByDescending(x => x.DtEvent).Take(1).FirstOrDefault().ValDouble : 0;
double valBH = PressBHTS.Count > 0 ? PressBHTS.OrderByDescending(x => x.DtEvent).Take(1).FirstOrDefault().ValDouble : 0;
double valBL = PressBLTS.Count > 0 ? PressBLTS.OrderByDescending(x => x.DtEvent).Take(1).FirstOrDefault().ValDouble : 0;
double actLevel = LevelTS.Count > 0 ? LevelTS.OrderByDescending(x => x.DtEvent).Take(1).FirstOrDefault().ValDouble : 0;
double valMain = PressMainTS.Count > 0 ? PressMainTS.OrderByDescending(x => x.DtEvent).Take(1).FirstOrDefault().ValDouble : 0;
double valBH = PressBHTS.Count > 0 ? PressBHTS.OrderByDescending(x => x.DtEvent).Take(1).FirstOrDefault().ValDouble : 0;
double valBL = PressBLTS.Count > 0 ? PressBLTS.OrderByDescending(x => x.DtEvent).Take(1).FirstOrDefault().ValDouble : 0;
PressAct.Add("Main", valMain);
PressAct.Add("BH", valBH);
PressAct.Add("BL", valBL);
PressAct.Add("Main", valMain);
PressAct.Add("BH", valBH);
PressAct.Add("BL", valBL);
PlantDTO answ = new PlantDTO()
{
PlantId = PlantId,
PlantCode = currPlant.PlantCode,
PlantDesc = currPlant.PlantDesc,
LevelAct = actLevel,
LevelMax = currPlant.LevelMax,
PressAct = PressAct,
LevelTS = LevelTS,
PressTS = PressTS,
OrderTS = OrderTS
};
// popolo valolri
answ = new PlantDTO()
{
PlantId = PlantId,
PlantCode = currPlant.PlantCode,
PlantDesc = currPlant.PlantDesc,
LevelAct = actLevel,
LevelMax = currPlant.LevelMax,
PressAct = PressAct,
LevelTS = LevelTS,
PressTS = PressTS,
OrderTS = OrderTS
};
}
return answ;
}
+1 -1
View File
@@ -40,7 +40,7 @@ namespace GWMS.Data
new PlantDetailModel { PlantId = 1, PlantCode = "PIZ03", PlantDesc = "Collecchio", LevelMax = 26000, PressMax = 19, PressBHMax = 270, PressBLMax = 270 },
new PlantDetailModel { PlantId = 2, PlantCode = "PIZ04", PlantDesc = "Noceto", LevelMax = 28000, PressMax = 19, PressBHMax = 270, PressBLMax = 270 },
new PlantDetailModel { PlantId = 3, PlantCode = "PIZ05", PlantDesc = "Baganzola", LevelMax = 24000, PressMax = 19, PressBHMax = 270, PressBLMax = 270 },
new PlantDetailModel { PlantId = 4, PlantCode = "PIZ08", PlantDesc = "Pilastrello", LevelMax = 25500, PressMax = 19, PressBHMax = 270, PressBLMax = 270 }
new PlantDetailModel { PlantId = 4, PlantCode = "PIZ08", PlantDesc = "Pilastrello", LevelMax = 26000, PressMax = 19, PressBHMax = 270, PressBLMax = 270 }
);
// inizializzazione dei valori di default x Fornitori
+14 -2
View File
@@ -394,6 +394,7 @@ namespace GWMS.UI.Data
public async Task<bool> PlantLogInsert(List<PlantLogModel> newItems)
{
bool fatto = false;
// init valori
int IntervalMin = 60;
int.TryParse(_configuration["IntervalMin"], out IntervalMin);
@@ -435,8 +436,19 @@ namespace GWMS.UI.Data
}
}
// faccio vero insert
return await Task.FromResult(dbController.PlantLogInsertNew(item2insert));
// se ho record da inserire...
if (item2insert.Count > 0)
{
// faccio vero insert
fatto = dbController.PlantLogInsertNew(item2insert);
// invalido i vari valori in cache
await distributedCache.RemoveAsync($"DATA:PLANTS:LastFlux:{PlantId}");
await distributedCache.RemoveAsync($"DATA:PLANTS:ListDTO");
}
// restituisco
return await Task.FromResult(fatto);
}
public async Task<List<PlantDTO>> PlantsGetAll()
+2 -7
View File
@@ -9,7 +9,7 @@ namespace GWMS.UI.Data
{
#region Private Fields
private SelectData _detailFilter = SelectData.Init(5, 7);
private SelectData _detailFilter = SelectData.Init(5, 15);
private string _pageIcon;
private string _pageName;
private string _searchVal;
@@ -33,8 +33,6 @@ namespace GWMS.UI.Data
#region Public Properties
public SelectData DDB_Filter { get; set; } = SelectData.Init(5, 3);
public SelectData DetailFilter
{
get => _detailFilter;
@@ -52,10 +50,7 @@ namespace GWMS.UI.Data
}
}
public SelectData KRE_Filter { get; set; } = SelectData.Init(5, 7);
public SelectData ODL_Filter { get; set; } = SelectData.Init(5, 7);
public SelectData OEE_Filter { get; set; } = SelectData.Init(5, 7);
public SelectOrderData Order_Filter { get; set; } = SelectOrderData.Init(5, 7);
public SelectOrderData Order_Filter { get; set; } = SelectOrderData.Init(5, 30);
public string PageIcon
{
+1 -1
View File
@@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<Version>1.0.2108.0518</Version>
<Version>1.0.2108.0612</Version>
<UserSecretsId>95c9f021-52d1-4390-a670-5810b7b777b0</UserSecretsId>
</PropertyGroup>
+1 -35
View File
@@ -20,41 +20,7 @@
}
</div>
<div class="col-12">
@*<div class="d-flex justify-content-between">
<div class="p-2">
<h4>Simulazione</h4>
</div>
<div class="p-2">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">giorni</span>
</div>
<input @bind-value="@numDays" @bind-value:event="oninput" type="number" class="form-control" title="Giorni" />
</div>
</div>
<div class="p-2">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">step</span>
</div>
<input @bind-value="@stepMin" @bind-value:event="oninput" type="number" class="form-control" title="Step sim (minuti)" />
</div>
</div>
<div class="p-2">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">cons orario max</span>
</div>
<input @bind-value="@maxHourRate" @bind-value:event="oninput" type="number" class="form-control" title="Consumo massimo orario" />
</div>
</div>
<div class="p-2">
<Button id="btnReset" class="btn btn-danger btn-block" Clicked="resetDB">
<span class="oi oi-reload"></span> Regen DB Data
</Button>
</div>
</div>*@
<SetupSim />
@*<SetupSim />*@
</div>
</div>
</div>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>GWMS - Gas Warehouse Management System</i>
<h4>Versione: 1.0.2108.0518</h4>
<h4>Versione: 1.0.2108.0612</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
1.0.2108.0518
1.0.2108.0612
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>1.0.2108.0518</version>
<version>1.0.2108.0612</version>
<url>http://nexus.steamware.net/repository/SWS/GWMS/stable/0/GWMS.UI.zip</url>
<changelog>http://nexus.steamware.net/repository/SWS/GWMS/stable/0/ChangeLog.html</changelog>
<mandatory>false</mandatory>