Aggiunta metodi x Fermi non qualificati
This commit is contained in:
@@ -164,6 +164,30 @@ namespace MP.Data.Controllers
|
||||
}
|
||||
}
|
||||
|
||||
/// <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>
|
||||
/// Effettua conferma prod macchina dell'intero periodo da confermare (ultima conferma
|
||||
/// --> dtEvent)
|
||||
@@ -332,30 +356,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 record EventList date condizioni filtro
|
||||
@@ -408,6 +408,32 @@ namespace MP.Data.Controllers
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupera elenco fermi non qualificati da filtro
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina">Idx macchina, "*" = tutte</param>
|
||||
/// <param name="gg">Num massimo di giorni antecedenti</param>
|
||||
/// <param name="durataMin">Durata minima (in minuti)</param>
|
||||
/// <returns></returns>
|
||||
public List<FermiNonQualModel> FermiNonQualificatiFilt(string idxMacchina, int gg, double durataMin)
|
||||
{
|
||||
List<FermiNonQualModel> dbResult = new List<FermiNonQualModel>();
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
|
||||
var GG = new SqlParameter("@MaxRec", gg);
|
||||
var DurataMin = new SqlParameter("@MaxRec", durataMin);
|
||||
|
||||
dbResult = dbCtx
|
||||
.DbSetFNQ
|
||||
.FromSqlRaw("exec dbo.stp_FNQ_getFilt @IdxMacchina, @gg, @durataMin", IdxMacchina, GG, DurataMin)
|
||||
.AsNoTracking()
|
||||
.AsEnumerable()
|
||||
.ToList();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// MicroStato macchina (da key)
|
||||
/// </summary>
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
|
||||
#nullable disable
|
||||
// <Auto-Generated>
|
||||
// This is here so CodeMaid doesn't reorganize this document
|
||||
// </Auto-Generated>
|
||||
namespace MP.Data.DatabaseModels
|
||||
{
|
||||
public partial class FermiNonQualModel
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
public string IdxMacchina { get; set; } = "NA";
|
||||
public DateTime InizioStato { get; set; } = DateTime.Now;
|
||||
public string Macchina { get; set; } = "";
|
||||
public int IdxStato { get; set; } = 0;
|
||||
public string Semaforo { get; set; } = "";
|
||||
public double DurataMinuti { get; set; } = 0;
|
||||
public string Value { get; set; } = "";
|
||||
public string CodArticolo { get; set; } = "";
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
}
|
||||
@@ -81,7 +81,8 @@ namespace MP.Data
|
||||
|
||||
public virtual DbSet<vSelEventiBCodeModel> DbSetVSEB { get; set; }
|
||||
public virtual DbSet<CommentiModel> DbSetCommenti { get; set; }
|
||||
|
||||
public virtual DbSet<FermiNonQualModel> DbSetFNQ { get; set; }
|
||||
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
@@ -533,6 +534,11 @@ namespace MP.Data
|
||||
entity.HasKey(e => new { e.IdxMacchina, e.InizioStato });
|
||||
});
|
||||
|
||||
modelBuilder.Entity<FermiNonQualModel>(entity =>
|
||||
{
|
||||
entity.HasKey(e => new { e.IdxMacchina, e.InizioStato });
|
||||
});
|
||||
|
||||
OnModelCreatingPartial(modelBuilder);
|
||||
}
|
||||
|
||||
|
||||
@@ -405,6 +405,44 @@ namespace MP.Data.Services
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupera elenco fermi non qualificati da filtro
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina">Idx macchina, "*" = tutte</param>
|
||||
/// <param name="gg">Num massimo di giorni antecedenti</param>
|
||||
/// <param name="durataMin">Durata minima (in minuti)</param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<FermiNonQualModel>> FermiNonQualificatiFilt(string idxMacchina, int gg, double durataMin)
|
||||
{
|
||||
// setup parametri costanti
|
||||
string source = "DB";
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
List<FermiNonQualModel> result = new List<FermiNonQualModel>();
|
||||
// cerco in redis...
|
||||
string currKey = $"{redisBaseKey}:FNQ:{idxMacchina}:{gg}:{durataMin:N0}";
|
||||
RedisValue rawData = await redisDb.StringGetAsync(currKey);
|
||||
if (rawData.HasValue)
|
||||
{
|
||||
result = JsonConvert.DeserializeObject<List<FermiNonQualModel>>($"{rawData}");
|
||||
source = "REDIS";
|
||||
}
|
||||
else
|
||||
{
|
||||
result = dbTabController.FermiNonQualificatiFilt(idxMacchina, gg, durataMin);
|
||||
// serializzp e salvo...
|
||||
rawData = JsonConvert.SerializeObject(result);
|
||||
await redisDb.StringSetAsync(currKey, rawData, FastCache);
|
||||
}
|
||||
if (result == null)
|
||||
{
|
||||
result = new List<FermiNonQualModel>();
|
||||
}
|
||||
sw.Stop();
|
||||
Log.Debug($"FermiNonQualificatiFilt | {source} | {sw.Elapsed.TotalMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Pulizia cache Redis (tutta)
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user