Fix selezione period e ODL x controlli
This commit is contained in:
@@ -1042,6 +1042,29 @@ namespace MP.Data.Controllers
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco ultimi ODL x macchina
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina">Macchina</param>
|
||||
/// <param name="numRec"></param>
|
||||
/// <returns></returns>
|
||||
public List<vSelOdlModel> VSOdlGetLastByMacc(string idxMacchina, int numRec)
|
||||
{
|
||||
List<vSelOdlModel> dbResult = new List<vSelOdlModel>();
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var IdxMacc = new SqlParameter("@IdxMacchina", idxMacchina);
|
||||
var NumRec = new SqlParameter("@numRec", numRec);
|
||||
|
||||
dbResult = dbCtx
|
||||
.DbSetVSODL
|
||||
.FromSqlRaw("EXEC stp_vsODL_getLastByMacc @IdxMacchina, @numRec", IdxMacc, NumRec)
|
||||
.AsNoTracking()
|
||||
.ToList();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
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 vSelOdlModel
|
||||
{
|
||||
[Key]
|
||||
public int value { get; set; } = 0;
|
||||
public string label { get; set; } = "";
|
||||
public DateTime conditio { get; set; } = DateTime.Now;
|
||||
}
|
||||
}
|
||||
@@ -84,12 +84,14 @@ namespace MP.Data
|
||||
public virtual DbSet<ST_Template> DbSetStTemplate { get; set; }
|
||||
public virtual DbSet<ST_TemplateRows> DbSetStTemplateRows { get; set; }
|
||||
|
||||
|
||||
public virtual DbSet<vSelEventiBCodeModel> DbSetVSEB { get; set; }
|
||||
public virtual DbSet<CommentiModel> DbSetCommenti { get; set; }
|
||||
public virtual DbSet<FermiNonQualModel> DbSetFNQ { get; set; }
|
||||
|
||||
|
||||
public virtual DbSet<vSelEventiBCodeModel> DbSetVSEB { get; set; }
|
||||
public virtual DbSet<vSelOdlModel> DbSetVSODL { get; set; }
|
||||
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Private Methods
|
||||
@@ -544,6 +546,12 @@ namespace MP.Data
|
||||
{
|
||||
entity.HasKey(e => new { e.IdxMacchina, e.InizioStato });
|
||||
});
|
||||
modelBuilder.Entity<vSelOdlModel>(entity =>
|
||||
{
|
||||
//entity.HasKey(e => e.value);
|
||||
entity.ToView("v_selODL");
|
||||
});
|
||||
|
||||
|
||||
OnModelCreatingPartial(modelBuilder);
|
||||
}
|
||||
|
||||
@@ -1163,6 +1163,42 @@ namespace MP.Data.Services
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco ultimi ODL x macchina
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina">Macchina</param>
|
||||
/// <param name="numRec"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<vSelOdlModel>> VSOdlGetLastByMacc(string idxMacchina, int numRec)
|
||||
{
|
||||
string source = "DB";
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
List<vSelOdlModel>? result = new List<vSelOdlModel>();
|
||||
// cerco in redis...
|
||||
string currKey = $"{redisBaseKey}:VSODL:{idxMacchina}:{numRec}";
|
||||
RedisValue rawData = await redisDb.StringGetAsync(currKey);
|
||||
if (rawData.HasValue)
|
||||
{
|
||||
result = JsonConvert.DeserializeObject<List<vSelOdlModel>>($"{rawData}");
|
||||
source = "REDIS";
|
||||
}
|
||||
else
|
||||
{
|
||||
result = await Task.FromResult(dbTabController.VSOdlGetLastByMacc(idxMacchina, numRec));
|
||||
// serializzp e salvo...
|
||||
rawData = JsonConvert.SerializeObject(result);
|
||||
await redisDb.StringSetAsync(currKey, rawData, LongCache);
|
||||
}
|
||||
if (result == null)
|
||||
{
|
||||
result = new List<vSelOdlModel>();
|
||||
}
|
||||
sw.Stop();
|
||||
Log.Debug($"VSOdlGetLastByMacc | {source} | {sw.Elapsed.TotalMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Fields
|
||||
|
||||
Reference in New Issue
Block a user