diff --git a/MP-TAB/WebUserControls/BaseUserControl.cs b/MP-TAB/WebUserControls/BaseUserControl.cs index 012d083c..a5e1e828 100644 --- a/MP-TAB/WebUserControls/BaseUserControl.cs +++ b/MP-TAB/WebUserControls/BaseUserControl.cs @@ -86,6 +86,21 @@ namespace MoonProTablet.WebUserControls } } + /// + /// Idx macchina selezionata FIX (esempio x nuovo ODL su doppia tavola) + /// + public string idxMacchinaFix + { + get + { + return memLayer.ML.StringSessionObj("IdxMacchinaFix"); + } + set + { + memLayer.ML.setSessionVal("IdxMacchinaFix", value); + } + } + /// /// idxOdl corrente in sessione /// diff --git a/MP-TAB/WebUserControls/cmp_newODL.ascx.cs b/MP-TAB/WebUserControls/cmp_newODL.ascx.cs index f646db3a..dfe4329f 100644 --- a/MP-TAB/WebUserControls/cmp_newODL.ascx.cs +++ b/MP-TAB/WebUserControls/cmp_newODL.ascx.cs @@ -7,17 +7,17 @@ namespace MoonProTablet.WebUserControls { public partial class cmp_newODL : BaseUserControl { + #region Public Events + /// /// registrato nuovo valore /// public event EventHandler eh_newVal; - protected void Page_Load(object sender, EventArgs e) - { - if (!Page.IsPostBack) - { - setDefaults(); - } - } + + #endregion Public Events + + #region Private Methods + /// /// imposta valori std /// @@ -28,6 +28,10 @@ namespace MoonProTablet.WebUserControls txtTC_sec.Text = "0"; } + #endregion Private Methods + + #region Protected Methods + protected void lbtCreaOdlProvv_Click(object sender, EventArgs e) { // effettua creazione ODL provvisorio e riporta a parent... @@ -40,13 +44,13 @@ namespace MoonProTablet.WebUserControls decimal tCiclo = numMin + ((decimal)numSec) / 60; string note = txtNote.Text.Trim(); // insert su DB - DataLayerObj.taODL.insertProvv(ddlArticolo.SelectedValue, DataLayerObj.MatrOpr, idxMacchina, numPz, tCiclo, note); - // calcolo stringa macchina e articolo... - var rMacchina = DataLayerObj.taMacchine.GetByIdx(idxMacchina)[0]; + DataLayerObj.taODL.insertProvv(ddlArticolo.SelectedValue, DataLayerObj.MatrOpr, idxMacchinaFix, numPz, tCiclo, note); + // calcolo stringa macchina e articolo... + var rMacchina = DataLayerObj.taMacchine.GetByIdx(idxMacchinaFix)[0]; var rArticolo = DataLayerObj.taAnagArt.getByCod(ddlArticolo.SelectedValue)[0]; - string macchina = string.Format("{0} ({1} | {2} | {3})", rMacchina.Nome, rMacchina.IdxMacchina, rMacchina.CodMacchina, rMacchina.Descrizione); + string macchina = string.Format("{0} ({1} | {2} | {3})", rMacchina.Nome, idxMacchinaFix, rMacchina.CodMacchina, rMacchina.Descrizione); string articolo = string.Format("{0} ({1} | {2})", rArticolo.DescArticolo, rArticolo.CodArticolo, rArticolo.Disegno); - // invio email notifica creazione ODL PROVVISORIO (da riconciliare...) + // invio email notifica creazione ODL PROVVISORIO (da riconciliare...) string subject = "Effettuato attrezzaggio con ODL provvisorio"; string oggetto = string.Format("E' stato effettuato un attrezzaggio con ODL provvisorio.
Macchina: {0}
Articolo: {1}
Lanciati {2} pezzi con T.Ciclo {3:N3} (min.cent) / {4}:{5} (min:sec).

Note operatore: {6}", macchina, articolo, numPz, tCiclo, numMin, numSec, note); gestEmail.geAuth.mandaEmail(memLayer.ML.CRS("_fromEmail"), memLayer.ML.CRS("_adminEmail"), subject, oggetto); @@ -57,10 +61,20 @@ namespace MoonProTablet.WebUserControls } } + protected void Page_Load(object sender, EventArgs e) + { + if (!Page.IsPostBack) + { + setDefaults(); + } + } + protected void txtSearch_TextChanged(object sender, EventArgs e) { // bind dati! ddlArticolo.DataBind(); } + + #endregion Protected Methods } } \ No newline at end of file diff --git a/MP-TAB/WebUserControls/mod_ODL.ascx.cs b/MP-TAB/WebUserControls/mod_ODL.ascx.cs index ecdbc4ba..40cfd395 100644 --- a/MP-TAB/WebUserControls/mod_ODL.ascx.cs +++ b/MP-TAB/WebUserControls/mod_ODL.ascx.cs @@ -335,7 +335,7 @@ namespace MoonProTablet.WebUserControls { memLayer.ML.setSessionVal(string.Format("idxMacchina-{0}", uid), value); hfIdxMacchina.Value = value; - cmp_newODL.idxMacchina = value; + cmp_newODL.idxMacchinaFix = value; } } diff --git a/MP-TAB/WebUserControls/mod_confProd.ascx.cs b/MP-TAB/WebUserControls/mod_confProd.ascx.cs index 9bba0380..dd3572f4 100644 --- a/MP-TAB/WebUserControls/mod_confProd.ascx.cs +++ b/MP-TAB/WebUserControls/mod_confProd.ascx.cs @@ -405,15 +405,24 @@ namespace MoonProTablet.WebUserControls protected void ddlSubMacc_DataBound(object sender, EventArgs e) { // se ho in memoria un valore LO REIMPOSTO... - if (subMaccSel != "") + if (!string.IsNullOrEmpty(subMaccSel)) { - // provo a preselezionare... - try + // se è una SUB machcina (contiene "#") + if (subMaccSel.Contains("#")) { - ddlSubMacc.SelectedValue = subMaccSel; + // provo a preselezionare... + try + { + ddlSubMacc.SelectedValue = subMaccSel; + } + catch + { } + } + // altrimenti salvo! + else + { + subMaccSel = ddlSubMacc.SelectedValue; } - catch - { } } } diff --git a/MP-TAB/WebUserControls/mod_dettaglioProd.ascx.cs b/MP-TAB/WebUserControls/mod_dettaglioProd.ascx.cs index 8888b7da..01a38373 100644 --- a/MP-TAB/WebUserControls/mod_dettaglioProd.ascx.cs +++ b/MP-TAB/WebUserControls/mod_dettaglioProd.ascx.cs @@ -6,6 +6,113 @@ namespace MoonProTablet.WebUserControls { public partial class mod_dettaglioProd : BaseUserControl { + #region Private Methods + + /// + /// popola le labels + /// + private void popolaLabels() + { + if (!string.IsNullOrEmpty(idxMacchina)) + { + // forzo ricalcolo + DataLayerObj.taMSE.forceRecalc(0, idxMacchina); + // leggo riga... + DS_ProdTempi.MappaStatoExplRow rigaDati = DataLayerObj.taMSE.getByIdxMacchina(idxMacchina)[0]; + + // carico le info! + lblOdl.Text = string.Format("ODL num: {0}, iniziato il {1:dd/MM/yy} alle {1:HH:mm}", rigaDati.idxODL, rigaDati.DataInizioODL); + /************************************ + * data la postazione corrente decide cosa mostrare e come + ************************************/ + lblCodArticolo.Text = rigaDati.CodArticolo; + lblNumPzLanciati.Text = string.Format("{0} pz.", rigaDati.NumPezzi); + lblNumPzConf.Text = string.Format("{0} pz.", rigaDati.PezziConf); + lblNumPzFatti.Text = string.Format("({0} pz.)", rigaDati.PezziProd); + + /************************************ + * calcolo efficienza totale + * se il calcolo non è possibile mette n/a + ************************************/ + decimal tempoProd = rigaDati.TCAssegnato * rigaDati.PezziConf; + try + { + lblEfficienzaTot.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoOn / 100)); + } + catch + { + lblEfficienzaTot.Text = "n/a"; + } + // calcolo efficienza lavoro - se il calcolo non è possibile mette n/a + try + { + lblEfficienzaLavoro.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoAuto / 100)); + } + catch + { + lblEfficienzaLavoro.Text = "n/a"; + } + // calcolo efficienza Teorica - se il calcolo non è possibile mette n/a + try + { + lblEfficienzaEff.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoRun / 100)); + } + catch + { + lblEfficienzaEff.Text = "n/a"; + } + + /************************************ + * imposto i TEMPI CICLO + ************************************/ + // riporto Tempo ciclo impostato + lblTcImpostato.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCAssegnato)); + // riporto Tempo ciclo medio + lblTcMedio.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCMedio)); + lblTcMedioRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCMedioRT)); + // riporto Tempo ciclo lavoro + lblTcLavoro.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCLav)); + lblTcLavoroRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCLavRT)); + // riporto Tempo ciclo effettivo/tecnico, come media dei 10 migliori delle ultime 8 ore + lblTcEffettivo.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCEff)); + lblTcEffettivoRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCEffRT)); + + /************************************ + * Sistemo efficienze RT da tempi ciclo + ************************************/ + try + { + lblEfficienzaTotRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCMedioRT)); + } + catch + { + lblEfficienzaTotRT.Text = "n/a"; + } + // calcolo efficienza lavoro - se il calcolo non è possibile mette n/a + try + { + lblEfficienzaLavoroRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCLavRT)); + } + catch + { + lblEfficienzaLavoroRT.Text = "n/a"; + } + // calcolo efficienza Teorica - se il calcolo non è possibile mette n/a + try + { + lblEfficienzaEffRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCEffRT)); + } + catch + { + lblEfficienzaEffRT.Text = "n/a"; + } + } + } + + #endregion Private Methods + + #region Protected Methods + /// /// caricamento pagina /// @@ -13,107 +120,16 @@ namespace MoonProTablet.WebUserControls /// protected void Page_Load(object sender, EventArgs e) { - popolaLabels(); - } - /// - /// popola le labels - /// - private void popolaLabels() - { - // forzo ricalcolo - DataLayerObj.taMSE.forceRecalc(0, idxMacchina); - // leggo riga... - DS_ProdTempi.MappaStatoExplRow rigaDati = DataLayerObj.taMSE.getByIdxMacchina(idxMacchina)[0]; - - // carico le info! - lblOdl.Text = string.Format("ODL num: {0}, iniziato il {1:dd/MM/yy} alle {1:HH:mm}", rigaDati.idxODL, rigaDati.DataInizioODL); - /************************************ - * data la postazione corrente decide cosa mostrare e come - ************************************/ - lblCodArticolo.Text = rigaDati.CodArticolo; - lblNumPzLanciati.Text = string.Format("{0} pz.", rigaDati.NumPezzi); - lblNumPzConf.Text = string.Format("{0} pz.", rigaDati.PezziConf); - lblNumPzFatti.Text = string.Format("({0} pz.)", rigaDati.PezziProd); - - - /************************************ - * calcolo efficienza totale - * se il calcolo non è possibile mette n/a - ************************************/ - decimal tempoProd = rigaDati.TCAssegnato * rigaDati.PezziConf; try { - lblEfficienzaTot.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoOn / 100)); + popolaLabels(); } - catch + catch (Exception exc) { - lblEfficienzaTot.Text = "n/a"; - } - // calcolo efficienza lavoro - se il calcolo non è possibile mette n/a - try - { - lblEfficienzaLavoro.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoAuto / 100)); - } - catch - { - lblEfficienzaLavoro.Text = "n/a"; - - } - // calcolo efficienza Teorica - se il calcolo non è possibile mette n/a - try - { - lblEfficienzaEff.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoRun / 100)); - } - catch - { - lblEfficienzaEff.Text = "n/a"; - } - - /************************************ - * imposto i TEMPI CICLO - ************************************/ - // riporto Tempo ciclo impostato - lblTcImpostato.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCAssegnato)); - // riporto Tempo ciclo medio - lblTcMedio.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCMedio)); - lblTcMedioRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCMedioRT)); - // riporto Tempo ciclo lavoro - lblTcLavoro.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCLav)); - lblTcLavoroRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCLavRT)); - // riporto Tempo ciclo effettivo/tecnico, come media dei 10 migliori delle ultime 8 ore - lblTcEffettivo.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCEff)); - lblTcEffettivoRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCEffRT)); - - /************************************ - * Sistemo efficienze RT da tempi ciclo - ************************************/ - try - { - lblEfficienzaTotRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCMedioRT)); - } - catch - { - lblEfficienzaTotRT.Text = "n/a"; - } - // calcolo efficienza lavoro - se il calcolo non è possibile mette n/a - try - { - lblEfficienzaLavoroRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCLavRT)); - } - catch - { - lblEfficienzaLavoroRT.Text = "n/a"; - - } - // calcolo efficienza Teorica - se il calcolo non è possibile mette n/a - try - { - lblEfficienzaEffRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCEffRT)); - } - catch - { - lblEfficienzaEffRT.Text = "n/a"; + logger.lg.scriviLog($"Eccezione in popolaLablels:{Environment.NewLine}{exc}"); } } + + #endregion Protected Methods } } \ No newline at end of file diff --git a/MP-TAB/WebUserControls/mod_mappaStato.ascx.cs b/MP-TAB/WebUserControls/mod_mappaStato.ascx.cs index ec087324..58663968 100644 --- a/MP-TAB/WebUserControls/mod_mappaStato.ascx.cs +++ b/MP-TAB/WebUserControls/mod_mappaStato.ascx.cs @@ -7,9 +7,7 @@ namespace MoonProTablet.WebUserControls { public partial class mod_mappaStato : BaseUserControl { - protected void Page_Load(object sender, EventArgs e) - { - } + #region Protected Methods /// /// rimanda alla pagina di dettaglio della macchina scelta @@ -20,17 +18,14 @@ namespace MoonProTablet.WebUserControls { LinkButton lnkbtn = (LinkButton)sender; memLayer.ML.setSessionVal("IdxMacchina", lnkbtn.CommandArgument); - memLayer.ML.setSessionVal("subMaccSel", lnkbtn.CommandArgument); + subMaccSel = lnkbtn.CommandArgument; Response.Redirect("~/DettaglioMacchina.aspx"); } - /// - /// fa update del controllo - /// - public void doUpdate() + + protected void Page_Load(object sender, EventArgs e) { - ods.DataBind(); - repLI.DataBind(); } + /// /// timeout scaduto /// @@ -41,5 +36,20 @@ namespace MoonProTablet.WebUserControls doUpdate(); ScriptManager.RegisterStartupScript(Page, GetType(), "temp", "", false); } + + #endregion Protected Methods + + #region Public Methods + + /// + /// fa update del controllo + /// + public void doUpdate() + { + ods.DataBind(); + repLI.DataBind(); + } + + #endregion Public Methods } } \ No newline at end of file