diff --git a/MP-TAB/WebUserControls/mod_confProd.ascx.cs b/MP-TAB/WebUserControls/mod_confProd.ascx.cs
index 54d23ac6..e019a535 100644
--- a/MP-TAB/WebUserControls/mod_confProd.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_confProd.ascx.cs
@@ -7,99 +7,92 @@ 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");
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_inserting;
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_newVal;
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_reset;
- ///
- /// Data-Ora ultimo update valori produzione
- ///
- public DateTime dtReqUpdate
- {
- get
- {
- DateTime answ = DateTime.Now;
- DateTime.TryParse(memLayer.ML.StringSessionObj("dtReqUpdate"), out answ);
- return answ;
- }
- set
- {
- memLayer.ML.setSessionVal("dtReqUpdate", value);
- }
- }
+
+ #endregion Protected Fields
+
+ #region Public Fields
+
///
/// Dati produzioen rilevati
///
public DS_ProdTempi.StatoProdRow datiProdAct;
+
+ #endregion Public Fields
+
+ #region Public Events
+
///
- /// caricamento pagina
+ /// registrato nuovo valore
///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
+ public event EventHandler eh_inserting;
+
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_newVal;
+
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_reset;
+
+ #endregion Public Events
+
+ #region Protected Properties
+
+ ///
+ /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
+ ///
+ protected bool isMulti
{
- if (!Page.IsPostBack)
+ get
{
- checkAll();
- if (isMulti)
- {
- // sollevo evento!
- if (eh_reset != null)
- {
- eh_reset(this, new EventArgs());
- }
- }
+ return DataLayerObj.isMulti(idxMacchina);
}
}
- ///
- /// Reset parametri x calcolo pezzi (no pezzi lasciati, dataora attuale...)
- ///
- private void resetParam()
- {
- dtReqUpdate = DateTime.Now;
- numPzLasciati = 0;
- }
///
- /// Aggiorno valori produzione alla data richiesta...
+ /// Numero pezzi PRODOTTI da ultima conferma
///
- ///
- public void doUpdate()
- {
- datiProdAct = DataLayerObj.taStatoProd.GetData(idxMacchinaSel, dtReqUpdate)[0];
- // aggiorno visualizzazione...
- numPzProdotti = datiProdAct.PzTotODL;
- numPz2Rec = datiProdAct.Pz2RecTot;
- numPzScaConf = datiProdAct.PzConfScarto;
- numPzBuoniConf = datiProdAct.PzConfBuoni;
- numPzProdotti2Rec = datiProdAct.Pz2RecTot;
- numPzScarto2Rec = datiProdAct.Pz2RecScarto;
- }
- ///
- /// Numero pezzi PRODOTTI GLOBALI
- ///
- protected int numPzProdotti
+ protected int numPz2Rec
{
set
{
- lblPzTotODL.Text = value.ToString();
+ lblPz2RecTot.Text = value.ToString();
}
}
+
+ ///
+ /// Numero pezzi BUONI già confermati
+ ///
+ protected int numPzBuoniConf
+ {
+ set
+ {
+ lblPzConfBuoni.Text = value.ToString();
+ }
+ }
+
+ ///
+ /// Numero pezzi confermati (buoni - scarto)
+ ///
+ protected int numPzConfermati
+ {
+ get
+ {
+ return numPzProdotti2Rec - numPzScarto2Rec;
+ }
+ }
+
///
/// Numero pezzi da LASCIARE non dichiarati
- ///
+ ///
protected int numPzLasciati
{
set
@@ -118,36 +111,18 @@ namespace MoonProTablet.WebUserControls
return answ;
}
}
+
///
- /// Numero pezzi PRODOTTI da ultima conferma
+ /// Numero pezzi PRODOTTI GLOBALI
///
- protected int numPz2Rec
+ protected int numPzProdotti
{
set
{
- lblPz2RecTot.Text = value.ToString();
- }
- }
- ///
- /// Numero pezzi SCARTO già confermati
- ///
- protected int numPzScaConf
- {
- set
- {
- lblPzConfScarto.Text = value.ToString();
- }
- }
- ///
- /// Numero pezzi BUONI già confermati
- ///
- protected int numPzBuoniConf
- {
- set
- {
- lblPzConfBuoni.Text = value.ToString();
+ lblPzTotODL.Text = value.ToString();
}
}
+
///
/// Numero pezzi PRODOTTI da registrare
/// da ultima conferma
@@ -169,6 +144,18 @@ namespace MoonProTablet.WebUserControls
return answ;
}
}
+
+ ///
+ /// Numero pezzi SCARTO già confermati
+ ///
+ protected int numPzScaConf
+ {
+ set
+ {
+ lblPzConfScarto.Text = value.ToString();
+ }
+ }
+
///
/// Numero pezzi SCARTATI da registrare
///
@@ -191,72 +178,11 @@ namespace MoonProTablet.WebUserControls
return answ;
}
}
- ///
- /// Numero pezzi confermati (buoni - scarto)
- ///
- protected int numPzConfermati
- {
- get
- {
- return numPzProdotti2Rec - numPzScarto2Rec;
- }
- }
- private void checkAll()
- {
- updateOdl();
- checkConfig();
- fixSelMacc();
- checkOdl();
- lblOut.Text = "";
- switchBtnConferma(false);
- lbtShowConfProd.Visible = odlOk;
- lblConfProd.Visible = !odlOk;
- }
- ///
- /// verifica config x modalità permesse
- ///
- private void checkConfig()
- {
- // verifico SE sia permesso gestire i "Pezzi lasciati" in macchina...
- lblNumLasciati.Visible = memLayer.ML.cdvb("enablePzProdLasciati");
- txtNumLasciati.Visible = memLayer.ML.cdvb("enablePzProdLasciati");
- }
- ///
- /// Verifica se abbia un ODL ATTIVO
- ///
- private void checkOdl()
- {
- lbtShowConfProd.Visible = odlOk;
- lblConfProd.Visible = !odlOk;
- lblMancaODL.Visible = !odlOk;
- }
+ #endregion Protected Properties
- ///
- /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
- ///
- protected bool isMulti
- {
- get
- {
- return DataLayerObj.isMulti(idxMacchina);
- }
- }
+ #region Public Properties
- ///
- /// Se la machcina è MULTI --> mostro selettore
- ///
- private void fixSelMacc()
- {
- divSelMacc.Visible = isMulti;
- if (isMulti)
- {
- // salvo selezione submacc
- ddlSubMacc.DataBind();
- subMaccSel = ddlSubMacc.SelectedValue;
- }
- updateOdl();
- }
///
/// restituisce css disabled SE odl NON OK...
///
@@ -267,32 +193,22 @@ namespace MoonProTablet.WebUserControls
return odlOk ? "" : "disabled";
}
}
+
///
- /// Verifica ODL OK (ovvero caricato x macchina...)
+ /// Data-Ora ultimo update valori produzione
///
- public bool odlOk
+ public DateTime dtReqUpdate
{
get
{
- bool answ = true;
- // se ODL > 0 è ok!!!
- answ = (idxOdl > 0);
+ DateTime answ = DateTime.Now;
+ DateTime.TryParse(memLayer.ML.StringSessionObj("dtReqUpdate"), out answ);
return answ;
}
- }
- ///
- /// ODL correntemente sulla macchina
- /// - cerca in Redis (TTL 5 sec)
- /// - altrimenti recupera da DB...
- ///
- protected void updateOdl()
- {
- // userò ODL del turno
- int answ = 0;
- // cerco da redis...
- int.TryParse(DataLayerObj.currODL(idxMacchinaSel, true), out answ);
- // salvo!
- idxOdl = answ;
+ set
+ {
+ memLayer.ML.setSessionVal("dtReqUpdate", value);
+ }
}
///
@@ -322,14 +238,102 @@ namespace MoonProTablet.WebUserControls
memLayer.ML.setSessionVal("IdxMacchina", value);
}
}
+
///
- /// cambio stato visibilità pannello e testo button
+ /// Verifica ODL OK (ovvero caricato x macchina...)
///
- ///
- ///
- protected void lbtShowConfProd_Click(object sender, EventArgs e)
+ public bool odlOk
{
- switchBtnConferma(!divInnovazioni.Visible);
+ get
+ {
+ bool answ = true;
+ // se ODL > 0 è ok!!!
+ answ = (idxOdl > 0);
+ return answ;
+ }
+ }
+
+ #endregion Public Properties
+
+ #region Private Methods
+
+ private void checkAll()
+ {
+ updateOdl();
+ checkConfig();
+ fixSelMacc();
+ checkOdl();
+ lblOut.Text = "";
+ switchBtnConferma(false);
+ lbtShowConfProd.Visible = odlOk;
+ lblConfProd.Visible = !odlOk;
+ }
+
+ ///
+ /// verifica config x modalità permesse
+ ///
+ private void checkConfig()
+ {
+ // verifico SE sia permesso gestire i "Pezzi lasciati" in macchina...
+ lblNumLasciati.Visible = memLayer.ML.cdvb("enablePzProdLasciati");
+ txtNumLasciati.Visible = memLayer.ML.cdvb("enablePzProdLasciati");
+ }
+
+ ///
+ /// Verifica se abbia un ODL ATTIVO
+ ///
+ private void checkOdl()
+ {
+ lbtShowConfProd.Visible = odlOk;
+ lblConfProd.Visible = !odlOk;
+ lblMancaODL.Visible = !odlOk;
+ }
+
+ ///
+ /// Registra conferma produzione in modalità nuova (con rettifica pezzi lasciati) o legacy (con anticipo periodo)
+ ///
+ private bool effettuaConfermaProd()
+ {
+ bool fatto = false;
+ if (confRett)
+ {
+ // confermo al netto dei pezzi lasciati...
+ fatto = DataLayerObj.confermaProdMacchinaFull(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), numPzConfermati - numPzLasciati, numPzLasciati, numPzScarto2Rec, dtReqUpdate);
+ }
+ else
+ {
+ fatto = DataLayerObj.confermaProdMacchina(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), numPzConfermati, numPzScarto2Rec, dtReqUpdate);
+ }
+ return fatto;
+ }
+
+ ///
+ /// Se la machcina è MULTI --> mostro selettore
+ ///
+ private void fixSelMacc()
+ {
+ divSelMacc.Visible = isMulti;
+ if (isMulti)
+ {
+ try
+ {
+ // salvo selezione submacc
+ ddlSubMacc.DataBind();
+ subMaccSel = ddlSubMacc.SelectedValue;
+ }
+ catch
+ { }
+ }
+ updateOdl();
+ }
+
+ ///
+ /// Reset parametri x calcolo pezzi (no pezzi lasciati, dataora attuale...)
+ ///
+ private void resetParam()
+ {
+ dtReqUpdate = DateTime.Now;
+ numPzLasciati = 0;
}
///
@@ -375,56 +379,6 @@ namespace MoonProTablet.WebUserControls
}
}
- ///
- /// salvo produzione
- ///
- ///
- ///
- protected void lbtSalva_Click(object sender, EventArgs e)
- {
- // effettua conferma con conf da DB del tipo (giorni / turni / periodo
- bool fatto = effettuaConfermaProd();
- // refresh tabella dati tablet...
- DataLayerObj.taMSE.forceRecalc(0, idxMacchinaSel);
- // mostro output
- lblOut.Text = string.Format("Confermata la produzione per {0} pezzi! (+{1} pz scarto) alle {2:yyyy-MM-dd HH:mm:ss}", numPzConfermati, numPzScarto2Rec, dtReqUpdate);
- // cambio button conferma...
- switchBtnConferma(!txtNumPezzi.Enabled);
- // sollevo evento!
- if (eh_newVal != null)
- {
- eh_newVal(this, new EventArgs());
- }
- doUpdate();
- }
- ///
- /// Registra conferma produzione in modalità nuova (con rettifica pezzi lasciati) o legacy (con anticipo periodo)
- ///
- private bool effettuaConfermaProd()
- {
- bool fatto = false;
- if (confRett)
- {
- // confermo al netto dei pezzi lasciati...
- fatto = DataLayerObj.confermaProdMacchinaFull(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), numPzConfermati - numPzLasciati, numPzLasciati, numPzScarto2Rec, dtReqUpdate);
- }
- else
- {
- fatto = DataLayerObj.confermaProdMacchina(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), numPzConfermati, numPzScarto2Rec, dtReqUpdate);
- }
- return fatto;
- }
-
- ///
- /// update post modifica pz buoni
- ///
- ///
- ///
- protected void txtNumPezzi_TextChanged(object sender, EventArgs e)
- {
- lblOut.Text = "";
- updatePzBuoni();
- }
///
/// aggiorna visualizzazione pz buoni /prodotti - scarti)
///
@@ -454,24 +408,10 @@ namespace MoonProTablet.WebUserControls
// aggiorno la data calcolo + pezzi buoni...
lblDtRec.Text = dtReqUpdate.ToString();
}
- ///
- /// Update pz lasciati --> aggiorno!
- ///
- ///
- ///
- protected void txtNumLasciati_TextChanged(object sender, EventArgs e)
- {
- lblOut.Text = "";
- updatePzBuoni();
- }
- protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
- {
- subMaccSel = ddlSubMacc.SelectedValue;
- // salvo ODL
- DataLayerObj.taMSE.getByIdxMaccAndSub(idxMacchinaSel, subMaccSel);
- //altri controlli
- checkAll();
- }
+
+ #endregion Private Methods
+
+ #region Protected Methods
protected void ddlSubMacc_DataBound(object sender, EventArgs e)
{
@@ -488,5 +428,126 @@ namespace MoonProTablet.WebUserControls
}
}
+ protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ subMaccSel = ddlSubMacc.SelectedValue;
+ // salvo ODL
+ DataLayerObj.taMSE.getByIdxMaccAndSub(idxMacchinaSel, subMaccSel);
+ //altri controlli
+ checkAll();
+ }
+
+ ///
+ /// salvo produzione
+ ///
+ ///
+ ///
+ protected void lbtSalva_Click(object sender, EventArgs e)
+ {
+ // effettua conferma con conf da DB del tipo (giorni / turni / periodo
+ bool fatto = effettuaConfermaProd();
+ // refresh tabella dati tablet...
+ DataLayerObj.taMSE.forceRecalc(0, idxMacchinaSel);
+ // mostro output
+ lblOut.Text = string.Format("Confermata la produzione per {0} pezzi! (+{1} pz scarto) alle {2:yyyy-MM-dd HH:mm:ss}", numPzConfermati, numPzScarto2Rec, dtReqUpdate);
+ // cambio button conferma...
+ switchBtnConferma(!txtNumPezzi.Enabled);
+ // sollevo evento!
+ if (eh_newVal != null)
+ {
+ eh_newVal(this, new EventArgs());
+ }
+ doUpdate();
+ }
+
+ ///
+ /// cambio stato visibilità pannello e testo button
+ ///
+ ///
+ ///
+ protected void lbtShowConfProd_Click(object sender, EventArgs e)
+ {
+ switchBtnConferma(!divInnovazioni.Visible);
+ }
+
+ ///
+ /// caricamento pagina
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!Page.IsPostBack)
+ {
+ checkAll();
+ if (isMulti)
+ {
+ // sollevo evento!
+ if (eh_reset != null)
+ {
+ eh_reset(this, new EventArgs());
+ }
+ }
+ }
+ }
+
+ ///
+ /// Update pz lasciati --> aggiorno!
+ ///
+ ///
+ ///
+ protected void txtNumLasciati_TextChanged(object sender, EventArgs e)
+ {
+ lblOut.Text = "";
+ updatePzBuoni();
+ }
+
+ ///
+ /// update post modifica pz buoni
+ ///
+ ///
+ ///
+ protected void txtNumPezzi_TextChanged(object sender, EventArgs e)
+ {
+ lblOut.Text = "";
+ updatePzBuoni();
+ }
+
+ ///
+ /// ODL correntemente sulla macchina
+ /// - cerca in Redis (TTL 5 sec)
+ /// - altrimenti recupera da DB...
+ ///
+ protected void updateOdl()
+ {
+ // userò ODL del turno
+ int answ = 0;
+ // cerco da redis...
+ int.TryParse(DataLayerObj.currODL(idxMacchinaSel, true), out answ);
+ // salvo!
+ idxOdl = answ;
+ }
+
+ #endregion Protected Methods
+
+ #region Public Methods
+
+ ///
+ /// Aggiorno valori produzione alla data richiesta...
+ ///
+ ///
+ public void doUpdate()
+ {
+ datiProdAct = DataLayerObj.taStatoProd.GetData(idxMacchinaSel, dtReqUpdate)[0];
+ // aggiorno visualizzazione...
+ numPzProdotti = datiProdAct.PzTotODL;
+ numPz2Rec = datiProdAct.Pz2RecTot;
+ numPzScaConf = datiProdAct.PzConfScarto;
+ numPzBuoniConf = datiProdAct.PzConfBuoni;
+ numPzProdotti2Rec = datiProdAct.Pz2RecTot;
+ numPzScarto2Rec = datiProdAct.Pz2RecScarto;
+ }
+
+ #endregion Public Methods
}
}
\ No newline at end of file