Fix selezione macchina x nuovo ODL ed errori relativi
This commit is contained in:
@@ -86,6 +86,21 @@ namespace MoonProTablet.WebUserControls
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Idx macchina selezionata FIX (esempio x nuovo ODL su doppia tavola)
|
||||
/// </summary>
|
||||
public string idxMacchinaFix
|
||||
{
|
||||
get
|
||||
{
|
||||
return memLayer.ML.StringSessionObj("IdxMacchinaFix");
|
||||
}
|
||||
set
|
||||
{
|
||||
memLayer.ML.setSessionVal("IdxMacchinaFix", value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// idxOdl corrente in sessione
|
||||
/// </summary>
|
||||
|
||||
@@ -7,17 +7,17 @@ namespace MoonProTablet.WebUserControls
|
||||
{
|
||||
public partial class cmp_newODL : BaseUserControl
|
||||
{
|
||||
#region Public Events
|
||||
|
||||
/// <summary>
|
||||
/// registrato nuovo valore
|
||||
/// </summary>
|
||||
public event EventHandler eh_newVal;
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
setDefaults();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Public Events
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// imposta valori std
|
||||
/// </summary>
|
||||
@@ -28,6 +28,10 @@ namespace MoonProTablet.WebUserControls
|
||||
txtTC_sec.Text = "0";
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected void lbtCreaOdlProvv_Click(object sender, EventArgs e)
|
||||
{
|
||||
// effettua creazione ODL provvisorio e riporta a parent...
|
||||
@@ -40,13 +44,13 @@ namespace MoonProTablet.WebUserControls
|
||||
decimal tCiclo = numMin + ((decimal)numSec) / 60;
|
||||
string note = txtNote.Text.Trim();
|
||||
// insert su DB
|
||||
DataLayerObj.taODL.insertProvv(ddlArticolo.SelectedValue, DataLayerObj.MatrOpr, idxMacchina, numPz, tCiclo, note);
|
||||
// calcolo stringa macchina e articolo...
|
||||
var rMacchina = DataLayerObj.taMacchine.GetByIdx(idxMacchina)[0];
|
||||
DataLayerObj.taODL.insertProvv(ddlArticolo.SelectedValue, DataLayerObj.MatrOpr, idxMacchinaFix, numPz, tCiclo, note);
|
||||
// calcolo stringa macchina e articolo...
|
||||
var rMacchina = DataLayerObj.taMacchine.GetByIdx(idxMacchinaFix)[0];
|
||||
var rArticolo = DataLayerObj.taAnagArt.getByCod(ddlArticolo.SelectedValue)[0];
|
||||
string macchina = string.Format("{0} ({1} | {2} | {3})", rMacchina.Nome, rMacchina.IdxMacchina, rMacchina.CodMacchina, rMacchina.Descrizione);
|
||||
string macchina = string.Format("{0} ({1} | {2} | {3})", rMacchina.Nome, idxMacchinaFix, rMacchina.CodMacchina, rMacchina.Descrizione);
|
||||
string articolo = string.Format("{0} ({1} | {2})", rArticolo.DescArticolo, rArticolo.CodArticolo, rArticolo.Disegno);
|
||||
// invio email notifica creazione ODL PROVVISORIO (da riconciliare...)
|
||||
// invio email notifica creazione ODL PROVVISORIO (da riconciliare...)
|
||||
string subject = "Effettuato attrezzaggio con ODL provvisorio";
|
||||
string oggetto = string.Format("E' stato effettuato un attrezzaggio con ODL provvisorio.<br/>Macchina: <b>{0}</b><br>Articolo: <b>{1}</b><br>Lanciati <b>{2}</b> pezzi con T.Ciclo <b>{3:N3}</b> (min.cent) / <b>{4}:{5}</b> (min:sec).<br><br>Note operatore: <b>{6}</b>", macchina, articolo, numPz, tCiclo, numMin, numSec, note);
|
||||
gestEmail.geAuth.mandaEmail(memLayer.ML.CRS("_fromEmail"), memLayer.ML.CRS("_adminEmail"), subject, oggetto);
|
||||
@@ -57,10 +61,20 @@ namespace MoonProTablet.WebUserControls
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
setDefaults();
|
||||
}
|
||||
}
|
||||
|
||||
protected void txtSearch_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
// bind dati!
|
||||
ddlArticolo.DataBind();
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
}
|
||||
}
|
||||
@@ -335,7 +335,7 @@ namespace MoonProTablet.WebUserControls
|
||||
{
|
||||
memLayer.ML.setSessionVal(string.Format("idxMacchina-{0}", uid), value);
|
||||
hfIdxMacchina.Value = value;
|
||||
cmp_newODL.idxMacchina = value;
|
||||
cmp_newODL.idxMacchinaFix = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -405,15 +405,24 @@ namespace MoonProTablet.WebUserControls
|
||||
protected void ddlSubMacc_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
// se ho in memoria un valore LO REIMPOSTO...
|
||||
if (subMaccSel != "")
|
||||
if (!string.IsNullOrEmpty(subMaccSel))
|
||||
{
|
||||
// provo a preselezionare...
|
||||
try
|
||||
// se è una SUB machcina (contiene "#")
|
||||
if (subMaccSel.Contains("#"))
|
||||
{
|
||||
ddlSubMacc.SelectedValue = subMaccSel;
|
||||
// provo a preselezionare...
|
||||
try
|
||||
{
|
||||
ddlSubMacc.SelectedValue = subMaccSel;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
// altrimenti salvo!
|
||||
else
|
||||
{
|
||||
subMaccSel = ddlSubMacc.SelectedValue;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,113 @@ namespace MoonProTablet.WebUserControls
|
||||
{
|
||||
public partial class mod_dettaglioProd : BaseUserControl
|
||||
{
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// popola le labels
|
||||
/// </summary>
|
||||
private void popolaLabels()
|
||||
{
|
||||
if (!string.IsNullOrEmpty(idxMacchina))
|
||||
{
|
||||
// forzo ricalcolo
|
||||
DataLayerObj.taMSE.forceRecalc(0, idxMacchina);
|
||||
// leggo riga...
|
||||
DS_ProdTempi.MappaStatoExplRow rigaDati = DataLayerObj.taMSE.getByIdxMacchina(idxMacchina)[0];
|
||||
|
||||
// carico le info!
|
||||
lblOdl.Text = string.Format("ODL num: {0}, iniziato il {1:dd/MM/yy} alle {1:HH:mm}", rigaDati.idxODL, rigaDati.DataInizioODL);
|
||||
/************************************
|
||||
* data la postazione corrente decide cosa mostrare e come
|
||||
************************************/
|
||||
lblCodArticolo.Text = rigaDati.CodArticolo;
|
||||
lblNumPzLanciati.Text = string.Format("{0} pz.", rigaDati.NumPezzi);
|
||||
lblNumPzConf.Text = string.Format("{0} pz.", rigaDati.PezziConf);
|
||||
lblNumPzFatti.Text = string.Format("({0} pz.)", rigaDati.PezziProd);
|
||||
|
||||
/************************************
|
||||
* calcolo efficienza totale
|
||||
* se il calcolo non è possibile mette n/a
|
||||
************************************/
|
||||
decimal tempoProd = rigaDati.TCAssegnato * rigaDati.PezziConf;
|
||||
try
|
||||
{
|
||||
lblEfficienzaTot.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoOn / 100));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaTot.Text = "n/a";
|
||||
}
|
||||
// calcolo efficienza lavoro - se il calcolo non è possibile mette n/a
|
||||
try
|
||||
{
|
||||
lblEfficienzaLavoro.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoAuto / 100));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaLavoro.Text = "n/a";
|
||||
}
|
||||
// calcolo efficienza Teorica - se il calcolo non è possibile mette n/a
|
||||
try
|
||||
{
|
||||
lblEfficienzaEff.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoRun / 100));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaEff.Text = "n/a";
|
||||
}
|
||||
|
||||
/************************************
|
||||
* imposto i TEMPI CICLO
|
||||
************************************/
|
||||
// riporto Tempo ciclo impostato
|
||||
lblTcImpostato.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCAssegnato));
|
||||
// riporto Tempo ciclo medio
|
||||
lblTcMedio.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCMedio));
|
||||
lblTcMedioRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCMedioRT));
|
||||
// riporto Tempo ciclo lavoro
|
||||
lblTcLavoro.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCLav));
|
||||
lblTcLavoroRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCLavRT));
|
||||
// riporto Tempo ciclo effettivo/tecnico, come media dei 10 migliori delle ultime 8 ore
|
||||
lblTcEffettivo.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCEff));
|
||||
lblTcEffettivoRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCEffRT));
|
||||
|
||||
/************************************
|
||||
* Sistemo efficienze RT da tempi ciclo
|
||||
************************************/
|
||||
try
|
||||
{
|
||||
lblEfficienzaTotRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCMedioRT));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaTotRT.Text = "n/a";
|
||||
}
|
||||
// calcolo efficienza lavoro - se il calcolo non è possibile mette n/a
|
||||
try
|
||||
{
|
||||
lblEfficienzaLavoroRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCLavRT));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaLavoroRT.Text = "n/a";
|
||||
}
|
||||
// calcolo efficienza Teorica - se il calcolo non è possibile mette n/a
|
||||
try
|
||||
{
|
||||
lblEfficienzaEffRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCEffRT));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaEffRT.Text = "n/a";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// caricamento pagina
|
||||
/// </summary>
|
||||
@@ -13,107 +120,16 @@ namespace MoonProTablet.WebUserControls
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
popolaLabels();
|
||||
}
|
||||
/// <summary>
|
||||
/// popola le labels
|
||||
/// </summary>
|
||||
private void popolaLabels()
|
||||
{
|
||||
// forzo ricalcolo
|
||||
DataLayerObj.taMSE.forceRecalc(0, idxMacchina);
|
||||
// leggo riga...
|
||||
DS_ProdTempi.MappaStatoExplRow rigaDati = DataLayerObj.taMSE.getByIdxMacchina(idxMacchina)[0];
|
||||
|
||||
// carico le info!
|
||||
lblOdl.Text = string.Format("ODL num: {0}, iniziato il {1:dd/MM/yy} alle {1:HH:mm}", rigaDati.idxODL, rigaDati.DataInizioODL);
|
||||
/************************************
|
||||
* data la postazione corrente decide cosa mostrare e come
|
||||
************************************/
|
||||
lblCodArticolo.Text = rigaDati.CodArticolo;
|
||||
lblNumPzLanciati.Text = string.Format("{0} pz.", rigaDati.NumPezzi);
|
||||
lblNumPzConf.Text = string.Format("{0} pz.", rigaDati.PezziConf);
|
||||
lblNumPzFatti.Text = string.Format("({0} pz.)", rigaDati.PezziProd);
|
||||
|
||||
|
||||
/************************************
|
||||
* calcolo efficienza totale
|
||||
* se il calcolo non è possibile mette n/a
|
||||
************************************/
|
||||
decimal tempoProd = rigaDati.TCAssegnato * rigaDati.PezziConf;
|
||||
try
|
||||
{
|
||||
lblEfficienzaTot.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoOn / 100));
|
||||
popolaLabels();
|
||||
}
|
||||
catch
|
||||
catch (Exception exc)
|
||||
{
|
||||
lblEfficienzaTot.Text = "n/a";
|
||||
}
|
||||
// calcolo efficienza lavoro - se il calcolo non è possibile mette n/a
|
||||
try
|
||||
{
|
||||
lblEfficienzaLavoro.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoAuto / 100));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaLavoro.Text = "n/a";
|
||||
|
||||
}
|
||||
// calcolo efficienza Teorica - se il calcolo non è possibile mette n/a
|
||||
try
|
||||
{
|
||||
lblEfficienzaEff.Text = Convert.ToString(String.Format("{0:p2}", tempoProd / rigaDati.TempoRun / 100));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaEff.Text = "n/a";
|
||||
}
|
||||
|
||||
/************************************
|
||||
* imposto i TEMPI CICLO
|
||||
************************************/
|
||||
// riporto Tempo ciclo impostato
|
||||
lblTcImpostato.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCAssegnato));
|
||||
// riporto Tempo ciclo medio
|
||||
lblTcMedio.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCMedio));
|
||||
lblTcMedioRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCMedioRT));
|
||||
// riporto Tempo ciclo lavoro
|
||||
lblTcLavoro.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCLav));
|
||||
lblTcLavoroRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCLavRT));
|
||||
// riporto Tempo ciclo effettivo/tecnico, come media dei 10 migliori delle ultime 8 ore
|
||||
lblTcEffettivo.Text = Convert.ToString(String.Format("{0:0.###}", rigaDati.TCEff));
|
||||
lblTcEffettivoRT.Text = Convert.ToString(String.Format("({0:0.###})", rigaDati.TCEffRT));
|
||||
|
||||
/************************************
|
||||
* Sistemo efficienze RT da tempi ciclo
|
||||
************************************/
|
||||
try
|
||||
{
|
||||
lblEfficienzaTotRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCMedioRT));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaTotRT.Text = "n/a";
|
||||
}
|
||||
// calcolo efficienza lavoro - se il calcolo non è possibile mette n/a
|
||||
try
|
||||
{
|
||||
lblEfficienzaLavoroRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCLavRT));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaLavoroRT.Text = "n/a";
|
||||
|
||||
}
|
||||
// calcolo efficienza Teorica - se il calcolo non è possibile mette n/a
|
||||
try
|
||||
{
|
||||
lblEfficienzaEffRT.Text = Convert.ToString(String.Format("({0:p2})", rigaDati.TCAssegnato / rigaDati.TCEffRT));
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblEfficienzaEffRT.Text = "n/a";
|
||||
logger.lg.scriviLog($"Eccezione in popolaLablels:{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
}
|
||||
}
|
||||
@@ -7,9 +7,7 @@ namespace MoonProTablet.WebUserControls
|
||||
{
|
||||
public partial class mod_mappaStato : BaseUserControl
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// rimanda alla pagina di dettaglio della macchina scelta
|
||||
@@ -20,17 +18,14 @@ namespace MoonProTablet.WebUserControls
|
||||
{
|
||||
LinkButton lnkbtn = (LinkButton)sender;
|
||||
memLayer.ML.setSessionVal("IdxMacchina", lnkbtn.CommandArgument);
|
||||
memLayer.ML.setSessionVal("subMaccSel", lnkbtn.CommandArgument);
|
||||
subMaccSel = lnkbtn.CommandArgument;
|
||||
Response.Redirect("~/DettaglioMacchina.aspx");
|
||||
}
|
||||
/// <summary>
|
||||
/// fa update del controllo
|
||||
/// </summary>
|
||||
public void doUpdate()
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
ods.DataBind();
|
||||
repLI.DataBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// timeout scaduto
|
||||
/// </summary>
|
||||
@@ -41,5 +36,20 @@ namespace MoonProTablet.WebUserControls
|
||||
doUpdate();
|
||||
ScriptManager.RegisterStartupScript(Page, GetType(), "temp", "<script type='text/javascript'>$('#dettMacch').trigger('create');</script>", false);
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// fa update del controllo
|
||||
/// </summary>
|
||||
public void doUpdate()
|
||||
{
|
||||
ods.DataBind();
|
||||
repLI.DataBind();
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user