Aggiunta metodi FixDayOdl (con/senza conf pezzi)

This commit is contained in:
Samuele Locatelli
2026-04-15 08:23:10 +02:00
parent 732449f516
commit e5178e19fc
8 changed files with 252 additions and 4 deletions
+100
View File
@@ -572,6 +572,77 @@ namespace MP.Data.Controllers
return dbResult;
}
/// <summary>
/// Generazione automatica ODL
/// </summary>
/// <param name="idxMacchina"></param>
/// <returns></returns>
public async Task<bool> OdlAutoDayGenAsync(string idxMacchina, DateTime dataInizio, DateTime dataFine, string codArticolo)
{
bool answ = false;
using (var dbCtx = new MoonProContext(_configuration))
{
try
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var DataInizio = new SqlParameter("@DataInizio", dataInizio);
var DataFine = new SqlParameter("@DataFine", dataFine);
var CodArticolo = new SqlParameter("@CodArticolo", codArticolo);
var result = dbCtx
.Database
.ExecuteSqlRaw("EXEC stp_ODL_AutoDayGener @IdxMacchina, @DataInizio, @DataFine, @CodArticolo", IdxMacchina, DataInizio, DataFine, CodArticolo);
// indico eseguito!
answ = result > 0;
}
catch (Exception exc)
{
Log.Error($"Eccezione durante stp_ODL_AutoDayGener{Environment.NewLine}{exc}");
}
}
return answ;
}
/// <summary>
/// Generazione automatica ODL completa
/// </summary>
/// <param name="idxMacchina"></param>
/// <returns></returns>
public async Task<bool> OdlAutoDayGenFullAsync(string idxMacchina, DateTime dataInizio, DateTime dataFine, string codArticolo, int? pzPODL, int? pzPallet, string? keyRichiesta, int? tcAssegnato, string? codGruppo, bool flgCreaPODL, bool flgCheckTC)
{
bool answ = false;
using (var dbCtx = new MoonProContext(_configuration))
{
try
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
var DataInizio = new SqlParameter("@DataInizio", dataInizio);
var DataFine = new SqlParameter("@DataFine", dataFine);
var CodArticolo = new SqlParameter("@CodArticolo", codArticolo);
var PzPODL = new SqlParameter("@PzPODL", pzPODL);
var PzPallet = new SqlParameter("@PzPallet", pzPallet);
var KeyRichiesta = new SqlParameter("@KeyRichiesta", keyRichiesta);
var TCAssegnato = new SqlParameter("@TCAssegnato", tcAssegnato);
var CodGruppo = new SqlParameter("@CodGruppo", codGruppo);
var FlgCreaPODL = new SqlParameter("@flgCreaPODL", flgCreaPODL);
var FlgCheckTC = new SqlParameter("@flgCheckTC", flgCheckTC);
var result = dbCtx
.Database
.ExecuteSqlRaw("EXEC stp_ODL_AutoDayGenerFull @IdxMacchina, @DataInizio, @DataFine, @CodArticolo, @PzPODL, @PzPallet, @KeyRichiesta, @TCAssegnato, @CodGruppo, @flgCreaPODL, @flgCheckTC", IdxMacchina, DataInizio, DataFine, CodArticolo, PzPODL, PzPallet, KeyRichiesta, TCAssegnato, CodGruppo, FlgCreaPODL, FlgCheckTC);
// indico eseguito!
answ = result > 0;
}
catch (Exception exc)
{
Log.Error($"Eccezione durante stp_ODL_AutoDayGenerFull{Environment.NewLine}{exc}");
}
}
return answ;
}
/// <summary>
/// ODL corrente macchina
/// </summary>
@@ -629,6 +700,35 @@ namespace MP.Data.Controllers
return answ;
}
/// <summary>
/// ODL corrente macchina
/// </summary>
/// <param name="idxMacchina"></param>
/// <returns></returns>
public async Task<ODLExpModel> OdlLastByMaccAsync(string idxMacchina)
{
ODLExpModel answ = new();
using (var dbCtx = new MoonProContext(_configuration))
{
try
{
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_getLastByMacchina @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)
{
Log.Error($"Eccezione durante OdlCurrByMaccAsync{Environment.NewLine}{exc}");
}
}
return answ;
}
/// <summary>
/// Elenco ODL data macchina e periodo
/// </summary>