ancora fix gestione KIT

This commit is contained in:
Samuele Locatelli
2026-05-27 16:31:30 +02:00
parent e30e980833
commit 0526a81e8e
14 changed files with 32 additions and 51 deletions
+1 -1
View File
@@ -105,7 +105,7 @@ namespace MP_TAB3.Components
if (!ListArtDisabled)
{
Log.Debug("START GetArticoli");
var rawData = await MDataService.ArticoliGetSearch(10000, "*", searchVal);
var rawData = await MDataService.ArticoliGetSearch(10000,"*", "*", searchVal);
// trasformo!
if (rawData != null)
{
+1 -1
View File
@@ -137,7 +137,7 @@ namespace MP_TAB3.Components
if (!ListArtDisabled)
{
Log.Debug("START GetArticoli");
var rawData = await MDataService.ArticoliGetSearch(10000, "*", searchVal);
var rawData = await MDataService.ArticoliGetSearch(10000,"*", "*", searchVal);
// trasformo!
if (rawData != null)
{
-22
View File
@@ -476,28 +476,6 @@ namespace MP.Data.Controllers
return dbResult;
}
/// <summary>
/// Elenco tabella Articoli da filtro
/// </summary>
/// <param name="numRecord"></param>
/// <param name="searchVal"></param>
/// <returns></returns>
public List<AnagArticoliModel> ArticoliGetSearch(int numRecord, string searchVal = "")
{
List<AnagArticoliModel> dbResult = new List<AnagArticoliModel>();
using (var dbCtx = new MoonProContext(options))
{
dbResult = dbCtx
.DbSetArticoli
.AsNoTracking()
.Where(x => x.CodArticolo.Contains(searchVal) || x.DescArticolo.Contains(searchVal) || x.Disegno.Contains(searchVal) || string.IsNullOrEmpty(searchVal))
.OrderBy(x => x.CodArticolo)
.Take(numRecord)
.ToList();
}
return dbResult;
}
/// <summary>
/// Elenco tabella Articoli da filtro
/// </summary>
+4 -4
View File
@@ -54,14 +54,14 @@ namespace MP.Data.Services
/// <param name="azienda">cod azienda, * = tutte</param>
/// <param name="searchVal">Ricerca testuale</param>
/// <returns></returns>
public async Task<List<AnagArticoliModel>> ArticoliGetSearch(int numRecord, string azienda, string searchVal)
public async Task<List<AnagArticoliModel>> ArticoliGetSearch(int numRecord, string tipoArt, string azienda, string searchVal)
{
string source = "DB";
Stopwatch sw = new Stopwatch();
sw.Start();
List<AnagArticoliModel>? result = new List<AnagArticoliModel>();
// cerco in _redisConn...
string currKey = $"{redisBaseKey}:Art:{azienda}:{searchVal}:{numRecord}";
string currKey = $"{redisBaseKey}:Art:{azienda}:{tipoArt}:{searchVal}:{numRecord}";
RedisValue rawData = await _redisDb.StringGetAsync(currKey);
if (rawData.HasValue)
{
@@ -70,7 +70,7 @@ namespace MP.Data.Services
}
else
{
result = await dbController.ArticoliGetSearchAsync(numRecord, azienda, searchVal);
result = await dbController.ArticoliGetSearchAsync(numRecord, tipoArt, azienda, searchVal);
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await _redisDb.StringSetAsync(currKey, rawData, LongCache);
@@ -80,7 +80,7 @@ namespace MP.Data.Services
result = new List<AnagArticoliModel>();
}
sw.Stop();
Log.Debug($"ArticoliGetSearchAsync | azienda: {azienda} | searchVal: {searchVal} | numRecord: {numRecord} | {source} | {sw.Elapsed.TotalMilliseconds}ms");
Log.Trace($"ArticoliGetSearchAsync | azienda: {azienda} | tipoArt: {tipoArt} | searchVal: {searchVal} | numRecord: {numRecord} | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
+17 -14
View File
@@ -371,7 +371,7 @@ namespace MP.IOC.Data
}
else
{
result = await Task.FromResult(SpecDbController.AnagStatiComm());
result = await SpecDbController.AnagStatiCommAsync();
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(Utils.redisStatoCom, rawData, getRandTOut(redisLongTimeCache));
@@ -425,7 +425,7 @@ namespace MP.IOC.Data
}
else
{
result = await Task.FromResult(SpecDbController.AnagTipoArtLV());
result = await SpecDbController.AnagTipoArtLvAsync();
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(Utils.redisTipoArt, rawData, getRandTOut(redisLongTimeCache));
@@ -527,16 +527,18 @@ namespace MP.IOC.Data
/// Restitusice elenco articoli cercati
/// </summary>
/// <param name="numRecord"></param>
/// <param name="tipoArt"></param>
/// <param name="azienda"></param>
/// <param name="searchVal"></param>
/// <returns></returns>
public async Task<List<AnagArticoliModel>> ArticoliGetSearch(int numRecord, string azienda, string searchVal)
public async Task<List<AnagArticoliModel>> ArticoliGetSearchAsync(int numRecord, string tipoArt, string azienda, string searchVal)
{
List<AnagArticoliModel>? result = new List<AnagArticoliModel>();
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
string readType = "DB";
string sKey = string.IsNullOrEmpty(searchVal) ? "***" : searchVal;
string currKey = $"{Utils.redisArtList}:{azienda}:{sKey}";
string currKey = $"{Utils.redisArtList}:{azienda}:{tipoArt}:{sKey}";
// cerco in redis dato valOut sel macchina...
RedisValue rawData = redisDb.StringGet(currKey);
if (rawData.HasValue)
@@ -546,7 +548,7 @@ namespace MP.IOC.Data
}
else
{
result = await Task.FromResult(SpecDbController.ArticoliGetSearch(numRecord, azienda, searchVal));
result = await SpecDbController.ArticoliGetSearchAsync(numRecord, tipoArt, azienda, searchVal);
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache / 5));
@@ -557,7 +559,7 @@ namespace MP.IOC.Data
}
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Log.Debug($"ArticoliGetSearch | Read from {readType}: {ts.TotalMilliseconds}ms");
Log.Debug($"ArticoliGetSearchAsync | Read from {readType}: {ts.TotalMilliseconds}ms");
return result;
}
@@ -1095,9 +1097,9 @@ namespace MP.IOC.Data
/// Update chiave config
/// </summary>
/// <returns></returns>
public async Task<bool> ConfigUpdate(ConfigModel updRec)
public Task<bool> ConfigUpdateAsync(ConfigModel updRec)
{
return await Task.FromResult(SpecDbController.ConfigUpdate(updRec));
return SpecDbController.ConfigUpdateAsync(updRec);
}
/// <summary>
@@ -1310,7 +1312,7 @@ namespace MP.IOC.Data
/// <returns></returns>
public Task<List<AnagGruppiModel>> ElencoAziende()
{
return Task.FromResult(SpecDbController.AnagGruppiAziende());
return SpecDbController.AnagGruppiAziendeAsync();
}
/// <summary>
@@ -2513,7 +2515,7 @@ namespace MP.IOC.Data
/// </summary>
/// <param name="idxMacchina"></param>
/// <returns></returns>
public List<string> OdlGetCurrent()
public async Task<List<string>> OdlGetCurrentAsync()
{
List<string>? dbResult = new List<string>();
Stopwatch stopWatch = new Stopwatch();
@@ -2521,7 +2523,7 @@ namespace MP.IOC.Data
string readType = "DB";
string currKey = $"{Utils.redisOdlCurrByMac}";
// cerco in redis dato valOut sel macchina...
RedisValue rawData = redisDb.StringGet(currKey);
RedisValue rawData = await redisDb.StringGetAsync(currKey);
if (rawData.HasValue)
{
try
@@ -2534,9 +2536,10 @@ namespace MP.IOC.Data
}
else
{
dbResult = SpecDbController.OdlGetCurrent().Select(x => x.IdxMacchina).Distinct().ToList();
var rawList = await SpecDbController.OdlGetCurrentAsync();
dbResult = rawList.Select(x => x.IdxMacchina).Distinct().ToList();
rawData = JsonConvert.SerializeObject(dbResult);
redisDb.StringSet(currKey, rawData, TimeSpan.FromSeconds(3));
await redisDb.StringSetAsync(currKey, rawData, TimeSpan.FromSeconds(3));
}
if (dbResult == null)
{
@@ -2544,7 +2547,7 @@ namespace MP.IOC.Data
}
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Log.Debug($"OdlGetCurrent | Read from {readType}: {ts.TotalMilliseconds}ms");
Log.Debug($"OdlGetCurrentAsync | Read from {readType}: {ts.TotalMilliseconds}ms");
return dbResult;
}
+1 -1
View File
@@ -4,7 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<Version>8.16.2605.2519</Version>
<Version>8.16.2605.2716</Version>
</PropertyGroup>
<ItemGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MP-IOC </i>
<h4>Versione: 8.16.2605.2519</h4>
<h4>Versione: 8.16.2605.2716</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
8.16.2605.2519
8.16.2605.2716
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2605.2519</version>
<version>8.16.2605.2716</version>
<url>https://nexus.steamware.net/repository/SWS/MP-IOC/stable/LAST/MP.IOC.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-IOC/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+1 -1
View File
@@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP.SPEC</RootNamespace>
<Version>8.16.2605.2714</Version>
<Version>8.16.2605.2716</Version>
<UserSecretsId>1800a78a-6ff1-40f9-b490-87fb8bfc1394</UserSecretsId>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>
+1 -1
View File
@@ -269,7 +269,7 @@ namespace MP.SPEC.Pages
#region Private Methods
/// <summary>
/// Seleziona record x editing
/// Verifica cancellabilità record
/// </summary>
/// <param name="selRec"></param>
/// <returns></returns>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 8.16.2605.2714</h4>
<h4>Versione: 8.16.2605.2716</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
8.16.2605.2714
8.16.2605.2716
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2605.2714</version>
<version>8.16.2605.2716</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>