Eliminato riferimenti a tab spsotata in REDIS
This commit is contained in:
@@ -4,15 +4,12 @@ using Microsoft.Extensions.Configuration;
|
||||
using MP.Data.DatabaseModels;
|
||||
using MP.Data.DTO;
|
||||
using NLog;
|
||||
using NLog.LayoutRenderers;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading.Tasks;
|
||||
using ZXing;
|
||||
using static EgwCoreLib.Utils.DtUtils;
|
||||
|
||||
namespace MP.Data.Controllers
|
||||
@@ -551,7 +548,9 @@ namespace MP.Data.Controllers
|
||||
/// <param name="currPeriodo"></param>
|
||||
/// <param name="valMode"></param>
|
||||
/// <param name="intReq"></param>
|
||||
/// <returns>Restitusice list dei record statistiche raccolti (da integrare a quelli rpesenti in Redis...)</returns>
|
||||
/// <returns>
|
||||
/// Restitusice list dei record statistiche raccolti (da integrare a quelli rpesenti in Redis...)
|
||||
/// </returns>
|
||||
public async Task<List<StatDedupDTO>> FluxLogDataRedux(string idxMaccSel, List<string> fluxList, Periodo currPeriodo, Enum.ValSelection valMode, Enum.DataInterval intReq, int maxItem)
|
||||
{
|
||||
List<StatDedupDTO> procStats = new List<StatDedupDTO>();
|
||||
@@ -562,12 +561,15 @@ namespace MP.Data.Controllers
|
||||
case Enum.DataInterval.minute:
|
||||
step = TimeSpan.FromMinutes(1.00 / maxItem);
|
||||
break;
|
||||
|
||||
case Enum.DataInterval.hour:
|
||||
step = TimeSpan.FromHours(1.00 / maxItem);
|
||||
break;
|
||||
|
||||
case Enum.DataInterval.day:
|
||||
step = TimeSpan.FromDays(1.00 / maxItem);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -592,7 +594,8 @@ namespace MP.Data.Controllers
|
||||
// dbContext x ogni singolo flusso
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
// li processo per intervallo richiesto, cercando dati nel periodo e selezionando VC
|
||||
// li processo per intervallo richiesto, cercando dati nel periodo e
|
||||
// selezionando VC
|
||||
while (!setCompleted)
|
||||
{
|
||||
// ora recupero TUTTI i dati della macchina
|
||||
@@ -611,7 +614,6 @@ namespace MP.Data.Controllers
|
||||
}
|
||||
List<Periodo> listPeriodi = new List<Periodo>();
|
||||
|
||||
|
||||
switch (valMode)
|
||||
{
|
||||
case Enum.ValSelection.First:
|
||||
@@ -620,12 +622,14 @@ namespace MP.Data.Controllers
|
||||
// salvo periodo!
|
||||
listPeriodi.Add(new Periodo(recStart.dtEvento, dtCursEnd));
|
||||
break;
|
||||
|
||||
case Enum.ValSelection.Last:
|
||||
// recupero ultimo item
|
||||
var recEnd = currFlux.LastOrDefault();
|
||||
// salvo periodo!
|
||||
listPeriodi.Add(new Periodo(dtCursStart, recEnd.dtEvento));
|
||||
break;
|
||||
|
||||
case Enum.ValSelection.Center:
|
||||
int idx = 1;
|
||||
// per iniziare mi metto a 1/(n+1) rec come step
|
||||
@@ -644,6 +648,7 @@ namespace MP.Data.Controllers
|
||||
// aggiungo ultimo...
|
||||
listPeriodi.Add(new Periodo(recCent.dtEvento.AddSeconds(1), dtCursEnd));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -682,6 +687,31 @@ namespace MP.Data.Controllers
|
||||
return procStats;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco ultimi n record flux log dato macchina e flusso (ordinato x data registrazione)
|
||||
/// </summary>
|
||||
/// <param name="DtMax">Data massima x eventi</param>
|
||||
/// <param name="DtMin">Data minima x eventi</param>
|
||||
/// <param name="IdxMacchina">* = tutte, altrimenti solo x una data macchina</param>
|
||||
/// <param name="CodFlux">*=tutti, altrimenti solo selezionato</param>
|
||||
/// <param name="MaxRec">numero massimo record da restituire</param>
|
||||
/// <returns></returns>
|
||||
public List<FluxLog> FluxLogGetLastFilt(DateTime DtMax, DateTime DtMin, string IdxMacchina, string CodFlux, int MaxRec)
|
||||
{
|
||||
List<FluxLog> dbResult = new List<FluxLog>();
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
dbResult = dbCtx
|
||||
.DbSetFluxLog
|
||||
.AsNoTracking()
|
||||
.Where(x => (x.dtEvento >= DtMin && x.dtEvento <= DtMax) && (IdxMacchina == "*" || x.IdxMacchina == IdxMacchina) && (CodFlux == "*" || x.CodFlux == CodFlux))
|
||||
.OrderByDescending(x => x.dtEvento)
|
||||
.Take(MaxRec)
|
||||
.ToList();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Stored manutenzione del DB
|
||||
/// </summary>
|
||||
@@ -708,62 +738,13 @@ namespace MP.Data.Controllers
|
||||
var dbResult = dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("EXEC man.stp_Utility_Maintanance");
|
||||
//.ExecuteSqlRaw("EXEC man.stp_Utility_Maintanance @FlgExec, @FlgUpdStat, @FlgSave, @min_page_count, @min_avg_fragmentation_in_percent, @max_avg_fragmentation_per_rebuild", pFlgExec, pFlgUpdStat, pFlgSave, pMinPgCnt, pMinAvgFrag, pMaxAvgFrag);
|
||||
//.ExecuteSqlRaw("EXEC man.stp_Utility_Maintanance @FlgExec, @FlgUpdStat, @FlgSave, @min_page_count, @min_avg_fragmentation_in_percent, @max_avg_fragmentation_per_rebuild", pFlgExec, pFlgUpdStat, pFlgSave, pMinPgCnt, pMinAvgFrag, pMaxAvgFrag);
|
||||
fatto = true;
|
||||
}
|
||||
Log.Info($"FINE ForceDbMaint");
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Inserimento record risultati deduplica FluxLog
|
||||
/// </summary>
|
||||
/// <param name="rec2ins"></param>
|
||||
/// <returns></returns>
|
||||
protected bool LogFLDedupInsert(List<LogFLDedupModel> rec2ins)
|
||||
{
|
||||
bool fatto = false;
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
dbCtx.DbSetLogFLDedup.AddRange(rec2ins);
|
||||
var res = dbCtx.SaveChanges();
|
||||
fatto = res != 0;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Errore in fase inserimento log dedup x FL{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco ultimi n record flux log dato macchina e flusso (ordinato x data registrazione)
|
||||
/// </summary>
|
||||
/// <param name="DtMax">Data massima x eventi</param>
|
||||
/// <param name="DtMin">Data minima x eventi</param>
|
||||
/// <param name="IdxMacchina">* = tutte, altrimenti solo x una data macchina</param>
|
||||
/// <param name="CodFlux">*=tutti, altrimenti solo selezionato</param>
|
||||
/// <param name="MaxRec">numero massimo record da restituire</param>
|
||||
/// <returns></returns>
|
||||
public List<FluxLog> FluxLogGetLastFilt(DateTime DtMax, DateTime DtMin, string IdxMacchina, string CodFlux, int MaxRec)
|
||||
{
|
||||
List<FluxLog> dbResult = new List<FluxLog>();
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
dbResult = dbCtx
|
||||
.DbSetFluxLog
|
||||
.AsNoTracking()
|
||||
.Where(x => (x.dtEvento >= DtMin && x.dtEvento <= DtMax) && (IdxMacchina == "*" || x.IdxMacchina == IdxMacchina) && (CodFlux == "*" || x.CodFlux == CodFlux))
|
||||
.OrderByDescending(x => x.dtEvento)
|
||||
.Take(MaxRec)
|
||||
.ToList();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco giacenze
|
||||
/// </summary>
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
using System;
|
||||
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
|
||||
{
|
||||
[Table("LogFLDedup")]
|
||||
public partial class LogFLDedupModel
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
public int DedupIdx { get; set; } = 0;
|
||||
|
||||
[MaxLength(50)]
|
||||
public string IdxMacchina { get; set; } = "";
|
||||
|
||||
[MaxLength(50)]
|
||||
public string CodFlux { get; set; } = "";
|
||||
|
||||
public DateTime DtRif { get; set; }=DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// Num record processati
|
||||
/// </summary>
|
||||
public int NumRec { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Tempo processing (secondi)
|
||||
/// </summary>
|
||||
public double ProcTime { get; set; } = 1;
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
}
|
||||
@@ -89,10 +89,7 @@ namespace MP.Data
|
||||
public virtual DbSet<ST_TemplateRows> DbSetStTemplateRows { get; set; }
|
||||
|
||||
public virtual DbSet<CommentiModel> DbSetCommenti { get; set; }
|
||||
public virtual DbSet<FermiNonQualModel> DbSetFNQ { get; set; }
|
||||
public virtual DbSet<LogFLDedupModel> DbSetLogFLDedup { get; set; }
|
||||
|
||||
|
||||
public virtual DbSet<FermiNonQualModel> DbSetFNQ { get; set; }
|
||||
|
||||
public virtual DbSet<vSelEventiBCodeModel> DbSetVSEB { get; set; }
|
||||
public virtual DbSet<vSelOdlModel> DbSetVSODL { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user