ok pagina commenti
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using MP.Data.DatabaseModels;
|
||||
using MP.Data.DTO;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -355,6 +356,31 @@ namespace MP.Data.Controllers
|
||||
}
|
||||
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>
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
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; } = "";
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using MP.Data.DatabaseModels;
|
||||
using MP.Data.DTO;
|
||||
using NLog;
|
||||
|
||||
#nullable disable
|
||||
@@ -56,6 +57,7 @@ namespace MP.Data
|
||||
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<VocabolarioModel> DbSetVocabolario { get; set; }
|
||||
public virtual DbSet<AnagOperatoriModel> DbOperatori { get; set; }
|
||||
public virtual DbSet<Gruppi2OperModel> DbSetGrp2Oper { get; set; }
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using MP.Data.DatabaseModels;
|
||||
using MP.Data.DTO;
|
||||
using MP.Data.Objects;
|
||||
using Newtonsoft.Json;
|
||||
using NLog;
|
||||
@@ -217,6 +218,45 @@ 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
|
||||
/// --> dtEvent)
|
||||
|
||||
Reference in New Issue
Block a user