diff --git a/MP-TAB/WebUserControls/BaseUserControl.cs b/MP-TAB/WebUserControls/BaseUserControl.cs index 315fb269..373f2d19 100644 --- a/MP-TAB/WebUserControls/BaseUserControl.cs +++ b/MP-TAB/WebUserControls/BaseUserControl.cs @@ -9,6 +9,15 @@ namespace MoonProTablet.WebUserControls { public class BaseUserControl : System.Web.UI.UserControl //SteamWare.UserControl // { + #region Protected Fields + + /// + /// indica conferma con rettifica (evento 121) + /// + protected bool confRett = memLayer.ML.CRB("confRett"); + + #endregion Protected Fields + #region Internal Fields /// diff --git a/MP-TAB/WebUserControls/mod_ODL.ascx.cs b/MP-TAB/WebUserControls/mod_ODL.ascx.cs index 31a11470..36760884 100644 --- a/MP-TAB/WebUserControls/mod_ODL.ascx.cs +++ b/MP-TAB/WebUserControls/mod_ODL.ascx.cs @@ -582,10 +582,20 @@ namespace MoonProTablet.WebUserControls private void confermaProdOdl(bool confZero) { // 2016.11.17 NOTA: introdotti scarti, li confermiamo SEMPRE a zero se in setup, perĂ² da valutare SE a FINE ATTREZZAGGIO chiedere num pezzi e num scarti (saldo zero buoni) da inserire... + bool fatto = false; + DateTime adesso = DateTime.Now; if (confZero) { // confermo produzione ZERO pezzi (in setup) - DataLayerObj.confermaProdMacchina(idxMacchinaFix, memLayer.ML.CRI("modoConfProd"), 0, 0, DateTime.Now); + if (confRett) + { + // confermo al netto dei pezzi lasciati... + fatto = DataLayerObj.confermaProdMacchinaFull(idxMacchinaFix, memLayer.ML.CRI("modoConfProd"), 0, 0, 0, adesso); + } + else + { + fatto = DataLayerObj.confermaProdMacchina(idxMacchinaFix, memLayer.ML.CRI("modoConfProd"), 0, 0, adesso); + } } else // se NON sono in setup verifico se ho pz da confermare { @@ -593,7 +603,16 @@ namespace MoonProTablet.WebUserControls DS_ProdTempi.stp_PzProd_getByMacchinaRow rigaProd = DataLayerObj.taPzProd2conf.GetData(idxMacchinaFix)[0]; if (rigaProd.pezziNonConfermati > 0) { - DataLayerObj.confermaProdMacchina(idxMacchinaFix, memLayer.ML.CRI("modoConfProd"), rigaProd.pezziNonConfermati, 0, DateTime.Now); + // confermo produzione ZERO pezzi (in setup) + if (confRett) + { + // confermo al netto dei pezzi lasciati... + fatto = DataLayerObj.confermaProdMacchinaFull(idxMacchinaFix, memLayer.ML.CRI("modoConfProd"), rigaProd.pezziNonConfermati, 0, 0, adesso); + } + else + { + fatto = DataLayerObj.confermaProdMacchina(idxMacchinaFix, memLayer.ML.CRI("modoConfProd"), rigaProd.pezziNonConfermati, 0, adesso); + } } } } diff --git a/MP-TAB/WebUserControls/mod_confProd.ascx.cs b/MP-TAB/WebUserControls/mod_confProd.ascx.cs index 4e83f6b9..2e678258 100644 --- a/MP-TAB/WebUserControls/mod_confProd.ascx.cs +++ b/MP-TAB/WebUserControls/mod_confProd.ascx.cs @@ -7,15 +7,6 @@ namespace MoonProTablet.WebUserControls { public partial class mod_confProd : BaseUserControl { - #region Protected Fields - - /// - /// indica conferma con rettifica (evento 121) - /// - protected bool confRett = memLayer.ML.CRB("confRett"); - - #endregion Protected Fields - #region Public Fields /// diff --git a/MapoDb/DataLayer.cs b/MapoDb/DataLayer.cs index a22039b6..8152f4aa 100644 --- a/MapoDb/DataLayer.cs +++ b/MapoDb/DataLayer.cs @@ -16,6 +16,15 @@ namespace MapoDb /// public class DataLayer { + #region Protected Fields + + /// + /// indica conferma con rettifica (evento 121) + /// + protected bool confRett = memLayer.ML.CRB("confRett"); + + #endregion Protected Fields + #region Public Fields /// @@ -1152,7 +1161,6 @@ namespace MapoDb try { DS_ProdTempi.stp_PzProd_getByMacchinaRow rigaProd = taPzProd2conf.GetData(idxMacchina.ToString())[0]; - // chiamo stored stp_ConfermaProduzCompleta(idxMacchina,MatrApp,dataFrom,dataTo,pezziConf) taPzProd2conf.stp_ConfermaProduzCompleta(idxMacchina, MatrOpr, rigaProd.DataFrom, DataOraApp, numPzConfermati, numPzScarto, modoConfProd, DataOraApp, true); // indico eseguito! answ = true; @@ -1495,11 +1503,27 @@ namespace MapoDb // chiamo conferma produzione... try { - taPzProd2conf.stp_ConfermaProduzCompleta(currData[0].IdxMacchina, MatrOpr, DateTime.Now.AddDays(-10), DateTime.Now, qtyConf, 0, 1, DateTime.Now, false); + string chiamata = confRett ? "confermaProdMacchinaFull" : "confermaProdMacchina"; + logger.lg.scriviLog($"Chiamata a {chiamata} con parametri {currData[0].IdxMacchina} |{MatrOpr} | {DateTime.Now.AddDays(-10)} | {DateTime.Now} | {qtyConf} | 0 | 1 | {DateTime.Now} | false", tipoLog.INFO); + string idxMacchinaSel = currData[0].IdxMacchina; + bool fatto = false; + if (confRett) + { + // confermo al netto dei pezzi lasciati... + fatto = confermaProdMacchinaFull(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, 0, adesso); + } + else + { + fatto = confermaProdMacchina(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, adesso); + } + if (!fatto) + { + logger.lg.scriviLog($"ERRORE in chiamata {chiamata}", tipoLog.ERROR); + } } catch (Exception exc) { - logger.lg.scriviLog($"Eccezione in stp_ConfermaProduzCompleta{Environment.NewLine}{exc}", tipoLog.EXCEPTION); + logger.lg.scriviLog($"Eccezione in ConfermaProduzione{Environment.NewLine}{exc}", tipoLog.EXCEPTION); } } // attendo 100 msec