ok lettura vista pareto gloable stati amcchina
This commit is contained in:
@@ -907,6 +907,34 @@ namespace MP.MONO.Data.Controllers
|
||||
return currMachDto;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Recupero pareto status impianto
|
||||
/// </summary>
|
||||
/// <param name="MachineId">Macchina selezionata</param>
|
||||
/// <param name="from">inizio periodo</param>
|
||||
/// <param name="to">fine periodo</param>
|
||||
/// <returns></returns>
|
||||
public List<ParetoStatusModel> ParetoStatusMach(int MachineId, DateTime from, DateTime to)
|
||||
{
|
||||
List<ParetoStatusModel> dbResult = new List<ParetoStatusModel>();
|
||||
using (MapoMonoContext localDbCtx = new MapoMonoContext())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbResult = localDbCtx
|
||||
.DbSetParetoStatus
|
||||
. OrderByDescending(x => x.TotDuration)
|
||||
.ToList();
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante ParetoStatusMach{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupera elenco contatori ammessi
|
||||
/// </summary>
|
||||
@@ -1274,28 +1302,42 @@ namespace MP.MONO.Data.Controllers
|
||||
{
|
||||
try
|
||||
{
|
||||
float duration = 0;
|
||||
bool needInsert = false;
|
||||
// ultimo inserito...
|
||||
var lastrec = localDbCtx
|
||||
var lastRec = localDbCtx
|
||||
.DbSetStatusLog
|
||||
.Where(x => x.MachineId == newRec.MachineId)
|
||||
.OrderByDescending(x => x.DtRif)
|
||||
.FirstOrDefault();
|
||||
|
||||
// se trovato calcolo durata...
|
||||
if (lastrec != null)
|
||||
// se non trovato inserisco comunque
|
||||
if (lastRec == null)
|
||||
{
|
||||
duration = (float)DateTime.Now.Subtract(lastrec.DtRif).TotalMinutes;
|
||||
needInsert = true;
|
||||
}
|
||||
// se trovato controllo variazione...
|
||||
else
|
||||
{
|
||||
// se cambia stato...
|
||||
if (lastRec.CodStatus != newRec.CodStatus)
|
||||
{
|
||||
needInsert = true;
|
||||
}
|
||||
// oppure se è passato il giorno...
|
||||
else if (lastRec.DtRif.Date < newRec.DtRif.Date)
|
||||
{
|
||||
needInsert = true;
|
||||
}
|
||||
// calcolo durata vecchio record...
|
||||
lastRec.Duration = (float)DateTime.Now.Subtract(lastRec.DtRif).TotalMinutes;
|
||||
}
|
||||
|
||||
// aggiorno durata
|
||||
newRec.Duration = duration;
|
||||
|
||||
// inserisco record
|
||||
|
||||
localDbCtx
|
||||
.DbSetStatusLog
|
||||
.Add(newRec);
|
||||
if (needInsert)
|
||||
{
|
||||
localDbCtx
|
||||
.DbSetStatusLog
|
||||
.Add(newRec);
|
||||
}
|
||||
|
||||
// salvo
|
||||
localDbCtx.SaveChanges();
|
||||
|
||||
Reference in New Issue
Block a user