Fix duplicato FNQ

This commit is contained in:
Samuele Locatelli
2023-10-09 14:50:32 +02:00
parent 97932b0b98
commit 0ddd5ff84c
10 changed files with 8 additions and 115 deletions
+2 -2
View File
@@ -57,7 +57,7 @@ namespace MP_TAB_SERV.Components
private int _durataMin { get; set; } = 30;
protected List<CommentiModel> RecordListComments { get; set; } = new List<CommentiModel>();
protected List<FnqDTO> RecordListFnq { get; set; } = new List<FnqDTO>();
protected List<FermiNonQualModel> RecordListFnq { get; set; } = new List<FermiNonQualModel>();
[Inject]
protected TabDataService TabServ { get; set; } = null!;
@@ -82,7 +82,7 @@ namespace MP_TAB_SERV.Components
}
private async Task ReloadFnq()
{
RecordListFnq = await TabServ.FnqGetByFilt(RecMSE?.IdxMacchina, NumGiorni, DurataMin);
RecordListFnq = await TabServ.FermiNonQualificatiFilt(RecMSE?.IdxMacchina, NumGiorni, DurataMin);
}
private async Task DoUpdate(bool forceReload)
+1 -1
View File
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<Version>6.16.2310.912</Version>
<Version>6.16.2310.914</Version>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP_TAB_SERV</RootNamespace>
</PropertyGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 6.16.2310.912</h4>
<h4>Versione: 6.16.2310.914</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
6.16.2310.912
6.16.2310.914
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>6.16.2310.912</version>
<version>6.16.2310.914</version>
<url>https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/MP-TAB-SERV.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
-49
View File
@@ -357,55 +357,6 @@ namespace MP.Data.Controllers
await Task.Delay(1);
return fatto;
}
/// <summary>
/// Recupera elenco ultimi commenti x macchina
/// </summary>
/// <param name="idxMacchina">Idx macchina, "*" = tutte</param>
/// <param name="maxRec">Num massimo di record da recuperare</param>
/// <returns></returns>
public List<CommentiModel> CommentiGetLastByMacc(string idxMacchina, int maxRec)
{
List<CommentiModel> dbResult = new List<CommentiModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var MaxRec = new SqlParameter("@MaxRec", maxRec);
dbResult = dbCtx
.DbSetCommenti
.FromSqlRaw("exec dbo.stp_Comm_getLastByMacchina @IdxMacchina, @MaxRec", IdxMacchina, MaxRec)
.AsNoTracking()
.AsEnumerable()
.ToList();
}
return dbResult;
}
/// <summary>
/// Recupera elenco ultime fermate non frequenti
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="numGg"></param>
/// <param name="durataMin"></param>
/// <returns></returns>
public List<FnqDTO> FnqGetByFilt(string idxMacchina, int numGg, int durataMin)
{
List<FnqDTO> dbResult = new List<FnqDTO>();
using (var dbCtx = new MoonProContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var NumGg = new SqlParameter("@gg", numGg);
var DurataMin = new SqlParameter("@durataMin", durataMin);
dbResult = dbCtx
.DbSetFnq
.FromSqlRaw("exec dbo.stp_FNQ_getFilt @IdxMacchina, @gg, @durataMin", IdxMacchina, NumGg, DurataMin)
.AsNoTracking()
.AsEnumerable()
.ToList();
}
return dbResult;
}
/// <summary>
/// Recupera record EventList date condizioni filtro
-19
View File
@@ -1,19 +0,0 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace MP.Data.DTO
{
public class FnqDTO
{
[Key]
public string IdxMacchina { get; set; } = "";
public DateTime InizioStato { get; set; } = DateTime.Now;
public string Macchina { get; set; } = "";
public int IdxStato { get; set; } = 0;
public string Stato { get; set; } = "";
public string Semaforo { get; set; } = "";
public double DurataMinuti { get; set; } = 0;
public string Value { get; set; } = "";
public string CodArticolo { get; set; } = "";
}
}
@@ -18,6 +18,7 @@ namespace MP.Data.DatabaseModels
public DateTime InizioStato { get; set; } = DateTime.Now;
public string Macchina { get; set; } = "";
public int IdxStato { get; set; } = 0;
public string Stato { get; set; } = "";
public string Semaforo { get; set; } = "";
public double DurataMinuti { get; set; } = 0;
public string Value { get; set; } = "";
+1 -2
View File
@@ -56,8 +56,7 @@ namespace MP.Data
public virtual DbSet<StatODLModel> DbSetStatOdl { get; set; }
public virtual DbSet<PzProdModel> DbSetPzProd { get; set; }
public virtual DbSet<EventListModel> DbSetEvList { get; set; }
public virtual DbSet<DiarioDiBordoModel> DbSetDDB { get; set; }
public virtual DbSet<FnqDTO> DbSetFnq { get; set; }
public virtual DbSet<DiarioDiBordoModel> DbSetDDB { get; set; }
public virtual DbSet<VocabolarioModel> DbSetVocabolario { get; set; }
public virtual DbSet<AnagOperatoriModel> DbOperatori { get; set; }
public virtual DbSet<Gruppi2OperModel> DbSetGrp2Oper { get; set; }
-39
View File
@@ -218,45 +218,6 @@ namespace MP.Data.Services
return result;
}
/// <summary>
/// Recupera elenco ultime fermate non frequenti
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="numGg"></param>
/// <param name="durataMin"></param>
/// <returns></returns>
public async Task<List<FnqDTO>> FnqGetByFilt(string idxMacchina, int numGg, int durataMin)
{
// setup parametri costanti
string source = "DB";
Stopwatch sw = new Stopwatch();
sw.Start();
List<FnqDTO> result = new List<FnqDTO>();
// cerco in redis...
string currKey = $"{redisBaseKey}:FNQ:{idxMacchina}:{numGg}:{durataMin}";
RedisValue rawData = await redisDb.StringGetAsync(currKey);
//if (!string.IsNullOrEmpty($"{rawData}"))
if (rawData.HasValue)
{
result = JsonConvert.DeserializeObject<List<FnqDTO>>($"{rawData}");
source = "REDIS";
}
else
{
result = dbTabController.FnqGetByFilt(idxMacchina, numGg, durataMin);
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(currKey, rawData, FastCache);
}
if (result == null)
{
result = new List<FnqDTO>();
}
sw.Stop();
Log.Debug($"FnqGetByFilt | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
/// <summary>
/// Effettua conferma prod macchina dell'intero periodo da confermare (ultima conferma
/// --&gt; dtEvent)