Fix errore data-ora ODL in retrieve stored multirow in single record

This commit is contained in:
Samuele Locatelli
2026-04-13 17:59:45 +02:00
parent aac43ec24d
commit 145399b6d2
+53 -31
View File
@@ -101,7 +101,7 @@ namespace MP.Data.Controllers
bool fatto = false;
using (var dbCtx = new MoonProContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var IdxMacchina = new SqlParameter("@pIdxMacchina", idxMacchina);
var InizioStato = new SqlParameter("@InizioStato", inizioStato);
var IdxStato = new SqlParameter("@IdxStato", idxStato);
var CodArticolo = new SqlParameter("@CodArticolo", codArt);
@@ -111,7 +111,7 @@ namespace MP.Data.Controllers
var result = dbCtx
.Database
.ExecuteSqlRaw("exec dbo.stp_DDB_InsStatoBatch @IdxMacchina, @InizioStato, @IdxStato, @CodArticolo, @Value, @MatrOpr, @pallet", IdxMacchina, InizioStato, IdxStato, CodArticolo, Value, MatrOpr, Pallet);
.ExecuteSqlRaw("exec dbo.stp_DDB_InsStatoBatch @pIdxMacchina, @InizioStato, @IdxStato, @CodArticolo, @Value, @MatrOpr, @pallet", IdxMacchina, InizioStato, IdxStato, CodArticolo, Value, MatrOpr, Pallet);
// indico eseguito!
fatto = result > 0;
@@ -504,12 +504,12 @@ namespace MP.Data.Controllers
{
try
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var dbRes = dbCtx
.DbSetODLExp
.FromSqlRaw("EXEC stp_ODL_getByMacchina @IdxMacchina", IdxMacchina)
.AsNoTracking()
.FirstOrDefault();
var pIdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var dbRes = (dbCtx.DbSetODLExp
.FromSqlRaw("EXEC stp_ODL_getByMacchina @IdxMacchina", pIdxMacchina)
.AsNoTracking()
.ToList()) // Esegue la query e scarica i risultati in memoria
.FirstOrDefault(); // Prende il primo elemento dalla lista in RAM
answ = dbRes ?? new();
}
catch (Exception exc)
@@ -532,12 +532,13 @@ namespace MP.Data.Controllers
{
try
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var dbRes = await dbCtx
.DbSetODLExp
.FromSqlRaw("EXEC stp_ODL_getByMacchina @IdxMacchina", IdxMacchina)
.AsNoTracking()
.FirstOrDefaultAsync();
var pIdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
// attenzione: se la stored resituisce una tabella, il primo elemento va recuperato in RAM!!!
var dbRes = (await dbCtx.DbSetODLExp
.FromSqlRaw("EXEC stp_ODL_getByMacchina @IdxMacchina", pIdxMacchina)
.AsNoTracking()
.ToListAsync()) // Esegue la query e scarica i risultati in memoria
.FirstOrDefault(); // Prende il primo elemento dalla lista in RAM
answ = dbRes ?? new();
}
catch (Exception exc)
@@ -562,12 +563,12 @@ namespace MP.Data.Controllers
{
try
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var IdxMacchina = new SqlParameter("@pIdxMacchina", idxMacchina);
var DataFrom = new SqlParameter("@dataFrom", dtStart);
var DataTo = new SqlParameter("@dataTo", dtEnd);
dbResult = dbCtx
.DbSetODLExp
.FromSqlRaw("EXEC stp_ODL_getByMacchinaPeriodo @IdxMacchina, @dataFrom, @dataTo", IdxMacchina, DataFrom, DataTo)
.FromSqlRaw("EXEC stp_ODL_getByMacchinaPeriodo @pIdxMacchina, @dataFrom, @dataTo", IdxMacchina, DataFrom, DataTo)
.AsNoTracking()
.ToList();
}
@@ -580,7 +581,7 @@ namespace MP.Data.Controllers
}
/// <summary>
/// Stato prod macchina
/// Conteggio PzProd Macchina
/// </summary>
/// <param name="idxMacchina"></param>
/// <returns></returns>
@@ -589,12 +590,33 @@ namespace MP.Data.Controllers
PzProdModel dbResult = new PzProdModel();
using (var dbCtx = new MoonProContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
dbResult = dbCtx
var pIdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
dbResult = (dbCtx
.DbSetPzProd
.FromSqlRaw("EXEC stp_PzProd_getByMacchina @IdxMacchina", IdxMacchina)
.FromSqlRaw("EXEC stp_PzProd_getByMacchina @IdxMacchina", pIdxMacchina)
.AsNoTracking()
.FirstOrDefault();
.ToList())
.FirstOrDefault(); // recupero da RAM
}
return dbResult;
}
/// <summary>
/// Conteggio PzProd Macchina Async
/// </summary>
/// <param name="idxMacchina"></param>
/// <returns></returns>
public async Task<PzProdModel> PezziProdMacchinaAsync(string idxMacchina)
{
PzProdModel dbResult = new PzProdModel();
using (var dbCtx = new MoonProContext(_configuration))
{
var pIdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
dbResult = (await dbCtx
.DbSetPzProd
.FromSqlRaw("EXEC stp_PzProd_getByMacchina @IdxMacchina", pIdxMacchina)
.AsNoTracking()
.ToListAsync())
.FirstOrDefault(); // recupero da RAM
}
return dbResult;
}
@@ -716,11 +738,11 @@ namespace MP.Data.Controllers
List<TransizioneStatiModel> dbResult = new List<TransizioneStatiModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var IdxMacchina = new SqlParameter("@pIdxMacchina", idxMacchina);
var IdxTipo = new SqlParameter("@IdxTipo", idxTipo);
dbResult = dbCtx
.DbSetSMES
.FromSqlRaw("exec dbo.stp_TS_getByIdxMacchIdxTipoEv @IdxMacchina, @IdxTipo", IdxMacchina, IdxTipo)
.FromSqlRaw("exec dbo.stp_TS_getByIdxMacchIdxTipoEv @pIdxMacchina, @IdxTipo", IdxMacchina, IdxTipo)
.AsNoTracking()
.AsEnumerable()
.ToList();
@@ -738,11 +760,11 @@ namespace MP.Data.Controllers
List<TransizioneStatiModel> dbResult = new List<TransizioneStatiModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var IdxMacchina = new SqlParameter("@pIdxMacchina", idxMacchina);
var IdxTipo = new SqlParameter("@IdxTipo", idxTipo);
dbResult = dbCtx
.DbSetSMES
.FromSqlRaw("exec dbo.stp_TS_getUserForcedTrans @IdxMacchina, @IdxTipo", IdxMacchina, IdxTipo)
.FromSqlRaw("exec dbo.stp_TS_getUserForcedTrans @pIdxMacchina, @IdxTipo", IdxMacchina, IdxTipo)
.AsNoTracking()
.AsEnumerable()
.ToList();
@@ -781,11 +803,11 @@ namespace MP.Data.Controllers
StatoProdModel dbResult = new StatoProdModel();
using (var dbCtx = new MoonProContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var IdxMacchina = new SqlParameter("@pIdxMacchina", idxMacchina);
var DataOra = new SqlParameter("@DataOra ", dtReq);
var rawData = dbCtx
.DbSetStatoProd
.FromSqlRaw("EXEC stp_StatoProd_getByMacchina @IdxMacchina, @DataOra ", IdxMacchina, DataOra)
.FromSqlRaw("EXEC stp_StatoProd_getByMacchina @pIdxMacchina, @DataOra ", IdxMacchina, DataOra)
.AsNoTracking()
.AsEnumerable()
.ToList();
@@ -823,11 +845,11 @@ namespace MP.Data.Controllers
List<VMSFDModel> dbResult = new List<VMSFDModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacc);
var IdxMacchina = new SqlParameter("@pIdxMacchina", idxMacc);
dbResult = dbCtx
.DbSetMSFD
.FromSqlRaw("exec dbo.stp_MSFD_getMacc @IdxMacchina", IdxMacchina)
.FromSqlRaw("exec dbo.stp_MSFD_getMacc @pIdxMacchina", IdxMacchina)
.AsNoTracking()
.AsEnumerable()
.ToList();
@@ -845,11 +867,11 @@ namespace MP.Data.Controllers
List<VMSFDModel> dbResult = new List<VMSFDModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacc);
var IdxMacchina = new SqlParameter("@pIdxMacchina", idxMacc);
dbResult = dbCtx
.DbSetMSFD
.FromSqlRaw("exec dbo.stp_MSFD_getMulti @IdxMacchina", IdxMacchina)
.FromSqlRaw("exec dbo.stp_MSFD_getMulti @pIdxMacchina", IdxMacchina)
.AsNoTracking()
.AsEnumerable()
.ToList();