Modifica display valori fluxLog x Dossier

This commit is contained in:
Samuele Locatelli
2022-10-18 18:37:26 +02:00
parent 0ea3ee6341
commit 759373b5a4
9 changed files with 109 additions and 32 deletions
+14 -7
View File
@@ -17,7 +17,7 @@ else
<thead>
<tr>
<th>
<button @onclick="() => unToggleTableFlux()" class="btn btn-primary btn-sm"><i class="bi bi-arrow-counterclockwise"></i></button>
<button @onclick="() => closeTableFlux()" class="btn btn-primary btn-sm"><i class="bi bi-arrow-counterclockwise"></i></button>
</th>
<th><i class="fa-solid fa-file"></i> Articolo</th>
<th><i class="fa-solid fa-screwdriver-wrench"></i> Fase</th>
@@ -75,15 +75,15 @@ else
<table class="table table-light table-sm table-striped small mb-0">
<thead>
<tr>
<th></th>
<th>
<button class="btn btn-info" @onclick="() => closeTableFlux()"><i class="fa-solid fa-xmark"></i></button>
</th>
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
<th><i class="fa-regular fa-calendar-days"></i> Data</th>
<th><i class="fa-solid fa-sliders"></i> Data Type</th>
<th>
<div class="d-flex justify-content-between col-12">
<span class="col-11" style="text-align: right;"> Valore </span>
<button class="btn btn-primary btn-sm py-0" @onclick="() => unToggleTableFlux()"><i class="fa-solid fa-xmark"></i></button>
</div>
</th>
</tr>
@@ -91,7 +91,7 @@ else
<tbody>
@foreach (var record in listaFlux)
{
<tr>
<tr class="@checkSelPar(@record)">
<td>
<button @onclick="() => editRecord(record)" class="btn btn-primary btn-sm" title="Modifica Record"><i class="bi bi-pencil-square"></i></button>
</td>
@@ -105,8 +105,15 @@ else
@record.CodFlux
</td>
<td style="text-align: right;">
<div><span class="small text-dark">Modificato: </span><b>@record.ValoreEdit</b></div>
<div class="small text-secondary"><span class="small text-dark">Originale: </span><i>@record.Valore</i></div>
@if (record.ValoreEdit != record.Valore)
{
<div title="Valore Modificato"><span class="small text-dark"></span><b>@record.ValoreEdit</b></div>
<div class="small text-secondary" title="Valore Registrato">(<i>@record.Valore</i>)</div>
}
else
{
<div><span class="small text-dark"></span>@record.ValoreEdit</div>
}
</td>
</tr>
}
+22 -2
View File
@@ -6,7 +6,7 @@ using MP.SPEC.Data;
namespace MP.SPEC.Components
{
public partial class ListDossiers: IDisposable
public partial class ListDossiers : IDisposable
{
#region Public Properties
@@ -26,6 +26,24 @@ namespace MP.SPEC.Components
#region Public Methods
private FluxLogDTO? currFluxLogDto = null;
public string checkSelPar(FluxLogDTO recordSel)
{
string answ = "";
if (currFluxLogDto != null)
{
try
{
answ = (currFluxLogDto.CodFlux == recordSel.CodFlux && currFluxLogDto.dtEvento== recordSel.dtEvento) ? "table-info" : "";
}
catch
{ }
}
return answ;
}
public string checkSelect(Dossiers recordSel)
{
string answ = "";
@@ -87,6 +105,7 @@ namespace MP.SPEC.Components
protected async Task editRecord(FluxLogDTO selRec)
{
currFluxLogDto = selRec;
// indico record selezionato
await RecordSelFlux.InvokeAsync(selRec);
}
@@ -234,8 +253,9 @@ namespace MP.SPEC.Components
return answ;
}
private async Task unToggleTableFlux()
private async Task closeTableFlux()
{
currFluxLogDto = null;
currRecord = null;
visualizzaFlux = true;
await Task.Delay(1);
+22 -9
View File
@@ -13,8 +13,6 @@ namespace MP.SPEC.Components
[Parameter]
public SelectPOdlParams actFilter { get; set; } = new SelectPOdlParams();
private SelectPOdlParams lastFilter { get; set; } = new SelectPOdlParams() { CurrPage = -1 };
[Parameter]
public EventCallback<bool> PagerResetReq { get; set; }
@@ -43,8 +41,6 @@ namespace MP.SPEC.Components
return answ;
}
#endregion Public Methods
public void Dispose()
{
currRecord = null;
@@ -54,6 +50,8 @@ namespace MP.SPEC.Components
GC.Collect();
}
#endregion Public Methods
#region Protected Properties
[Inject]
@@ -212,11 +210,8 @@ namespace MP.SPEC.Components
#region Private Fields
private PODLModel? currRecord = null;
private List<PODLModel>? ListRecords;
private List<ListValues>? ListStati;
private List<PODLModel>? SearchRecords;
#endregion Private Fields
@@ -232,6 +227,7 @@ namespace MP.SPEC.Components
}
private bool isLoading { get; set; } = false;
private SelectPOdlParams lastFilter { get; set; } = new SelectPOdlParams() { CurrPage = -1 };
private int numRecord
{
@@ -325,8 +321,15 @@ namespace MP.SPEC.Components
/// <returns></returns>
private bool canStartOdl(string idxMacchina)
{
var listOdlCurr = MDService.OdlGetCurrent();
bool answ = !listOdlCurr.Contains(idxMacchina);
// controllo se lista scaduta...
bool answ = false;
DateTime adesso = DateTime.Now;
if (adesso > odlCurrExp || odlCurrList == null || odlCurrList.Count == 0)
{
odlCurrList = MDService.OdlGetCurrent();
odlCurrExp = adesso.AddSeconds(2);
}
answ = !odlCurrList.Contains(idxMacchina);
return answ;
}
@@ -376,6 +379,16 @@ namespace MP.SPEC.Components
isLoading = false;
}
/// <summary>
/// scadenza validità lista ODL correnti
/// </summary>
private DateTime odlCurrExp = DateTime.Now.AddMinutes(-1);
/// <summary>
/// Elenco ODL correnti...
/// </summary>
private List<string> odlCurrList = new List<string>();
private string tradFase(string codFase)
{
string answ = codFase;
+44 -10
View File
@@ -82,7 +82,7 @@ namespace MP.SPEC.Data
else
{
result = await Task.FromResult(dbController.AnagStatiComm());
// serializzp e salvo...
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(redisStatoCom, rawData, getRandTOut(redisLongTimeCache));
stopWatch.Stop();
@@ -113,7 +113,7 @@ namespace MP.SPEC.Data
else
{
result = await Task.FromResult(dbController.AnagTipoArtLV());
// serializzp e salvo...
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(redisTipoArt, rawData, getRandTOut(redisLongTimeCache));
stopWatch.Stop();
@@ -148,7 +148,7 @@ namespace MP.SPEC.Data
else
{
result = await Task.FromResult(dbController.ArticleWithDossier());
// serializzp e salvo...
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache));
}
@@ -277,7 +277,7 @@ namespace MP.SPEC.Data
else
{
result = await Task.FromResult(dbController.ConfigGetAll());
// serializzp e salvo...
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(redisConfKey, rawData, getRandTOut(redisLongTimeCache));
stopWatch.Stop();
@@ -361,7 +361,7 @@ namespace MP.SPEC.Data
else
{
result = await Task.FromResult(dbController.DossiersGetLastFilt(IdxMacchina, CodArticolo, DtRef, MaxRec));
// serializzp e salvo...
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache / 5));
}
@@ -546,7 +546,35 @@ namespace MP.SPEC.Data
/// <returns></returns>
public async Task<List<PODLModel>> ListPODLFilt(string codArt, string keyRichPart)
{
return await Task.FromResult(dbController.ListPODLFilt(codArt, keyRichPart));
List<PODLModel>? result = new List<PODLModel>();
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
string readType = "DB";
string currKey = $"{redisPOdlList}:{codArt}:{keyRichPart}";
// cerco in redis dato valore sel macchina...
RedisValue rawData = redisDb.StringGet(currKey);
if (rawData.HasValue)
{
result = JsonConvert.DeserializeObject<List<PODLModel>>($"{rawData}");
readType = "REDIS";
}
else
{
result = await Task.FromResult(dbController.ListPODLFilt(codArt, keyRichPart));
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, TimeSpan.FromSeconds(3));
}
if (result == null)
{
result = new List<PODLModel>();
}
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Log.Debug($"ListPODLFilt | Read from {readType}: {ts.TotalMilliseconds}ms");
return result;
}
/// <summary>
@@ -570,7 +598,7 @@ namespace MP.SPEC.Data
else
{
result = await Task.FromResult(dbController.MacchineGetAll());
// serializzp e salvo...
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache));
}
@@ -605,7 +633,7 @@ namespace MP.SPEC.Data
else
{
result = await dbController.MacchineWithFlux();
// serializzp e salvo...
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache));
}
@@ -728,7 +756,7 @@ namespace MP.SPEC.Data
else
{
result = await Task.FromResult(dbController.ParametriGetFilt(IdxMacchina));
// serializzp e salvo...
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache));
}
@@ -779,7 +807,12 @@ namespace MP.SPEC.Data
/// <returns></returns>
public async Task<bool> POdlUpdateRecord(PODLModel currRec)
{
return await dbController.PODLUpdateRecord(currRec);
var dbResult = await dbController.PODLUpdateRecord(currRec);
// elimino cache redis...
RedisValue pattern = new RedisValue($"{redisPOdlList}:*");
bool answ = await ExecFlushRedisPattern(pattern);
return dbResult;
}
/// <summary>
@@ -868,6 +901,7 @@ namespace MP.SPEC.Data
private const string redisMacByFlux = redisBaseAddr + "SPEC:Cache:MacByFlux";
private const string redisMacList = redisBaseAddr + "SPEC:Cache:MacList";
private const string redisPOdlList = redisBaseAddr + "SPEC:Cache:POdlList";
private const string redisStatoCom = redisBaseAddr + "SPEC:Cache:StatoCom";
+1 -1
View File
@@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP.SPEC</RootNamespace>
<Version>6.16.2210.1817</Version>
<Version>6.16.2210.1818</Version>
</PropertyGroup>
<ItemGroup>
+3
View File
@@ -150,6 +150,9 @@ namespace MP.SPEC.Pages
await callSyncDb(selRec);
currRecord = null;
await reloadData();
// forzo update parametri
await Task.Delay(1);
currFase = "*";
await Task.Delay(1);
}
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 6.16.2210.1817</h4>
<h4>Versione: 6.16.2210.1818</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
6.16.2210.1817
6.16.2210.1818
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>6.16.2210.1817</version>
<version>6.16.2210.1818</version>
<url>https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/MP.SPEC.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>