diff --git a/MP-TAB/MP-TAB.csproj b/MP-TAB/MP-TAB.csproj
index 5f96648e..58e0516f 100644
--- a/MP-TAB/MP-TAB.csproj
+++ b/MP-TAB/MP-TAB.csproj
@@ -1198,9 +1198,6 @@
mod_turni.ascx
-
- ASPXCodeBehind
-
windowSize.ashx
diff --git a/MP-TAB/ODL.aspx.cs b/MP-TAB/ODL.aspx.cs
index 3881939c..48cb366b 100644
--- a/MP-TAB/ODL.aspx.cs
+++ b/MP-TAB/ODL.aspx.cs
@@ -117,7 +117,7 @@ namespace MoonProTablet
fixSelMacc();
memLayer.ML.setSessionVal("TipoLink", "EditMacch");
// imposto idxMacchina x subControl...
- mod_ODL1.idxMacchina = idxMacchinaFix;
+ mod_ODL1.idxMacchinaFix = idxMacchinaFix;
checkConfProd();
mod_ODL1.checkAll();
}
diff --git a/MP-TAB/WebUserControls/BaseUserControl.cs b/MP-TAB/WebUserControls/BaseUserControl.cs
index bf6dd9fc..611924b5 100644
--- a/MP-TAB/WebUserControls/BaseUserControl.cs
+++ b/MP-TAB/WebUserControls/BaseUserControl.cs
@@ -7,8 +7,14 @@ using System.Web;
namespace MoonProTablet.WebUserControls
{
- public class BaseUserControl : System.Web.UI.UserControl
+ public class BaseUserControl : System.Web.UI.UserControl //SteamWare.UserControl //
{
+ public string encodeAuthKey(object plainUserAuthKey)
+ {
+ string answ = "";
+ answ = SteamCrypto.EncryptString(plainUserAuthKey.ToString(), memLayer.ML.CRS("cookieName"));
+ return answ;
+ }
///
/// idx macchina selezionata
///
@@ -26,7 +32,11 @@ namespace MoonProTablet.WebUserControls
///
/// Oggetto datalayer specifico
///
- DataLayer DataLayerObj = new DataLayer();
+ internal DataLayer DataLayerObj = new DataLayer();
+ ///
+ /// classe MapoDB x uso locale
+ ///
+ internal MapoDb.MapoDb controllerMapo = new MapoDb.MapoDb();
///
/// effettua traduzione del lemma
///
@@ -36,7 +46,16 @@ namespace MoonProTablet.WebUserControls
{
return user_std.UtSn.Traduci(lemma);
}
-
+ ///
+ /// effettua traduzione del lemma
+ ///
+ ///
+ ///
+ public string traduci(object _lemma)
+ {
+ _lemma = _lemma == null ? "" : _lemma;
+ return user_std.UtSn.Traduci(_lemma.ToString());
+ }
///
/// effettua traduzione in inglese del lemma
///
@@ -46,5 +65,168 @@ namespace MoonProTablet.WebUserControls
{
return user_std.UtSn.TraduciEn(lemma);
}
+ public string TCMinSec(object _TC)
+ {
+ string TC_MinSec = "";
+ decimal TC = 0;
+ decimal.TryParse(_TC.ToString(), out TC);
+ int min = 0;
+ int sec = 0;
+ try
+ {
+ // cerco di convertire in min/sec
+ min = Convert.ToInt32(Math.Floor(Convert.ToDouble(TC)));
+ sec = Convert.ToInt32((Convert.ToDouble(TC) - min) * 60);
+ TC_MinSec = string.Format("{0}:{1:00}", min, sec);
+ }
+ catch
+ { }
+ return TC_MinSec;
+ }
+ ///
+ /// Sotto sistema (macchina) selezionato in sessione
+ ///
+ public string subMaccSel
+ {
+ get
+ {
+ return memLayer.ML.StringSessionObj("subMaccSel");
+ }
+ set
+ {
+ memLayer.ML.setSessionVal("subMaccSel", value);
+ }
+ }
+ ///
+ /// idxOdl corrente in sessione
+ ///
+ public int idxOdl
+ {
+ get
+ {
+ return memLayer.ML.IntSessionObj("idxODL");
+ }
+ set
+ {
+ memLayer.ML.setSessionVal("idxODL", value);
+ }
+ }
+ ///
+ /// url completo immagine
+ ///
+ ///
+ ///
+ public string ImgUrlMacc(object url)
+ {
+ if (string.IsNullOrEmpty(url.ToString()))
+ {
+ url = "empty.png";
+ }
+ return string.Format("./images/macchine/{0}", url);
+ }
+ ///
+ /// url completo immagine icona
+ ///
+ ///
+ ///
+ public string ImgUrlIcon(object url)
+ {
+ return string.Format("./images/iconDic/{0}.png", url);
+ }
+ ///
+ /// titolo pagina
+ ///
+ public string titolo
+ {
+ get
+ {
+ return devicesAuthProxy.getPage(Request.Url);
+ }
+ }
+ ///
+ /// fomratta durata in minuti/ore/gg a seconda del totale...
+ ///
+ ///
+ ///
+ public string formatDurata(object min)
+ {
+ return utility.formatDurata(min);
+ }
+ public string urlDisegno(object _codArticolo)
+ {
+ // default è ND...
+ string outVal = "~/Files/Disegni/ND.pdf";
+ // recupero da anagrafica articoli...
+ try
+ {
+
+ DS_ProdTempi.AnagArticoliRow riga = selData.mng.rigaArt(_codArticolo.ToString());
+ if (riga != null)
+ {
+ outVal = string.Format("~/Files/Disegni/{0}.pdf", riga.Disegno);
+ }
+ else
+ {
+ logger.lg.scriviLog(string.Format("Attenzione! nessuna informazione trovata per l'articolo {0}", _codArticolo), tipoLog.WARNING);
+ }
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Errore in ricostruzione URL disegno:{0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ }
+ return outVal;
+ }
+ ///
+ /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
+ ///
+ internal bool isMulti
+ {
+ get
+ {
+ return DataLayerObj.isMulti(idxMacchina);
+ }
+ }
+ ///
+ /// stringa UID univoca
+ ///
+ public string uid
+ {
+ get
+ {
+ return this.UniqueID.Replace("$", "_").Replace("-", "_");
+ }
+ }
+ ///
+ /// conversione da tempo minuti/secondi a minuti centesimali
+ ///
+ ///
+ ///
+ protected decimal minSec2Cent(TimeSpan valore)
+ {
+ Decimal answ = 0;
+ try
+ {
+ answ = Math.Round((valore.Minutes + (decimal)valore.Seconds / 60), 3);
+ }
+ catch
+ { }
+ return answ;
+ }
+ ///
+ /// conversione da tempo minuti centesimali a minuti/secondi
+ ///
+ ///
+ ///
+ protected TimeSpan minCent2Sec(decimal valore)
+ {
+ TimeSpan answ = new TimeSpan(0, 0, 1);
+ try
+ {
+ answ = new TimeSpan(0, Convert.ToInt32(valore), Convert.ToInt32((valore - Convert.ToInt32(valore)) * 60));
+ }
+ catch
+ { }
+ return answ;
+ }
}
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/MpTabUserControl.cs b/MP-TAB/WebUserControls/MpTabUserControl.cs
deleted file mode 100644
index 8b96b4ba..00000000
--- a/MP-TAB/WebUserControls/MpTabUserControl.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-using SteamWare;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Web;
-
-namespace MoonProTablet.WebUserControls
-{
- public class MpTabUserControl : System.Web.UI.UserControl
- {
- ///
- /// idxMacchina corrente in sessione
- ///
- public string idxMacchina
- {
- get
- {
- return memLayer.ML.StringSessionObj("idxMacchina");
- }
- set
- {
- memLayer.ML.setSessionVal("idxMacchina", value);
- }
- }
- ///
- /// Sotto sistema (macchina) selezionato in sessione
- ///
- public string subMaccSel
- {
- get
- {
- return memLayer.ML.StringSessionObj("subMaccSel");
- }
- set
- {
- memLayer.ML.setSessionVal("subMaccSel", value);
- }
- }
- ///
- /// idxOdl corrente in sessione
- ///
- public int idxOdl
- {
- get
- {
- return memLayer.ML.IntSessionObj("idxODL");
- }
- set
- {
- memLayer.ML.setSessionVal("idxODL", value);
- }
- }
- ///
- /// effettua traduzione del lemma
- ///
- ///
- ///
- public string traduci(object _lemma)
- {
- _lemma = _lemma == null ? "":_lemma;
- return user_std.UtSn.Traduci(_lemma.ToString());
- }
- }
-}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/cmp_HwSwInfo.ascx.cs b/MP-TAB/WebUserControls/cmp_HwSwInfo.ascx.cs
index 99fc5eca..53149a93 100644
--- a/MP-TAB/WebUserControls/cmp_HwSwInfo.ascx.cs
+++ b/MP-TAB/WebUserControls/cmp_HwSwInfo.ascx.cs
@@ -7,11 +7,11 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class cmp_HwSwInfo : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class cmp_HwSwInfo : BaseUserControl
{
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/cmp_ST_detail.ascx.cs b/MP-TAB/WebUserControls/cmp_ST_detail.ascx.cs
index e53fdd42..4333671d 100644
--- a/MP-TAB/WebUserControls/cmp_ST_detail.ascx.cs
+++ b/MP-TAB/WebUserControls/cmp_ST_detail.ascx.cs
@@ -7,7 +7,7 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class cmp_ST_detail : MpTabUserControl
+ public partial class cmp_ST_detail : BaseUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
diff --git a/MP-TAB/WebUserControls/cmp_ST_objCheck.ascx.cs b/MP-TAB/WebUserControls/cmp_ST_objCheck.ascx.cs
index 0cfaaec3..67326888 100644
--- a/MP-TAB/WebUserControls/cmp_ST_objCheck.ascx.cs
+++ b/MP-TAB/WebUserControls/cmp_ST_objCheck.ascx.cs
@@ -7,7 +7,7 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class cmp_ST_objCheck : System.Web.UI.UserControl
+ public partial class cmp_ST_objCheck : BaseUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
diff --git a/MP-TAB/WebUserControls/cmp_ST_objView.ascx.cs b/MP-TAB/WebUserControls/cmp_ST_objView.ascx.cs
index 2c6e15aa..18549b0e 100644
--- a/MP-TAB/WebUserControls/cmp_ST_objView.ascx.cs
+++ b/MP-TAB/WebUserControls/cmp_ST_objView.ascx.cs
@@ -8,7 +8,7 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class cmp_ST_objView : MpTabUserControl
+ public partial class cmp_ST_objView : BaseUserControl
{
public string dataType
{
diff --git a/MP-TAB/WebUserControls/cmp_dettODL.ascx.cs b/MP-TAB/WebUserControls/cmp_dettODL.ascx.cs
index e8e1dd59..f9dd64ed 100644
--- a/MP-TAB/WebUserControls/cmp_dettODL.ascx.cs
+++ b/MP-TAB/WebUserControls/cmp_dettODL.ascx.cs
@@ -2,34 +2,34 @@
namespace MoonProTablet.WebUserControls
{
- public partial class cmp_dettODL : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class cmp_dettODL : BaseUserControl
{
-
- }
- ///
- /// codice odl selezionato
- ///
- public int idxODLSel
- {
- get
- {
- int answ = 0;
- try
+ protected void Page_Load(object sender, EventArgs e)
{
- answ = Convert.ToInt32(hfIdxODL.Value);
- }
- catch
- { }
- return answ;
- }
- set
- {
- hfIdxODL.Value = value.ToString();
- frmView.DataBind();
- }
- }
- }
+ }
+ ///
+ /// codice odl selezionato
+ ///
+ public int idxODLSel
+ {
+ get
+ {
+ int answ = 0;
+ try
+ {
+ answ = Convert.ToInt32(hfIdxODL.Value);
+ }
+ catch
+ { }
+ return answ;
+ }
+ set
+ {
+ hfIdxODL.Value = value.ToString();
+ frmView.DataBind();
+ }
+ }
+
+ }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/cmp_newODL.ascx.cs b/MP-TAB/WebUserControls/cmp_newODL.ascx.cs
index fc0b79f8..f646db3a 100644
--- a/MP-TAB/WebUserControls/cmp_newODL.ascx.cs
+++ b/MP-TAB/WebUserControls/cmp_newODL.ascx.cs
@@ -5,81 +5,62 @@ using System.Web.UI;
namespace MoonProTablet.WebUserControls
{
- public partial class cmp_newODL : System.Web.UI.UserControl
- {
+ public partial class cmp_newODL : BaseUserControl
+ {
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_newVal;
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!Page.IsPostBack)
+ {
+ setDefaults();
+ }
+ }
+ ///
+ /// imposta valori std
+ ///
+ private void setDefaults()
+ {
+ txtNumPz.Text = "1";
+ txtTC_min.Text = "1";
+ txtTC_sec.Text = "0";
+ }
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_newVal;
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!Page.IsPostBack)
- {
- setDefaults();
- }
- }
- ///
- /// idxMacchina selezionata
- ///
- public string idxMacchina
- {
- get
- {
- return hfIdxMacchina.Value;
- }
- set
- {
- hfIdxMacchina.Value = value;
- }
- }
- ///
- /// imposta valori std
- ///
- private void setDefaults()
- {
- txtNumPz.Text = "1";
- txtTC_min.Text = "1";
- txtTC_sec.Text = "0";
- }
+ protected void lbtCreaOdlProvv_Click(object sender, EventArgs e)
+ {
+ // effettua creazione ODL provvisorio e riporta a parent...
+ int numPz = 1;
+ int.TryParse(txtNumPz.Text, out numPz);
+ int numMin = 0;
+ int numSec = 0;
+ int.TryParse(txtTC_min.Text, out numMin);
+ int.TryParse(txtTC_sec.Text, out numSec);
+ 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];
+ 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 articolo = string.Format("{0} ({1} | {2})", rArticolo.DescArticolo, rArticolo.CodArticolo, rArticolo.Disegno);
+ // 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);
+ // sollevo evento!
+ if (eh_newVal != null)
+ {
+ eh_newVal(this, new EventArgs());
+ }
+ }
- protected void lbtCreaOdlProvv_Click(object sender, EventArgs e)
- {
- // effettua creazione ODL provvisorio e riporta a parent...
- int numPz = 1;
- int.TryParse(txtNumPz.Text, out numPz);
- int numMin = 0;
- int numSec = 0;
- int.TryParse(txtTC_min.Text, out numMin);
- int.TryParse(txtTC_sec.Text, out numSec);
- 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];
- 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 articolo = string.Format("{0} ({1} | {2})", rArticolo.DescArticolo, rArticolo.CodArticolo, rArticolo.Disegno);
- // 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);
- // sollevo evento!
- if (eh_newVal != null)
- {
- eh_newVal(this, new EventArgs());
- }
+ protected void txtSearch_TextChanged(object sender, EventArgs e)
+ {
+ // bind dati!
+ ddlArticolo.DataBind();
+ }
}
-
- protected void txtSearch_TextChanged(object sender, EventArgs e)
- {
- // bind dati!
- ddlArticolo.DataBind();
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/cmp_selPzPallet.ascx.cs b/MP-TAB/WebUserControls/cmp_selPzPallet.ascx.cs
index fae4f18c..c6bda4d4 100644
--- a/MP-TAB/WebUserControls/cmp_selPzPallet.ascx.cs
+++ b/MP-TAB/WebUserControls/cmp_selPzPallet.ascx.cs
@@ -3,49 +3,49 @@ using System;
namespace MoonProTablet.WebUserControls
{
- public partial class cmp_selPzPallet : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class cmp_selPzPallet : BaseUserControl
{
+ protected void Page_Load(object sender, EventArgs e)
+ {
- }
- ///
- /// Valore PzPallet selezionato
- ///
- public int pzPallet
- {
- get
- {
- int answ = 1;
- // provo a recuperare pz Pallet
- int.TryParse(ddlPzPallet.SelectedValue, out answ);
- return answ;
- }
- set
- {
- try
- {
- ddlPzPallet.SelectedValue = value.ToString();
}
- catch (Exception exc)
+ ///
+ /// Valore PzPallet selezionato
+ ///
+ public int pzPallet
{
- logger.lg.scriviLog(string.Format("Errore in assegnazione pz pallet ({0}){1}{2}", value, Environment.NewLine, exc), tipoLog.EXCEPTION);
+ get
+ {
+ int answ = 1;
+ // provo a recuperare pz Pallet
+ int.TryParse(ddlPzPallet.SelectedValue, out answ);
+ return answ;
+ }
+ set
+ {
+ try
+ {
+ ddlPzPallet.SelectedValue = value.ToString();
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Errore in assegnazione pz pallet ({0}){1}{2}", value, Environment.NewLine, exc), tipoLog.EXCEPTION);
+ }
+ }
+ }
+ ///
+ /// Imposta abilitazione alla modifica
+ ///
+ public bool enableSet
+ {
+ get
+ {
+ return ddlPzPallet.Enabled;
+ }
+ set
+ {
+ ddlPzPallet.Enabled = value;
+ }
}
- }
}
- ///
- /// Imposta abilitazione alla modifica
- ///
- public bool enableSet
- {
- get
- {
- return ddlPzPallet.Enabled;
- }
- set
- {
- ddlPzPallet.Enabled = value;
- }
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/cmp_sheetTech.ascx.cs b/MP-TAB/WebUserControls/cmp_sheetTech.ascx.cs
index a88fe8ac..9c8a3863 100644
--- a/MP-TAB/WebUserControls/cmp_sheetTech.ascx.cs
+++ b/MP-TAB/WebUserControls/cmp_sheetTech.ascx.cs
@@ -7,7 +7,7 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class cmp_sheetTech : System.Web.UI.UserControl
+ public partial class cmp_sheetTech : BaseUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
diff --git a/MP-TAB/WebUserControls/mod_ODL.ascx.cs b/MP-TAB/WebUserControls/mod_ODL.ascx.cs
index 201cb863..19fca8e8 100644
--- a/MP-TAB/WebUserControls/mod_ODL.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_ODL.ascx.cs
@@ -8,1202 +8,1178 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_ODL : System.Web.UI.UserControl
- {
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_reqUpdate;
- ///
- /// Valore protected idxODL
- ///
- protected string _idxOdlMacc;
- ///
- /// Valore protected idxODL
- ///
- protected string _idxOdlAltraMacc;
- ///
- /// Oggetto DataLayer della classe
- ///
- protected DataLayer DataLayerObj = new DataLayer();
- ///
- /// IdxODL sulla macchina
- ///
- public string idxOdlMacc
+ public partial class mod_ODL : BaseUserControl
{
- get
- {
- if (_idxOdlMacc == null)
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_reqUpdate;
+ ///
+ /// Valore protected idxODL
+ ///
+ protected string _idxOdlMacc;
+ ///
+ /// Valore protected idxODL
+ ///
+ protected string _idxOdlAltraMacc;
+ ///
+ /// IdxODL sulla macchina
+ ///
+ public string idxOdlMacc
{
- _idxOdlMacc = DataLayerObj.currODL(idxMacchina, true);
- }
- return _idxOdlMacc;
- }
- set
- {
- _idxOdlMacc = value;
- }
- }
- ///
- /// IdxODL su ALTRA macchina (se multi)
- ///
- public string idxOdlAltraMacc
- {
- get
- {
- if (_idxOdlAltraMacc == null)
- {
- _idxOdlAltraMacc = DataLayerObj.currODL(idxMaccAltraTav, true);
- }
- return _idxOdlAltraMacc;
- }
- set
- {
- _idxOdlAltraMacc = value;
- }
- }
- ///
- /// Verifica se la macchina sia MULTI
- ///
- public bool isMulti
- {
- get
- {
- return DataLayerObj.isMulti(idxMacchina);
- }
- }
-
- public bool maccInAttr
- {
- get
- {
- bool answ = false;
- // controllo se la macchina è in attrezzaggio...
- DS_applicazione.StatoMacchineRow rigaStato = null;
- try
- {
- // se è multi controllo parent...
- if (isMulti)
- {
- rigaStato = selData.mng.rigaStato(idxMaccParent);
- }
- else
- {
- rigaStato = selData.mng.rigaStato(idxMacchina);
- }
- answ = (rigaStato.IdxStato == 2);
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Eccezione in recupero dati rigaStato! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- }
- return answ;
- }
- }
- ///
- /// Verifica se la macchina NON abbia ODL (valido, > 0)
- ///
- public bool emptyOdlMacc
- {
- get
- {
- return (idxOdlMacc == "" || idxOdlMacc == "0");
- }
- }
- ///
- /// Verifica se la macchina NON abbia ODL (valido, > 0)
- ///
- public bool emptyOdlAltraMacc
- {
- get
- {
- return (idxOdlAltraMacc == "" || idxOdlAltraMacc == "0");
- }
- }
- ///
- /// Verifica visibilità btn split ODL su 2° tavola SE:
- /// - sia un impianto MULTI (= con + tavole)
- /// - sia già attrezzata la prima tavola
- /// - in tab Congif: se sia abilitato lo split ODL sulla seconda tavola
- /// - la macchina SIA ANCORA in attrezzaggio (2019.07.08) = 2
- ///
- protected bool showSplitOdlOnTavVal
- {
- get
- {
- bool answ = false;
- // se è multi controllo
- if (isMulti)
- {
- // verifico se NON HA ODL ma ce l'ha altra tavola...
- if (emptyOdlMacc)
- {
- // ora verifico SE ALTRA TAVOLA ha ODL...
- if (!emptyOdlAltraMacc)
+ get
{
- // ora verifico SE E SOLO SE è ANCORA in attrezzaggio
- if (maccInAttr)
- {
- answ = memLayer.ML.cdvb("showSplitOdlOnTav");
- }
+ if (_idxOdlMacc == null)
+ {
+ _idxOdlMacc = DataLayerObj.currODL(idxMacchinaFix, true);
+ }
+ return _idxOdlMacc;
+ }
+ set
+ {
+ _idxOdlMacc = value;
}
- }
}
- return answ;
- }
- }
- ///
- /// Verifica visibilità btn riprendi ODL su 2° tavola SE:
- /// - sia un impianto MULTI (= con + tavole)
- /// - sia disattrezzata la tavola
- /// - in tab congif: se sia abilitato la ripresa ODL sulla seconda tavola
- /// - in tab config: sia il grace period
- /// - NON SIANO passati i minuti indicati dalla chiusura
- ///
- protected bool showReopOdlTav
- {
- get
- {
- bool answ = false;
- // se è multi controllo
- if (isMulti)
+ ///
+ /// IdxODL su ALTRA macchina (se multi)
+ ///
+ public string idxOdlAltraMacc
{
- // verifico se NON HA ODL...
- if (emptyOdlMacc)
- {
- // verifico SE siamo nel gracePeriod
- int gPeriod = memLayer.ML.cdvi("gPeriodReopenOdlTav");
- DateTime adesso = DateTime.Now;
- DateTime dtChiusura = DateTime.Now.AddHours(-1);
+ get
+ {
+ if (_idxOdlAltraMacc == null)
+ {
+ _idxOdlAltraMacc = DataLayerObj.currODL(idxMaccAltraTav, true);
+ }
+ return _idxOdlAltraMacc;
+ }
+ set
+ {
+ _idxOdlAltraMacc = value;
+ }
+ }
+
+ public bool maccInAttr
+ {
+ get
+ {
+ bool answ = false;
+ // controllo se la macchina è in attrezzaggio...
+ DS_applicazione.StatoMacchineRow rigaStato = null;
+ try
+ {
+ // se è multi controllo parent...
+ if (isMulti)
+ {
+ rigaStato = selData.mng.rigaStato(idxMaccParent);
+ }
+ else
+ {
+ rigaStato = selData.mng.rigaStato(idxMacchinaFix);
+ }
+ answ = (rigaStato.IdxStato == 2);
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Eccezione in recupero dati rigaStato! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ }
+ return answ;
+ }
+ }
+ ///
+ /// Verifica se la macchina NON abbia ODL (valido, > 0)
+ ///
+ public bool emptyOdlMacc
+ {
+ get
+ {
+ return (idxOdlMacc == "" || idxOdlMacc == "0");
+ }
+ }
+ ///
+ /// Verifica se la macchina NON abbia ODL (valido, > 0)
+ ///
+ public bool emptyOdlAltraMacc
+ {
+ get
+ {
+ return (idxOdlAltraMacc == "" || idxOdlAltraMacc == "0");
+ }
+ }
+ ///
+ /// Verifica visibilità btn split ODL su 2° tavola SE:
+ /// - sia un impianto MULTI (= con + tavole)
+ /// - sia già attrezzata la prima tavola
+ /// - in tab Congif: se sia abilitato lo split ODL sulla seconda tavola
+ /// - la macchina SIA ANCORA in attrezzaggio (2019.07.08) = 2
+ ///
+ protected bool showSplitOdlOnTavVal
+ {
+ get
+ {
+ bool answ = false;
+ // se è multi controllo
+ if (isMulti)
+ {
+ // verifico se NON HA ODL ma ce l'ha altra tavola...
+ if (emptyOdlMacc)
+ {
+ // ora verifico SE ALTRA TAVOLA ha ODL...
+ if (!emptyOdlAltraMacc)
+ {
+ // ora verifico SE E SOLO SE è ANCORA in attrezzaggio
+ if (maccInAttr)
+ {
+ answ = memLayer.ML.cdvb("showSplitOdlOnTav");
+ }
+ }
+ }
+ }
+ return answ;
+ }
+ }
+ ///
+ /// Verifica visibilità btn riprendi ODL su 2° tavola SE:
+ /// - sia un impianto MULTI (= con + tavole)
+ /// - sia disattrezzata la tavola
+ /// - in tab congif: se sia abilitato la ripresa ODL sulla seconda tavola
+ /// - in tab config: sia il grace period
+ /// - NON SIANO passati i minuti indicati dalla chiusura
+ ///
+ protected bool showReopOdlTav
+ {
+ get
+ {
+ bool answ = false;
+ // se è multi controllo
+ if (isMulti)
+ {
+ // verifico se NON HA ODL...
+ if (emptyOdlMacc)
+ {
+ // verifico SE siamo nel gracePeriod
+ int gPeriod = memLayer.ML.cdvi("gPeriodReopenOdlTav");
+ DateTime adesso = DateTime.Now;
+ DateTime dtChiusura = DateTime.Now.AddHours(-1);
+ try
+ {
+ dtChiusura = DataLayerObj.taODL.getLastByMacc(idxMacchinaFix)[0].DataFine;
+ }
+ catch
+ { }
+
+ // ora verifico SE E SOLO SE è ANCORA in attrezzaggio
+ if (maccInAttr)
+ {
+ // ora verifico SE ALTRA TAVOLA ha ODL...
+ if (dtChiusura.AddMinutes(gPeriod) > adesso)
+ {
+ answ = memLayer.ML.cdvb("showReopenOdlTav");
+ }
+ }
+ }
+ }
+ return answ;
+ }
+ }
+ ///
+ /// Verifica se la tavola SIA in fase di attrezzaggio, ovvero SE:
+ /// - sia un impianto MULTI (= con + tavole)
+ /// - sia già attrezzata
+ ///
+ protected bool tavHasOdl
+ {
+ get
+ {
+ bool answ = false;
+ // se è multi controllo
+ if (isMulti)
+ {
+ answ = !emptyOdlMacc;
+ }
+ return answ;
+ }
+ }
+ ///
+ /// Restituisce il codice IdxMacchina dell'altra tavola (se multi) altrimenti la stessa macchina...
+ ///
+ protected string idxMaccAltraTav
+ {
+ get
+ {
+ string answ = "";
+ try
+ {
+ // verifico se SIA una tavola (ha char "#")
+ int iSharp = idxMacchinaFix.IndexOf('#');
+ if (iSharp > 0)
+ {
+ // ora verifico SE ALTRA TAVOLA ha ODL...
+ string nomeTav = idxMacchinaFix.Substring(iSharp);
+ string altraTav = nomeTav.Substring(0, nomeTav.Length - 1);
+ altraTav += nomeTav.EndsWith("1") ? "2" : "1";
+ // sistemo nome
+ answ = idxMacchinaFix.Replace(nomeTav, altraTav);
+ }
+ }
+ catch
+ { }
+ return answ;
+ }
+ }
+ ///
+ /// Restituisce il codice IdxMacchina dell'impianto PARENT (se multi) altrimenti la stessa macchina...
+ ///
+ protected string idxMaccParent
+ {
+ get
+ {
+ string answ = "";
+ // se è multi controllo
+ if (isMulti)
+ {
+ // verifico se SIA una tavola (ha char "#")
+ int iSharp = idxMacchinaFix.IndexOf('#');
+ if (iSharp > 0)
+ {
+ // sistemo nome
+ answ = idxMacchinaFix.Substring(0, iSharp);
+ }
+ }
+ return answ;
+ }
+ }
+
+ ///
+ /// Verifica chiave chkCloseOdl in tab Config
+ ///
+ protected bool chkCloseOdlVal
+ {
+ get
+ {
+ return memLayer.ML.cdvb("chkCloseOdl");
+ }
+ }
+ ///
+ /// Verifica chiave showChkCloseOdl in tab Config
+ ///
+ protected bool showChkCloseOdlVal
+ {
+ get
+ {
+ return memLayer.ML.cdvb("showChkCloseOdl");
+ }
+ }
+ ///
+ /// Verifica chiave showOdlProvv in tab Config
+ ///
+ protected bool showOdlProvvVal
+ {
+ get
+ {
+ return memLayer.ML.cdvb("showOdlProvv");
+ }
+ }
+
+ ///
+ /// idx macchina selezionata
+ ///
+ public string idxMacchinaFix
+ {
+ get
+ {
+ string answ = "";
+ try
+ {
+ answ = memLayer.ML.StringSessionObj(string.Format("idxMacchina-{0}", uid));
+ }
+ catch
+ { }
+ return answ;
+ }
+ set
+ {
+ memLayer.ML.setSessionVal(string.Format("idxMacchina-{0}", uid), value);
+ hfIdxMacchina.Value = value;
+ cmp_newODL.idxMacchina = value;
+ }
+ }
+ ///
+ /// Determina se sia abilitato il controllo x editing
+ ///
+ public bool isEnabled
+ {
+ get
+ {
+ bool answ = false;
+ try
+ {
+ answ = memLayer.ML.BoolSessionObj(string.Format("isEnabled-{0}", uid));
+ }
+ catch
+ { }
+ return answ;
+ }
+ set
+ {
+ memLayer.ML.setSessionVal(string.Format("isEnabled-{0}", uid), value);
+ }
+ }
+ ///
+ /// codice odl selezionato
+ ///
+ public int idxODLSel
+ {
+ get
+ {
+ int answ = 0;
+ try
+ {
+ answ = Convert.ToInt32(ddlODL.SelectedValue);
+ }
+ catch
+ { }
+ return answ;
+ }
+ }
+ ///
+ /// Cod articolo dell'ODL selezionato
+ ///
+ public string CodArtSel
+ {
+ get
+ {
+ string CodArticolo = "";
+ try
+ {
+ CodArticolo = DataLayerObj.taODL.getByIdx(idxODLSel, false)[0].CodArticolo;
+ }
+ catch
+ { }
+ return CodArticolo;
+ }
+ }
+ ///
+ /// avvio pagina
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!Page.IsPostBack)
+ {
+ // fix modo tempo...
+ if (memLayer.ML.cdvb("TAB_TC_MinSec"))
+ {
+ mod_tempoMSMC.modoTempo = timeMode.MS;
+ }
+ else
+ {
+ mod_tempoMSMC.modoTempo = timeMode.MC;
+ }
+ }
+ cmp_newODL.eh_newVal += Cmp_newODL_eh_newVal;
+ }
+ ///
+ /// Verifica (su tab config) se sia abilitata la gestione flusso RPO (Richieste - Promesse - ODL)
+ ///
+ protected bool enableRPO
+ {
+ get
+ {
+ return memLayer.ML.cdvb("enableRPO");
+ }
+ }
+
+ private void Cmp_newODL_eh_newVal(object sender, EventArgs e)
+ {
+ // creato nuovo ODL, faccio refresh ricaricando pagina!
+ Response.Redirect("~/ODL");
+ }
+
+ public void hideAll()
+ {
+ divDettOdl.Visible = false;
+ }
+
+ public void checkAll()
+ {
+ lblOut.Text = "";
+ checkBtnStatus();
+ chkCloseOdl.Checked = chkCloseOdlVal;
+ chkCloseOdl.Visible = showChkCloseOdlVal;
+ divOdlProvv.Visible = showOdlProvvVal;
+ divOpRiattr.Visible = (showSplitOdlOnTavVal || showReopOdlTav);
+ lbtSplitOdlSuTav.Visible = showSplitOdlOnTavVal;
+ lbtReopOdlSuTav.Visible = showReopOdlTav;
+ lbtFixEndSetup.Visible = !maccInAttr && memLayer.ML.CRB("OptEnableFixSetup");
+ }
+ ///
+ /// Sistema CSS x status enabled/disabled
+ ///
+ ///
+ protected void fixWCtrStatus(object lbtn)
+ {
+ // tolgo (eventuale) classe
try
{
- dtChiusura = DataLayerObj.taODL.getLastByMacc(idxMacchina)[0].DataFine;
+ ((WebControl)lbtn).CssClass = ((WebControl)lbtn).CssClass.Replace("disabled", "");
+ // se richiesto metto disabled...
+ if (!((WebControl)lbtn).Enabled)
+ {
+ ((WebControl)lbtn).CssClass += " disabled";
+ }
}
catch
{ }
+ }
- // ora verifico SE E SOLO SE è ANCORA in attrezzaggio
- if (maccInAttr)
- {
- // ora verifico SE ALTRA TAVOLA ha ODL...
- if (dtChiusura.AddMinutes(gPeriod) > adesso)
- {
- answ = memLayer.ML.cdvb("showReopenOdlTav");
- }
- }
- }
- }
- return answ;
- }
- }
- ///
- /// Verifica se la tavola SIA in fase di attrezzaggio, ovvero SE:
- /// - sia un impianto MULTI (= con + tavole)
- /// - sia già attrezzata
- ///
- protected bool tavHasOdl
- {
- get
- {
- bool answ = false;
- // se è multi controllo
- if (isMulti)
+ ///
+ /// controlla stato bottoni abilitato
+ ///
+ private void checkBtnStatus()
{
- answ = !emptyOdlMacc;
- }
- return answ;
- }
- }
- ///
- /// Restituisce il codice IdxMacchina dell'altra tavola (se multi) altrimenti la stessa macchina...
- ///
- protected string idxMaccAltraTav
- {
- get
- {
- string answ = "";
- try
- {
- // verifico se SIA una tavola (ha char "#")
- int iSharp = idxMacchina.IndexOf('#');
- if (iSharp > 0)
- {
- // ora verifico SE ALTRA TAVOLA ha ODL...
- string nomeTav = idxMacchina.Substring(iSharp);
- string altraTav = nomeTav.Substring(0, nomeTav.Length - 1);
- altraTav += nomeTav.EndsWith("1") ? "2" : "1";
- // sistemo nome
- answ = idxMacchina.Replace(nomeTav, altraTav);
- }
- }
- catch
- { }
- return answ;
- }
- }
- ///
- /// Restituisce il codice IdxMacchina dell'impianto PARENT (se multi) altrimenti la stessa macchina...
- ///
- protected string idxMaccParent
- {
- get
- {
- string answ = "";
- // se è multi controllo
- if (isMulti)
- {
- // verifico se SIA una tavola (ha char "#")
- int iSharp = idxMacchina.IndexOf('#');
- if (iSharp > 0)
- {
- // sistemo nome
- answ = idxMacchina.Substring(0, iSharp);
- }
- }
- return answ;
- }
- }
+ // di default rendo abilitato / disabilitato tutto in base al valore "isEnabled"
+ lbtShowSplitODL.Enabled = isEnabled;
+ lbtSplitODL.Enabled = isEnabled;
+ chkCloseOdl.Enabled = isEnabled;
+ fixWCtrStatus(lbtShowSplitODL);
+ fixWCtrStatus(lbtSplitODL);
+ fixWCtrStatus(chkCloseOdl);
- ///
- /// Verifica chiave chkCloseOdl in tab Config
- ///
- protected bool chkCloseOdlVal
- {
- get
- {
- return memLayer.ML.cdvb("chkCloseOdl");
- }
- }
- ///
- /// Verifica chiave showChkCloseOdl in tab Config
- ///
- protected bool showChkCloseOdlVal
- {
- get
- {
- return memLayer.ML.cdvb("showChkCloseOdl");
- }
- }
- ///
- /// Verifica chiave showOdlProvv in tab Config
- ///
- protected bool showOdlProvvVal
- {
- get
- {
- return memLayer.ML.cdvb("showOdlProvv");
- }
- }
-
- ///
- /// stringa UID univoca
- ///
- public string uid
- {
- get
- {
- return this.UniqueID.Replace("$", "_").Replace("-", "_");
- }
- }
- ///
- /// idx macchina selezionata
- ///
- public string idxMacchina
- {
- get
- {
- string answ = "";
- try
- {
- answ = memLayer.ML.StringSessionObj(string.Format("idxMacchina-{0}", uid));
- }
- catch
- { }
- return answ;
- }
- set
- {
- memLayer.ML.setSessionVal(string.Format("idxMacchina-{0}", uid), value);
- hfIdxMacchina.Value = value;
- cmp_newODL.idxMacchina = value;
- }
- }
- ///
- /// Determina se sia abilitato il controllo x editing
- ///
- public bool isEnabled
- {
- get
- {
- bool answ = false;
- try
- {
- answ = memLayer.ML.BoolSessionObj(string.Format("isEnabled-{0}", uid));
- }
- catch
- { }
- return answ;
- }
- set
- {
- memLayer.ML.setSessionVal(string.Format("isEnabled-{0}", uid), value);
- }
- }
- ///
- /// codice odl selezionato
- ///
- public int idxODLSel
- {
- get
- {
- int answ = 0;
- try
- {
- answ = Convert.ToInt32(ddlODL.SelectedValue);
- }
- catch
- { }
- return answ;
- }
- }
- ///
- /// Cod articolo dell'ODL selezionato
- ///
- public string CodArtSel
- {
- get
- {
- string CodArticolo = "";
- try
- {
- CodArticolo = DataLayerObj.taODL.getByIdx(idxODLSel, false)[0].CodArticolo;
- }
- catch
- { }
- return CodArticolo;
- }
- }
- ///
- /// avvio pagina
- ///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!Page.IsPostBack)
- {
- // fix modo tempo...
- if (memLayer.ML.cdvb("TAB_TC_MinSec"))
- {
- mod_tempoMSMC.modoTempo = timeMode.MS;
- }
- else
- {
- mod_tempoMSMC.modoTempo = timeMode.MC;
- }
- }
- cmp_newODL.eh_newVal += Cmp_newODL_eh_newVal;
- }
- ///
- /// Verifica (su tab config) se sia abilitata la gestione flusso RPO (Richieste - Promesse - ODL)
- ///
- protected bool enableRPO
- {
- get
- {
- return memLayer.ML.cdvb("enableRPO");
- }
- }
-
- private void Cmp_newODL_eh_newVal(object sender, EventArgs e)
- {
- // creato nuovo ODL, faccio refresh ricaricando pagina!
- Response.Redirect("~/ODL");
- }
-
- public void hideAll()
- {
- divDettOdl.Visible = false;
- }
-
- public void checkAll()
- {
- lblOut.Text = "";
- checkBtnStatus();
- chkCloseOdl.Checked = chkCloseOdlVal;
- chkCloseOdl.Visible = showChkCloseOdlVal;
- divOdlProvv.Visible = showOdlProvvVal;
- divOpRiattr.Visible = (showSplitOdlOnTavVal || showReopOdlTav);
- lbtSplitOdlSuTav.Visible = showSplitOdlOnTavVal;
- lbtReopOdlSuTav.Visible = showReopOdlTav;
- lbtFixEndSetup.Visible = !maccInAttr && memLayer.ML.CRB("OptEnableFixSetup");
- }
- ///
- /// Sistema CSS x status enabled/disabled
- ///
- ///
- protected void fixWCtrStatus(object lbtn)
- {
- // tolgo (eventuale) classe
- try
- {
- ((WebControl)lbtn).CssClass = ((WebControl)lbtn).CssClass.Replace("disabled", "");
- // se richiesto metto disabled...
- if (!((WebControl)lbtn).Enabled)
- {
- ((WebControl)lbtn).CssClass += " disabled";
- }
- }
- catch
- { }
- }
-
- ///
- /// controlla stato bottoni abilitato
- ///
- private void checkBtnStatus()
- {
- // di default rendo abilitato / disabilitato tutto in base al valore "isEnabled"
- lbtShowSplitODL.Enabled = isEnabled;
- lbtSplitODL.Enabled = isEnabled;
- chkCloseOdl.Enabled = isEnabled;
- fixWCtrStatus(lbtShowSplitODL);
- fixWCtrStatus(lbtSplitODL);
- fixWCtrStatus(chkCloseOdl);
-
- // condizioni booleane
- bool inAttr = false;
- bool currHasOdl = false;
- // controllo se la macchina è in attrezzaggio...
- DS_applicazione.StatoMacchineRow rigaStato = null;
- try
- {
- // se è multi controllo parent...
- if (isMulti)
- {
- rigaStato = selData.mng.rigaStato(idxMaccParent);
- inAttr = (rigaStato.IdxStato == 2 && tavHasOdl);
- }
- else
- {
- rigaStato = selData.mng.rigaStato(idxMacchina);
- inAttr = (rigaStato.IdxStato == 2);
- }
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Eccezione in recupero dati rigaStato! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- }
- try
- {
- currHasOdl = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL != 0;
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Eccezione in recupero dati currHasOdl! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- }
- // deve controllare abbia ODL o PROMESSE odl...
- bool hasNewOdl = DataLayerObj.taSelOdlFree.getUnused(idxMacchina, chkTutti.Checked).Rows.Count > 1;
- // sistemo buttons!
- lbtStartAttr.Enabled = (isEnabled && (!inAttr && hasNewOdl));
- lbtStartProd.Enabled = (isEnabled && inAttr);
- lbtEndProd.Enabled = (isEnabled && (!inAttr && currHasOdl));
- ddlODL.Enabled = (isEnabled && (!inAttr && hasNewOdl));
- odsODL.DataBind();
- // sistemo anche come css..
- fixWCtrStatus(lbtStartAttr);
- fixWCtrStatus(lbtStartProd);
- fixWCtrStatus(lbtEndProd);
- fixWCtrStatus(ddlODL);
- // sistemo show tempo/note attrezzaggio..
- if (inAttr)
- {
- showNoteTC(true);
- int idxOdl = 0;
- try
- {
- idxOdl = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL;
- updateTempoTc(idxOdl, inAttr);
- updateNoteTC(idxOdl);
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Eccezione in recupero dati ODL! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- }
- }
-
- // verifico se l'articolo corrente sia in revisione x mostrare conferma modifica revisione...
- if (CodArtSel != "")
- {
- bool showWarn = false;
- try
- {
- showWarn = DataLayerObj.taAnagArt.getByCod(CodArtSel)[0].FlagIsNew;
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Eccezione in recupero dati showWarn! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- }
- divWarningArt.Visible = showWarn;
- }
- }
- ///
- /// processa evento richiesto
- ///
- ///
- ///
- ///
- ///
- private void processaEvento(string idxMaccCurr, int idxEvento, string userMsg, int idxODL)
- {
- inputComandoMapo inCmd;
- inputComandoMapo inCmd2;
- DS_applicazione.StatoMacchineRow rigaStato = selData.mng.rigaStato(idxMaccCurr);
- // ricavo codice articolo...
- string CodArticolo = DataLayerObj.taODL.getByIdx(idxODL, false)[0].CodArticolo;
- // processo evento...
- inCmd = DataLayerObj.scriviRigaEventoBarcode(idxMaccCurr, idxEvento, CodArticolo, "", DataLayerObj.MatrOpr, rigaStato.pallet);
- // se la macchina è MULTI (cod#tavola) e sonoa INIZIO/FINE attrezzaggio (idxEv <=2) oppure FINE PROD processo ANCHE per la macchina madre...
- if (idxMaccCurr.IndexOf('#') > 0 && (idxEvento <= 2 || idxEvento == 7))
- {
- inCmd2 = DataLayerObj.scriviRigaEventoBarcode(idxMaccParent, idxEvento, CodArticolo, "", DataLayerObj.MatrOpr, rigaStato.pallet);
- }
- // chiamo refresh MSE
- DataLayerObj.taMSE.forceRecalc(0, idxMaccCurr);
- // invalido la cache di selData
- selData.mng.invalidateCache();
- lblOut.Text = userMsg;
- // loggo USR MSG
- logger.lg.scriviLog(userMsg, tipoLog.INFO);
- checkBtnStatus();
- }
- ///
- /// valore decimal del TC richiesto...
- ///
- protected decimal TCRichAttr
- {
- get
- {
- decimal answ = 0;
- try
- {
- answ = mod_tempoMSMC.tempoMC;
- }
- catch
- { }
- return answ;
- }
- set
- {
- mod_tempoMSMC.tempoMC = value;
- }
- }
- ///
- /// valore INT di num Pz per Pallet...
- ///
- protected int PzPallet
- {
- get
- {
- int answ = 0;
- try
- {
- answ = cmp_selPzPallet.pzPallet;
- }
- catch
- { }
- return answ;
- }
- set
- {
- cmp_selPzPallet.pzPallet = value;
- }
- }
- ///
- /// valore decimal del TC ASSEGNATO...
- ///
- protected decimal TCAssegnato(int idxODL)
- {
- decimal answ = 0;
- try
- {
- if (enableRPO)
- {
- // leggo info da promessa...
- var rigaProm = DataLayerObj.taPODL.getByKey(idxODL)[0];
- answ = rigaProm.TCAssegnato;
- }
- else
- {
- // leggo idxOdl da ultimo odl attivo x macchina
- DS_ProdTempi.ODLRow rigaOdl = DataLayerObj.taODL.getByIdx(idxODL, false)[0];
- answ = rigaOdl.TCAssegnato;
- }
- }
- catch
- { }
- return answ;
- }
- ///
- /// dichiara inizio attrezzaggio ODL indicato..
- ///
- ///
- ///
- protected void lbtStartAttr_Click(object sender, EventArgs e)
- {
- /***************************************************
- * * DA VALUTARE (x macchine tipo linea con + impianti... es valvital) SE
- * - creare una gestione ALTERNATIVA sul server che preveda impianto LEADER e impianti follower (RIGIDAMENTE CONFIGURATI)
- * - ogni volta che si fa setup LEADER --> si ripete su impianti FOLLOWER (eventi!!!)
- * - viene fatto reset contapezzi sui follower (+ altre operazioni opzionali, ES imposstazione nome commessa, quantità, articolo...)
- * - viene fatto reset + nuovo ODL (con stessi articoli e quantità) su follower, SENZA avere gestione x ODL di un codice esterno (quindi registra TUTTO ma NON RITORNERA' dati on avendo link verso esterno)
- * - serve NUOVA TABELLA delle macchine LEADER | FOLLOWER (1:n) e gestione da MP/IO
- *
- ***************************************************/
-
- bool inAttr = false;
- // se è multi mi chiedo se sia DAVVERO in attrezzaggio...
- if (isMulti)
- {
- try
- {
- // controllo se NON SONO già in attrezzaggio...
- DS_applicazione.StatoMacchineRow rigaStato = selData.mng.rigaStato(idxMaccParent);
- inAttr = (rigaStato.IdxStato == 2);
- }
- catch
- { }
- }
- // proseguo
- int idxODL_curr = 0;
- confermaProdOdl(false);
- if (idxODLSel > 0)
- {
- // se vedesse TCRich a zero lo reimposta a quello assegnato...
- if (TCRichAttr == 0)
- {
- TCRichAttr = TCAssegnato(idxODLSel);
- }
- int idxODL = 0;
- if (memLayer.ML.CRB("enableSplitODL"))
- {
- // splitto VECCHIO ODL (se è rimasto qualcosa da produrre e se ce ne è rimasto uno.......)
- try
- {
- idxODL = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL;
- DataLayerObj.taODL.splitODL(idxODL, DataLayerObj.MatrOpr, idxMacchina, TCAssegnato(idxODL), PzPallet, string.Format("inizio attrezzaggio, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxODL, TCAssegnato(idxODL)), false);
- // se è multi processo ANCHE x altra tavola...
- if (isMulti)
- {
- int _idxOdl = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL;
- DataLayerObj.taODL.splitODL(_idxOdl, DataLayerObj.MatrOpr, idxMaccAltraTav, TCAssegnato(_idxOdl), PzPallet, string.Format("inizio attrezzaggio, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", _idxOdl, TCAssegnato(_idxOdl)), false);
- }
- }
- catch
- { }
- }
- // 2018.07.24 verifico se devo lavorare come ODL classico o come RPO (Richiesta / Promessa / ODL)
- if (enableRPO)
- {
- // creo nuovo ODL da promessa ed associo
- DataLayerObj.taODL.inizioSetupPromessa(idxODLSel, DataLayerObj.MatrOpr, idxMacchina, TCRichAttr, PzPallet, txtNote.Text);
- // salvo ODL attrezzato
- idxODL_curr = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL;
- }
- // ODL classico
- else
- {
- // avvio NUOVO ODL
- DataLayerObj.taODL.inizioSetup(idxODLSel, DataLayerObj.MatrOpr, idxMacchina, TCRichAttr, PzPallet, txtNote.Text);
- // salvo ODL Current
- idxODL_curr = idxODLSel;
- }
- // process evento
- int idxEvento = 2; // !!!HARD CODED
- string evText = "Registrato inizio attrezzaggio per ODL {0}";
- StringBuilder sb = new StringBuilder();
- sb.AppendLine(String.Format(evText, idxODL_curr));
- processaEvento(idxMacchina, idxEvento, sb.ToString(), idxODL_curr);
- // indico INIZIO SETUP su REDIS come EXE della macchina...
- string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
- DataLayerObj.addTask4Machine(idxMacchina, taskType.startSetup, $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL_curr}");
- // se è multi CHIUDO ODL x altra tavola...
- if (isMulti)
- {
- // se NON sono in attrezzaggio...
- if (!inAttr)
- {
- int idxOdlAltra = 0;
+ // condizioni booleane
+ bool inAttr = false;
+ bool currHasOdl = false;
+ // controllo se la macchina è in attrezzaggio...
+ DS_applicazione.StatoMacchineRow rigaStato = null;
try
{
- var tabOdl = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav);
- if (tabOdl.Rows.Count > 0)
- {
- idxOdlAltra = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL;
- }
+ // se è multi controllo parent...
+ if (isMulti)
+ {
+ rigaStato = selData.mng.rigaStato(idxMaccParent);
+ inAttr = (rigaStato.IdxStato == 2 && tavHasOdl);
+ }
+ else
+ {
+ rigaStato = selData.mng.rigaStato(idxMacchinaFix);
+ inAttr = (rigaStato.IdxStato == 2);
+ }
}
catch (Exception exc)
{
- logger.lg.scriviLog("Durante recupero idxOdlAltra " + exc.ToString(), tipoLog.EXCEPTION);
+ logger.lg.scriviLog(string.Format("Eccezione in recupero dati rigaStato! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
}
- // procedo se ho ODL
+ try
+ {
+ currHasOdl = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL != 0;
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Eccezione in recupero dati currHasOdl! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ }
+ // deve controllare abbia ODL o PROMESSE odl...
+ bool hasNewOdl = DataLayerObj.taSelOdlFree.getUnused(idxMacchinaFix, chkTutti.Checked).Rows.Count > 1;
+ // sistemo buttons!
+ lbtStartAttr.Enabled = (isEnabled && (!inAttr && hasNewOdl));
+ lbtStartProd.Enabled = (isEnabled && inAttr);
+ lbtEndProd.Enabled = (isEnabled && (!inAttr && currHasOdl));
+ ddlODL.Enabled = (isEnabled && (!inAttr && hasNewOdl));
+ odsODL.DataBind();
+ // sistemo anche come css..
+ fixWCtrStatus(lbtStartAttr);
+ fixWCtrStatus(lbtStartProd);
+ fixWCtrStatus(lbtEndProd);
+ fixWCtrStatus(ddlODL);
+ // sistemo show tempo/note attrezzaggio..
+ if (inAttr)
+ {
+ showNoteTC(true);
+ int idxOdl = 0;
+ try
+ {
+ idxOdl = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL;
+ updateTempoTc(idxOdl, inAttr);
+ updateNoteTC(idxOdl);
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Eccezione in recupero dati ODL! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ }
+ }
+
+ // verifico se l'articolo corrente sia in revisione x mostrare conferma modifica revisione...
+ if (CodArtSel != "")
+ {
+ bool showWarn = false;
+ try
+ {
+ showWarn = DataLayerObj.taAnagArt.getByCod(CodArtSel)[0].FlagIsNew;
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Eccezione in recupero dati showWarn! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ }
+ divWarningArt.Visible = showWarn;
+ }
+ }
+ ///
+ /// processa evento richiesto
+ ///
+ ///
+ ///
+ ///
+ ///
+ private void processaEvento(string idxMaccCurr, int idxEvento, string userMsg, int idxODL)
+ {
+ inputComandoMapo inCmd;
+ inputComandoMapo inCmd2;
+ DS_applicazione.StatoMacchineRow rigaStato = selData.mng.rigaStato(idxMaccCurr);
+ // ricavo codice articolo...
+ string CodArticolo = DataLayerObj.taODL.getByIdx(idxODL, false)[0].CodArticolo;
+ // processo evento...
+ inCmd = DataLayerObj.scriviRigaEventoBarcode(idxMaccCurr, idxEvento, CodArticolo, "", DataLayerObj.MatrOpr, rigaStato.pallet);
+ // se la macchina è MULTI (cod#tavola) e sonoa INIZIO/FINE attrezzaggio (idxEv <=2) oppure FINE PROD processo ANCHE per la macchina madre...
+ if (idxMaccCurr.IndexOf('#') > 0 && (idxEvento <= 2 || idxEvento == 7))
+ {
+ inCmd2 = DataLayerObj.scriviRigaEventoBarcode(idxMaccParent, idxEvento, CodArticolo, "", DataLayerObj.MatrOpr, rigaStato.pallet);
+ }
+ // chiamo refresh MSE
+ DataLayerObj.taMSE.forceRecalc(0, idxMaccCurr);
+ // invalido la cache di selData
+ selData.mng.invalidateCache();
+ lblOut.Text = userMsg;
+ // loggo USR MSG
+ logger.lg.scriviLog(userMsg, tipoLog.INFO);
+ checkBtnStatus();
+ }
+ ///
+ /// valore decimal del TC richiesto...
+ ///
+ protected decimal TCRichAttr
+ {
+ get
+ {
+ decimal answ = 0;
+ try
+ {
+ answ = mod_tempoMSMC.tempoMC;
+ }
+ catch
+ { }
+ return answ;
+ }
+ set
+ {
+ mod_tempoMSMC.tempoMC = value;
+ }
+ }
+ ///
+ /// valore INT di num Pz per Pallet...
+ ///
+ protected int PzPallet
+ {
+ get
+ {
+ int answ = 0;
+ try
+ {
+ answ = cmp_selPzPallet.pzPallet;
+ }
+ catch
+ { }
+ return answ;
+ }
+ set
+ {
+ cmp_selPzPallet.pzPallet = value;
+ }
+ }
+ ///
+ /// valore decimal del TC ASSEGNATO...
+ ///
+ protected decimal TCAssegnato(int idxODL)
+ {
+ decimal answ = 0;
+ try
+ {
+ if (enableRPO)
+ {
+ // leggo info da promessa...
+ var rigaProm = DataLayerObj.taPODL.getByKey(idxODL)[0];
+ answ = rigaProm.TCAssegnato;
+ }
+ else
+ {
+ // leggo idxOdl da ultimo odl attivo x macchina
+ DS_ProdTempi.ODLRow rigaOdl = DataLayerObj.taODL.getByIdx(idxODL, false)[0];
+ answ = rigaOdl.TCAssegnato;
+ }
+ }
+ catch
+ { }
+ return answ;
+ }
+ ///
+ /// dichiara inizio attrezzaggio ODL indicato..
+ ///
+ ///
+ ///
+ protected void lbtStartAttr_Click(object sender, EventArgs e)
+ {
+ /***************************************************
+ * * DA VALUTARE (x macchine tipo linea con + impianti... es valvital) SE
+ * - creare una gestione ALTERNATIVA sul server che preveda impianto LEADER e impianti follower (RIGIDAMENTE CONFIGURATI)
+ * - ogni volta che si fa setup LEADER --> si ripete su impianti FOLLOWER (eventi!!!)
+ * - viene fatto reset contapezzi sui follower (+ altre operazioni opzionali, ES imposstazione nome commessa, quantità, articolo...)
+ * - viene fatto reset + nuovo ODL (con stessi articoli e quantità) su follower, SENZA avere gestione x ODL di un codice esterno (quindi registra TUTTO ma NON RITORNERA' dati on avendo link verso esterno)
+ * - serve NUOVA TABELLA delle macchine LEADER | FOLLOWER (1:n) e gestione da MP/IO
+ *
+ ***************************************************/
+
+ bool inAttr = false;
+ // se è multi mi chiedo se sia DAVVERO in attrezzaggio...
+ if (isMulti)
+ {
+ try
+ {
+ // controllo se NON SONO già in attrezzaggio...
+ DS_applicazione.StatoMacchineRow rigaStato = selData.mng.rigaStato(idxMaccParent);
+ inAttr = (rigaStato.IdxStato == 2);
+ }
+ catch
+ { }
+ }
+ // proseguo
+ int idxODL_curr = 0;
+ confermaProdOdl(false);
+ if (idxODLSel > 0)
+ {
+ // se vedesse TCRich a zero lo reimposta a quello assegnato...
+ if (TCRichAttr == 0)
+ {
+ TCRichAttr = TCAssegnato(idxODLSel);
+ }
+ int idxODL = 0;
+ if (memLayer.ML.CRB("enableSplitODL"))
+ {
+ // splitto VECCHIO ODL (se è rimasto qualcosa da produrre e se ce ne è rimasto uno.......)
+ try
+ {
+ idxODL = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL;
+ DataLayerObj.taODL.splitODL(idxODL, DataLayerObj.MatrOpr, idxMacchinaFix, TCAssegnato(idxODL), PzPallet, string.Format("inizio attrezzaggio, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxODL, TCAssegnato(idxODL)), false);
+ // se è multi processo ANCHE x altra tavola...
+ if (isMulti)
+ {
+ int _idxOdl = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL;
+ DataLayerObj.taODL.splitODL(_idxOdl, DataLayerObj.MatrOpr, idxMaccAltraTav, TCAssegnato(_idxOdl), PzPallet, string.Format("inizio attrezzaggio, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", _idxOdl, TCAssegnato(_idxOdl)), false);
+ }
+ }
+ catch
+ { }
+ }
+ // 2018.07.24 verifico se devo lavorare come ODL classico o come RPO (Richiesta / Promessa / ODL)
+ if (enableRPO)
+ {
+ // creo nuovo ODL da promessa ed associo
+ DataLayerObj.taODL.inizioSetupPromessa(idxODLSel, DataLayerObj.MatrOpr, idxMacchinaFix, TCRichAttr, PzPallet, txtNote.Text);
+ // salvo ODL attrezzato
+ idxODL_curr = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL;
+ }
+ // ODL classico
+ else
+ {
+ // avvio NUOVO ODL
+ DataLayerObj.taODL.inizioSetup(idxODLSel, DataLayerObj.MatrOpr, idxMacchinaFix, TCRichAttr, PzPallet, txtNote.Text);
+ // salvo ODL Current
+ idxODL_curr = idxODLSel;
+ }
+ // process evento
+ int idxEvento = 2; // !!!HARD CODED
+ string evText = "Registrato inizio attrezzaggio per ODL {0}";
+ StringBuilder sb = new StringBuilder();
+ sb.AppendLine(String.Format(evText, idxODL_curr));
+ processaEvento(idxMacchinaFix, idxEvento, sb.ToString(), idxODL_curr);
+ // indico INIZIO SETUP su REDIS come EXE della macchina...
+ string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
+ DataLayerObj.addTask4Machine(idxMacchinaFix, taskType.startSetup, $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL_curr}");
+ // se è multi CHIUDO ODL x altra tavola...
+ if (isMulti)
+ {
+ // se NON sono in attrezzaggio...
+ if (!inAttr)
+ {
+ int idxOdlAltra = 0;
+ try
+ {
+ var tabOdl = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav);
+ if (tabOdl.Rows.Count > 0)
+ {
+ idxOdlAltra = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL;
+ }
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog("Durante recupero idxOdlAltra " + exc.ToString(), tipoLog.EXCEPTION);
+ }
+ // procedo se ho ODL
+ if (idxOdlAltra > 0)
+ {
+ sb.AppendLine("---");
+ DataLayerObj.taODL.fineProd(idxOdlAltra, idxMaccAltraTav);
+ evText = "Registrato inizio attrezzaggio per ODL {0} (setup seconda tavola)";
+ sb.AppendLine(String.Format(evText, idxOdlAltra));
+ processaEvento(idxMaccAltraTav, idxEvento, String.Format(evText, idxOdlAltra), idxOdlAltra);
+ }
+ lblOut.Text = sb.ToString().Replace("---", "
");
+ }
+ // update buttons...
+ checkAll();
+ }
+ // resetto contapezzi redis...
+ DataLayerObj.saveCounter(idxMacchinaFix, "0");
+ // imposto ODL su redis...
+ DataLayerObj.saveCurrODL(idxMacchinaFix, idxODL_curr.ToString());
+ }
+ else
+ {
+ lblOut.Text = "Selezionare un ORDINE valido!";
+ }
+ // sollevo evento!
+ if (eh_reqUpdate != null)
+ {
+ eh_reqUpdate(this, new EventArgs());
+ }
+ }
+ ///
+ /// inizio prod
+ ///
+ ///
+ ///
+ protected void lbtStartProd_Click(object sender, EventArgs e)
+ {
+ confermaProdOdl(true);
+ // se vedesse TCRich a zero lo reimposta a quello assegnato...
+ if (TCRichAttr == 0)
+ {
+ TCRichAttr = TCAssegnato(idxODLSel);
+ }
+ // leggo idxOdl da ultimo odl attivo x macchina
+ int idxODL = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL;
+ int idxEvento = 1; // !!!HARD CODED
+ // aggiorno (se necessario) note e tempo setup
+ DataLayerObj.taODL.updateSetup(idxODL, DataLayerObj.MatrOpr, TCRichAttr, PzPallet, txtNote.Text);
+ // controllo se TC Assegnato != TCRichiesto allora invio email x verifiche...
+ DS_ProdTempi.ODLRow rigaOdl = DataLayerObj.taODL.getByIdx(idxODL, false)[0];
+ if (rigaOdl.TCAssegnato != TCRichAttr)
+ {
+ // invio email!
+ DataLayerObj.sendWarnTcChangeReq(memLayer.ML.CRS("_adminEmail"));
+ }
+ // processo chiusura setup
+ string evText = "Registrata inizio produzione per ODL {0}";
+ StringBuilder sb = new StringBuilder();
+ sb.AppendLine(String.Format(evText, idxODL));
+ processaEvento(idxMacchinaFix, idxEvento, sb.ToString(), idxODL);
+ // indico INIZIO SETUP su REDIS come EXE della macchina...
+ string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
+ //DataLayerObj.addTask4Machine(idxMacchina, "stopSetup", $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL}");
+ DataLayerObj.addTask4Machine(idxMacchinaFix, taskType.stopSetup, $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL}");
+ // se è multi processo chiusura setup x altra tavola...
+ if (isMulti)
+ {
+ sb.AppendLine("---");
+ int idxOdlAltra = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL;
+ sb.AppendLine(String.Format(evText, idxOdlAltra));
+ processaEvento(idxMaccAltraTav, idxEvento, String.Format(evText, idxOdlAltra), idxOdlAltra);
+ }
+ // riporto stringa
+ lblOut.Text = sb.ToString().Replace("---", "
");
+ // nascondo note!
+ showNoteTC(false);
+ // update buttons...
+ checkAll();
+ // sollevo evento!
+ if (eh_reqUpdate != null)
+ {
+ eh_reqUpdate(this, new EventArgs());
+ }
+ }
+ ///
+ /// fine prod
+ ///
+ ///
+ ///
+ protected void lbtEndProd_Click(object sender, EventArgs e)
+ {
+ // leggo idxOdl da ultimo odl attivo x macchina
+ int idxODL = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL;
+ int idxEvento = 7; // !!!HARD CODED
+
+ // confermo prod vecchio ODL
+ confermaProdOdl(false);
+
+ // se chk flaggato ovvero richiesta di chiudere ODL procedo come prima (chiudendo ODL senza averne altri...)
+ if (chkCloseOdl.Checked)
+ {
+ // aggiungo try/catch x capire se sia qui che si "impasta" in chiusura ODL
+ try
+ {
+ // processo x macchina selezionata
+ DataLayerObj.taODL.fineProd(idxODL, idxMacchinaFix);
+ string evText = "Registrata fine produzione per ODL {0}";
+ StringBuilder sb = new StringBuilder();
+ sb.AppendLine(String.Format(evText, idxODL));
+ processaEvento(idxMacchinaFix, idxEvento, sb.ToString(), idxODL);
+ // se è multi processo ANCHE x altra tavola...
+ if (isMulti)
+ {
+ sb.AppendLine("---");
+ int idxOdlAltra = 0;
+ string _idxOdl = idxOdlAltraMacc;
+ int.TryParse(_idxOdl, out idxOdlAltra);
+ DataLayerObj.taODL.fineProd(idxOdlAltra, idxMaccAltraTav);
+ sb.AppendLine(String.Format(evText, idxOdlAltra));
+ processaEvento(idxMaccAltraTav, idxEvento, String.Format(evText, idxOdlAltra), idxOdlAltra);
+ }
+ // riporto stringa
+ lblOut.Text = sb.ToString().Replace("---", "
");
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Eccezione in operazione chiusura ODL! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ Response.Redirect("~/DettaglioMacchina.aspx");
+ }
+ }
+ // altrimenti split ODL x completare IN FUTURO la produzione...
+ else
+ {
+ try
+ {
+ // effettuo split su nuovo ODL
+ DataLayerObj.taODL.splitODL(idxODL, DataLayerObj.MatrOpr, idxMacchinaFix, TCAssegnato(idxODL), PzPallet, string.Format("Fine Produzione, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxODL, TCAssegnato(idxODL)), false);
+ // processo chiusura setup
+ processaEvento(idxMacchinaFix, idxEvento, String.Format("Registrata fine produzione per ODL {0}, nuovo ODL per quantità residua", idxODL), idxODL);
+
+ // se è multi processo ANCHE x altra tavola...
+ if (isMulti)
+ {
+ int idxOdlAltra = 0;
+ string _idxOdl = idxOdlAltraMacc;
+ int.TryParse(_idxOdl, out idxOdlAltra);
+ // effettuo split su nuovo ODL
+ DataLayerObj.taODL.splitODL(idxOdlAltra, DataLayerObj.MatrOpr, idxMaccAltraTav, TCAssegnato(idxOdlAltra), PzPallet, string.Format("Fine Produzione, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxOdlAltra, TCAssegnato(idxOdlAltra)), false);
+ // processo chiusura setup
+ processaEvento(idxMaccAltraTav, idxEvento, String.Format("Registrata fine produzione per ODL {0}, nuovo ODL per quantità residua", idxOdlAltra), idxOdlAltra);
+ }
+ // sistemo buttons!
+ bool splitOdl = false;
+ fixSplitBtn(splitOdl);
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Eccezione in operazione Chiusura + Split ODL su nuovo! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ Response.Redirect("~/DettaglioMacchina.aspx");
+ }
+ }
+ // resetto ODL su redis...
+ DataLayerObj.emptyCurrODL(idxMacchinaFix);
+ // aggiorno visualizzazione
+ checkAll();
+ // sollevo evento!
+ if (eh_reqUpdate != null)
+ {
+ eh_reqUpdate(this, new EventArgs());
+ }
+ }
+ ///
+ /// verifica se sia necessario confermare la prod dell'ODL precedente prima di chiudere e lo fa in automatico...
+ ///
+ /// boolean, true = deve confermare 0 pezzi (es. in setup)
+ 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...
+ if (confZero)
+ {
+ // confermo produzione ZERO pezzi (in setup)
+ DataLayerObj.confermaProdMacchina(idxMacchinaFix, memLayer.ML.CRI("modoConfProd"), 0, 0, DateTime.Now);
+ }
+ else // se NON sono in setup verifico se ho pz da confermare
+ {
+ // recupero pz da confermare
+ 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);
+ }
+ }
+ }
+ ///
+ /// mostra dati ed opzione x split ODL
+ ///
+ ///
+ ///
+ protected void lbtShowSplitODL_Click(object sender, EventArgs e)
+ {
+ bool splitOdl = true;
+ fixSplitBtn(splitOdl);
+ // recupero current idx
+ int currODL = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL;
+ updateTempoTc(currODL, true);
+ updateNoteTC(currODL);
+ }
+ ///
+ /// sistema buttons split
+ ///
+ ///
+ private void fixSplitBtn(bool splitOdl)
+ {
+ lbtShowSplitODL.Visible = !splitOdl;
+ chkCloseOdl.Visible = !splitOdl;
+ lbtSplitODL.Visible = splitOdl;
+ showNoteTC(splitOdl);
+ ddlODL.Visible = !splitOdl;
+ chkTutti.Visible = !splitOdl;
+ lbtStartAttr.Visible = !splitOdl;
+ lbtStartProd.Visible = !splitOdl;
+ lbtEndProd.Visible = !splitOdl;
+ }
+ ///
+ /// split ODL con creazione nuovo ODL
+ ///
+ ///
+ ///
+ protected void lbtSplitODL_Click(object sender, EventArgs e)
+ {
+ // chiamo stored che genera nuovo ODL, mette note e tempo, chiude vecchi e assegna nuovo...
+ int currODL = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL;
+ int idxEvento = 1; // !!!HARD CODED
+ // controllo se TC è valorizzato..
+ if (TCRichAttr == 0)
+ {
+ mod_tempoMSMC.checkTC();
+ }
+
+ // confermo prod vecchio ODL
+ confermaProdOdl(false);
+
+ // effettuo split su nuovo ODL
+ DataLayerObj.taODL.splitODL(currODL, DataLayerObj.MatrOpr, idxMacchinaFix, TCRichAttr, PzPallet, txtNote.Text, true);
+
+ // resetto ODL su redis...
+ DataLayerObj.emptyCurrODL(idxMacchinaFix);
+
+ // invio email!
+ DataLayerObj.sendWarnTcChangeReq(memLayer.ML.CRS("_adminEmail"));
+ // processo chiusura setup
+ processaEvento(idxMacchinaFix, idxEvento, String.Format("Registrato Riattrezzaggio ODL (old: {0})", currODL), currODL);
+ // sistemo buttons!
+ bool splitOdl = false;
+ fixSplitBtn(splitOdl);
+
+ // sollevo evento!
+ if (eh_reqUpdate != null)
+ {
+ eh_reqUpdate(this, new EventArgs());
+ }
+ }
+ ///
+ /// selezionato un ODL mostro note/tempo da validare
+ ///
+ ///
+ ///
+ protected void ddlODL_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ checkDDL();
+ }
+
+ private void checkDDL()
+ {
+ if (ddlODL.SelectedIndex > 0)
+ {
+ showNoteTC(true);
+ updateTempoTc(idxODLSel, false);
+ updateNoteTC(idxODLSel);
+ }
+ else
+ {
+ showNoteTC(false);
+ }
+ }
+
+
+ ///
+ /// mostra/nasconde note
+ ///
+ private void showNoteTC(bool show)
+ {
+ // mostra/nasconde note da compilare
+ divTempo.Visible = show;
+ divNote.Visible = show;
+ divPzPallet.Visible = show;
+ lbtStartAttr.Visible = show;
+ cmp_dettODL.idxODLSel = idxODLSel;
+ divDettOdl.Visible = show && idxODLSel > 0;
+ // se abilitato da config su DB mostro selezione del numPzPallet...
+ cmp_selPzPallet.enableSet = memLayer.ML.CRB("enableTabSetPzPallet");
+
+ }
+ ///
+ /// aggiorna note ODL
+ ///
+ ///
+ private void updateNoteTC(int idxOdl)
+ {
+ string testo = "";
+ if (idxOdl > 0)
+ {
+ try
+ {
+ testo = DataLayerObj.taODL.getByIdx(idxOdl, false)[0].Note;
+ }
+ catch
+ { }
+ }
+ txtNote.Text = testo;
+ }
+
+ ///
+ /// update TC mostrato
+ ///
+ /// idx dell'ODL / PODL
+ ///
+ private void updateTempoTc(int idxOdlPodl, bool inAttr)
+ {
+ // riporta TC
+ decimal _TCRichAttr = 0;
+ int pzPallet = 1;
+ if (enableRPO && !inAttr)
+ {
+ var rigaProm = DataLayerObj.taPODL.getByKey(idxOdlPodl)[0];
+ _TCRichAttr = rigaProm.TCAssegnato;
+ pzPallet = rigaProm.PzPallet;
+ }
+ else
+ {
+ DS_ProdTempi.ODLRow rigaOdl = DataLayerObj.taODL.getByIdx(idxOdlPodl, false)[0];
+ if (rigaOdl.TCRichAttr > 0)
+ {
+ _TCRichAttr = rigaOdl.TCRichAttr;
+ }
+ else
+ {
+ _TCRichAttr = rigaOdl.TCAssegnato;
+ }
+ pzPallet = rigaOdl.PzPallet;
+ }
+ // aggiorno dati!
+ TCRichAttr = _TCRichAttr;
+ PzPallet = pzPallet;
+ }
+
+ protected void lbtConfNewRevProd_Click(object sender, EventArgs e)
+ {
+ // chiamo stored x allineare revProd a revUT
+ string CodArticolo = DataLayerObj.taODL.getByIdx(idxODLSel, false)[0].CodArticolo;
+ DataLayerObj.taAnagArt.setNewRev(CodArticolo);
+ checkBtnStatus();
+ }
+ ///
+ /// toggle visualizzazione creazioen ODL provvisorio
+ ///
+ ///
+ ///
+ protected void lbtShowCreaOdlProvv_Click(object sender, EventArgs e)
+ {
+ cmp_newODL.Visible = !cmp_newODL.Visible;
+ }
+ ///
+ /// Testo x button creazione nuovo ODL
+ ///
+ public string lblCreaOdl
+ {
+ get
+ {
+ string answ = "CREAZIONE ODL PROVVISORIO";
+ if (cmp_newODL.Visible)
+ {
+ answ = "NASCONDI creazione ODL provvisorio";
+ }
+ return answ;
+ }
+ }
+
+ protected void chkTutti_CheckedChanged(object sender, EventArgs e)
+ {
+ checkBtnStatus();
+ }
+ ///
+ /// Effettua split ODL da ALTRA tavola su tav corrente
+ ///
+ ///
+ ///
+ protected void lbtSplitOdlSuTav_Click(object sender, EventArgs e)
+ {
+ // chiamo stored x splittare ODL...
+ int idxOdlAltra = 0;
+ int.TryParse(idxOdlAltraMacc, out idxOdlAltra);
+ // se ho trovato...
if (idxOdlAltra > 0)
{
- sb.AppendLine("---");
- DataLayerObj.taODL.fineProd(idxOdlAltra, idxMaccAltraTav);
- evText = "Registrato inizio attrezzaggio per ODL {0} (setup seconda tavola)";
- sb.AppendLine(String.Format(evText, idxOdlAltra));
- processaEvento(idxMaccAltraTav, idxEvento, String.Format(evText, idxOdlAltra), idxOdlAltra);
+ DataLayerObj.taODL.dividiDaAltraTav(idxOdlAltra, DataLayerObj.MatrOpr, idxMacchinaFix);
+ // messaggio utente
+ string evText = "Registrata inizio attrezzaggio da split ODL {0} (come da altra tavola)";
+ StringBuilder sb = new StringBuilder();
+ sb.AppendLine(String.Format(evText, idxOdlAltra));
+ lblOut.Text = sb.ToString();
+ }
+ // update button x setup da altra tavola...
+ checkAll();
+ // sollevo evento!
+ if (eh_reqUpdate != null)
+ {
+ eh_reqUpdate(this, new EventArgs());
}
- lblOut.Text = sb.ToString().Replace("---", "
");
- }
- // update buttons...
- checkAll();
}
- // resetto contapezzi redis...
- DataLayerObj.saveCounter(idxMacchina, "0");
- // imposto ODL su redis...
- DataLayerObj.saveCurrODL(idxMacchina, idxODL_curr.ToString());
- }
- else
- {
- lblOut.Text = "Selezionare un ORDINE valido!";
- }
- // sollevo evento!
- if (eh_reqUpdate != null)
- {
- eh_reqUpdate(this, new EventArgs());
- }
- }
- ///
- /// inizio prod
- ///
- ///
- ///
- protected void lbtStartProd_Click(object sender, EventArgs e)
- {
- confermaProdOdl(true);
- // se vedesse TCRich a zero lo reimposta a quello assegnato...
- if (TCRichAttr == 0)
- {
- TCRichAttr = TCAssegnato(idxODLSel);
- }
- // leggo idxOdl da ultimo odl attivo x macchina
- int idxODL = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL;
- int idxEvento = 1; // !!!HARD CODED
- // aggiorno (se necessario) note e tempo setup
- DataLayerObj.taODL.updateSetup(idxODL, DataLayerObj.MatrOpr, TCRichAttr, PzPallet, txtNote.Text);
- // controllo se TC Assegnato != TCRichiesto allora invio email x verifiche...
- DS_ProdTempi.ODLRow rigaOdl = DataLayerObj.taODL.getByIdx(idxODL, false)[0];
- if (rigaOdl.TCAssegnato != TCRichAttr)
- {
- // invio email!
- DataLayerObj.sendWarnTcChangeReq(memLayer.ML.CRS("_adminEmail"));
- }
- // processo chiusura setup
- string evText = "Registrata inizio produzione per ODL {0}";
- StringBuilder sb = new StringBuilder();
- sb.AppendLine(String.Format(evText, idxODL));
- processaEvento(idxMacchina, idxEvento, sb.ToString(), idxODL);
- // indico INIZIO SETUP su REDIS come EXE della macchina...
- string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
- //DataLayerObj.addTask4Machine(idxMacchina, "stopSetup", $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL}");
- DataLayerObj.addTask4Machine(idxMacchina, taskType.stopSetup, $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL}");
- // se è multi processo chiusura setup x altra tavola...
- if (isMulti)
- {
- sb.AppendLine("---");
- int idxOdlAltra = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL;
- sb.AppendLine(String.Format(evText, idxOdlAltra));
- processaEvento(idxMaccAltraTav, idxEvento, String.Format(evText, idxOdlAltra), idxOdlAltra);
- }
- // riporto stringa
- lblOut.Text = sb.ToString().Replace("---", "
");
- // nascondo note!
- showNoteTC(false);
- // update buttons...
- checkAll();
- // sollevo evento!
- if (eh_reqUpdate != null)
- {
- eh_reqUpdate(this, new EventArgs());
- }
- }
- ///
- /// fine prod
- ///
- ///
- ///
- protected void lbtEndProd_Click(object sender, EventArgs e)
- {
- // leggo idxOdl da ultimo odl attivo x macchina
- int idxODL = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL;
- int idxEvento = 7; // !!!HARD CODED
-
- // confermo prod vecchio ODL
- confermaProdOdl(false);
-
- // se chk flaggato ovvero richiesta di chiudere ODL procedo come prima (chiudendo ODL senza averne altri...)
- if (chkCloseOdl.Checked)
- {
- // aggiungo try/catch x capire se sia qui che si "impasta" in chiusura ODL
- try
+ ///
+ /// Effettua ripresa ODL su tavola
+ ///
+ ///
+ ///
+ protected void lbtReopOdlSuTav_Click(object sender, EventArgs e)
{
- // processo x macchina selezionata
- DataLayerObj.taODL.fineProd(idxODL, idxMacchina);
- string evText = "Registrata fine produzione per ODL {0}";
- StringBuilder sb = new StringBuilder();
- sb.AppendLine(String.Format(evText, idxODL));
- processaEvento(idxMacchina, idxEvento, sb.ToString(), idxODL);
- // se è multi processo ANCHE x altra tavola...
- if (isMulti)
- {
- sb.AppendLine("---");
- int idxOdlAltra = 0;
- string _idxOdl = idxOdlAltraMacc;
- int.TryParse(_idxOdl, out idxOdlAltra);
- DataLayerObj.taODL.fineProd(idxOdlAltra, idxMaccAltraTav);
- sb.AppendLine(String.Format(evText, idxOdlAltra));
- processaEvento(idxMaccAltraTav, idxEvento, String.Format(evText, idxOdlAltra), idxOdlAltra);
- }
- // riporto stringa
- lblOut.Text = sb.ToString().Replace("---", "
");
+ // chiamo stored x riprendere ODL (toglie data chiusura...)
+ DS_ProdTempi.ODLDataTable tabRes = DataLayerObj.taODL.reopenGetLast(idxMacchinaFix);
+ if (tabRes.Rows.Count > 0)
+ {
+ var riga = tabRes[0];
+ // messaggio utente
+ string evText = "Registrato riapertura ODL {0} | art {1}";
+ StringBuilder sb = new StringBuilder();
+ sb.AppendLine(String.Format(evText, riga.IdxODL, riga.CodArticolo));
+ lblOut.Text = sb.ToString();
+ }
+ // update buttons...
+ checkAll();
+ // sollevo evento!
+ if (eh_reqUpdate != null)
+ {
+ eh_reqUpdate(this, new EventArgs());
+ }
}
- catch (Exception exc)
+
+ protected void txtSearchODL_TextChanged(object sender, EventArgs e)
{
- logger.lg.scriviLog(string.Format("Eccezione in operazione chiusura ODL! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- Response.Redirect("~/DettaglioMacchina.aspx");
+ odsODL.DataBind();
}
- }
- // altrimenti split ODL x completare IN FUTURO la produzione...
- else
- {
- try
+
+ protected void lbtFixEndSetup_Click(object sender, EventArgs e)
{
- // effettuo split su nuovo ODL
- DataLayerObj.taODL.splitODL(idxODL, DataLayerObj.MatrOpr, idxMacchina, TCAssegnato(idxODL), PzPallet, string.Format("Fine Produzione, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxODL, TCAssegnato(idxODL)), false);
- // processo chiusura setup
- processaEvento(idxMacchina, idxEvento, String.Format("Registrata fine produzione per ODL {0}, nuovo ODL per quantità residua", idxODL), idxODL);
-
- // se è multi processo ANCHE x altra tavola...
- if (isMulti)
- {
- int idxOdlAltra = 0;
- string _idxOdl = idxOdlAltraMacc;
- int.TryParse(_idxOdl, out idxOdlAltra);
- // effettuo split su nuovo ODL
- DataLayerObj.taODL.splitODL(idxOdlAltra, DataLayerObj.MatrOpr, idxMaccAltraTav, TCAssegnato(idxOdlAltra), PzPallet, string.Format("Fine Produzione, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxOdlAltra, TCAssegnato(idxOdlAltra)), false);
- // processo chiusura setup
- processaEvento(idxMaccAltraTav, idxEvento, String.Format("Registrata fine produzione per ODL {0}, nuovo ODL per quantità residua", idxOdlAltra), idxOdlAltra);
- }
- // sistemo buttons!
- bool splitOdl = false;
- fixSplitBtn(splitOdl);
+ string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
+ string outData = $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxOdlMacc}";
+ DataLayerObj.addTask4Machine(idxMacchinaFix, taskType.fixStopSetup, outData);
+ outData = "Inserita richiesta invio Fix chiusura attrezzaggio " + outData;
+ lblOut.Text = outData;
}
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Eccezione in operazione Chiusura + Split ODL su nuovo! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- Response.Redirect("~/DettaglioMacchina.aspx");
- }
- }
- // resetto ODL su redis...
- DataLayerObj.emptyCurrODL(idxMacchina);
- // aggiorno visualizzazione
- checkAll();
- // sollevo evento!
- if (eh_reqUpdate != null)
- {
- eh_reqUpdate(this, new EventArgs());
- }
}
- ///
- /// verifica se sia necessario confermare la prod dell'ODL precedente prima di chiudere e lo fa in automatico...
- ///
- /// boolean, true = deve confermare 0 pezzi (es. in setup)
- 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...
- if (confZero)
- {
- // confermo produzione ZERO pezzi (in setup)
- DataLayerObj.confermaProdMacchina(idxMacchina, memLayer.ML.CRI("modoConfProd"), 0, 0, DateTime.Now);
- }
- else // se NON sono in setup verifico se ho pz da confermare
- {
- // recupero pz da confermare
- DS_ProdTempi.stp_PzProd_getByMacchinaRow rigaProd = DataLayerObj.taPzProd2conf.GetData(idxMacchina)[0];
- if (rigaProd.pezziNonConfermati > 0)
- {
- DataLayerObj.confermaProdMacchina(idxMacchina, memLayer.ML.CRI("modoConfProd"), rigaProd.pezziNonConfermati, 0, DateTime.Now);
- }
- }
- }
- ///
- /// mostra dati ed opzione x split ODL
- ///
- ///
- ///
- protected void lbtShowSplitODL_Click(object sender, EventArgs e)
- {
- bool splitOdl = true;
- fixSplitBtn(splitOdl);
- // recupero current idx
- int currODL = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL;
- updateTempoTc(currODL, true);
- updateNoteTC(currODL);
- }
- ///
- /// sistema buttons split
- ///
- ///
- private void fixSplitBtn(bool splitOdl)
- {
- lbtShowSplitODL.Visible = !splitOdl;
- chkCloseOdl.Visible = !splitOdl;
- lbtSplitODL.Visible = splitOdl;
- showNoteTC(splitOdl);
- ddlODL.Visible = !splitOdl;
- chkTutti.Visible = !splitOdl;
- lbtStartAttr.Visible = !splitOdl;
- lbtStartProd.Visible = !splitOdl;
- lbtEndProd.Visible = !splitOdl;
- }
- ///
- /// split ODL con creazione nuovo ODL
- ///
- ///
- ///
- protected void lbtSplitODL_Click(object sender, EventArgs e)
- {
- // chiamo stored che genera nuovo ODL, mette note e tempo, chiude vecchi e assegna nuovo...
- int currODL = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL;
- int idxEvento = 1; // !!!HARD CODED
- // controllo se TC è valorizzato..
- if (TCRichAttr == 0)
- {
- mod_tempoMSMC.checkTC();
- }
-
- // confermo prod vecchio ODL
- confermaProdOdl(false);
-
- // effettuo split su nuovo ODL
- DataLayerObj.taODL.splitODL(currODL, DataLayerObj.MatrOpr, idxMacchina, TCRichAttr, PzPallet, txtNote.Text, true);
-
- // resetto ODL su redis...
- DataLayerObj.emptyCurrODL(idxMacchina);
-
- // invio email!
- DataLayerObj.sendWarnTcChangeReq(memLayer.ML.CRS("_adminEmail"));
- // processo chiusura setup
- processaEvento(idxMacchina, idxEvento, String.Format("Registrato Riattrezzaggio ODL (old: {0})", currODL), currODL);
- // sistemo buttons!
- bool splitOdl = false;
- fixSplitBtn(splitOdl);
-
- // sollevo evento!
- if (eh_reqUpdate != null)
- {
- eh_reqUpdate(this, new EventArgs());
- }
- }
- ///
- /// selezionato un ODL mostro note/tempo da validare
- ///
- ///
- ///
- protected void ddlODL_SelectedIndexChanged(object sender, EventArgs e)
- {
- checkDDL();
- }
-
- private void checkDDL()
- {
- if (ddlODL.SelectedIndex > 0)
- {
- showNoteTC(true);
- updateTempoTc(idxODLSel, false);
- updateNoteTC(idxODLSel);
- }
- else
- {
- showNoteTC(false);
- }
- }
-
-
- ///
- /// mostra/nasconde note
- ///
- private void showNoteTC(bool show)
- {
- // mostra/nasconde note da compilare
- divTempo.Visible = show;
- divNote.Visible = show;
- divPzPallet.Visible = show;
- lbtStartAttr.Visible = show;
- cmp_dettODL.idxODLSel = idxODLSel;
- divDettOdl.Visible = show && idxODLSel > 0;
- // se abilitato da config su DB mostro selezione del numPzPallet...
- cmp_selPzPallet.enableSet = memLayer.ML.CRB("enableTabSetPzPallet");
-
- }
- ///
- /// aggiorna note ODL
- ///
- ///
- private void updateNoteTC(int idxOdl)
- {
- string testo = "";
- if (idxOdl > 0)
- {
- try
- {
- testo = DataLayerObj.taODL.getByIdx(idxOdl, false)[0].Note;
- }
- catch
- { }
- }
- txtNote.Text = testo;
- }
-
- ///
- /// update TC mostrato
- ///
- /// idx dell'ODL / PODL
- ///
- private void updateTempoTc(int idxOdlPodl, bool inAttr)
- {
- // riporta TC
- decimal _TCRichAttr = 0;
- int pzPallet = 1;
- if (enableRPO && !inAttr)
- {
- var rigaProm = DataLayerObj.taPODL.getByKey(idxOdlPodl)[0];
- _TCRichAttr = rigaProm.TCAssegnato;
- pzPallet = rigaProm.PzPallet;
- }
- else
- {
- DS_ProdTempi.ODLRow rigaOdl = DataLayerObj.taODL.getByIdx(idxOdlPodl, false)[0];
- if (rigaOdl.TCRichAttr > 0)
- {
- _TCRichAttr = rigaOdl.TCRichAttr;
- }
- else
- {
- _TCRichAttr = rigaOdl.TCAssegnato;
- }
- pzPallet = rigaOdl.PzPallet;
- }
- // aggiorno dati!
- TCRichAttr = _TCRichAttr;
- PzPallet = pzPallet;
- }
-
- protected void lbtConfNewRevProd_Click(object sender, EventArgs e)
- {
- // chiamo stored x allineare revProd a revUT
- string CodArticolo = DataLayerObj.taODL.getByIdx(idxODLSel, false)[0].CodArticolo;
- DataLayerObj.taAnagArt.setNewRev(CodArticolo);
- checkBtnStatus();
- }
- ///
- /// toggle visualizzazione creazioen ODL provvisorio
- ///
- ///
- ///
- protected void lbtShowCreaOdlProvv_Click(object sender, EventArgs e)
- {
- cmp_newODL.Visible = !cmp_newODL.Visible;
- }
- ///
- /// Testo x button creazione nuovo ODL
- ///
- public string lblCreaOdl
- {
- get
- {
- string answ = "CREAZIONE ODL PROVVISORIO";
- if (cmp_newODL.Visible)
- {
- answ = "NASCONDI creazione ODL provvisorio";
- }
- return answ;
- }
- }
-
- protected void chkTutti_CheckedChanged(object sender, EventArgs e)
- {
- checkBtnStatus();
- }
- ///
- /// Effettua split ODL da ALTRA tavola su tav corrente
- ///
- ///
- ///
- protected void lbtSplitOdlSuTav_Click(object sender, EventArgs e)
- {
- // chiamo stored x splittare ODL...
- int idxOdlAltra = 0;
- int.TryParse(idxOdlAltraMacc, out idxOdlAltra);
- // se ho trovato...
- if (idxOdlAltra > 0)
- {
- DataLayerObj.taODL.dividiDaAltraTav(idxOdlAltra, DataLayerObj.MatrOpr, idxMacchina);
- // messaggio utente
- string evText = "Registrata inizio attrezzaggio da split ODL {0} (come da altra tavola)";
- StringBuilder sb = new StringBuilder();
- sb.AppendLine(String.Format(evText, idxOdlAltra));
- lblOut.Text = sb.ToString();
- }
- // update button x setup da altra tavola...
- checkAll();
- // sollevo evento!
- if (eh_reqUpdate != null)
- {
- eh_reqUpdate(this, new EventArgs());
- }
- }
- ///
- /// Effettua ripresa ODL su tavola
- ///
- ///
- ///
- protected void lbtReopOdlSuTav_Click(object sender, EventArgs e)
- {
- // chiamo stored x riprendere ODL (toglie data chiusura...)
- DS_ProdTempi.ODLDataTable tabRes = DataLayerObj.taODL.reopenGetLast(idxMacchina);
- if (tabRes.Rows.Count > 0)
- {
- var riga = tabRes[0];
- // messaggio utente
- string evText = "Registrato riapertura ODL {0} | art {1}";
- StringBuilder sb = new StringBuilder();
- sb.AppendLine(String.Format(evText, riga.IdxODL, riga.CodArticolo));
- lblOut.Text = sb.ToString();
- }
- // update buttons...
- checkAll();
- // sollevo evento!
- if (eh_reqUpdate != null)
- {
- eh_reqUpdate(this, new EventArgs());
- }
- }
-
- protected void txtSearchODL_TextChanged(object sender, EventArgs e)
- {
- odsODL.DataBind();
- }
-
- protected void lbtFixEndSetup_Click(object sender, EventArgs e)
- {
- string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
- string outData = $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxOdlMacc}";
- DataLayerObj.addTask4Machine(idxMacchina, taskType.fixStopSetup, outData);
- outData = "Inserita richiesta invio Fix chiusura attrezzaggio " + outData;
- lblOut.Text = outData;
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_QRScanner.ascx.cs b/MP-TAB/WebUserControls/mod_QRScanner.ascx.cs
index cbc9c446..078db724 100644
--- a/MP-TAB/WebUserControls/mod_QRScanner.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_QRScanner.ascx.cs
@@ -5,54 +5,49 @@ using System.Web.UI;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_QRScanner : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_QRScanner : BaseUserControl
{
- // Richiesto https
- // basato su instascan:
- // https://github.com/schmich/instascan
- if (!Page.IsPostBack)
- {
- txtQRCode.Text = "";
- hlReload.Enabled = false;
- }
- }
-
- protected void txtQRCode_TextChanged(object sender, EventArgs e)
- {
- checkloginPwdOnly();
- }
-
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// controllo login solo con pwd
- ///
- private void checkloginPwdOnly()
- {
- // se abilitato login "pwdOnly" rimando a login...
- if (memLayer.ML.cdvb("loginPwdOnly"))
- {
- string UserAuthKey = txtQRCode.Text.Trim();
- // cerco se la pwd valida ci sia...
- var results = DataLayerObj.taOp.getByAuthKey(UserAuthKey);
- if (results.Count > 0)
+ protected void Page_Load(object sender, EventArgs e)
{
- // in questo caso rimando a jumper...
- int MatrOpr = results[0].MatrOpr;
- string baseAuthUrl = memLayer.ML.CRS("baseAuthUrl");
- // rimando a pagina login con pwdOnly...
- Response.Redirect(string.Format("{0}MatrOpr={1}&UserAuthKey={2}", baseAuthUrl, MatrOpr, UserAuthKey));
+ // Richiesto https
+ // basato su instascan:
+ // https://github.com/schmich/instascan
+ if (!Page.IsPostBack)
+ {
+ txtQRCode.Text = "";
+ hlReload.Enabled = false;
+ }
}
- }
- }
- protected void lbtGo_Click(object sender, EventArgs e)
- {
- checkloginPwdOnly();
+ protected void txtQRCode_TextChanged(object sender, EventArgs e)
+ {
+ checkloginPwdOnly();
+ }
+ ///
+ /// controllo login solo con pwd
+ ///
+ private void checkloginPwdOnly()
+ {
+ // se abilitato login "pwdOnly" rimando a login...
+ if (memLayer.ML.cdvb("loginPwdOnly"))
+ {
+ string UserAuthKey = txtQRCode.Text.Trim();
+ // cerco se la pwd valida ci sia...
+ var results = DataLayerObj.taOp.getByAuthKey(UserAuthKey);
+ if (results.Count > 0)
+ {
+ // in questo caso rimando a jumper...
+ int MatrOpr = results[0].MatrOpr;
+ string baseAuthUrl = memLayer.ML.CRS("baseAuthUrl");
+ // rimando a pagina login con pwdOnly...
+ Response.Redirect(string.Format("{0}MatrOpr={1}&UserAuthKey={2}", baseAuthUrl, MatrOpr, UserAuthKey));
+ }
+ }
+ }
+
+ protected void lbtGo_Click(object sender, EventArgs e)
+ {
+ checkloginPwdOnly();
+ }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_RepProd_GG.ascx.cs b/MP-TAB/WebUserControls/mod_RepProd_GG.ascx.cs
index a0e57dd2..b8a935c6 100644
--- a/MP-TAB/WebUserControls/mod_RepProd_GG.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_RepProd_GG.ascx.cs
@@ -3,7 +3,7 @@ using System.Web.UI;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_RepProd_GG : System.Web.UI.UserControl
+ public partial class mod_RepProd_GG : BaseUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
diff --git a/MP-TAB/WebUserControls/mod_commenti.ascx.cs b/MP-TAB/WebUserControls/mod_commenti.ascx.cs
index 46ac4b44..55ae2470 100644
--- a/MP-TAB/WebUserControls/mod_commenti.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_commenti.ascx.cs
@@ -6,100 +6,96 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_commenti : System.Web.UI.UserControl
- {
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// registrata richiesta
- ///
- public event EventHandler eh_reqEdit;
-
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_commenti : BaseUserControl
{
- if (!Page.IsPostBack)
- {
- ddlPageSize.DataBind();
- // verifico SE deve rileggere da sessione
- if (memLayer.ML.CRB("preselFromSession"))
+ ///
+ /// registrata richiesta
+ ///
+ public event EventHandler eh_reqEdit;
+
+ protected void Page_Load(object sender, EventArgs e)
{
- try
- {
- ddlPageSize.SelectedValue = numPagSize.ToString();
- }
- catch
- { }
+ if (!Page.IsPostBack)
+ {
+ ddlPageSize.DataBind();
+ // verifico SE deve rileggere da sessione
+ if (memLayer.ML.CRB("preselFromSession"))
+ {
+ try
+ {
+ ddlPageSize.SelectedValue = numPagSize.ToString();
+ }
+ catch
+ { }
+ }
+ else
+ {
+ // imposto da valore DEFAULT
+ ddlPageSize.SelectedValue = memLayer.ML.CRS("mod_commenti_ddlPageSize");
+ }
+ }
}
- else
+
+ protected int numPagSize
{
- // imposto da valore DEFAULT
- ddlPageSize.SelectedValue = memLayer.ML.CRS("mod_commenti_ddlPageSize");
+ get
+ {
+ return memLayer.ML.IntSessionObj("mod_commenti_numPagSize");
+ }
+ set
+ {
+ memLayer.ML.setSessionVal("mod_commenti_numPagSize", value);
+ }
+ }
+ ///
+ /// abilitazione edit commenti
+ ///
+ public bool enableEdit
+ {
+ get
+ {
+ return memLayer.ML.CRB("commEnableEditDel");
+ }
}
- }
- }
- protected int numPagSize
- {
- get
- {
- return memLayer.ML.IntSessionObj("mod_commenti_numPagSize");
- }
- set
- {
- memLayer.ML.setSessionVal("mod_commenti_numPagSize", value);
- }
- }
- ///
- /// abilitazione edit commenti
- ///
- public bool enableEdit
- {
- get
- {
- return memLayer.ML.CRB("commEnableEditDel");
- }
- }
+ public void doUpdate()
+ {
+ repComm.DataBind();
+ }
- public void doUpdate()
- {
- repComm.DataBind();
- }
+ ///
+ /// carico x edit commento
+ ///
+ ///
+ ///
+ protected void lbtEdit_Click(object sender, EventArgs e)
+ {
+ LinkButton imgBtn = (LinkButton)sender;
+ DateTime inizioStato = Convert.ToDateTime(imgBtn.CommandArgument);
+ memLayer.ML.setSessionVal("inizioStato", inizioStato);
+ // sollevo evento!
+ if (eh_reqEdit != null)
+ {
+ eh_reqEdit(this, new EventArgs());
+ }
+ }
+ ///
+ /// elimina commento
+ ///
+ ///
+ ///
+ protected void lbtDel_Click(object sender, EventArgs e)
+ {
+ LinkButton imgBtn = (LinkButton)sender;
+ DateTime inizioStato = Convert.ToDateTime(imgBtn.CommandArgument);
+ string idxMacchina = memLayer.ML.StringSessionObj("idxMacchina");
+ DataLayerObj.taEventi.DeleteQuery(idxMacchina, inizioStato);
+ doUpdate();
+ }
- ///
- /// carico x edit commento
- ///
- ///
- ///
- protected void lbtEdit_Click(object sender, EventArgs e)
- {
- LinkButton imgBtn = (LinkButton)sender;
- DateTime inizioStato = Convert.ToDateTime(imgBtn.CommandArgument);
- memLayer.ML.setSessionVal("inizioStato", inizioStato);
- // sollevo evento!
- if (eh_reqEdit != null)
- {
- eh_reqEdit(this, new EventArgs());
- }
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ numPagSize = Convert.ToInt16(ddlPageSize.SelectedValue);
+ }
}
- ///
- /// elimina commento
- ///
- ///
- ///
- protected void lbtDel_Click(object sender, EventArgs e)
- {
- LinkButton imgBtn = (LinkButton)sender;
- DateTime inizioStato = Convert.ToDateTime(imgBtn.CommandArgument);
- string idxMacchina = memLayer.ML.StringSessionObj("idxMacchina");
- DataLayerObj.taEventi.DeleteQuery(idxMacchina, inizioStato);
- doUpdate();
- }
-
- protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
- {
- numPagSize = Convert.ToInt16(ddlPageSize.SelectedValue);
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_confProd.ascx.cs b/MP-TAB/WebUserControls/mod_confProd.ascx.cs
index 377b494f..54d23ac6 100644
--- a/MP-TAB/WebUserControls/mod_confProd.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_confProd.ascx.cs
@@ -5,17 +5,13 @@ using System.Web.UI;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_confProd : MpTabUserControl
+ public partial class mod_confProd : BaseUserControl
{
///
/// indica conferma con rettifica (evento 121)
///
protected bool confRett = memLayer.ML.CRB("confRett");
///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
/// registrato nuovo valore
///
public event EventHandler eh_inserting;
diff --git a/MP-TAB/WebUserControls/mod_controlliProd.ascx.cs b/MP-TAB/WebUserControls/mod_controlliProd.ascx.cs
index 6a10f009..fea8036e 100644
--- a/MP-TAB/WebUserControls/mod_controlliProd.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_controlliProd.ascx.cs
@@ -5,272 +5,254 @@ using System.Web.UI;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_controlliProd : System.Web.UI.UserControl
- {
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_newVal;
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_reset;
- ///
- /// caricamento pagina
- ///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_controlliProd : BaseUserControl
{
- if (!Page.IsPostBack)
- {
- checkAll();
- }
- }
-
- private void checkAll()
- {
- fixSelMacc();
- checkOdl();
- lblOut.Text = "";
- switchBtnConferma(false);
- lbtShowContr.Visible = odlOk;
- lblConfProd.Visible = !odlOk;
- }
- ///
- /// Verifica se abbia un ODL ATTIVO
- ///
- private void checkOdl()
- {
- lbtShowContr.Visible = odlOk;
- lblConfProd.Visible = !odlOk;
- lblMancaODL.Visible = !odlOk;
- }
-
- ///
- /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
- ///
- protected bool isMulti
- {
- get
- {
- return DataLayerObj.isMulti(idxMacchinaSession);
- }
- }
-
- ///
- /// Se la machcina è MULTI --> mostro selettore
- ///
- private void fixSelMacc()
- {
- divSelMacc.Visible = isMulti;
- fixSelMaccControlli();
- }
- ///
- /// restituisce css disabled SE odl NON OK...
- ///
- public string cssBtnConf
- {
- get
- {
- return odlOk ? "" : "disabled";
- }
- }
- ///
- /// Verifica ODL OK (ovvero caricato x macchina...)
- ///
- public bool odlOk
- {
- get
- {
- bool answ = true;
- // carico i dati preliminari: ODL
- int idxOdl = 0; // userò ODL del turno
- try
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_newVal;
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_reset;
+ ///
+ /// caricamento pagina
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
{
- idxOdl = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL;
+ if (!Page.IsPostBack)
+ {
+ checkAll();
+ }
}
- catch
- {
- logger.lg.scriviLog(string.Format("Errore a recuperare ODL per la macchina {0}", idxMacchina), tipoLog.ERROR);
- }
- // se ODL > 0 è ok!!!
- answ = (idxOdl > 0);
- return answ;
- }
- }
- ///
- /// idx macchina selezionata
- ///
- public string idxMacchina
- {
- get
- {
- string answ = memLayer.ML.StringSessionObj("IdxMacchina");
- // verifoc: se multi uso selettore tendina...
- if (isMulti)
- {
- if (ddlSubMacc.SelectedValue == "")
- {
- ddlSubMacc.DataBind();
- }
- if (ddlSubMacc.SelectedValue != "")
- {
- answ = ddlSubMacc.SelectedValue;
- }
- }
- return answ;
- }
- set
- {
- memLayer.ML.setSessionVal("IdxMacchina", value);
- }
- }
- ///
- /// idx macchina selezionata
- ///
- public string idxMacchinaSession
- {
- get
- {
- return memLayer.ML.StringSessionObj("IdxMacchina");
- }
- set
- {
- memLayer.ML.setSessionVal("IdxMacchina", value);
- }
- }
- ///
- /// cambio stato visibilità pannello e testo button
- ///
- ///
- ///
- protected void lbtShowContr_Click(object sender, EventArgs e)
- {
- switchBtnConferma(!lbtOK.Visible);
- }
- ///
- /// determina comportamento btn conferma
- ///
- private void switchBtnConferma(bool showConf)
- {
- lbtOK.Visible = showConf;
- lbtKO.Visible = showConf;
- lbtSalva.Visible = showConf;
- if (showConf)
- {
- lblShowContr.Text = "Nascondi Controllo";
- }
- else
- {
- lblShowContr.Text = "Registra Controllo";
- // sollevo evento!
- if (eh_reset != null)
- {
- eh_reset(this, new EventArgs());
- }
- }
- }
- ///
- /// salvo produzione
- ///
- ///
- ///
- protected void lbtSalva_Click(object sender, EventArgs e)
- {
- // se ODL ok...
- if (odlOk)
- {
- // salvo controllo KO
- DataLayerObj.taRC.insertQuery(idxMacchina, DataLayerObj.MatrOpr, false, txtNoteContr.Text.Trim(), DateTime.Now);
- // sollevo evento!
- if (eh_newVal != null)
- {
- eh_newVal(this, new EventArgs());
- }
- resetControlli();
- }
- }
- private void resetControlli()
- {
- txtNoteContr.Text = "";
- // nascondo!
- switchBtnConferma(false);
- divNote.Visible = false;
- }
-
- protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
- {
- subMaccSel = ddlSubMacc.SelectedValue;
- fixSelMaccControlli();
- checkAll();
- }
-
- private void fixSelMaccControlli()
- {
- if (isMulti)
- {
- memLayer.ML.setSessionVal("IdxMacchinaControlli", subMaccSel);
- }
- else
- {
- memLayer.ML.setSessionVal("IdxMacchinaControlli", idxMacchinaSession);
- }
- }
-
- protected void ddlSubMacc_DataBound(object sender, EventArgs e)
- {
- // se ho in memoria un valore LO REIMPOSTO...
- if (subMaccSel != "")
- {
- // provo a preselezionare...
- try
+ private void checkAll()
{
- ddlSubMacc.SelectedValue = subMaccSel;
+ fixSelMacc();
+ checkOdl();
+ lblOut.Text = "";
+ switchBtnConferma(false);
+ lbtShowContr.Visible = odlOk;
+ lblConfProd.Visible = !odlOk;
}
- catch
- { }
- }
- }
- ///
- /// Sotto sistema (macchina) selezionato
- ///
- public string subMaccSel
- {
- get
- {
- return memLayer.ML.StringSessionObj("subMaccSel");
- }
- set
- {
- memLayer.ML.setSessionVal("subMaccSel", value);
- }
- }
-
- protected void lbtOK_Click(object sender, EventArgs e)
- {
- // se ODL ok...
- if (odlOk)
- {
- // Salvo controllo come OK
- // sollevo evento!
- DataLayerObj.taRC.insertQuery(idxMacchina, DataLayerObj.MatrOpr, true, "", DateTime.Now);
- if (eh_newVal != null)
+ ///
+ /// Verifica se abbia un ODL ATTIVO
+ ///
+ private void checkOdl()
{
- eh_newVal(this, new EventArgs());
+ lbtShowContr.Visible = odlOk;
+ lblConfProd.Visible = !odlOk;
+ lblMancaODL.Visible = !odlOk;
}
- }
- resetControlli();
- }
- protected void lbtKO_Click(object sender, EventArgs e)
- {
- divNote.Visible = true;
+ ///
+ /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
+ ///
+ protected bool isMulti
+ {
+ get
+ {
+ return DataLayerObj.isMulti(idxMacchina);
+ }
+ }
+
+ ///
+ /// Se la machcina è MULTI --> mostro selettore
+ ///
+ private void fixSelMacc()
+ {
+ divSelMacc.Visible = isMulti;
+ fixSelMaccControlli();
+ }
+ ///
+ /// restituisce css disabled SE odl NON OK...
+ ///
+ public string cssBtnConf
+ {
+ get
+ {
+ return odlOk ? "" : "disabled";
+ }
+ }
+ ///
+ /// Verifica ODL OK (ovvero caricato x macchina...)
+ ///
+ public bool odlOk
+ {
+ get
+ {
+ bool answ = true;
+ // carico i dati preliminari: ODL
+ int idxOdl = 0; // userò ODL del turno
+ try
+ {
+ idxOdl = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL;
+ }
+ catch
+ {
+ logger.lg.scriviLog(string.Format("Errore a recuperare ODL per la macchina {0}", idxMacchinaFix), tipoLog.ERROR);
+ }
+ // se ODL > 0 è ok!!!
+ answ = (idxOdl > 0);
+ return answ;
+ }
+ }
+ ///
+ /// idx macchina selezionata
+ ///
+ public string idxMacchinaFix
+ {
+ get
+ {
+ string answ = idxMacchina;
+ // verifoc: se multi uso selettore tendina...
+ if (isMulti)
+ {
+ if (ddlSubMacc.SelectedValue == "")
+ {
+ ddlSubMacc.DataBind();
+ }
+ if (ddlSubMacc.SelectedValue != "")
+ {
+ answ = ddlSubMacc.SelectedValue;
+ }
+ }
+ return answ;
+ }
+ set
+ {
+ memLayer.ML.setSessionVal("IdxMacchina", value);
+ }
+ }
+ ///
+ /// cambio stato visibilità pannello e testo button
+ ///
+ ///
+ ///
+ protected void lbtShowContr_Click(object sender, EventArgs e)
+ {
+ switchBtnConferma(!lbtOK.Visible);
+ }
+ ///
+ /// determina comportamento btn conferma
+ ///
+ private void switchBtnConferma(bool showConf)
+ {
+ lbtOK.Visible = showConf;
+ lbtKO.Visible = showConf;
+ lbtSalva.Visible = showConf;
+ if (showConf)
+ {
+ lblShowContr.Text = "Nascondi Controllo";
+ }
+ else
+ {
+ lblShowContr.Text = "Registra Controllo";
+ // sollevo evento!
+ if (eh_reset != null)
+ {
+ eh_reset(this, new EventArgs());
+ }
+ }
+ }
+ ///
+ /// salvo produzione
+ ///
+ ///
+ ///
+ protected void lbtSalva_Click(object sender, EventArgs e)
+ {
+ // se ODL ok...
+ if (odlOk)
+ {
+ // salvo controllo KO
+ DataLayerObj.taRC.insertQuery(idxMacchinaFix, DataLayerObj.MatrOpr, false, txtNoteContr.Text.Trim(), DateTime.Now);
+ // sollevo evento!
+ if (eh_newVal != null)
+ {
+ eh_newVal(this, new EventArgs());
+ }
+ resetControlli();
+ }
+ }
+
+ private void resetControlli()
+ {
+ txtNoteContr.Text = "";
+ // nascondo!
+ switchBtnConferma(false);
+ divNote.Visible = false;
+ }
+
+ protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ subMaccSel = ddlSubMacc.SelectedValue;
+ fixSelMaccControlli();
+ checkAll();
+ }
+
+ private void fixSelMaccControlli()
+ {
+ if (isMulti)
+ {
+ memLayer.ML.setSessionVal("IdxMacchinaControlli", subMaccSel);
+ }
+ else
+ {
+ memLayer.ML.setSessionVal("IdxMacchinaControlli", idxMacchina);
+ }
+ }
+
+ protected void ddlSubMacc_DataBound(object sender, EventArgs e)
+ {
+ // se ho in memoria un valore LO REIMPOSTO...
+ if (subMaccSel != "")
+ {
+ // provo a preselezionare...
+ try
+ {
+ ddlSubMacc.SelectedValue = subMaccSel;
+ }
+ catch
+ { }
+ }
+ }
+ ///
+ /// Sotto sistema (macchina) selezionato
+ ///
+ public string subMaccSel
+ {
+ get
+ {
+ return memLayer.ML.StringSessionObj("subMaccSel");
+ }
+ set
+ {
+ memLayer.ML.setSessionVal("subMaccSel", value);
+ }
+ }
+
+ protected void lbtOK_Click(object sender, EventArgs e)
+ {
+ // se ODL ok...
+ if (odlOk)
+ {
+ // Salvo controllo come OK
+ // sollevo evento!
+ DataLayerObj.taRC.insertQuery(idxMacchinaFix, DataLayerObj.MatrOpr, true, "", DateTime.Now);
+ if (eh_newVal != null)
+ {
+ eh_newVal(this, new EventArgs());
+ }
+ }
+ resetControlli();
+ }
+
+ protected void lbtKO_Click(object sender, EventArgs e)
+ {
+ divNote.Visible = true;
+ }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_dettMacchina.ascx.cs b/MP-TAB/WebUserControls/mod_dettMacchina.ascx.cs
index 892fb067..ea8d4cfe 100644
--- a/MP-TAB/WebUserControls/mod_dettMacchina.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_dettMacchina.ascx.cs
@@ -5,12 +5,8 @@ using System.Web.UI;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_dettMacchina : MpTabUserControl
+ public partial class mod_dettMacchina : BaseUserControl
{
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
///
/// fatto refresh --> chiedo remove modal (se c'è)
///
@@ -61,28 +57,6 @@ namespace MoonProTablet.WebUserControls
}
}
///
- /// url completo immagine
- ///
- ///
- ///
- public string ImgUrl(object url)
- {
- if (url.ToString() == "")
- {
- url = "empty.png";
- }
- return string.Format("./images/macchine/{0}", url);
- }
- ///
- /// fomratta durata in minuti/ore/gg a seconda del totale...
- ///
- ///
- ///
- public string formatDurata(object min)
- {
- return utility.formatDurata(min);
- }
- ///
/// fa update del controllo
///
public void doUpdate()
@@ -178,29 +152,5 @@ namespace MoonProTablet.WebUserControls
}
return answ;
}
- public string urlDisegno(object _codArticolo)
- {
- // default è ND...
- string outVal = "~/Files/Disegni/ND.pdf";
- // recupero da anagrafica articoli...
- try
- {
-
- DS_ProdTempi.AnagArticoliRow riga = selData.mng.rigaArt(_codArticolo.ToString());
- if (riga != null)
- {
- outVal = string.Format("~/Files/Disegni/{0}.pdf", riga.Disegno);
- }
- else
- {
- logger.lg.scriviLog(string.Format("Attenzione! nessuna informazione trovata per l'articolo {0}", _codArticolo), tipoLog.WARNING);
- }
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Errore in ricostruzione URL disegno:{0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- }
- return outVal;
- }
}
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_dettTurni.ascx.cs b/MP-TAB/WebUserControls/mod_dettTurni.ascx.cs
index a22cc0cb..65fd5598 100644
--- a/MP-TAB/WebUserControls/mod_dettTurni.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_dettTurni.ascx.cs
@@ -2,35 +2,35 @@
namespace MoonProTablet.WebUserControls
{
- public partial class mod_dettTurni : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_dettTurni : BaseUserControl
{
- updateTurni();
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ updateTurni();
+ }
+ ///
+ /// aggiorna classi grafiche turni
+ ///
+ protected void updateTurni()
+ {
+ }
+ ///
+ /// fornisce classe CSS x colorare il turno secondo apertura o meno
+ ///
+ ///
+ ///
+ public string coloreDaTurno(object turno)
+ {
+ string answ = "sGr px-2";
+ bool aperto = false;
+ try
+ {
+ aperto = Convert.ToBoolean(turno);
+ }
+ catch
+ { }
+ if (aperto) answ = "sVe px-2";
+ return answ;
+ }
}
- ///
- /// aggiorna classi grafiche turni
- ///
- protected void updateTurni()
- {
- }
- ///
- /// fornisce classe CSS x colorare il turno secondo apertura o meno
- ///
- ///
- ///
- public string coloreDaTurno(object turno)
- {
- string answ = "sGr px-2";
- bool aperto = false;
- try
- {
- aperto = Convert.ToBoolean(turno);
- }
- catch
- { }
- if (aperto) answ = "sVe px-2";
- return answ;
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_dettaglioProd.ascx.cs b/MP-TAB/WebUserControls/mod_dettaglioProd.ascx.cs
index ff8c85f4..8888b7da 100644
--- a/MP-TAB/WebUserControls/mod_dettaglioProd.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_dettaglioProd.ascx.cs
@@ -4,143 +4,116 @@ using System;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_dettaglioProd : System.Web.UI.UserControl
- {
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// effettua traduzione del lemma
- ///
- ///
- ///
- public string traduci(string lemma)
+ public partial class mod_dettaglioProd : BaseUserControl
{
- return user_std.UtSn.Traduci(lemma);
+ ///
+ /// caricamento pagina
+ ///
+ ///
+ ///
+ 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));
+ }
+ 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";
+ }
+ }
}
- ///
- /// caricamento pagina
- ///
- ///
- ///
- 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));
- }
- 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";
- }
- }
- ///
- /// idxMacchina
- ///
- public string idxMacchina
- {
- get
- {
- return memLayer.ML.StringSessionObj("idxMacchina");
- }
- set
- {
- memLayer.ML.setSessionVal("idxMacchina", value);
- }
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_dichiarazione.ascx b/MP-TAB/WebUserControls/mod_dichiarazione.ascx
index 51a9c8b5..176cc649 100644
--- a/MP-TAB/WebUserControls/mod_dichiarazione.ascx
+++ b/MP-TAB/WebUserControls/mod_dichiarazione.ascx
@@ -23,7 +23,7 @@
-
) %>)
+
diff --git a/MP-TAB/WebUserControls/mod_dichiarazione.ascx.cs b/MP-TAB/WebUserControls/mod_dichiarazione.ascx.cs
index ea7db7ac..fb8f79a4 100644
--- a/MP-TAB/WebUserControls/mod_dichiarazione.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_dichiarazione.ascx.cs
@@ -5,198 +5,168 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_dichiarazione : System.Web.UI.UserControl
- {
- ///
- /// classe MapoDB x uso locale
- ///
- protected MapoDb.MapoDb controllerMapo = new MapoDb.MapoDb();
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_newVal;
- ///
- /// idx macchina selezionata
- ///
- public string idxMacchina
+ public partial class mod_dichiarazione : BaseUserControl
{
- get
- {
- return memLayer.ML.StringSessionObj("IdxMacchina");
- }
- set
- {
- memLayer.ML.setSessionVal("IdxMacchina", value);
- }
- }
- ///
- /// caricamento principale
- ///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
- {
- repLI.DataBind();
- }
- ///
- /// rimanda alla pagina di dettaglio della macchina scelta
- ///
- ///
- ///
- protected void hlEvento_Click(object sender, EventArgs e)
- {
- LinkButton lnkbtn = (LinkButton)sender;
- int idxEvento = 0;
- try
- {
- idxEvento = Convert.ToInt32(lnkbtn.CommandArgument);
- }
- catch
- { }
- if (idxEvento > 0)
- {
- DS_applicazione.AnagraficaEventiRow rigaEvento = DataLayerObj.taAnagEventi.GetByIdx(idxEvento)[0];
- if (rigaEvento != null)
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_newVal;
+
+ ///
+ /// caricamento principale
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
{
- DS_applicazione.StatoMacchineRow rigaStato = DataLayerObj.taStatoMacchine.GetDataByIdxMacchina(idxMacchina)[0];
- // processo evento...
- if (insRealtime)
- {
- // se realtime
- DataLayerObj.scriviRigaEventoBarcode(idxMacchina, idxEvento, rigaStato.CodArticolo, "DRT", DataLayerObj.MatrOpr, rigaStato.pallet);
- }
- else
- {
- // in primis disabilito insert...
- DataLayerObj.taStatoMacchine.setInsEnabled(idxMacchina, false);
- // calcolo evento
- string evento = idxEvento.ToString();
- string commento = "";
+ repLI.DataBind();
+ }
+ ///
+ /// rimanda alla pagina di dettaglio della macchina scelta
+ ///
+ ///
+ ///
+ protected void hlEvento_Click(object sender, EventArgs e)
+ {
+ LinkButton lnkbtn = (LinkButton)sender;
+ int idxEvento = 0;
try
{
- evento = DataLayerObj.taAnagEventi.GetByIdx(idxEvento)[0].Nome.Replace("Barcode - ", "");
+ idxEvento = Convert.ToInt32(lnkbtn.CommandArgument);
}
catch
{ }
- // genero stringa pseudo-univoca
- string codRich = string.Format("{0:yyMMddHHmmss}-{1}", DateTime.Now, idxEvento);
- // x prima cosa scrivo un evento tipo "1" x chiudere la durata appena prima dell'evento successivo
- try
+ if (idxEvento > 0)
{
- // cerco da 1 sec DOPO evento...
- DS_applicazione.DiarioDiBordoDataTable tabNext = controllerMapo.nextEventoImpiantoFrom(idxMacchina, dataOraEv.AddSeconds(1));
+ DS_applicazione.AnagraficaEventiRow rigaEvento = DataLayerObj.taAnagEventi.GetByIdx(idxEvento)[0];
+ if (rigaEvento != null)
+ {
+ DS_applicazione.StatoMacchineRow rigaStato = DataLayerObj.taStatoMacchine.GetDataByIdxMacchina(idxMacchina)[0];
+ // processo evento...
+ if (insRealtime)
+ {
+ // se realtime
+ DataLayerObj.scriviRigaEventoBarcode(idxMacchina, idxEvento, rigaStato.CodArticolo, "DRT", DataLayerObj.MatrOpr, rigaStato.pallet);
+ }
+ else
+ {
+ // in primis disabilito insert...
+ DataLayerObj.taStatoMacchine.setInsEnabled(idxMacchina, false);
+ // calcolo evento
+ string evento = idxEvento.ToString();
+ string commento = "";
+ try
+ {
+ evento = DataLayerObj.taAnagEventi.GetByIdx(idxEvento)[0].Nome.Replace("Barcode - ", "");
+ }
+ catch
+ { }
+ // genero stringa pseudo-univoca
+ string codRich = string.Format("{0:yyMMddHHmmss}-{1}", DateTime.Now, idxEvento);
+ // x prima cosa scrivo un evento tipo "1" x chiudere la durata appena prima dell'evento successivo
+ try
+ {
+ // cerco da 1 sec DOPO evento...
+ DS_applicazione.DiarioDiBordoDataTable tabNext = controllerMapo.nextEventoImpiantoFrom(idxMacchina, dataOraEv.AddSeconds(1));
- DateTime nextEvDT = DateTime.Now;
- if (tabNext.Rows.Count > 0)
- {
- nextEvDT = tabNext[0].InizioStato;
- }
- // se non trovo chiusura evento inserisco a 1 minuto prima di adesso la chiusura...
- else
- {
- nextEvDT = DateTime.Now.AddMinutes(-1);
- }
- // fix salvo la dichiarazione di chiusura
- commento = string.Format("999 - M.Lav EndEvt: {0} [{1}]", evento, codRich);
- DataLayerObj.scriviRigaEventoBarcode(idxMacchina, 1, rigaStato.CodArticolo, commento, DataLayerObj.MatrOpr, rigaStato.pallet, nextEvDT.AddSeconds(-1), DateTime.Now); // 1 hard-coded x resettare
+ DateTime nextEvDT = DateTime.Now;
+ if (tabNext.Rows.Count > 0)
+ {
+ nextEvDT = tabNext[0].InizioStato;
+ }
+ // se non trovo chiusura evento inserisco a 1 minuto prima di adesso la chiusura...
+ else
+ {
+ nextEvDT = DateTime.Now.AddMinutes(-1);
+ }
+ // fix salvo la dichiarazione di chiusura
+ commento = string.Format("999 - M.Lav EndEvt: {0} [{1}]", evento, codRich);
+ DataLayerObj.scriviRigaEventoBarcode(idxMacchina, 1, rigaStato.CodArticolo, commento, DataLayerObj.MatrOpr, rigaStato.pallet, nextEvDT.AddSeconds(-1), DateTime.Now); // 1 hard-coded x resettare
+ }
+ catch
+ { }
+ // update commento!
+ commento = string.Format("999 - Dich StartEvt: {0} [{1}]", evento, codRich);
+ // recupero data/ora evento da inserire (quella selezionata) ed AGGIUNGO 1 sec!!! così rimane traccia
+ DataLayerObj.scriviRigaEventoBarcode(idxMacchina, idxEvento, rigaStato.CodArticolo, commento, DataLayerObj.MatrOpr, rigaStato.pallet, dataOraEv.AddSeconds(1), DateTime.Now);
+ // eseguo ricalcolo!
+ DateTime startRicalcolo = dataOraEv.AddMinutes(memLayer.ML.CRI("minAnticipoRicalcolo"));
+
+ // leggo parametri x esecuzione...
+ int rdm_nEvStep = memLayer.ML.CRI("rdm_nEvStep");
+ int rdm_nEvCheck = memLayer.ML.CRI("rdm_nEvCheck");
+ bool rdm_ChkOnly = memLayer.ML.CRB("rdm_ChkOnly");
+ DataLayerObj.taComm.stp_ricalcolaDatiMacchinaFromDate(idxMacchina, startRicalcolo, 1, rdm_nEvStep, rdm_nEvCheck, rdm_ChkOnly); // nella stored imposto macchina OFFline e poi ONline, parto da "minAnticipoRicalcolo" minuti prima...
+ // aggiorno data evento x insert eventuale commento (5 sec...)
+ dataOraEv = dataOraEv.AddSeconds(5);
+ // riabilito insert... anche se non dovrebbe servire x stored ricalcolo precedente...
+ DataLayerObj.taStatoMacchine.setInsEnabled(idxMacchina, true);
+ }
+ // mostro esito
+ lblOut.Text = "Registrata dichiarazione fermata";
+ }
+ else
+ {
+ lblOut.Text = string.Format("Codice evento non valido! {0}", idxEvento);
+ }
+ }
+ // refresh fermate
+ repLI.DataBind();
+ // faccio refresh x singola macchina 2019.03.26
+ DataLayerObj.taMSE.forceRecalc(0, idxMacchina);
+ // sollevo evento!
+ if (eh_newVal != null)
+ {
+ eh_newVal(this, new EventArgs());
}
- catch
- { }
- // update commento!
- commento = string.Format("999 - Dich StartEvt: {0} [{1}]", evento, codRich);
- // recupero data/ora evento da inserire (quella selezionata) ed AGGIUNGO 1 sec!!! così rimane traccia
- DataLayerObj.scriviRigaEventoBarcode(idxMacchina, idxEvento, rigaStato.CodArticolo, commento, DataLayerObj.MatrOpr, rigaStato.pallet, dataOraEv.AddSeconds(1), DateTime.Now);
- // eseguo ricalcolo!
- DateTime startRicalcolo = dataOraEv.AddMinutes(memLayer.ML.CRI("minAnticipoRicalcolo"));
-
- // leggo parametri x esecuzione...
- int rdm_nEvStep = memLayer.ML.CRI("rdm_nEvStep");
- int rdm_nEvCheck = memLayer.ML.CRI("rdm_nEvCheck");
- bool rdm_ChkOnly = memLayer.ML.CRB("rdm_ChkOnly");
- DataLayerObj.taComm.stp_ricalcolaDatiMacchinaFromDate(idxMacchina, startRicalcolo, 1, rdm_nEvStep, rdm_nEvCheck, rdm_ChkOnly); // nella stored imposto macchina OFFline e poi ONline, parto da "minAnticipoRicalcolo" minuti prima...
- // aggiorno data evento x insert eventuale commento (5 sec...)
- dataOraEv = dataOraEv.AddSeconds(5);
- // riabilito insert... anche se non dovrebbe servire x stored ricalcolo precedente...
- DataLayerObj.taStatoMacchine.setInsEnabled(idxMacchina, true);
- }
- // mostro esito
- lblOut.Text = "Registrata dichiarazione fermata";
}
- else
+ ///
+ /// update (resetta testo)
+ ///
+ public void doUpdate()
{
- lblOut.Text = string.Format("Codice evento non valido! {0}", idxEvento);
+ lblOut.Text = "";
}
- }
- // refresh fermate
- repLI.DataBind();
- // faccio refresh x singola macchina 2019.03.26
- DataLayerObj.taMSE.forceRecalc(0, idxMacchina);
- // sollevo evento!
- if (eh_newVal != null)
- {
- eh_newVal(this, new EventArgs());
- }
- }
- ///
- /// url completo immagine
- ///
- ///
- ///
- public string ImgUrl(object url)
- {
- return string.Format("./images/iconDic/{0}.png", url);
- }
- ///
- /// update (resetta testo)
- ///
- public void doUpdate()
- {
- lblOut.Text = "";
- }
- ///
- /// determina se insert sia realtime o dataOra (in base a diff tra dataora sel ed evento, se superiore ad X minuto NON è realtime)
- ///
- public bool insRealtime
- {
- get
- {
- bool answ = true;
- try
+ ///
+ /// determina se insert sia realtime o dataOra (in base a diff tra dataora sel ed evento, se superiore ad X minuto NON è realtime)
+ ///
+ public bool insRealtime
{
- if (Math.Abs(dataOraEv.Subtract(DateTime.Now).TotalMinutes) > memLayer.ML.CRI("dltMinRealtime"))
- {
- answ = false;
- }
+ get
+ {
+ bool answ = true;
+ try
+ {
+ if (Math.Abs(dataOraEv.Subtract(DateTime.Now).TotalMinutes) > memLayer.ML.CRI("dltMinRealtime"))
+ {
+ answ = false;
+ }
+ }
+ catch
+ { }
+ return answ;
+ }
}
- catch
- { }
- return answ;
- }
- }
- ///
- /// data-ora selezionata
- ///
- protected DateTime dataOraEv
- {
- set
- {
- memLayer.ML.setSessionVal("dataOraEv", value);
- }
- get
- {
- DateTime answ = DateTime.Now;
- try
+ ///
+ /// data-ora selezionata
+ ///
+ protected DateTime dataOraEv
{
- answ = Convert.ToDateTime(memLayer.ML.objSessionObj("dataOraEv"));
+ set
+ {
+ memLayer.ML.setSessionVal("dataOraEv", value);
+ }
+ get
+ {
+ DateTime answ = DateTime.Now;
+ try
+ {
+ answ = Convert.ToDateTime(memLayer.ML.objSessionObj("dataOraEv"));
+ }
+ catch
+ { }
+ return answ;
+ }
}
- catch
- { }
- return answ;
- }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_directLinks.ascx.cs b/MP-TAB/WebUserControls/mod_directLinks.ascx.cs
index b1a11ab6..ac5d7adc 100644
--- a/MP-TAB/WebUserControls/mod_directLinks.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_directLinks.ascx.cs
@@ -8,63 +8,53 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_directLinks : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_directLinks : BaseUserControl
{
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ }
+ ///
+ /// Verifica se la pagina corrente sia URL indicato --> mostra ACTIVE
+ ///
+ ///
+ ///
+ public string checkPage(object navUrl)
+ {
+ string answ = "p-2 list-group-item list-group-item-action";
+ if (navUrl.ToString().Replace(".aspx", "").Replace("~/", "") == titolo.Replace(".aspx", ""))
+ {
+ answ += " disabled";
+ }
+ return answ;
+ }
+ ///
+ /// Verifica se la pagina corrente sia URL indicato --> mostra ACTIVE
+ ///
+ ///
+ ///
+ public bool linkEnabled(object navUrl)
+ {
+ bool answ = true;
+ if (navUrl.ToString().Replace(".aspx", "").Replace("~/", "") == titolo.Replace(".aspx", ""))
+ {
+ answ = false;
+ }
+ return answ;
+ }
+ ///
+ /// Verifica se la pagina corrente sia URL indicato --> mostra ACTIVE
+ ///
+ ///
+ ///
+ public string cssPage(object navUrl)
+ {
+ string answ = "list-group-item list-group-item-action text-uppercase";
+ if (navUrl.ToString().Replace(".aspx", "").Replace("~/", "") == titolo.Replace(".aspx", ""))
+ {
+ answ += " bg-secondary text-warning";
+ }
+ return answ;
+ }
}
- ///
- /// Verifica se la pagina corrente sia URL indicato --> mostra ACTIVE
- ///
- ///
- ///
- public string checkPage(object navUrl)
- {
- string answ = "p-2 list-group-item list-group-item-action";
- if (navUrl.ToString().Replace(".aspx", "").Replace("~/", "") == titolo.Replace(".aspx", ""))
- {
- answ += " disabled";
- }
- return answ;
- }
- ///
- /// Verifica se la pagina corrente sia URL indicato --> mostra ACTIVE
- ///
- ///
- ///
- public bool linkEnabled(object navUrl)
- {
- bool answ = true;
- if (navUrl.ToString().Replace(".aspx", "").Replace("~/", "") == titolo.Replace(".aspx", ""))
- {
- answ = false;
- }
- return answ;
- }
- ///
- /// Verifica se la pagina corrente sia URL indicato --> mostra ACTIVE
- ///
- ///
- ///
- public string cssPage(object navUrl)
- {
- string answ = "list-group-item list-group-item-action text-uppercase";
- if (navUrl.ToString().Replace(".aspx", "").Replace("~/", "") == titolo.Replace(".aspx", ""))
- {
- answ += " bg-secondary text-warning";
- }
- return answ;
- }
- ///
- /// titolo pagina
- ///
- public string titolo
- {
- get
- {
- return devicesAuthProxy.getPage(Request.Url);
- }
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_elencoControlli.ascx.cs b/MP-TAB/WebUserControls/mod_elencoControlli.ascx.cs
index 1749966a..21959707 100644
--- a/MP-TAB/WebUserControls/mod_elencoControlli.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_elencoControlli.ascx.cs
@@ -8,15 +8,15 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_elencoControlli : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_elencoControlli : BaseUserControl
{
- }
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ }
- public void doUpdate()
- {
- grView.DataBind();
+ public void doUpdate()
+ {
+ grView.DataBind();
+ }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_elencoScarti.ascx.cs b/MP-TAB/WebUserControls/mod_elencoScarti.ascx.cs
index 3652e652..9684ef3f 100644
--- a/MP-TAB/WebUserControls/mod_elencoScarti.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_elencoScarti.ascx.cs
@@ -7,16 +7,16 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_elencoScarti : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_elencoScarti : BaseUserControl
{
+ protected void Page_Load(object sender, EventArgs e)
+ {
- }
+ }
- public void doUpdate()
- {
- grView.DataBind();
+ public void doUpdate()
+ {
+ grView.DataBind();
+ }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_enrollByAuthKey.ascx.cs b/MP-TAB/WebUserControls/mod_enrollByAuthKey.ascx.cs
index 076ba8a6..fe6d7489 100644
--- a/MP-TAB/WebUserControls/mod_enrollByAuthKey.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_enrollByAuthKey.ascx.cs
@@ -4,113 +4,109 @@ using System;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_enrollByAuthKey : System.Web.UI.UserControl
- {
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// Page load (vuoto)
- ///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_enrollByAuthKey : BaseUserControl
{
+ ///
+ /// Page load (vuoto)
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
- }
- ///
- /// salvo nuovo device...
- ///
- ///
- ///
- protected void btnConferma_Click(object sender, EventArgs e)
- {
- bool fatto = false;
- // controllo se ho i dati...
- string plainUserAuthKey = txtUserAuthKey.Text.Trim();
- // in primis cerco il dipendente data la authKey...
- int MatrOpr = 0;
- try
- {
- MatrOpr = Convert.ToInt32(ddlIdxDipendente.SelectedValue);
- }
- catch
- { }
- try
- {
- // controllo dipendente... che sia selezionato uno valido
- if (MatrOpr > 0)
- {
- // recupero dati...
- string userAgent = "";
- string DeviceName = "";
- string IPv4 = "";
- userAgent = Request.UserAgent;
- DeviceName = Request.UserHostName;
- IPv4 = Request.UserHostName;
- // calcolo authKey MD5...
- string md5UserAuthKey = SteamCrypto.EncryptString(plainUserAuthKey, memLayer.ML.CRS("cookieName"));
- if (DataLayerObj.taOp.getByMatrAuthKey(MatrOpr, md5UserAuthKey).Rows.Count > 0)
- {
- fatto = tryEnroll(MatrOpr, userAgent, fatto, DeviceName, IPv4, md5UserAuthKey);
- }
- // provo con "plainUserKey"
- else if (DataLayerObj.taOp.getByMatrAuthKey(MatrOpr, plainUserAuthKey).Rows.Count > 0)
- {
- fatto = tryEnroll(MatrOpr, userAgent, fatto, DeviceName, IPv4, plainUserAuthKey);
- }
- else
- {
- lblWarning.Text = "AuthKey non trovata! richiedere reset ad Admin.";
- lblWarning.Visible = true;
- }
}
- else
+ ///
+ /// salvo nuovo device...
+ ///
+ ///
+ ///
+ protected void btnConferma_Click(object sender, EventArgs e)
{
- lblWarning.Text = "Dipendente non trovato!";
- lblWarning.Visible = true;
+ bool fatto = false;
+ // controllo se ho i dati...
+ string plainUserAuthKey = txtUserAuthKey.Text.Trim();
+ // in primis cerco il dipendente data la authKey...
+ int MatrOpr = 0;
+ try
+ {
+ MatrOpr = Convert.ToInt32(ddlIdxDipendente.SelectedValue);
+ }
+ catch
+ { }
+ try
+ {
+ // controllo dipendente... che sia selezionato uno valido
+ if (MatrOpr > 0)
+ {
+ // recupero dati...
+ string userAgent = "";
+ string DeviceName = "";
+ string IPv4 = "";
+ userAgent = Request.UserAgent;
+ DeviceName = Request.UserHostName;
+ IPv4 = Request.UserHostName;
+ // calcolo authKey MD5...
+ string md5UserAuthKey = SteamCrypto.EncryptString(plainUserAuthKey, memLayer.ML.CRS("cookieName"));
+ if (DataLayerObj.taOp.getByMatrAuthKey(MatrOpr, md5UserAuthKey).Rows.Count > 0)
+ {
+ fatto = tryEnroll(MatrOpr, userAgent, fatto, DeviceName, IPv4, md5UserAuthKey);
+ }
+ // provo con "plainUserKey"
+ else if (DataLayerObj.taOp.getByMatrAuthKey(MatrOpr, plainUserAuthKey).Rows.Count > 0)
+ {
+ fatto = tryEnroll(MatrOpr, userAgent, fatto, DeviceName, IPv4, plainUserAuthKey);
+ }
+ else
+ {
+ lblWarning.Text = "AuthKey non trovata! richiedere reset ad Admin.";
+ lblWarning.Visible = true;
+ }
+ }
+ else
+ {
+ lblWarning.Text = "Dipendente non trovato!";
+ lblWarning.Visible = true;
+ }
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Errore in registrazione device: {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ }
+ if (fatto)
+ {
+ Response.Redirect(memLayer.ML.CRS("mainPage"), true);
+ }
+ }
+ ///
+ /// prova a fare enroll device data chiave...
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ private bool tryEnroll(int MatrOpr, string userAgent, bool fatto, string DeviceName, string IPv4, string userKey)
+ {
+ try
+ {
+ fatto = DataLayerObj.enrollDevice(userKey, IPv4, DeviceName, userAgent, MatrOpr);
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Errore in registrazione nuovo device con AuthKey utente: {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ }
+ return fatto;
+ }
+ ///
+ /// resetto tutto
+ ///
+ ///
+ ///
+ protected void btnAnnulla_Click(object sender, EventArgs e)
+ {
+ txtUserAuthKey.Text = "";
}
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Errore in registrazione device: {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- }
- if (fatto)
- {
- Response.Redirect(memLayer.ML.CRS("mainPage"), true);
- }
}
- ///
- /// prova a fare enroll device data chiave...
- ///
- ///
- ///
- ///
- ///
- ///
- ///
- ///
- private bool tryEnroll(int MatrOpr, string userAgent, bool fatto, string DeviceName, string IPv4, string userKey)
- {
- try
- {
- fatto = DataLayerObj.enrollDevice(userKey, IPv4, DeviceName, userAgent, MatrOpr);
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Errore in registrazione nuovo device con AuthKey utente: {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- }
- return fatto;
- }
- ///
- /// resetto tutto
- ///
- ///
- ///
- protected void btnAnnulla_Click(object sender, EventArgs e)
- {
- txtUserAuthKey.Text = "";
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_enrollByJumperAuthKey.ascx.cs b/MP-TAB/WebUserControls/mod_enrollByJumperAuthKey.ascx.cs
index 8eee5dc6..96f21e62 100644
--- a/MP-TAB/WebUserControls/mod_enrollByJumperAuthKey.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_enrollByJumperAuthKey.ascx.cs
@@ -4,55 +4,51 @@ using System;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_enrollByJumperAuthKey : System.Web.UI.UserControl
- {
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// Caricamento pagina
- ///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_enrollByJumperAuthKey : BaseUserControl
{
- // procedo alla ricerca di dati via sessione x User AuthKey
- tryAutoEnroll();
- }
- ///
- /// prova a fare auto enroll
- ///
- public void tryAutoEnroll()
- {
- // recupero dati da session
- string UserAuthKey = "";
- int MatrOpr = 0;
- string userAgent = "";
- bool fatto = false;
- string DeviceName = "";
- string IPv4 = "";
- try
- {
- UserAuthKey = memLayer.ML.StringSessionObj("UserAuthKey");
- MatrOpr = DataLayerObj.MatrOpr;
- userAgent = Request.UserAgent;
- }
- catch
- { }
- // se ci sono i dati effettua tentativo di AutoEnroll del device
- if (MatrOpr >= 0 && UserAuthKey != "")
- {
- DeviceName = Request.UserHostName;
- IPv4 = Request.UserHostName;
- memLayer.ML.emptyCookieVal(memLayer.ML.CRS("cookieName"));
- fatto = DataLayerObj.enrollDevice(UserAuthKey, IPv4, DeviceName, userAgent, MatrOpr);
- if (fatto)
+ ///
+ /// Caricamento pagina
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
{
- Response.Redirect(memLayer.ML.CRS("mainPage"));
+ // procedo alla ricerca di dati via sessione x User AuthKey
+ tryAutoEnroll();
+ }
+ ///
+ /// prova a fare auto enroll
+ ///
+ public void tryAutoEnroll()
+ {
+ // recupero dati da session
+ string UserAuthKey = "";
+ int MatrOpr = 0;
+ string userAgent = "";
+ bool fatto = false;
+ string DeviceName = "";
+ string IPv4 = "";
+ try
+ {
+ UserAuthKey = memLayer.ML.StringSessionObj("UserAuthKey");
+ MatrOpr = DataLayerObj.MatrOpr;
+ userAgent = Request.UserAgent;
+ }
+ catch
+ { }
+ // se ci sono i dati effettua tentativo di AutoEnroll del device
+ if (MatrOpr >= 0 && UserAuthKey != "")
+ {
+ DeviceName = Request.UserHostName;
+ IPv4 = Request.UserHostName;
+ memLayer.ML.emptyCookieVal(memLayer.ML.CRS("cookieName"));
+ fatto = DataLayerObj.enrollDevice(UserAuthKey, IPv4, DeviceName, userAgent, MatrOpr);
+ if (fatto)
+ {
+ Response.Redirect(memLayer.ML.CRS("mainPage"));
+ }
+ }
}
- }
- }
- }
+ }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_fermate.ascx.cs b/MP-TAB/WebUserControls/mod_fermate.ascx.cs
index ac5debb7..9a3ae2b1 100644
--- a/MP-TAB/WebUserControls/mod_fermate.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_fermate.ascx.cs
@@ -5,7 +5,7 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_fermate : System.Web.UI.UserControl
+ public partial class mod_fermate : BaseUserControl
{
///
/// registrata richiesta
diff --git a/MP-TAB/WebUserControls/mod_footer.ascx.cs b/MP-TAB/WebUserControls/mod_footer.ascx.cs
index 82d41dc3..41702556 100644
--- a/MP-TAB/WebUserControls/mod_footer.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_footer.ascx.cs
@@ -2,42 +2,42 @@
namespace MoonProTablet.WebUserControls
{
- public partial class mod_footer : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_footer : BaseUserControl
{
- if (!Page.IsPostBack)
- {
- updateLabels();
- }
- }
- ///
- /// Versione corrente sw
- ///
- public Version currVersion
- {
- get
- {
- return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
- }
- }
- private void updateLabels()
- {
- }
- ///
- /// Dimensione schermata video attuale
- ///
- public string videoSize
- {
- get
- {
- string answ = "?x?";
- if (Session["BrowserWidth"] != null)
+ protected void Page_Load(object sender, EventArgs e)
{
- answ = string.Format("{0} x {1}", Session["BrowserWidth"], Session["BrowserHeight"]);
+ if (!Page.IsPostBack)
+ {
+ updateLabels();
+ }
+ }
+ ///
+ /// Versione corrente sw
+ ///
+ public Version currVersion
+ {
+ get
+ {
+ return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
+ }
+ }
+ private void updateLabels()
+ {
+ }
+ ///
+ /// Dimensione schermata video attuale
+ ///
+ public string videoSize
+ {
+ get
+ {
+ string answ = "?x?";
+ if (Session["BrowserWidth"] != null)
+ {
+ answ = string.Format("{0} x {1}", Session["BrowserWidth"], Session["BrowserHeight"]);
+ }
+ return answ;
+ }
}
- return answ;
- }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_insComm.ascx.cs b/MP-TAB/WebUserControls/mod_insComm.ascx.cs
index b5c5868e..802daa03 100644
--- a/MP-TAB/WebUserControls/mod_insComm.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_insComm.ascx.cs
@@ -4,223 +4,218 @@ using System;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_insComm : System.Web.UI.UserControl
- {
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_inserting;
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_newVal;
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_reset;
-
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// caricamento pagina
- ///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_insComm : BaseUserControl
{
-
- }
-
- protected void lbtAddCommento_Click(object sender, EventArgs e)
- {
- dataOraEv = DateTime.Now;
- showInsert();
- }
-
- protected void showInsert()
- {
- fixPanels(false, true, false);
- // imposto valori
- txtDate.Text = dataOraEv.ToString("yyyy-MM-dd");
- txtTime.Text = dataOraEv.ToString("HH:mm");
- txtCommento.Text = "";
- // sollevo evento!
- if (eh_inserting != null)
- {
- eh_inserting(this, new EventArgs());
- }
- }
-
- private void fixPanels(bool showBtn, bool showComm, bool showEventi)
- {
- // mostro dati da compilare e nascondo button...
- pnlButtons.Visible = showBtn;
- pnlDate.Visible = !showBtn;
- }
-
- protected void lbtAnnulla_Click(object sender, EventArgs e)
- {
- // tolgo da sessione dataOra corrente...
- memLayer.ML.emptySessionVal("dataOraEv");
- fixPanels(true, false, false);
- // sollevo evento!
- if (eh_reset != null)
- {
- eh_reset(this, new EventArgs());
- }
- }
-
- protected void lbtSalva_Click(object sender, EventArgs e)
- {
- salvaCommento();
- }
- ///
- /// effettua salvataggio del commento indicato (data/ora e testo)
- ///
- public void salvaCommento()
- {
- // salvo!
- string idxMacchina = memLayer.ML.StringSessionObj("idxMacchina");
- int idxTipo = memLayer.ML.CRI("idxTipoCommento");
- string CodArticolo = "ND";
- try
- {
- // cerco di recuperare CodArticolo da evento
- CodArticolo = DataLayerObj.taODL.getByMacchinaPeriodo(idxMacchina, dataOraEv, dataOraEv)[0].CodArticolo;
- }
- catch
- {
- CodArticolo = "ND";
- }
- string commento = txtCommento.Text.Trim();
- // elimino eventuale record precedente
- try
- {
- DataLayerObj.taEventi.DeleteQuery(idxMacchina, dataOraEv);
- }
- catch
- { }
- // inserisco nuovo record
- DataLayerObj.taEventi.Insert(idxMacchina, dataOraEv, idxTipo, CodArticolo, commento, DataLayerObj.MatrOpr, "-");
- doUpdate();
- }
-
- private void doUpdate()
- {
- // aggiorno vista...
- fixPanels(true, false, false);
- if (eh_newVal != null)
- {
- eh_newVal(this, new EventArgs());
- }
- }
-
- protected void txtDate_TextChanged(object sender, EventArgs e)
- {
- salvaDataOra();
- }
-
- private void salvaDataOra()
- {
- DateTime inizioStato = DateTime.Now;
- try
- {
- DateTime ora = Convert.ToDateTime(txtTime.Text);
- inizioStato = Convert.ToDateTime(txtDate.Text).AddHours(ora.Hour).AddMinutes(ora.Minute);
- }
- catch
- { }
- dataOraEv = inizioStato;
- }
-
- protected void txtTime_TextChanged(object sender, EventArgs e)
- {
- salvaDataOra();
- }
-
- public void caricaCommento()
- {
- string idxMacchina = memLayer.ML.StringSessionObj("idxMacchina");
- DS_applicazione.EventListRow riga = null;
- DateTime inizioStato = DateTime.Now;
- try
- {
- inizioStato = Convert.ToDateTime(memLayer.ML.objSessionObj("inizioStato"));
- dataOraEv = inizioStato;
- riga = DataLayerObj.taEventi.GetByMacchinaPeriodo(idxMacchina, inizioStato, inizioStato)[0];
- txtDate.Text = riga.InizioStato.ToString("yyyy-MM-dd");
- txtTime.Text = riga.InizioStato.ToString("HH:mm");
- txtCommento.Text = riga.Value;
- }
- catch
- { }
- fixPanels(false, true, false);
- }
- ///
- /// determian se mostrare pulsante salva (non serve x dichiarazioni fermata)
- ///
- public bool showSalva
- {
- set
- {
- lbtSalva.Visible = value;
- }
- }
- ///
- /// imposta la label x inserimento commento singolo / con dichiarazione fermata
- ///
- public string labelAddCommento
- {
- set
- {
- lblAddComm.Text = value;
- }
- }
- ///
- /// imposta data/ora del commento
- ///
- public DateTime dataEv
- {
- set
- {
- // salvo in sessione dataOra corrente...
- dataOraEv = value;
- // mostro insert!
- showInsert();
- }
- }
- ///
- /// commento inserito
- ///
- public string commento
- {
- get
- {
- return txtCommento.Text.Trim();
- }
- }
- ///
- /// data-ora selezionata
- ///
- protected DateTime dataOraEv
- {
- set
- {
- memLayer.ML.setSessionVal("dataOraEv", value);
- }
- get
- {
- DateTime answ = DateTime.Now;
- try
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_inserting;
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_newVal;
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_reset;
+ ///
+ /// caricamento pagina
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
{
- answ = Convert.ToDateTime(memLayer.ML.objSessionObj("dataOraEv"));
+
+ }
+
+ protected void lbtAddCommento_Click(object sender, EventArgs e)
+ {
+ dataOraEv = DateTime.Now;
+ showInsert();
+ }
+
+ protected void showInsert()
+ {
+ fixPanels(false, true, false);
+ // imposto valori
+ txtDate.Text = dataOraEv.ToString("yyyy-MM-dd");
+ txtTime.Text = dataOraEv.ToString("HH:mm");
+ txtCommento.Text = "";
+ // sollevo evento!
+ if (eh_inserting != null)
+ {
+ eh_inserting(this, new EventArgs());
+ }
+ }
+
+ private void fixPanels(bool showBtn, bool showComm, bool showEventi)
+ {
+ // mostro dati da compilare e nascondo button...
+ pnlButtons.Visible = showBtn;
+ pnlDate.Visible = !showBtn;
+ }
+
+ protected void lbtAnnulla_Click(object sender, EventArgs e)
+ {
+ // tolgo da sessione dataOra corrente...
+ memLayer.ML.emptySessionVal("dataOraEv");
+ fixPanels(true, false, false);
+ // sollevo evento!
+ if (eh_reset != null)
+ {
+ eh_reset(this, new EventArgs());
+ }
+ }
+
+ protected void lbtSalva_Click(object sender, EventArgs e)
+ {
+ salvaCommento();
+ }
+ ///
+ /// effettua salvataggio del commento indicato (data/ora e testo)
+ ///
+ public void salvaCommento()
+ {
+ // salvo!
+ string idxMacchina = memLayer.ML.StringSessionObj("idxMacchina");
+ int idxTipo = memLayer.ML.CRI("idxTipoCommento");
+ string CodArticolo = "ND";
+ try
+ {
+ // cerco di recuperare CodArticolo da evento
+ CodArticolo = DataLayerObj.taODL.getByMacchinaPeriodo(idxMacchina, dataOraEv, dataOraEv)[0].CodArticolo;
+ }
+ catch
+ {
+ CodArticolo = "ND";
+ }
+ string commento = txtCommento.Text.Trim();
+ // elimino eventuale record precedente
+ try
+ {
+ DataLayerObj.taEventi.DeleteQuery(idxMacchina, dataOraEv);
+ }
+ catch
+ { }
+ // inserisco nuovo record
+ DataLayerObj.taEventi.Insert(idxMacchina, dataOraEv, idxTipo, CodArticolo, commento, DataLayerObj.MatrOpr, "-");
+ doUpdate();
+ }
+
+ private void doUpdate()
+ {
+ // aggiorno vista...
+ fixPanels(true, false, false);
+ if (eh_newVal != null)
+ {
+ eh_newVal(this, new EventArgs());
+ }
+ }
+
+ protected void txtDate_TextChanged(object sender, EventArgs e)
+ {
+ salvaDataOra();
+ }
+
+ private void salvaDataOra()
+ {
+ DateTime inizioStato = DateTime.Now;
+ try
+ {
+ DateTime ora = Convert.ToDateTime(txtTime.Text);
+ inizioStato = Convert.ToDateTime(txtDate.Text).AddHours(ora.Hour).AddMinutes(ora.Minute);
+ }
+ catch
+ { }
+ dataOraEv = inizioStato;
+ }
+
+ protected void txtTime_TextChanged(object sender, EventArgs e)
+ {
+ salvaDataOra();
+ }
+
+ public void caricaCommento()
+ {
+ string idxMacchina = memLayer.ML.StringSessionObj("idxMacchina");
+ DS_applicazione.EventListRow riga = null;
+ DateTime inizioStato = DateTime.Now;
+ try
+ {
+ inizioStato = Convert.ToDateTime(memLayer.ML.objSessionObj("inizioStato"));
+ dataOraEv = inizioStato;
+ riga = DataLayerObj.taEventi.GetByMacchinaPeriodo(idxMacchina, inizioStato, inizioStato)[0];
+ txtDate.Text = riga.InizioStato.ToString("yyyy-MM-dd");
+ txtTime.Text = riga.InizioStato.ToString("HH:mm");
+ txtCommento.Text = riga.Value;
+ }
+ catch
+ { }
+ fixPanels(false, true, false);
+ }
+ ///
+ /// determian se mostrare pulsante salva (non serve x dichiarazioni fermata)
+ ///
+ public bool showSalva
+ {
+ set
+ {
+ lbtSalva.Visible = value;
+ }
+ }
+ ///
+ /// imposta la label x inserimento commento singolo / con dichiarazione fermata
+ ///
+ public string labelAddCommento
+ {
+ set
+ {
+ lblAddComm.Text = value;
+ }
+ }
+ ///
+ /// imposta data/ora del commento
+ ///
+ public DateTime dataEv
+ {
+ set
+ {
+ // salvo in sessione dataOra corrente...
+ dataOraEv = value;
+ // mostro insert!
+ showInsert();
+ }
+ }
+ ///
+ /// commento inserito
+ ///
+ public string commento
+ {
+ get
+ {
+ return txtCommento.Text.Trim();
+ }
+ }
+ ///
+ /// data-ora selezionata
+ ///
+ protected DateTime dataOraEv
+ {
+ set
+ {
+ memLayer.ML.setSessionVal("dataOraEv", value);
+ }
+ get
+ {
+ DateTime answ = DateTime.Now;
+ try
+ {
+ answ = Convert.ToDateTime(memLayer.ML.objSessionObj("dataOraEv"));
+ }
+ catch
+ { }
+ return answ;
+ }
}
- catch
- { }
- return answ;
- }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_listUserAK.ascx.cs b/MP-TAB/WebUserControls/mod_listUserAK.ascx.cs
index f9b739ec..53839874 100644
--- a/MP-TAB/WebUserControls/mod_listUserAK.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_listUserAK.ascx.cs
@@ -8,17 +8,11 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_listUserAK : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_listUserAK : BaseUserControl
{
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ }
}
- public string encodeAuthKey(object plainUserAuthKey)
- {
- string answ = "";
- answ = SteamCrypto.EncryptString(plainUserAuthKey.ToString(), memLayer.ML.CRS("cookieName"));
- return answ;
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_mappaStato.ascx b/MP-TAB/WebUserControls/mod_mappaStato.ascx
index d9ea305c..f7cc7595 100644
--- a/MP-TAB/WebUserControls/mod_mappaStato.ascx
+++ b/MP-TAB/WebUserControls/mod_mappaStato.ascx
@@ -7,7 +7,7 @@
-
) %>)
+
diff --git a/MP-TAB/WebUserControls/mod_mappaStato.ascx.cs b/MP-TAB/WebUserControls/mod_mappaStato.ascx.cs
index fc308e25..ec087324 100644
--- a/MP-TAB/WebUserControls/mod_mappaStato.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_mappaStato.ascx.cs
@@ -5,64 +5,41 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_mappaStato : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_mappaStato : BaseUserControl
{
- }
- ///
- /// url completo immagine
- ///
- ///
- ///
- public string ImgUrl(object url)
- {
- // se vuoto metto empty...
- if (url.ToString() == "")
- {
- url = "empty.png";
- }
- return string.Format("./images/macchine/{0}", url);
- }
- ///
- /// fomratta durata in minuti/ore/gg a seconda del totale...
- ///
- ///
- ///
- public string formatDurata(object min)
- {
- return utility.formatDurata(min);
- }
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ }
- ///
- /// rimanda alla pagina di dettaglio della macchina scelta
- ///
- ///
- ///
- protected void hlMacchina_Click(object sender, EventArgs e)
- {
- LinkButton lnkbtn = (LinkButton)sender;
- memLayer.ML.setSessionVal("IdxMacchina", lnkbtn.CommandArgument);
- memLayer.ML.setSessionVal("subMaccSel", lnkbtn.CommandArgument);
- Response.Redirect("~/DettaglioMacchina.aspx");
+ ///
+ /// rimanda alla pagina di dettaglio della macchina scelta
+ ///
+ ///
+ ///
+ protected void hlMacchina_Click(object sender, EventArgs e)
+ {
+ LinkButton lnkbtn = (LinkButton)sender;
+ memLayer.ML.setSessionVal("IdxMacchina", lnkbtn.CommandArgument);
+ memLayer.ML.setSessionVal("subMaccSel", lnkbtn.CommandArgument);
+ Response.Redirect("~/DettaglioMacchina.aspx");
+ }
+ ///
+ /// fa update del controllo
+ ///
+ public void doUpdate()
+ {
+ ods.DataBind();
+ repLI.DataBind();
+ }
+ ///
+ /// timeout scaduto
+ ///
+ ///
+ ///
+ protected void Timer1_Tick(object sender, EventArgs e)
+ {
+ doUpdate();
+ ScriptManager.RegisterStartupScript(Page, GetType(), "temp", "", false);
+ }
}
- ///
- /// fa update del controllo
- ///
- public void doUpdate()
- {
- ods.DataBind();
- repLI.DataBind();
- }
- ///
- /// timeout scaduto
- ///
- ///
- ///
- protected void Timer1_Tick(object sender, EventArgs e)
- {
- doUpdate();
- ScriptManager.RegisterStartupScript(Page, GetType(), "temp", "", false);
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_pianoProdMacc.ascx.cs b/MP-TAB/WebUserControls/mod_pianoProdMacc.ascx.cs
index e5957dfb..f9f3a84f 100644
--- a/MP-TAB/WebUserControls/mod_pianoProdMacc.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_pianoProdMacc.ascx.cs
@@ -4,143 +4,83 @@ using System;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_pianoProdMacc : System.Web.UI.UserControl
- {
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_pianoProdMacc : BaseUserControl
{
- if (!Page.IsPostBack)
- {
- fixSelMaccPianoProd();
- }
- }
- public string TCMinSec(object _TC)
- {
- string TC_MinSec = "";
- decimal TC = 0;
- decimal.TryParse(_TC.ToString(), out TC);
- int min = 0;
- int sec = 0;
- try
- {
- // cerco di convertire in min/sec
- min = Convert.ToInt32(Math.Floor(Convert.ToDouble(TC)));
- sec = Convert.ToInt32((Convert.ToDouble(TC) - min) * 60);
- TC_MinSec = string.Format("{0}:{1:00}", min, sec);
- }
- catch
- { }
- return TC_MinSec;
- }
-
- ///
- /// idx macchina selezionata
- ///
- public string idxMacchina
- {
- get
- {
- string answ = memLayer.ML.StringSessionObj("IdxMacchina");
- // verifoc: se multi uso selettore tendina...
- if (isMulti)
+ protected void Page_Load(object sender, EventArgs e)
{
- if (ddlSubMacc.SelectedValue == "")
- {
- ddlSubMacc.DataBind();
- }
- if (ddlSubMacc.SelectedValue != "")
- {
- answ = ddlSubMacc.SelectedValue;
- }
+ if (!Page.IsPostBack)
+ {
+ fixSelMaccPianoProd();
+ }
}
- return answ;
- }
- set
- {
- memLayer.ML.setSessionVal("IdxMacchina", value);
- }
- }
- ///
- /// idx macchina selezionata
- ///
- public string idxMacchinaSession
- {
- get
- {
- return memLayer.ML.StringSessionObj("IdxMacchina");
- }
- set
- {
- memLayer.ML.setSessionVal("IdxMacchina", value);
- }
- }
- protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
- {
- subMaccSel = ddlSubMacc.SelectedValue;
- fixSelMaccPianoProd();
- fixSelMacc();
- }
- private void fixSelMaccPianoProd()
- {
- if (isMulti)
- {
- memLayer.ML.setSessionVal("IdxMacchinaPianoProd", subMaccSel);
- }
- else
- {
- memLayer.ML.setSessionVal("IdxMacchinaPianoProd", idxMacchinaSession);
- }
- }
-
- protected void ddlSubMacc_DataBound(object sender, EventArgs e)
- {
- // se ho in memoria un valore LO REIMPOSTO...
- if (subMaccSel != "")
- {
- // provo a preselezionare...
- try
+ ///
+ /// idx macchina selezionata
+ ///
+ public string idxMacchinaFix
{
- ddlSubMacc.SelectedValue = subMaccSel;
+ get
+ {
+ string answ = idxMacchina;
+ // verifoc: se multi uso selettore tendina...
+ if (isMulti)
+ {
+ if (ddlSubMacc.SelectedValue == "")
+ {
+ ddlSubMacc.DataBind();
+ }
+ if (ddlSubMacc.SelectedValue != "")
+ {
+ answ = ddlSubMacc.SelectedValue;
+ }
+ }
+ return answ;
+ }
+ set
+ {
+ memLayer.ML.setSessionVal("IdxMacchina", value);
+ }
+ }
+ protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ subMaccSel = ddlSubMacc.SelectedValue;
+ fixSelMaccPianoProd();
+ fixSelMacc();
+ }
+
+ private void fixSelMaccPianoProd()
+ {
+ if (isMulti)
+ {
+ memLayer.ML.setSessionVal("IdxMacchinaPianoProd", subMaccSel);
+ }
+ else
+ {
+ memLayer.ML.setSessionVal("IdxMacchinaPianoProd", idxMacchina);
+ }
+ }
+
+ protected void ddlSubMacc_DataBound(object sender, EventArgs e)
+ {
+ // se ho in memoria un valore LO REIMPOSTO...
+ if (subMaccSel != "")
+ {
+ // provo a preselezionare...
+ try
+ {
+ ddlSubMacc.SelectedValue = subMaccSel;
+ }
+ catch
+ { }
+ }
+ }
+ ///
+ /// Se la machcina è MULTI --> mostro selettore
+ ///
+ private void fixSelMacc()
+ {
+ divSelMacc.Visible = isMulti;
+ fixSelMaccPianoProd();
}
- catch
- { }
- }
}
- ///
- /// Sotto sistema (macchina) selezionato
- ///
- public string subMaccSel
- {
- get
- {
- return memLayer.ML.StringSessionObj("subMaccSel");
- }
- set
- {
- memLayer.ML.setSessionVal("subMaccSel", value);
- }
- }
- ///
- /// Se la machcina è MULTI --> mostro selettore
- ///
- private void fixSelMacc()
- {
- divSelMacc.Visible = isMulti;
- fixSelMaccPianoProd();
- }
- ///
- /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
- ///
- protected bool isMulti
- {
- get
- {
- return DataLayerObj.isMulti(idxMacchinaSession);
- }
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_regNewDevice.ascx.cs b/MP-TAB/WebUserControls/mod_regNewDevice.ascx.cs
index c6c92b54..8cc76038 100644
--- a/MP-TAB/WebUserControls/mod_regNewDevice.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_regNewDevice.ascx.cs
@@ -2,20 +2,20 @@
namespace MoonProTablet.WebUserControls
{
- public partial class mod_regNewDevice : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_regNewDevice : BaseUserControl
{
- /*************************************************************************
- * REGISTRAZIONE nuovi devices
- *
- * ci sono tre modalità
- * - idxDipendente + authKey (manuale)
- * - con richiesta reset ed invio authKey (generazione pwd casuale da email dipendente + dataora in MD5, INSERENDO EMAIL e cercando se esista...)
- * - con "rimbalzo" su ~/jumper.aspx?UserAuthkey={0}&idxDipendente={1}... poi messe in session x cui autosetup
- *
- * ***********************************************************************/
- }
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ /*************************************************************************
+ * REGISTRAZIONE nuovi devices
+ *
+ * ci sono tre modalità
+ * - idxDipendente + authKey (manuale)
+ * - con richiesta reset ed invio authKey (generazione pwd casuale da email dipendente + dataora in MD5, INSERENDO EMAIL e cercando se esista...)
+ * - con "rimbalzo" su ~/jumper.aspx?UserAuthkey={0}&idxDipendente={1}... poi messe in session x cui autosetup
+ *
+ * ***********************************************************************/
+ }
- }
+ }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_regScarti.ascx.cs b/MP-TAB/WebUserControls/mod_regScarti.ascx.cs
index 7abbc70d..ae89180b 100644
--- a/MP-TAB/WebUserControls/mod_regScarti.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_regScarti.ascx.cs
@@ -6,322 +6,280 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_regScarti : System.Web.UI.UserControl
- {
+ public partial class mod_regScarti : BaseUserControl
+ {
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_newVal;
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_reset;
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// caricamento pagina
- ///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!Page.IsPostBack)
- {
- checkAll();
- }
- }
-
- private void checkAll()
- {
- fixSelMacc();
- fixData();
- checkOdl();
- lblOut.Text = "";
- switchBtnConferma(true);
- lbtShowScarti.Visible = odlOk;
- lblConfScarti.Visible = !odlOk;
- }
-
- private void fixData()
- {
- DateTime adesso = DateTime.Now;
- txtData.Text = adesso.ToString("yyyy-MM-dd");
- txtOra.Text = adesso.ToString("HH:mm");
- numPzScarto = 1;
- }
- ///
- /// Num pezzi scarto
- ///
- protected int numPzScarto
- {
- set
- {
- txtNumPz.Text = value.ToString();
- }
- get
- {
- int answ = 0;
- int.TryParse(txtNumPz.Text, out answ);
- return answ;
- }
- }
- ///
- /// Verifica se abbia un ODL ATTIVO
- ///
- private void checkOdl()
- {
- lbtShowScarti.Visible = odlOk;
- lblConfScarti.Visible = !odlOk;
- lblMancaODL.Visible = !odlOk;
- }
-
- ///
- /// Se la machcina è MULTI --> mostro selettore
- ///
- private void fixSelMacc()
- {
- divSelMacc.Visible = isMulti;
- fixSelMaccScarti();
- }
- ///
- /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
- ///
- protected bool isMulti
- {
- get
- {
- return DataLayerObj.isMulti(idxMacchinaSession);
- }
- }
- ///
- /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
- ///
- ///
- /// restituisce css disabled SE odl NON OK...
- ///
- public string cssBtnConf
- {
- get
- {
- return odlOk ? "" : "disabled";
- }
- }
- ///
- /// Verifica ODL OK (ovvero caricato x macchina...)
- ///
- public bool odlOk
- {
- get
- {
- bool answ = true;
- // carico i dati preliminari: ODL
- int idxOdl = 0; // userò ODL del turno
- try
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_newVal;
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_reset;
+ ///
+ /// caricamento pagina
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
{
- idxOdl = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL;
+ if (!Page.IsPostBack)
+ {
+ checkAll();
+ }
}
- catch
+
+ private void checkAll()
{
- logger.lg.scriviLog(string.Format("Errore a recuperare ODL per la macchina {0}", idxMacchina), tipoLog.ERROR);
+ fixSelMacc();
+ fixData();
+ checkOdl();
+ lblOut.Text = "";
+ switchBtnConferma(true);
+ lbtShowScarti.Visible = odlOk;
+ lblConfScarti.Visible = !odlOk;
}
- // se ODL > 0 è ok!!!
- answ = (idxOdl > 0);
- return answ;
- }
- }
- ///
- /// idx macchina selezionata
- ///
- public string idxMacchina
- {
- get
- {
- string answ = memLayer.ML.StringSessionObj("IdxMacchina");
- // verifoc: se multi uso selettore tendina...
- if (isMulti)
+ private void fixData()
{
- if (ddlSubMacc.SelectedValue == "")
- {
- ddlSubMacc.DataBind();
- }
- if (ddlSubMacc.SelectedValue != "")
- {
- answ = ddlSubMacc.SelectedValue;
- }
+ DateTime adesso = DateTime.Now;
+ txtData.Text = adesso.ToString("yyyy-MM-dd");
+ txtOra.Text = adesso.ToString("HH:mm");
+ numPzScarto = 1;
}
- return answ;
- }
- set
- {
- memLayer.ML.setSessionVal("IdxMacchina", value);
- }
- }
- ///
- /// idx macchina selezionata
- ///
- public string idxMacchinaSession
- {
- get
- {
- return memLayer.ML.StringSessionObj("IdxMacchina");
- }
- set
- {
- memLayer.ML.setSessionVal("IdxMacchina", value);
- }
- }
- ///
- /// cambio stato visibilità pannello e testo button
- ///
- ///
- ///
- protected void lbtShowContr_Click(object sender, EventArgs e)
- {
- switchBtnConferma(!divDetail.Visible);
- }
- ///
- /// determina comportamento btn conferma
- ///
- private void switchBtnConferma(bool showConf)
- {
- divDetail.Visible = showConf;
- if (showConf)
- {
- lblShowScarti.Text = "Nascondi Registrazione SCARTI";
- }
- else
- {
- lblShowScarti.Text = "Mostra Registrazione SCARTI";
- // sollevo evento!
- if (eh_reset != null)
+ ///
+ /// Num pezzi scarto
+ ///
+ protected int numPzScarto
{
- eh_reset(this, new EventArgs());
+ set
+ {
+ txtNumPz.Text = value.ToString();
+ }
+ get
+ {
+ int answ = 0;
+ int.TryParse(txtNumPz.Text, out answ);
+ return answ;
+ }
}
- }
- }
-
- private void resetControlli()
- {
- txtNote.Text = "";
- // nascondo!
- switchBtnConferma(false);
- }
-
- protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
- {
- subMaccSel = ddlSubMacc.SelectedValue;
- fixSelMaccScarti();
- checkAll();
- }
-
- private void fixSelMaccScarti()
- {
- if (isMulti)
- {
- memLayer.ML.setSessionVal("IdxMacchinaScarti", subMaccSel);
- }
- else
- {
- memLayer.ML.setSessionVal("IdxMacchinaScarti", idxMacchinaSession);
- }
- }
-
- protected void ddlSubMacc_DataBound(object sender, EventArgs e)
- {
- // se ho in memoria un valore LO REIMPOSTO...
- if (subMaccSel != "")
- {
- // provo a preselezionare...
- try
+ ///
+ /// Verifica se abbia un ODL ATTIVO
+ ///
+ private void checkOdl()
{
- ddlSubMacc.SelectedValue = subMaccSel;
+ lbtShowScarti.Visible = odlOk;
+ lblConfScarti.Visible = !odlOk;
+ lblMancaODL.Visible = !odlOk;
}
- catch
- { }
- }
- }
- ///
- /// Sotto sistema (macchina) selezionato
- ///
- public string subMaccSel
- {
- get
- {
- return memLayer.ML.StringSessionObj("subMaccSel");
- }
- set
- {
- memLayer.ML.setSessionVal("subMaccSel", value);
- }
- }
- ///
- /// salvo produzione
- ///
- ///
- ///
- protected void lbtSalva_Click(object sender, EventArgs e)
- {
- salvaRegScarti("ND");
- }
- ///
- /// Effettua salvataggio in registro scarti
- ///
- private void salvaRegScarti(string causale)
- {
- // salvo registrazione scarto...
- DateTime dataRif = DateTime.Now;
- try
- {
- // ricompongo data dai 2 controlli
- DateTime dateOnly;
- DateTime timeOnly;
- DateTime.TryParse(txtData.Text, out dateOnly);
- DateTime.TryParse(txtOra.Text, out timeOnly);
- dataRif = dateOnly.Add(timeOnly.TimeOfDay);
- }
- catch
- { }
- DataLayerObj.taRS.insertQuery(idxMacchina, dataRif, causale, numPzScarto, txtNote.Text.Trim(), DataLayerObj.MatrOpr);
- // sollevo evento!
- if (eh_newVal != null)
- {
- eh_newVal(this, new EventArgs());
- }
- resetControlli();
- }
- ///
- /// rimanda alla pagina di dettaglio della macchina scelta
- ///
- ///
- ///
- protected void hlRegistra_Click(object sender, EventArgs e)
- {
- LinkButton lnkbtn = (LinkButton)sender;
- string causale = "";
- try
- {
- causale = lnkbtn.CommandArgument;
- }
- catch
- { }
- // se vuoto metto ND...
- causale = (causale == "") ? "ND" : causale;
- salvaRegScarti(causale);
- // sollevo evento!
- if (eh_newVal != null)
- {
- eh_newVal(this, new EventArgs());
- }
- }
+ ///
+ /// Se la machcina è MULTI --> mostro selettore
+ ///
+ private void fixSelMacc()
+ {
+ divSelMacc.Visible = isMulti;
+ fixSelMaccScarti();
+ }
+ ///
+ /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
+ ///
+ ///
+ /// restituisce css disabled SE odl NON OK...
+ ///
+ public string cssBtnConf
+ {
+ get
+ {
+ return odlOk ? "" : "disabled";
+ }
+ }
+ ///
+ /// Verifica ODL OK (ovvero caricato x macchina...)
+ ///
+ public bool odlOk
+ {
+ get
+ {
+ bool answ = true;
+ // carico i dati preliminari: ODL
+ int idxOdl = 0; // userò ODL del turno
+ try
+ {
+ idxOdl = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL;
+ }
+ catch
+ {
+ logger.lg.scriviLog(string.Format("Errore a recuperare ODL per la macchina {0}", idxMacchinaFix), tipoLog.ERROR);
+ }
+ // se ODL > 0 è ok!!!
+ answ = (idxOdl > 0);
+ return answ;
+ }
+ }
- protected void lbtResetNumPz_Click(object sender, EventArgs e)
- {
- txtNumPz.Text = "";
+ ///
+ /// idx macchina selezionata
+ ///
+ public string idxMacchinaFix
+ {
+ get
+ {
+ string answ = idxMacchina;
+ // verifoc: se multi uso selettore tendina...
+ if (isMulti)
+ {
+ if (ddlSubMacc.SelectedValue == "")
+ {
+ ddlSubMacc.DataBind();
+ }
+ if (ddlSubMacc.SelectedValue != "")
+ {
+ answ = ddlSubMacc.SelectedValue;
+ }
+ }
+ return answ;
+ }
+ set
+ {
+ memLayer.ML.setSessionVal("IdxMacchina", value);
+ }
+ }
+ ///
+ /// cambio stato visibilità pannello e testo button
+ ///
+ ///
+ ///
+ protected void lbtShowContr_Click(object sender, EventArgs e)
+ {
+ switchBtnConferma(!divDetail.Visible);
+ }
+ ///
+ /// determina comportamento btn conferma
+ ///
+ private void switchBtnConferma(bool showConf)
+ {
+ divDetail.Visible = showConf;
+ if (showConf)
+ {
+ lblShowScarti.Text = "Nascondi Registrazione SCARTI";
+ }
+ else
+ {
+ lblShowScarti.Text = "Mostra Registrazione SCARTI";
+ // sollevo evento!
+ if (eh_reset != null)
+ {
+ eh_reset(this, new EventArgs());
+ }
+ }
+ }
+
+ private void resetControlli()
+ {
+ txtNote.Text = "";
+ // nascondo!
+ switchBtnConferma(false);
+ }
+
+ protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ subMaccSel = ddlSubMacc.SelectedValue;
+ fixSelMaccScarti();
+ checkAll();
+ }
+
+ private void fixSelMaccScarti()
+ {
+ if (isMulti)
+ {
+ memLayer.ML.setSessionVal("IdxMacchinaScarti", subMaccSel);
+ }
+ else
+ {
+ memLayer.ML.setSessionVal("IdxMacchinaScarti", idxMacchina);
+ }
+ }
+
+ protected void ddlSubMacc_DataBound(object sender, EventArgs e)
+ {
+ // se ho in memoria un valore LO REIMPOSTO...
+ if (subMaccSel != "")
+ {
+ // provo a preselezionare...
+ try
+ {
+ ddlSubMacc.SelectedValue = subMaccSel;
+ }
+ catch
+ { }
+ }
+ }
+ ///
+ /// salvo produzione
+ ///
+ ///
+ ///
+ protected void lbtSalva_Click(object sender, EventArgs e)
+ {
+ salvaRegScarti("ND");
+ }
+ ///
+ /// Effettua salvataggio in registro scarti
+ ///
+ private void salvaRegScarti(string causale)
+ {
+ // salvo registrazione scarto...
+ DateTime dataRif = DateTime.Now;
+ try
+ {
+ // ricompongo data dai 2 controlli
+ DateTime dateOnly;
+ DateTime timeOnly;
+ DateTime.TryParse(txtData.Text, out dateOnly);
+ DateTime.TryParse(txtOra.Text, out timeOnly);
+ dataRif = dateOnly.Add(timeOnly.TimeOfDay);
+ }
+ catch
+ { }
+ DataLayerObj.taRS.insertQuery(idxMacchinaFix, dataRif, causale, numPzScarto, txtNote.Text.Trim(), DataLayerObj.MatrOpr);
+ // sollevo evento!
+ if (eh_newVal != null)
+ {
+ eh_newVal(this, new EventArgs());
+ }
+ resetControlli();
+ }
+
+ ///
+ /// rimanda alla pagina di dettaglio della macchina scelta
+ ///
+ ///
+ ///
+ protected void hlRegistra_Click(object sender, EventArgs e)
+ {
+ LinkButton lnkbtn = (LinkButton)sender;
+ string causale = "";
+ try
+ {
+ causale = lnkbtn.CommandArgument;
+ }
+ catch
+ { }
+ // se vuoto metto ND...
+ causale = (causale == "") ? "ND" : causale;
+ salvaRegScarti(causale);
+ // sollevo evento!
+ if (eh_newVal != null)
+ {
+ eh_newVal(this, new EventArgs());
+ }
+ }
+
+ protected void lbtResetNumPz_Click(object sender, EventArgs e)
+ {
+ txtNumPz.Text = "";
+ }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_selPeriodo.ascx.cs b/MP-TAB/WebUserControls/mod_selPeriodo.ascx.cs
index 52c22025..e8935872 100644
--- a/MP-TAB/WebUserControls/mod_selPeriodo.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_selPeriodo.ascx.cs
@@ -9,7 +9,7 @@ using SteamWare;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_selPeriodo : System.Web.UI.UserControl
+ public partial class mod_selPeriodo : BaseUserControl
{
protected intervalloDate _intervallo;
///
@@ -308,15 +308,6 @@ namespace MoonProTablet.WebUserControls
/// indica se il controllo debba fare update in automatico o attendere pressione button update da utente
///
public bool autoUpdate { get; set; }
- ///
- /// wrapper traduzione
- ///
- ///
- ///
- public string traduci(object lemma)
- {
- return user_std.UtSn.Traduci(lemma.ToString());
- }
#region gestione eventi
diff --git a/MP-TAB/WebUserControls/mod_sendParameters.ascx.cs b/MP-TAB/WebUserControls/mod_sendParameters.ascx.cs
index c2271bf7..586d8b1e 100644
--- a/MP-TAB/WebUserControls/mod_sendParameters.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_sendParameters.ascx.cs
@@ -11,63 +11,48 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_sendParameters : System.Web.UI.UserControl
- {
- DataLayer DataLayerObj = new DataLayer();
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_sendParameters : BaseUserControl
{
- }
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ }
- ///
- /// idx macchina selezionata
- ///
- public string idxMacchina
- {
- get
- {
- return memLayer.ML.StringSessionObj("IdxMacchina");
- }
- set
- {
- memLayer.ML.setSessionVal("IdxMacchina", value);
- }
- }
- ///
- /// wrapper recupero parametri macchina
- ///
- ///
- public List
GetParameters()
- {
- List dcList = DataLayerObj.getCurrObjItems(idxMacchina);
- return dcList;
- }
+ ///
+ /// wrapper recupero parametri macchina
+ ///
+ ///
+ public List GetParameters()
+ {
+ List dcList = DataLayerObj.getCurrObjItems(idxMacchina);
+ return dcList;
+ }
- public void updateParameter(string Original_uid, string reqValue)
- {
- // recupero items...
- List dcList = DataLayerObj.getCurrObjItems(idxMacchina);
- // cerco quello da aggiornare
- objItem trovato = dcList.Find(obj => obj.uid == Original_uid);
- List list2Update = new List();
- // se trovato procedo
- if (trovato != null)
- {
- // aggiorno valore richiesto + dt richiesta
- trovato.reqValue = reqValue;
- trovato.lastRequest = DateTime.Now;
- list2Update.Add(trovato);
- DataLayerObj.upsertCurrObjItems(idxMacchina, list2Update);
- // accodo in task 2 exe la richiesta di processing
- DataLayerObj.addTask4Machine(idxMacchina, taskType.setParameter, trovato.uid);
- }
- }
- protected void lbtReload_Click(object sender, EventArgs e)
- {
- grView.DataBind();
- }
+ public void updateParameter(string Original_uid, string reqValue)
+ {
+ // recupero items...
+ List dcList = DataLayerObj.getCurrObjItems(idxMacchina);
+ // cerco quello da aggiornare
+ objItem trovato = dcList.Find(obj => obj.uid == Original_uid);
+ List list2Update = new List();
+ // se trovato procedo
+ if (trovato != null)
+ {
+ // aggiorno valore richiesto + dt richiesta
+ trovato.reqValue = reqValue;
+ trovato.lastRequest = DateTime.Now;
+ list2Update.Add(trovato);
+ DataLayerObj.upsertCurrObjItems(idxMacchina, list2Update);
+ // accodo in task 2 exe la richiesta di processing
+ DataLayerObj.addTask4Machine(idxMacchina, taskType.setParameter, trovato.uid);
+ }
+ }
+ protected void lbtReload_Click(object sender, EventArgs e)
+ {
+ grView.DataBind();
+ }
- protected void grView_RowUpdating(object sender, GridViewUpdateEventArgs e)
- {
+ protected void grView_RowUpdating(object sender, GridViewUpdateEventArgs e)
+ {
#if false
var txtReqVal = grView.Rows[e.RowIndex].FindControl("txtReqValue") as TextBox;
string Original_uid = e.Keys[0].ToString();
@@ -88,11 +73,11 @@ namespace MoonProTablet.WebUserControls
DataLayer.addTask4Machine(idxMacchina, taskType.setParameter, trovato.uid);
}
#endif
- }
+ }
- protected void grView_RowEditing(object sender, GridViewEditEventArgs e)
- {
+ protected void grView_RowEditing(object sender, GridViewEditEventArgs e)
+ {
+ }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_slideMenu.ascx.cs b/MP-TAB/WebUserControls/mod_slideMenu.ascx.cs
index 68bdb19c..77e15b09 100644
--- a/MP-TAB/WebUserControls/mod_slideMenu.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_slideMenu.ascx.cs
@@ -8,35 +8,25 @@ using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_slideMenu : System.Web.UI.UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
+ public partial class mod_slideMenu : BaseUserControl
{
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ }
+ ///
+ /// Verifica se la pagina corrente sia URL indicato --> mostra ACTIVE
+ ///
+ ///
+ ///
+ public string checkPage(object navUrl)
+ {
+ string answ = "p-2 list-group-item list-group-item-action";
+ if (navUrl.ToString().Replace(".aspx", "").Replace("~/", "") == titolo.Replace(".aspx", ""))
+ {
+ answ += " active";
+ }
+ return answ;
+ }
}
- ///
- /// Verifica se la pagina corrente sia URL indicato --> mostra ACTIVE
- ///
- ///
- ///
- public string checkPage(object navUrl)
- {
- string answ = "p-2 list-group-item list-group-item-action";
- if (navUrl.ToString().Replace(".aspx", "").Replace("~/", "") == titolo.Replace(".aspx", ""))
- {
- answ += " active";
- }
- return answ;
- }
- ///
- /// titolo pagina
- ///
- public string titolo
- {
- get
- {
- return devicesAuthProxy.getPage(Request.Url);
- }
- }
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_storicoTC.ascx.cs b/MP-TAB/WebUserControls/mod_storicoTC.ascx.cs
index 8ed215ff..24275cf2 100644
--- a/MP-TAB/WebUserControls/mod_storicoTC.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_storicoTC.ascx.cs
@@ -3,7 +3,7 @@ using System.Web.UI;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_storicoTC : System.Web.UI.UserControl
+ public partial class mod_storicoTC : BaseUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
diff --git a/MP-TAB/WebUserControls/mod_tempoMSMC.ascx.cs b/MP-TAB/WebUserControls/mod_tempoMSMC.ascx.cs
index 36d8bddf..886864e8 100644
--- a/MP-TAB/WebUserControls/mod_tempoMSMC.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_tempoMSMC.ascx.cs
@@ -4,344 +4,302 @@ using System.Web.UI;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_tempoMSMC : System.Web.UI.UserControl
- {
- ///
- /// stringa UID univoca
- ///
- public string uid
+ public partial class mod_tempoMSMC : BaseUserControl
{
- get
- {
- return this.UniqueID.Replace("$", "_").Replace("-", "_");
- }
- }
- ///
- /// modalità rendering controllo
- ///
- public timeControlMode modoControllo { get; set; }
- ///
- /// modalità controllo tempo
- ///
- public timeMode modoTempo
- {
- get
- {
- timeMode answ = timeMode.MC;
- try
+ ///
+ /// modalità rendering controllo
+ ///
+ public timeControlMode modoControllo { get; set; }
+ ///
+ /// modalità controllo tempo
+ ///
+ public timeMode modoTempo
{
- answ = (timeMode)memLayer.ML.objSessionObj("modoTempo");
+ get
+ {
+ timeMode answ = timeMode.MC;
+ try
+ {
+ answ = (timeMode)memLayer.ML.objSessionObj("modoTempo");
+ }
+ catch
+ { }
+ return answ;
+ }
+ set
+ {
+ memLayer.ML.setSessionVal("modoTempo", value);
+ }
}
- catch
- { }
- return answ;
- }
- set
- {
- memLayer.ML.setSessionVal("modoTempo", value);
- }
- }
- ///
- /// tempo min.cent
- ///
- protected decimal _tempoMC
- {
- get
- {
- decimal answ = 0;
- try
+ ///
+ /// tempo min.cent
+ ///
+ protected decimal _tempoMC
{
- answ = Convert.ToDecimal(memLayer.ML.objSessionObj(string.Format("tempoMC-{0}", uid)));
+ get
+ {
+ decimal answ = 0;
+ try
+ {
+ answ = Convert.ToDecimal(memLayer.ML.objSessionObj(string.Format("tempoMC-{0}", uid)));
+ }
+ catch
+ { }
+ return answ;
+ }
+ set
+ {
+ memLayer.ML.setSessionVal(string.Format("tempoMC-{0}", uid), value);
+ }
}
- catch
- { }
- return answ;
- }
- set
- {
- memLayer.ML.setSessionVal(string.Format("tempoMC-{0}", uid), value);
- }
- }
- ///
- /// tempo min:sec
- ///
- protected TimeSpan _tempoMS
- {
- get
- {
- TimeSpan answ = new TimeSpan(0, 0, 0);
- try
+ ///
+ /// tempo min:sec
+ ///
+ protected TimeSpan _tempoMS
{
- answ = (TimeSpan)memLayer.ML.objSessionObj(string.Format("tempoMS-{0}", uid));
+ get
+ {
+ TimeSpan answ = new TimeSpan(0, 0, 0);
+ try
+ {
+ answ = (TimeSpan)memLayer.ML.objSessionObj(string.Format("tempoMS-{0}", uid));
+ }
+ catch
+ { }
+ return answ;
+ }
+ set
+ {
+ memLayer.ML.setSessionVal(string.Format("tempoMS-{0}", uid), value);
+ }
}
- catch
- { }
- return answ;
- }
- set
- {
- memLayer.ML.setSessionVal(string.Format("tempoMS-{0}", uid), value);
- }
- }
- ///
- /// INdica il formato del tempo IN INGRESSO (selezionato)
- ///
- public string labelTempoIN
- {
- get
- {
- string answ = "";
- if (modoTempo == timeMode.MC)
+ ///
+ /// INdica il formato del tempo IN INGRESSO (selezionato)
+ ///
+ public string labelTempoIN
{
- answ = "min.cent";
+ get
+ {
+ string answ = "";
+ if (modoTempo == timeMode.MC)
+ {
+ answ = "min.cent";
+ }
+ else
+ {
+ answ = "min:sec";
+ }
+ return answ;
+ }
}
- else
+ ///
+ /// caricamento pagina
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
{
- answ = "min:sec";
+ // a secondo del modo di controllo mostro textbox o selettori...
+ bool showTesto = true;
+ if (modoControllo == timeControlMode.testo)
+ {
+ showTesto = true;
+ }
+ else
+ {
+ showTesto = false;
+ }
+ // sistemo visualizzazione dei 2 div
+ divTesto.Visible = showTesto;
+ divSelettori.Visible = !showTesto;
+ if (!Page.IsPostBack)
+ {
+ // fix numero item secondi
+ odsSecondi.SelectParameters.Clear();
+ odsSecondi.SelectParameters.Add("minVal", "0");
+ odsSecondi.SelectParameters.Add("maxVal", numItemSec.ToString());
+ // fix visualizzazione
+ showControls();
+ }
}
- return answ;
- }
- }
- ///
- /// caricamento pagina
- ///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
- {
- // a secondo del modo di controllo mostro textbox o selettori...
- bool showTesto = true;
- if (modoControllo == timeControlMode.testo)
- {
- showTesto = true;
- }
- else
- {
- showTesto = false;
- }
- // sistemo visualizzazione dei 2 div
- divTesto.Visible = showTesto;
- divSelettori.Visible = !showTesto;
- if (!Page.IsPostBack)
- {
- // fix numero item secondi
- odsSecondi.SelectParameters.Clear();
- odsSecondi.SelectParameters.Add("minVal", "0");
- odsSecondi.SelectParameters.Add("maxVal", numItemSec.ToString());
- // fix visualizzazione
- showControls();
- }
- }
- ///
- /// mostra i controlli secondo richiesta
- ///
- private void showControls()
- {
- if (modoControllo == timeControlMode.testo)
- {
- if (modoTempo == timeMode.MC)
+ ///
+ /// mostra i controlli secondo richiesta
+ ///
+ private void showControls()
{
- txtTempo.Text = string.Format("{0:0.000}", tempoMC);
+ if (modoControllo == timeControlMode.testo)
+ {
+ if (modoTempo == timeMode.MC)
+ {
+ txtTempo.Text = string.Format("{0:0.000}", tempoMC);
+ }
+ else
+ {
+ txtTempo.Text = string.Format("{0:#0}:{1:00}", tempoMS.Minutes, tempoMS.Seconds);
+ }
+ }
+ else
+ {
+ ddlMinuti.SelectedValue = tempoMS.Minutes.ToString();
+ if (modoTempo == timeMode.MC)
+ {
+ ddlSecondi.SelectedValue = Convert.ToInt32((tempoMC - Math.Floor(tempoMC)) * 100).ToString();
+ }
+ else
+ {
+ ddlSecondi.SelectedValue = tempoMS.Seconds.ToString();
+ }
+ }
+ // fix label...
+ if (modoTempo == timeMode.MC)
+ {
+ lblTempo.Text = string.Format("--> {0:#0}:{1:00} (min:sec)", tempoMS.Minutes, tempoMS.Seconds);
+ }
+ else
+ {
+ lblTempo.Text = string.Format("--> {0:0.000} (min.cent)", tempoMC);
+ }
}
- else
+ ///
+ /// num item x controllo secondi/centesimi
+ ///
+ public int numItemSec
{
- txtTempo.Text = string.Format("{0:#0}:{1:00}", tempoMS.Minutes, tempoMS.Seconds);
+ get
+ {
+ int answ = 60;
+ if (modoTempo == timeMode.MS)
+ {
+ answ = 59;
+ }
+ else
+ {
+ answ = 99;
+ }
+ return answ;
+ }
}
- }
- else
- {
- ddlMinuti.SelectedValue = tempoMS.Minutes.ToString();
- if (modoTempo == timeMode.MC)
+ ///
+ /// tempo selezionato in formato Minuti Secondi
+ ///
+ public TimeSpan tempoMS
{
- ddlSecondi.SelectedValue = Convert.ToInt32((tempoMC - Math.Floor(tempoMC)) * 100).ToString();
+ get
+ {
+ return _tempoMS;
+ }
+ set
+ {
+ _tempoMS = value;
+ _tempoMC = minSec2Cent(value);
+ showControls();
+ }
}
- else
+ ///
+ /// verifica se TC sia stato caricato dai controlli, se zero va caricato (almento tentato caricamento...)
+ ///
+ public void checkTC()
{
- ddlSecondi.SelectedValue = tempoMS.Seconds.ToString();
+ if (tempoMC == 0)
+ {
+ if (modoControllo == timeControlMode.testo)
+ {
+ updFromTextBox();
+ }
+ else
+ {
+ updFromDropDown();
+ }
+ }
}
- }
- // fix label...
- if (modoTempo == timeMode.MC)
- {
- lblTempo.Text = string.Format("--> {0:#0}:{1:00} (min:sec)", tempoMS.Minutes, tempoMS.Seconds);
- }
- else
- {
- lblTempo.Text = string.Format("--> {0:0.000} (min.cent)", tempoMC);
- }
- }
- ///
- /// num item x controllo secondi/centesimi
- ///
- public int numItemSec
- {
- get
- {
- int answ = 60;
- if (modoTempo == timeMode.MS)
+ ///
+ /// tempo selezionato in formato Minuti Centesimi
+ ///
+ public decimal tempoMC
{
- answ = 59;
+ get
+ {
+ return _tempoMC;
+ }
+ set
+ {
+ _tempoMC = value;
+ _tempoMS = minCent2Sec(value);
+ showControls();
+ }
}
- else
+ ///
+ /// cambiato valore tempo...
+ ///
+ ///
+ ///
+ protected void txtTempo_TextChanged(object sender, EventArgs e)
{
- answ = 99;
+ updFromTextBox();
}
- return answ;
- }
- }
- ///
- /// tempo selezionato in formato Minuti Secondi
- ///
- public TimeSpan tempoMS
- {
- get
- {
- return _tempoMS;
- }
- set
- {
- _tempoMS = value;
- _tempoMC = minSec2Cent(value);
- showControls();
- }
- }
- ///
- /// verifica se TC sia stato caricato dai controlli, se zero va caricato (almento tentato caricamento...)
- ///
- public void checkTC()
- {
- if (tempoMC == 0)
- {
- if (modoControllo == timeControlMode.testo)
+ ///
+ /// update da casella testo
+ ///
+ private void updFromTextBox()
{
- updFromTextBox();
+ if (modoControllo == timeControlMode.testo)
+ {
+ if (modoTempo == timeMode.MC)
+ {
+ tempoMC = Convert.ToDecimal(txtTempo.Text.Replace(".", ","));
+ }
+ else
+ {
+ string tempoDP = txtTempo.Text.Replace(".", ":").Replace(",", ":");
+ int min = 0;
+ int sec = 0;
+ try
+ {
+ min = Convert.ToInt32(tempoDP.Substring(0, tempoDP.IndexOf(":")));
+ sec = Convert.ToInt32(tempoDP.Substring(tempoDP.IndexOf(":") + 1, tempoDP.Length - tempoDP.IndexOf(":") - 1));
+ }
+ catch
+ { }
+ tempoMS = new TimeSpan(0, min, sec);
+ }
+ }
}
- else
+ ///
+ /// update da controlli dropdown
+ ///
+ private void updFromDropDown()
{
- updFromDropDown();
+ if (modoControllo == timeControlMode.selettori)
+ {
+ if (modoTempo == timeMode.MS)
+ {
+ tempoMS = new TimeSpan(0, Convert.ToInt32(ddlMinuti.SelectedValue), Convert.ToInt32(ddlSecondi.SelectedValue));
+ }
+ else
+ {
+ tempoMC = Convert.ToDecimal(Convert.ToDecimal(ddlMinuti.SelectedValue) + Convert.ToDecimal(ddlSecondi.SelectedValue) / 100);
+ }
+ }
}
- }
- }
- ///
- /// tempo selezionato in formato Minuti Centesimi
- ///
- public decimal tempoMC
- {
- get
- {
- return _tempoMC;
- }
- set
- {
- _tempoMC = value;
- _tempoMS = minCent2Sec(value);
- showControls();
- }
- }
- ///
- /// conversione da tempo minuti/secondi a minuti centesimali
- ///
- ///
- ///
- protected decimal minSec2Cent(TimeSpan valore)
- {
- Decimal answ = 0;
- try
- {
- answ = Math.Round((valore.Minutes + (decimal)valore.Seconds / 60), 3);
- }
- catch
- { }
- return answ;
- }
- ///
- /// conversione da tempo minuti centesimali a minuti/secondi
- ///
- ///
- ///
- protected TimeSpan minCent2Sec(decimal valore)
- {
- TimeSpan answ = new TimeSpan(0, 0, 1);
- try
- {
- answ = new TimeSpan(0, Convert.ToInt32(valore), Convert.ToInt32((valore - Convert.ToInt32(valore)) * 60));
- }
- catch
- { }
- return answ;
- }
- ///
- /// cambiato valore tempo...
- ///
- ///
- ///
- protected void txtTempo_TextChanged(object sender, EventArgs e)
- {
- updFromTextBox();
- }
- ///
- /// update da casella testo
- ///
- private void updFromTextBox()
- {
- if (modoControllo == timeControlMode.testo)
- {
- if (modoTempo == timeMode.MC)
+ ///
+ /// selezione minuti
+ ///
+ ///
+ ///
+ protected void ddlMinuti_SelectedIndexChanged(object sender, EventArgs e)
{
- tempoMC = Convert.ToDecimal(txtTempo.Text.Replace(".", ","));
+ updFromDropDown();
}
- else
+ ///
+ /// selezione secondi/centesimi
+ ///
+ ///
+ ///
+ protected void ddlSecondi_SelectedIndexChanged(object sender, EventArgs e)
{
- string tempoDP = txtTempo.Text.Replace(".", ":").Replace(",", ":");
- int min = 0;
- int sec = 0;
- try
- {
- min = Convert.ToInt32(tempoDP.Substring(0, tempoDP.IndexOf(":")));
- sec = Convert.ToInt32(tempoDP.Substring(tempoDP.IndexOf(":") + 1, tempoDP.Length - tempoDP.IndexOf(":") - 1));
- }
- catch
- { }
- tempoMS = new TimeSpan(0, min, sec);
+ updFromDropDown();
}
- }
}
- ///
- /// update da controlli dropdown
- ///
- private void updFromDropDown()
- {
- if (modoControllo == timeControlMode.selettori)
- {
- if (modoTempo == timeMode.MS)
- {
- tempoMS = new TimeSpan(0, Convert.ToInt32(ddlMinuti.SelectedValue), Convert.ToInt32(ddlSecondi.SelectedValue));
- }
- else
- {
- tempoMC = Convert.ToDecimal(Convert.ToDecimal(ddlMinuti.SelectedValue) + Convert.ToDecimal(ddlSecondi.SelectedValue) / 100);
- }
- }
- }
- ///
- /// selezione minuti
- ///
- ///
- ///
- protected void ddlMinuti_SelectedIndexChanged(object sender, EventArgs e)
- {
- updFromDropDown();
- }
- ///
- /// selezione secondi/centesimi
- ///
- ///
- ///
- protected void ddlSecondi_SelectedIndexChanged(object sender, EventArgs e)
- {
- updFromDropDown();
- }
- }
}
///
@@ -349,14 +307,14 @@ namespace MoonProTablet.WebUserControls
///
public enum timeMode
{
- ///
- /// Minuti Secondi
- ///
- MS = 0,
- ///
- /// Minuti Centesimali
- ///
- MC = 1
+ ///
+ /// Minuti Secondi
+ ///
+ MS = 0,
+ ///
+ /// Minuti Centesimali
+ ///
+ MC = 1
}
///
@@ -364,12 +322,12 @@ public enum timeMode
///
public enum timeControlMode
{
- ///
- /// controllo textbox
- ///
- testo = 0,
- ///
- /// selettori dropdown list
- ///
- selettori = 1
+ ///
+ /// controllo textbox
+ ///
+ testo = 0,
+ ///
+ /// selettori dropdown list
+ ///
+ selettori = 1
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_title.ascx.cs b/MP-TAB/WebUserControls/mod_title.ascx.cs
index f51c21d4..2757b322 100644
--- a/MP-TAB/WebUserControls/mod_title.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_title.ascx.cs
@@ -6,208 +6,194 @@ using System.Web.UI;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_title : System.Web.UI.UserControl
- {
- ///
- /// user agent corrente
- ///
- protected string userAgent = "";
- ///
- /// IP corrente
- ///
- protected string postazione_IP = "";
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// Versione corrente sw
- ///
- protected Version currVersion
+ public partial class mod_title : BaseUserControl
{
- get
- {
- return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
- }
- }
- ///
- /// caricamento pagina
- ///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!Page.IsPostBack)
- {
- // prima apertura registro NO popup = refresh enabled
- memLayer.ML.setSessionVal("refreshEnabled", true);
- }
- // se ho user/dominio e matricola in sessione NON controllo coockie
- if (user_std.UtSn.utente == "" || user_std.UtSn.dominio == "" || DataLayerObj.MatrOpr == 0)
- {
- // altrimenti controllo se c'è utente in sessione..
- checkAuthCookieMoonProTablet();
- }
- }
- ///
- /// verifica al presenza di un cookie VALIDO per autorizzare il device
- ///
- private void checkAuthCookieMoonProTablet()
- {
- Uri MyUrl = Request.Url;
- string delimStr = "/";
- char[] delimiter = delimStr.ToCharArray();
- string[] finalUrl = MyUrl.LocalPath.ToString().Split(delimiter);
- int n = finalUrl.Length;
- string _paginaCorrente = finalUrl[n - 1].ToString().Replace(".aspx", "");
- try
- {
- HttpCookie cookie = Request.Cookies[memLayer.ML.CRS("cookieName")];
- if (cookie == null || cookie.Value == "")
+ ///
+ /// user agent corrente
+ ///
+ protected string userAgent = "";
+ ///
+ /// IP corrente
+ ///
+ protected string postazione_IP = "";
+ ///
+ /// Versione corrente sw
+ ///
+ protected Version currVersion
{
- // rimando pagina x registrazione devices
- logger.lg.scriviLog("Cookie non valido / non trovato", tipoLog.STARTUP);
- // solo se NON sono alla pagina di registrazione o altre SAFE pages......
- if (memLayer.ML.CRS("safePages").ToLower().IndexOf(_paginaCorrente.ToLower()) < 0)
- {
- Response.Redirect("~/regNewDevice");
- }
- }
- else
- {
- // ricavo utente da cookie...
- string devSecret = cookie.Value;
- DS_devices.AnagDevicesRow device = null;
- // cerco il device...ogni dipendente può averne + di 1 registrato a suo nome...
- string UsrName = "";
- string Dominio = "";
- try
- {
- logger.lg.scriviLog(string.Format("Cookie trovato con devSecret {0}", devSecret), tipoLog.STARTUP);
- device = DataWrap.DW.taAnagDev.getByDeviceSecret(devSecret)[0];
- UsrName = device.User_Name;
- Dominio = device.Dominio;
- DataLayerObj.MatrOpr = device.MatrOpr; // salvo MatrOpr!
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Errore recupero dati da cookie:{0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- }
- if (UsrName != "" && Dominio != "")
- {
- logger.lg.scriviLog(string.Format("Dati utente da cookie: dominio {0}, user:{1}", Dominio, UsrName), tipoLog.STARTUP);
- // aggiorno descrizione (user agent) ed IP...
- userAgent = Request.UserAgent;
- postazione_IP = Request.UserHostName;
- // controllo IP e DeviceDescription x eventuale update
- if ((device.lastIPv4 != postazione_IP) || (device.Description != userAgent))
+ get
{
- // salvo ultimo "contatto" del device aggiornando descrizione ed IP
- DataWrap.DW.taAnagDev.updateIP(device.IdxDevice, DateTime.Now, postazione_IP, userAgent);
+ return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
+ }
+ }
+ ///
+ /// caricamento pagina
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!Page.IsPostBack)
+ {
+ // prima apertura registro NO popup = refresh enabled
+ memLayer.ML.setSessionVal("refreshEnabled", true);
+ }
+ // se ho user/dominio e matricola in sessione NON controllo coockie
+ if (user_std.UtSn.utente == "" || user_std.UtSn.dominio == "" || DataLayerObj.MatrOpr == 0)
+ {
+ // altrimenti controllo se c'è utente in sessione..
+ checkAuthCookieMoonProTablet();
+ }
+ }
+ ///
+ /// verifica al presenza di un cookie VALIDO per autorizzare il device
+ ///
+ private void checkAuthCookieMoonProTablet()
+ {
+ Uri MyUrl = Request.Url;
+ string delimStr = "/";
+ char[] delimiter = delimStr.ToCharArray();
+ string[] finalUrl = MyUrl.LocalPath.ToString().Split(delimiter);
+ int n = finalUrl.Length;
+ string _paginaCorrente = finalUrl[n - 1].ToString().Replace(".aspx", "");
+ try
+ {
+ HttpCookie cookie = Request.Cookies[memLayer.ML.CRS("cookieName")];
+ if (cookie == null || cookie.Value == "")
+ {
+ // rimando pagina x registrazione devices
+ logger.lg.scriviLog("Cookie non valido / non trovato", tipoLog.STARTUP);
+ // solo se NON sono alla pagina di registrazione o altre SAFE pages......
+ if (memLayer.ML.CRS("safePages").ToLower().IndexOf(_paginaCorrente.ToLower()) < 0)
+ {
+ Response.Redirect("~/regNewDevice");
+ }
+ }
+ else
+ {
+ // ricavo utente da cookie...
+ string devSecret = cookie.Value;
+ DS_devices.AnagDevicesRow device = null;
+ // cerco il device...ogni dipendente può averne + di 1 registrato a suo nome...
+ string UsrName = "";
+ string Dominio = "";
+ try
+ {
+ logger.lg.scriviLog(string.Format("Cookie trovato con devSecret {0}", devSecret), tipoLog.STARTUP);
+ device = DataWrap.DW.taAnagDev.getByDeviceSecret(devSecret)[0];
+ UsrName = device.User_Name;
+ Dominio = device.Dominio;
+ DataLayerObj.MatrOpr = device.MatrOpr; // salvo MatrOpr!
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Errore recupero dati da cookie:{0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ }
+ if (UsrName != "" && Dominio != "")
+ {
+ logger.lg.scriviLog(string.Format("Dati utente da cookie: dominio {0}, user:{1}", Dominio, UsrName), tipoLog.STARTUP);
+ // aggiorno descrizione (user agent) ed IP...
+ userAgent = Request.UserAgent;
+ postazione_IP = Request.UserHostName;
+ // controllo IP e DeviceDescription x eventuale update
+ if ((device.lastIPv4 != postazione_IP) || (device.Description != userAgent))
+ {
+ // salvo ultimo "contatto" del device aggiornando descrizione ed IP
+ DataWrap.DW.taAnagDev.updateIP(device.IdxDevice, DateTime.Now, postazione_IP, userAgent);
+ }
+ // avvio utente...
+ user_std.UtSn.startUpUtente(Dominio, UsrName);
+ }
+ else
+ {
+ // svuoto cookie...
+ memLayer.ML.emptyCookieVal(memLayer.ML.CRS("cookieName"));
+ // rimando pagina x registrazione devices
+ logger.lg.scriviLog(string.Format("Dominio / UsrName non validi / non trovati:{0}devSec:{1}{0}UsrName{2}{0}Dominio{3}", Environment.NewLine, devSecret, UsrName, Dominio), tipoLog.STARTUP);
+ Response.Redirect("~/regNewDevice.aspx");
+ }
+ }
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Errore in checkAuthCookie:{0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
+ }
+ }
+ ///
+ /// URL stringa di UPDATE...
+ ///
+ protected string updateUrl
+ {
+ get
+ {
+ return string.Format("http://seriate.steamware.net:8083/SWS/MAPO/TAB/{0}/manifest.xml", memLayer.ML.CRS("appVers"));
+ }
+ }
+ public string isActive(object pageName)
+ {
+ string answ = "";
+ if (true)
+ {
+ answ = "active";
+ }
+ return answ;
+ }
+ ///
+ /// Verifica se la pagina corrente sia URL indicato --> mostra ACTIVE
+ ///
+ ///
+ ///
+ public string checkPage(object navUrl)
+ {
+ string answ = "";
+ if (navUrl.ToString().Replace(".aspx", "").Replace("~/", "") == titolo.Replace(".aspx", ""))
+ {
+ answ = "active btn-primary";
+ }
+ return answ;
+ }
+ ///
+ /// Cognome Nome utente
+ ///
+ public string MatrOpr
+ {
+ get
+ {
+ return DataLayerObj.MatrOpr.ToString();
}
- // avvio utente...
- user_std.UtSn.startUpUtente(Dominio, UsrName);
- }
- else
- {
- // svuoto cookie...
- memLayer.ML.emptyCookieVal(memLayer.ML.CRS("cookieName"));
- // rimando pagina x registrazione devices
- logger.lg.scriviLog(string.Format("Dominio / UsrName non validi / non trovati:{0}devSec:{1}{0}UsrName{2}{0}Dominio{3}", Environment.NewLine, devSecret, UsrName, Dominio), tipoLog.STARTUP);
- Response.Redirect("~/regNewDevice.aspx");
- }
}
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Errore in checkAuthCookie:{0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
- }
- }
- ///
- /// URL stringa di UPDATE...
- ///
- protected string updateUrl
- {
- get
- {
- return string.Format("http://seriate.steamware.net:8083/SWS/MAPO/TAB/{0}/manifest.xml", memLayer.ML.CRS("appVers"));
- }
- }
- public string isActive(object pageName)
- {
- string answ = "";
- if (true)
- {
- answ = "active";
- }
- return answ;
- }
- ///
- /// Verifica se la pagina corrente sia URL indicato --> mostra ACTIVE
- ///
- ///
- ///
- public string checkPage(object navUrl)
- {
- string answ = "";
- if (navUrl.ToString().Replace(".aspx", "").Replace("~/", "") == titolo.Replace(".aspx", ""))
- {
- answ = "active btn-primary";
- }
- return answ;
- }
- ///
- /// titolo pagina
- ///
- public string titolo
- {
- get
- {
- return devicesAuthProxy.getPage(Request.Url);
- }
- }
- ///
- /// Cognome Nome utente
- ///
- public string MatrOpr
- {
- get
- {
- return DataLayerObj.MatrOpr.ToString();
- }
- }
- ///
- /// Cognome Nome utente
- ///
- public string CognomeNome
- {
- get
- {
- string swData = "";
- string cognomeNome = "";
- try
+ ///
+ /// Cognome Nome utente
+ ///
+ public string CognomeNome
{
- cognomeNome = user_std.UtSn.CognomeNome;
+ get
+ {
+ string swData = "";
+ string cognomeNome = "";
+ try
+ {
+ cognomeNome = user_std.UtSn.CognomeNome;
+ }
+ catch (Exception exc)
+ {
+ logger.lg.scriviLog(string.Format("Eccezione in User.aspx - page_load: {0}", exc), tipoLog.EXCEPTION);
+ }
+ if (DataLayerObj.MatrOpr > 0)
+ {
+ swData = DataLayerObj.CognomeNomeOpr;
+ }
+ else if (cognomeNome != "")
+ {
+ swData = cognomeNome;
+ }
+ else
+ {
+ swData = "MoonProTablet";
+ }
+ return swData;
+ }
}
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Eccezione in User.aspx - page_load: {0}", exc), tipoLog.EXCEPTION);
- }
- if (DataLayerObj.MatrOpr > 0)
- {
- swData = DataLayerObj.CognomeNomeOpr;
- }
- else if (cognomeNome != "")
- {
- swData = cognomeNome;
- }
- else
- {
- swData = "MoonProTablet";
- }
- return swData;
- }
}
- }
}
\ No newline at end of file
diff --git a/MP-TAB/WebUserControls/mod_turni.ascx.cs b/MP-TAB/WebUserControls/mod_turni.ascx.cs
index ce8d05d8..9573532e 100644
--- a/MP-TAB/WebUserControls/mod_turni.ascx.cs
+++ b/MP-TAB/WebUserControls/mod_turni.ascx.cs
@@ -4,84 +4,66 @@ using System;
namespace MoonProTablet.WebUserControls
{
- public partial class mod_turni : System.Web.UI.UserControl
- {
- ///
- /// registrato nuovo valore
- ///
- public event EventHandler eh_updated;
- ///
- /// Oggetto datalayer specifico
- ///
- DataLayer DataLayerObj = new DataLayer();
- ///
- /// idx macchina selezionata
- ///
- public string idxMacchina
+ public partial class mod_turni : BaseUserControl
{
- get
- {
- return memLayer.ML.StringSessionObj("IdxMacchina");
- }
- set
- {
- memLayer.ML.setSessionVal("IdxMacchina", value);
- }
- }
- ///
- /// caricamento pagina
- ///
- ///
- ///
- protected void Page_Load(object sender, EventArgs e)
- {
- setupTurni();
- }
- ///
- /// setta i valori turni attivi x macchina
- ///
- private void setupTurni()
- {
- // carico dati macchina attiva...
- try
- {
- DS_ProdTempi.TurniMacchinaRow rigaTurni = DataLayerObj.taTurniMacc.getByIdxMacc(idxMacchina.ToString())[0];
- // fix checkboxes
- chkT1.Checked = rigaTurni.T1;
- chkT2.Checked = rigaTurni.T2;
- chkT3.Checked = rigaTurni.T3;
- }
- catch
- { }
- }
- ///
- /// fa toggle del valore attivo/disattivo del turno
- ///
- ///
- private void toggleTurno(int turno)
- {
- DataLayerObj.taTurniMacc.stp_turniMacchineUpdateTurno(idxMacchina.ToString(), turno);
- setupTurni();
- // sollevo evento!
- if (eh_updated != null)
- {
- eh_updated(this, new EventArgs());
- }
- }
+ ///
+ /// registrato nuovo valore
+ ///
+ public event EventHandler eh_updated;
+ ///
+ /// caricamento pagina
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ setupTurni();
+ }
+ ///
+ /// setta i valori turni attivi x macchina
+ ///
+ private void setupTurni()
+ {
+ // carico dati macchina attiva...
+ try
+ {
+ DS_ProdTempi.TurniMacchinaRow rigaTurni = DataLayerObj.taTurniMacc.getByIdxMacc(idxMacchina.ToString())[0];
+ // fix checkboxes
+ chkT1.Checked = rigaTurni.T1;
+ chkT2.Checked = rigaTurni.T2;
+ chkT3.Checked = rigaTurni.T3;
+ }
+ catch
+ { }
+ }
+ ///
+ /// fa toggle del valore attivo/disattivo del turno
+ ///
+ ///
+ private void toggleTurno(int turno)
+ {
+ DataLayerObj.taTurniMacc.stp_turniMacchineUpdateTurno(idxMacchina.ToString(), turno);
+ setupTurni();
+ // sollevo evento!
+ if (eh_updated != null)
+ {
+ eh_updated(this, new EventArgs());
+ }
+ }
- protected void chkT1_CheckedChanged(object sender, EventArgs e)
- {
- toggleTurno(1);
- }
+ protected void chkT1_CheckedChanged(object sender, EventArgs e)
+ {
+ toggleTurno(1);
+ }
- protected void chkT2_CheckedChanged(object sender, EventArgs e)
- {
- toggleTurno(2);
- }
+ protected void chkT2_CheckedChanged(object sender, EventArgs e)
+ {
+ toggleTurno(2);
+ }
- protected void chkT3_CheckedChanged(object sender, EventArgs e)
- {
- toggleTurno(3);
+ protected void chkT3_CheckedChanged(object sender, EventArgs e)
+ {
+ toggleTurno(3);
+ }
}
- }
}
\ No newline at end of file