From 8070aaf2116ccefbba9294bcd845d1a985e43b92 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 24 May 2017 12:08:07 +0200 Subject: [PATCH] modifica controllo LiquidiDT integrato in MERGE con UserControlBCodeMan... --- GMW/WebUserControls/mod_PostFin_DT.ascx.cs | 5 +- GMW/WebUserControls/mod_PostLiq_DT.ascx.cs | 396 ++++----------------- 2 files changed, 74 insertions(+), 327 deletions(-) diff --git a/GMW/WebUserControls/mod_PostFin_DT.ascx.cs b/GMW/WebUserControls/mod_PostFin_DT.ascx.cs index ee9ab8d6..d5a70fa1 100644 --- a/GMW/WebUserControls/mod_PostFin_DT.ascx.cs +++ b/GMW/WebUserControls/mod_PostFin_DT.ascx.cs @@ -5,6 +5,9 @@ using System.Web.UI; namespace GMW.WebUserControls { + /// + /// Pagina finiti DT + /// public partial class mod_PostFin_DT : GMW_data.UserControlBCodeMan { /// @@ -1136,7 +1139,7 @@ namespace GMW.WebUserControls } } /// - /// IMposta e legge imballo selezionato + /// Imposta e legge imballo selezionato /// public override string imballoSel { diff --git a/GMW/WebUserControls/mod_PostLiq_DT.ascx.cs b/GMW/WebUserControls/mod_PostLiq_DT.ascx.cs index 9b78bd34..0285aab5 100644 --- a/GMW/WebUserControls/mod_PostLiq_DT.ascx.cs +++ b/GMW/WebUserControls/mod_PostLiq_DT.ascx.cs @@ -8,78 +8,40 @@ namespace GMW.WebUserControls /// /// Pagina liquidi DT /// - public partial class mod_PostLiq_DT : System.Web.UI.UserControl + public partial class mod_PostLiq_DT : GMW_data.UserControlBCodeMan { /// - /// stringa UID univoca + /// Imposta variabili specifiche classe /// - public string uid - { - get + public override void setupVariabili() { - return this.UniqueID.Replace("$", "_").Replace("-", "_"); - } - } - /// - /// flusso associato (hard coded) a LI (finiti) - /// - protected string flusso = "FI"; - /// - /// flusso associato (hard coded) ad ancestor TT (Trattati) - /// - protected string flussoAnc = "TT"; - /// - /// flusso associato (hard coded) a temporaneo TL (Trattati/Liquidi) - /// - protected string flussoTemp = "TL"; - /// - /// stato associato (hard coded) a UDC in OUT: Finito - /// - protected string statoUdcOut = "Fin"; - /// - /// stato associato (hard coded) a UDC in IN: Trattato da travaso AL - /// - protected string statoUdcIn = "Tratt"; - /// - /// codice evento dell'UDC definitivo (OUT) che si crea - /// - protected string codEventoUdcOut = "UDC_TL_DT"; - /// - /// codice evento dell'UDC temporaneo (IN) che si crea - /// - protected string codEventoUdcIn = "UDC_TRATT"; - protected string cssOk = "stileComandoOk"; - protected string cssErr = "stileComandoKo"; - protected string cssWait = "stileComandoND"; - protected string cssAtt = "stileAttesa"; - protected string cssWarn = "stileComandoWarn"; - protected string cssAdd = "stileComandoAdd"; - public event EventHandler eh_reqUpdate; - /// - /// Codice AL sulla linea... - /// - protected string currAL - { - get - { - string answ = ""; - try - { - answ = MagClass.magazzino.taAL.getByKey(Postazione.currCodLinea)[0].CurrVal; - } - catch - { } - return answ; - } - set - { - MagClass.magazzino.taAL.updateCurrVal(Postazione.currCodLinea, value); - } + flusso = "FI"; + flussoAnc = "TT"; + // temporaneo TL (Trattati/Liquidi) + flussoTemp = "TL"; + statoUDC = "Fin"; + statoUDC_pre = "Tratt"; + eventoUDC = "UDC_TL_DT"; //UDC_FINWIP ??? + eventoUDC_qta = "UDC_QTY"; + eventoUDC_temp = "UDC_TRATT"; + codLineaKo = "W8200"; + QtaImballoStd = memLayer.ML.cdvi("QtaImballoFiniti"); + CodImballoStd = memLayer.ML.cdv("CodImballoFiniti"); + + + tipoUdcLinea = "Finito"; + IdxPosizioneIn = memLayer.ML.cdvi("IdxPosizioneTrattati"); + IdxPosizioneOut = memLayer.ML.cdvi("IdxPosizioneFiniti"); + IdxPosizioneOutTempName = "IdxPosizioneFinTemp"; + sVarIdxCella = "IdxCellaLineaFiniti"; + IdxPosizioneOutTemp = memLayer.ML.cdvi(IdxPosizioneOutTempName); + tipoCartCurr = tipoCartellino.cartFiniti; + enableBCodeParticolare = false; } /// /// Codice AL in carico /// - protected string sourceAL + public override string sourceAL { get { @@ -91,23 +53,9 @@ namespace GMW.WebUserControls } } /// - /// ultimo valore barcode letto (x confronto conferme doppio input...) - /// - protected string lastBarcodeIn - { - get - { - return memLayer.ML.StringSessionObj(string.Format("lastBCode_{0}", uid)); - } - set - { - memLayer.ML.setSessionVal(string.Format("lastBCode_{0}", uid), value, false); - } - } - /// /// Codice AL della cella corrente /// - protected string destAL + public override string destAL { get { @@ -119,97 +67,9 @@ namespace GMW.WebUserControls } } /// - /// Codice AL associato alla cella corrente... - /// - protected string AlByCella - { - get - { - string answ = ""; - try - { - answ = string.Format("ALF00{0}", Postazione.currCodCella); - // controllo se esista AL sennò lo creo... - if (MagClass.magazzino.taEA.getByAL(answ).Rows.Count == 0) - { - MagClass.magazzino.taEA.Insert(answ, true, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, "", ""); - } - } - catch - { } - return answ; - } - } - /// - /// indica il codice articolo correntemente selezionato - /// - protected string currParticolare - { - get - { - return memLayer.ML.StringSessionObj(string.Format("currParticolare_{0}", uid)); - } - set - { - memLayer.ML.setSessionVal(string.Format("currParticolare_{0}", uid), value, memLayer.ML.confReadBool("keepParticolareSel")); - } - } - /// - /// indica UDC correntemente selezionato - /// - protected string currUDC - { - get - { - return memLayer.ML.StringSessionObj(string.Format("UDC_{0}", uid)); - } - set - { - memLayer.ML.setSessionVal(string.Format("UDC_{0}", uid), value, memLayer.ML.confReadBool("keepParticolareSel")); - } - } - /// - /// num pezzi dell'ultimo UDC di uguale particolare e stato fatto... - /// - public int pezziUdc - { - get - { - int answ = 0; - try - { - answ = (int)MagClass.magazzino.taCartellini.getLastByParticolareStatoConImb(memLayer.ML.StringSessionObj("CodCS"), currParticolare, statoUdcOut)[0].Qta; - } - catch - { - answ = memLayer.ML.cdvi("QtaImballoFiniti"); - } - return answ; - } - } - /// - /// cod imballo dell'ultimo UDC del particolare generato - /// - public string lastCodImb - { - get - { - string answ = ""; - try - { - answ = MagClass.magazzino.taCartellini.getLastByParticolareStatoConImb(memLayer.ML.StringSessionObj("CodCS"), currParticolare, statoUdcOut)[0].CodImballo; - } - catch - { - answ = memLayer.ML.cdv("CodImballoFiniti"); - } - return answ; - } - } - /// /// qta pezzi x UDC /// - public int qta + public override int qta { get { @@ -228,65 +88,9 @@ namespace GMW.WebUserControls } } /// - /// wrapper traduzione - /// - /// - /// - public string traduci(object lemma) - { - return user_std.UtSn.Traduci(lemma.ToString()); - } - /// - /// indica se i caratteri vadano forzati a maiuscoli - /// - public bool forceUppercase - { - get - { - return memLayer.ML.confReadBool("forceUppercase"); - } - } - /// - /// Formato Datamatrix della linea selezionata - /// - protected string FormatoDtmxLinea - { - get - { - string answ = ""; - try - { - answ = MagClass.magazzino.taAL.getByKey(Postazione.currCodLinea)[0].FormatoDtmx; - } - catch - { } - return answ; - } - } - /// - /// codice particolare da datamatrix - /// - /// bollean: - /// true = utilizza lookUp su tabella dati acquisiti - /// false = prova a decodificare (da formato Dtmx linea) - /// - protected string partByDtmx(bool byTable) - { - string answ = ""; - if (byTable) - { - answ = DataMatrix.mgr.taDtxAcquisiti.getByKey(barcodeIn)[0].Particolare; // Decode.GetData(barcodeIn, FormatoDtmxLinea)[0].Particolare; - } - else - { - answ = DataMatrix.mgr.taDecode.GetData(barcodeIn, FormatoDtmxLinea)[0].Particolare; - } - return answ; - } - /// /// valore barcode /// - public string barcodeIn + public override string barcodeIn { get { @@ -302,34 +106,26 @@ namespace GMW.WebUserControls /// /// /// - protected void Page_Load(object sender, EventArgs e) + public override void Page_Load(object sender, EventArgs e) { + // inizializzazione base! + base.Page_Load(sender, e); + // inizializzazione custom... if (!Page.IsPostBack) { - Postazione.messaggiText = ""; - Postazione.warningText = ""; - qta = 0; currUDC = ""; forceDelete = false; - sourceAL = ""; setDefaultVal(); odsAL.DataBind(); grViewSource.DataBind(); - // NON RESETTO... 2014.04.10 - //sendUpdateTablet("ND", "-", traduci("attesaInput"), "-", "-", "-", "", cssWait, cssWait); } - setVisibility(); - checkBarcode(); } /// - /// imposta i valori di default ad avvio + /// imposta i valori di default all'avvio /// private void setDefaultVal() { - if (currAL != "") - { - sourceAL = currAL; - } + sourceAL = currAL != "" ? currAL : ""; destAL = AlByCella; } /// @@ -344,7 +140,7 @@ namespace GMW.WebUserControls /// /// sistema modalità input /// - private void setVisibility() + public override void setVisibility() { bool showBtn = false; if (sourceAL != "" && currAL == "") @@ -384,8 +180,6 @@ namespace GMW.WebUserControls Postazione.warningText = ""; Postazione.CssClass = cssAtt; doUpdate(); - // NON RESETTO... 2014.04.10 - //sendUpdateTablet("ND", "-", traduci("attesaInput"), "-", "-", "-", "", cssWait, cssWait); } /// /// Verifica l'AL se sia ok x procedere: @@ -406,12 +200,12 @@ namespace GMW.WebUserControls if (answ) { Postazione.warningText = ""; - Postazione.CssClass = "stileComandoOk"; + Postazione.CssClass = cssOk; } else { Postazione.warningText = traduci("ErroreAlNonTtAttivo"); - Postazione.CssClass = "stileComandoKo"; + Postazione.CssClass = cssErr; } return answ; @@ -433,19 +227,19 @@ namespace GMW.WebUserControls if (!answ) { Postazione.warningText = traduci("ErroreAlNonDtx"); - Postazione.CssClass = "stileComandoKo"; + Postazione.CssClass = cssErr; } else { Postazione.warningText = ""; - Postazione.CssClass = "stileComandoOk"; + Postazione.CssClass = cssOk; } return answ; } /// /// controlla se ci sia un barcode e cosa farne... /// - private void checkBarcode() + public override void checkBarcode() { if (barcodeIn != "") { @@ -472,7 +266,7 @@ namespace GMW.WebUserControls catch { Postazione.warningText = traduci("ERR-IMB-001"); - Postazione.CssClass = "stileComandoKo"; + Postazione.CssClass = cssErr; } break; case tipoCodiceBarcode.Comando: @@ -499,7 +293,7 @@ namespace GMW.WebUserControls { // controllo se sia un UDC di finiti LIQ in posizione 4... DS_magazzino.ElencoCartelliniRow cartUDC = MagClass.magazzino.taCartellini.getByUdc(barcodeIn)[0]; - if (cartUDC.CodStato == statoUdcOut && cartUDC.IdxPosizione == memLayer.ML.cdvi("IdxPosizioneFiniti")) + if (cartUDC.CodStato == statoUDC && cartUDC.IdxPosizione == memLayer.ML.cdvi("IdxPosizioneFiniti")) { // controllo NON ci sia già un UDC di pari particolare caricato nella postazione corrente (non posso avere 2 UDC a pari particolare da riempire...) if (MagClass.magazzino.taCartellini.getByParticolareAL(cartUDC.Particolare, destAL).Rows.Count == 0) @@ -729,21 +523,21 @@ namespace GMW.WebUserControls if (memLayer.ML.confReadBool("useStoredLiqSP")) { // nuova stored con AL e cella...... - NewUDC = MagClass.magazzino.creaUdcWithAlCella(destAL, sourceAL, barcodeIn, statoUdcOut, Postazione.currCodCella, flusso, "", currParticolare, "", "", "", "", OldUDC, 0, codImballo, "U", MagClass.magazzino.CodSoggCurrUser, pezziUdc, 0, 0, adesso, 0, statoUdcOut, memLayer.ML.cdvi("IdxPosizioneFinTemp"), "IdxPosizioneFinTemp", codEventoUdcOut, "", "", adesso.Year, Request.UserHostName); + NewUDC = MagClass.magazzino.creaUdcWithAlCella(destAL, sourceAL, barcodeIn, statoUDC, Postazione.currCodCella, flusso, "", currParticolare, "", "", "", "", OldUDC, 0, codImballo, "U", MagClass.magazzino.CodSoggCurrUser, pezziUdc, 0, 0, adesso, 0, statoUDC, memLayer.ML.cdvi("IdxPosizioneFinTemp"), "IdxPosizioneFinTemp", eventoUDC, "", "", adesso.Year, Request.UserHostName); // registro creazione nuovo UDC MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, NewUDC, currParticolare, "creaUDC", string.Format("Creato nuovo UDC PostLiquidi DT, qta: {0} {1}", qta, "")); } else { // oppure lo creo... - NewUDC = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", OldUDC, 0, codImballo, "U", MagClass.magazzino.CodSoggCurrUser, pezziUdc, 0, 0, adesso, 0, statoUdcOut, memLayer.ML.cdvi("IdxPosizioneFinTemp"), "IdxPosizioneFinTemp", codEventoUdcOut, "", "", adesso.Year, Request.UserHostName); + NewUDC = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", OldUDC, 0, codImballo, "U", MagClass.magazzino.CodSoggCurrUser, pezziUdc, 0, 0, adesso, 0, statoUDC, memLayer.ML.cdvi("IdxPosizioneFinTemp"), "IdxPosizioneFinTemp", eventoUDC, "", "", adesso.Year, Request.UserHostName); // registro creazione nuovo UDC MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, NewUDC, currParticolare, "creaUDC", string.Format("Creato nuovo UDC PostLiquidi DT, qta: {0} {1}", qta, "")); // lo associo all'AL! MagClass.magazzino.taAL2UDC.Insert(destAL, NewUDC, adesso, MagClass.magazzino.CodSoggCurrUser); - DataMatrix.mgr.taDtx2UDC.UpdateUDC(NewUDC, barcodeIn, statoUdcOut, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false); + DataMatrix.mgr.taDtx2UDC.UpdateUDC(NewUDC, barcodeIn, statoUDC, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false); // disattivo AL (se non era già disattivo...) x evitare si possa togliere senza chiudere... MagClass.magazzino.taEA.DisattivaAL(sourceAL); // fix messaggi @@ -777,7 +571,7 @@ namespace GMW.WebUserControls { dtxInUdcDest = DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Select(string.Format("UDC = '{0}'", NewUDC)).Length > 0; // ricalcolo vecchio UDC - OldUDC = ((DS_DataMatrix.Dtx2UDCRow)DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Select(string.Format("CodStato = '{0}'", statoUdcIn))[0]).UDC.Replace(flussoAnc, flussoTemp); + OldUDC = ((DS_DataMatrix.Dtx2UDCRow)DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Select(string.Format("CodStato = '{0}'", statoUDC_pre))[0]).UDC.Replace(flussoAnc, flussoTemp); // verifico SE sia in carico ad AL... if (OldUDC != "") { @@ -792,7 +586,7 @@ namespace GMW.WebUserControls if (dtxInUdcDest && udcSourceOk) { // tolgo da AL (se caricato), faccio update e sposto su UDC sorgente... - DataMatrix.mgr.taDtx2UDC.UpdateUDC(OldUDC, barcodeIn, statoUdcOut, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false); + DataMatrix.mgr.taDtx2UDC.UpdateUDC(OldUDC, barcodeIn, statoUDC, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false); // fix messaggi Postazione.messaggiText = traduci("ToltoDtxDaDest"); Postazione.warningText = ""; @@ -819,7 +613,7 @@ namespace GMW.WebUserControls else { // se lo trovo chiamo procedura di spostamento Dtx tra UDC sorgente --> dest (con eventuale creazione dest) - DataMatrix.mgr.taDtx2UDC.UpdateUDC(NewUDC, barcodeIn, statoUdcOut, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false); + DataMatrix.mgr.taDtx2UDC.UpdateUDC(NewUDC, barcodeIn, statoUDC, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false); // fix messaggi Postazione.messaggiText = traduci("ConfermatoDtx"); Postazione.warningText = ""; @@ -926,7 +720,7 @@ namespace GMW.WebUserControls try { // ricalcolo vecchio UDC - OldUDC = ((DS_DataMatrix.Dtx2UDCRow)DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Select(string.Format("CodStato = '{0}'", statoUdcIn))[0]).UDC.Replace(flussoAnc, flussoTemp); + OldUDC = ((DS_DataMatrix.Dtx2UDCRow)DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Select(string.Format("CodStato = '{0}'", statoUDC_pre))[0]).UDC.Replace(flussoAnc, flussoTemp); IdxPosizione = MagClass.magazzino.taCartellini.getByUdc(OldUDC)[0].IdxPosizione; currParticolare = MagClass.magazzino.taCartellini.getByUdc(OldUDC)[0].Particolare; NewUDC = DataMatrix.mgr.taDtx2UDC.getByDtxAl(destAL, barcodeIn)[0].UDC; @@ -945,7 +739,7 @@ namespace GMW.WebUserControls if (dtxInUdcDest && udcSourceOk) { // tolgo da AL (se caricato), faccio update e sposto su UDC sorgente... - DataMatrix.mgr.taDtx2UDC.UpdateUDC(OldUDC, barcodeIn, statoUdcOut, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false); + DataMatrix.mgr.taDtx2UDC.UpdateUDC(OldUDC, barcodeIn, statoUDC, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false); // fix messaggi Postazione.messaggiText = traduci("ToltoDtxDaDest"); Postazione.warningText = ""; @@ -1035,17 +829,13 @@ namespace GMW.WebUserControls /// /// aggiorna tabella + focus a barcode /// - public void doUpdate() + public override void doUpdate() { + base.doUpdate(); setDefaultVal(); - setVisibility(); grViewSource.DataBind(); grViewDest.DataBind(); - // raise dell'evento - if (eh_reqUpdate != null) - { - eh_reqUpdate(this, new EventArgs()); - } + raiseEvent(ucEvType.ReqUpdateParent); verificaBtnStampa(); txtBarcode.Focus(); } @@ -1070,7 +860,7 @@ namespace GMW.WebUserControls } Postazione.messaggiText = traduci("partSelected"); Postazione.warningText = ""; - Postazione.CssClass = "stileComandoOk"; + Postazione.CssClass = cssOk; setVisibility(); doUpdate(); // fisso focus su note! @@ -1195,42 +985,25 @@ namespace GMW.WebUserControls /// /// /// - protected void btnReset_Click(object sender, EventArgs e) + public override void btnReset_Click(object sender, EventArgs e) { grViewDest.SelectedIndex = -1; - qta = 0; - currUDC = ""; - setVisibility(); - doUpdate(); + base.btnReset_Click(sender, e); } /// /// update Qty x UDC selezionato... /// /// /// - protected void lbtUpdQty_Click(object sender, EventArgs e) + public override void lbtUpdQty_Click(object sender, EventArgs e) { - MagClass.magazzino.taCartellini.updateQty(currUDC, MagClass.magazzino.CodSoggCurrUser, "U", codEventoUdcOut, qta); + base.lbtUpdQty_Click(sender, e); // fix tablet checkUpdateTablet(currUDC); - currUDC = ""; - currParticolare = ""; grViewDest.SelectedIndex = -1; doUpdate(); } /// - /// richiesta (ri)stampa UDC - /// - /// - /// - public void ristampa() - { - bool fatto = false; - fatto = MagClass.magazzino.ristampaUdc(udcReq, Postazione.printer, Request.UserHostName); - // registro ri-stampa UDC - if (fatto) MagClass.magazzino.taSAO.insertQuery(DateTime.Now, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, udcReq, "", "stampaUDC", string.Format("Ri-Stampato UDC Dtx {0} su linea {1}", currUDC, Postazione.currCodLinea)); - } - /// /// verifica visibilità btn stampa UDC /// private void verificaBtnStampa() @@ -1339,16 +1112,6 @@ namespace GMW.WebUserControls } } /// - /// udc da stampare - /// - protected string udcReq - { - get - { - return memLayer.ML.StringSessionObj("udcSelSAO"); - } - } - /// /// Effettua update della pagina tablet RT collegata alla postazione liquidi /// /// @@ -1376,37 +1139,18 @@ namespace GMW.WebUserControls } } /// - /// preseleziono (se possibile) imballo... + /// Imposta e legge imballo selezionato /// - /// - /// - protected void ddlImballi_DataBound(object sender, EventArgs e) - { - selezionaImballo(); + public override string imballoSel + { + get + { + return ddlImballi.SelectedValue; + } + set + { + ddlImballi.SelectedValue = value; + } } - /// - /// seleziona imballo corretto - /// - private void selezionaImballo() - { - string codImb = ""; - // cerco se c'è un imballo x particolare corrente... - if (currParticolare != "") - { - codImb = lastCodImb; - } - else - { - codImb = memLayer.ML.cdv("CodImballoFiniti"); - } - try - { - // preseleziono - ddlImballi.SelectedValue = codImb; - } - catch - { } - } - } } \ No newline at end of file