Completato fix metodo AutoODL (da testare!)
This commit is contained in:
@@ -96,6 +96,140 @@ namespace MP.Data.Controllers
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Apre in automatico un nuovo PODL/ODL chiudendo l'attuale (aperto)
|
||||
/// </summary>
|
||||
/// <param name="idxOdl">Idx ODL corrente</param>
|
||||
/// <param name="MatrOpr">Matricola operatore</param>
|
||||
/// <param name="idxMacchina">idx macchina da confermare</param>
|
||||
/// <param name="tCRich">TempoCiclo richiesto in attrezzaggio</param>
|
||||
/// <param name="pzPallet"># pz pallet</param>
|
||||
/// <param name="note">note ODL</param>
|
||||
/// <param name="startNewOdl">bool per avvio nuovo ODL (def: true)</param>
|
||||
/// <param name="qtyRich">Qty da produrre, deve essere >0</param>
|
||||
/// <param name="keyRich">KeyRich esterno, se vuoto uso vecchia, se KIT sovrascritto con KeyKit</param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> AutoStartOdlAsync(int idxOdl, int MatrOpr, string idxMacchina, decimal tCRich, int pzPallet, string note, bool startNewOdl, int qtyRich, string keyRich)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var IdxOdl = new SqlParameter("@idxOdl ", idxOdl);
|
||||
var MatrApp = new SqlParameter("@MatrApp ", MatrOpr);
|
||||
var IdxMacchina = new SqlParameter("@idxMacchina", idxMacchina);
|
||||
var TCRich = new SqlParameter("@TCRichAttr", tCRich);
|
||||
var PzPallet = new SqlParameter("@PzPallet", pzPallet);
|
||||
var Note = new SqlParameter("@Note", note);
|
||||
var StartNewOdl = new SqlParameter("@StartNewOdl", startNewOdl);
|
||||
var QtyRich = new SqlParameter("@QtyRich", qtyRich);
|
||||
var KeyRichiesta = new SqlParameter("@KeyRichiesta", keyRich);
|
||||
|
||||
var result = await dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRawAsync("EXEC stp_ODL_AutoStart @idxOdl, @MatrApp, @idxMacchina, @TCRichAttr, @PzPallet, @Note, @StartNewOdl, @QtyRich, @KeyRichiesta", IdxOdl, MatrApp, IdxMacchina, TCRich, PzPallet, Note, StartNewOdl, QtyRich, KeyRichiesta);
|
||||
|
||||
// indico eseguito!
|
||||
answ = result > 0;
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione in ConfermaProdMacchina:{Environment.NewLine}{exc}");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua conferma prod macchina dell'intero periodo da confermare (ultima conferma - dtEvent)
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina">idx macchina da confermare</param>
|
||||
/// <param name="modoConfProd">0=periodo, 1 = giorno, 2 = turno</param>
|
||||
/// <param name="numPzConfermati">qta pezzi BUONI da confermare</param>
|
||||
/// <param name="numPzScarto">qta pezzi SCARTO da confermare</param>
|
||||
/// <param name="DataOraApp">DataOra in cui registrare approvazione</param>
|
||||
/// <param name="MatrOpr">Matricola operatore</param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> ConfermaProdMacchinaAsync(string idxMacchina, int modoConfProd, int numPzConfermati, int numPzScarto, DateTime DataOraApp, int MatrOpr)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
var rigaProd = await StatoProdMacchinaAsync(idxMacchina, DateTime.Now);
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var IdxMacchina = new SqlParameter("@idxMacchina", idxMacchina);
|
||||
var MatrApp = new SqlParameter("@MatrApp ", MatrOpr);
|
||||
var DataFrom = new SqlParameter("@dataFrom ", rigaProd.DataFrom);
|
||||
var DataTo = new SqlParameter("@dataTo", DataOraApp);
|
||||
var PezziConf = new SqlParameter("@pezziConf", numPzConfermati);
|
||||
var PezziScar = new SqlParameter("@pezziScar", numPzScarto);
|
||||
var TipoConf = new SqlParameter("@TipoConf", modoConfProd);
|
||||
var DtOraApp = new SqlParameter("@DataOraApp", DataOraApp);
|
||||
var TestConferma = new SqlParameter("@TestConferma", true);
|
||||
|
||||
var result = await dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRawAsync("EXEC stp_ConfermaProduzCompleta @idxMacchina, @MatrApp, @dataFrom, @dataTo, @pezziConf, @pezziScar, @TipoConf, @DataOraApp, @TestConferma ", IdxMacchina, MatrApp, DataFrom, DataTo, PezziConf, PezziScar, TipoConf, DtOraApp, TestConferma);
|
||||
|
||||
// indico eseguito!
|
||||
answ = result > 0;
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione in ConfermaProdMacchina:{Environment.NewLine}{exc}");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua conferma prod macchina dell'intero periodo da confermare (ultima conferma - dtEvent)
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina">idx macchina da confermare</param>
|
||||
/// <param name="modoConfProd">0=periodo, 1 = giorno, 2 = turno</param>
|
||||
/// <param name="numPzConfermati">qta pezzi BUONI da confermare</param>
|
||||
/// <param name="numPzLasciati">qta pezzi LASCIATI da confermare</param>
|
||||
/// <param name="numPzScarto">qta pezzi SCARTO da confermare</param>
|
||||
/// <param name="DataOraApp">DataOra in cui registrare approvazione</param>
|
||||
/// <param name="MatrOpr">Matricola operatore</param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> ConfermaProdMacchinaFullAsync(string idxMacchina, int modoConfProd, int numPzConfermati, int numPzLasciati, int numPzScarto, DateTime DataOraApp, int MatrOpr)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
var rigaProd = await StatoProdMacchinaAsync(idxMacchina, DateTime.Now);
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var IdxMacchina = new SqlParameter("@idxMacchina", idxMacchina);
|
||||
var MatrApp = new SqlParameter("@MatrApp ", MatrOpr);
|
||||
var DataFrom = new SqlParameter("@dataFrom ", rigaProd.DataFrom);
|
||||
var DataTo = new SqlParameter("@dataTo", DataOraApp);
|
||||
var PezziConf = new SqlParameter("@pezziConf", numPzConfermati);
|
||||
var PezziLasc = new SqlParameter("@pezziLasciati", numPzLasciati);
|
||||
var PezziScar = new SqlParameter("@pezziScar", numPzScarto);
|
||||
var TipoConf = new SqlParameter("@TipoConf", modoConfProd);
|
||||
var DtOraApp = new SqlParameter("@DataOraApp", DataOraApp);
|
||||
var TestConferma = new SqlParameter("@TestConferma", true);
|
||||
var Force = new SqlParameter("@Force", false);
|
||||
|
||||
var result = await dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRawAsync("EXEC stp_ConfermaProduzCompletaFull @idxMacchina, @MatrApp, @dataFrom, @dataTo, @pezziConf, @pezziLasciati, @pezziScar, @TipoConf, @DataOraApp, @TestConferma,@Force", IdxMacchina, MatrApp, DataFrom, DataTo, PezziConf, PezziLasc, PezziScar, TipoConf, DtOraApp, TestConferma, Force);
|
||||
|
||||
// indico eseguito!
|
||||
answ = result > 0;
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione in ConfermaProdMacchinaAsync:{Environment.NewLine}{exc}");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Record ConfFlux dato macchina (oppure tutti se vuoto)
|
||||
/// </summary>
|
||||
@@ -326,6 +460,65 @@ namespace MP.Data.Controllers
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
/// <summary>
|
||||
/// Fix ODL per macchine SLAVE
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <param name="numDayPrev"></param>
|
||||
/// <param name="doInsert"></param>
|
||||
/// <returns></returns>
|
||||
public bool OdlFixMachineSlave(string idxMacchina, int numDayPrev, int doInsert)
|
||||
{
|
||||
bool fatto = false;
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
var IdxMacc = new SqlParameter("@IdxMacchina", idxMacchina);
|
||||
var NumDayPrev = new SqlParameter("@NumDayPrev", numDayPrev);
|
||||
var DoInsert = new SqlParameter("@DoInsert", doInsert);
|
||||
var result = dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("EXEC stp_ODL_fixMachineSlave @IdxMacchina, @NumDayPrev, @DoInsert", IdxMacc, NumDayPrev, DoInsert);
|
||||
fatto = result != 0;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante OdlFixMachineSlave{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Fix ODL per macchine SLAVE Async
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <param name="numDayPrev"></param>
|
||||
/// <param name="doInsert"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> OdlFixMachineSlaveAsync(string idxMacchina, int numDayPrev, int doInsert)
|
||||
{
|
||||
bool fatto = false;
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
var IdxMacc = new SqlParameter("@IdxMacchina", idxMacchina);
|
||||
var NumDayPrev = new SqlParameter("@NumDayPrev", numDayPrev);
|
||||
var DoInsert = new SqlParameter("@DoInsert", doInsert);
|
||||
var result = await dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRawAsync("EXEC stp_ODL_fixMachineSlave @IdxMacchina, @NumDayPrev, @DoInsert", IdxMacc, NumDayPrev, DoInsert);
|
||||
fatto = result != 0;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante OdlFixMachineSlaveAsync{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Chiamata x stored recupero FluxLog x macchina (first)
|
||||
@@ -1130,7 +1323,38 @@ namespace MP.Data.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione in RicalcMse:{Environment.NewLine}{exc}");
|
||||
Log.Error($"Eccezione in RecalcMse:{Environment.NewLine}{exc}");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Effettua ricalcolo MSE x macchina indicata
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina">idx macchina da confermare</param>
|
||||
/// <param name="maxAgeSec">Num massimo secondi di "vecchiaia" del dato</param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> RecalcMseAsync(string idxMacchina, int maxAgeSec)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
var rigaProd = await StatoProdMacchinaAsync(idxMacchina, DateTime.Now);
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var MaxAgeSec = new SqlParameter("@maxAgeSec ", maxAgeSec);
|
||||
var IdxMacchina = new SqlParameter("@idxMacchina", idxMacchina);
|
||||
|
||||
var result = await dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRawAsync("EXEC stp_MSE_recalc @maxAgeSec, @idxMacchina ", MaxAgeSec, IdxMacchina);
|
||||
|
||||
// indico eseguito!
|
||||
answ = result > 0;
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione in RecalcMseAsync:{Environment.NewLine}{exc}");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user