diff --git a/GMW-RT/bin/GMW-RT.dll b/GMW-RT/bin/GMW-RT.dll index 90d7530b..1efd3aa3 100644 Binary files a/GMW-RT/bin/GMW-RT.dll and b/GMW-RT/bin/GMW-RT.dll differ diff --git a/GMW-RT/bin/GMW_data.dll b/GMW-RT/bin/GMW_data.dll index 9f04b351..eb44e225 100644 Binary files a/GMW-RT/bin/GMW_data.dll and b/GMW-RT/bin/GMW_data.dll differ diff --git a/GMW-RT/bin/SteamWare.dll b/GMW-RT/bin/SteamWare.dll index b5c729ee..55782b1d 100644 Binary files a/GMW-RT/bin/SteamWare.dll and b/GMW-RT/bin/SteamWare.dll differ diff --git a/GMW-RT/bin/SteamWare.xml b/GMW-RT/bin/SteamWare.xml index 72e921e6..f991ef62 100644 --- a/GMW-RT/bin/SteamWare.xml +++ b/GMW-RT/bin/SteamWare.xml @@ -3203,6 +3203,11 @@ + + + indica se i caratteri vadano forzati a maiuscoli + + classe gestione utente: auth e permission/ruoli - versione GENERICA diff --git a/GMW/POST_LiqDtAnom.aspx.cs b/GMW/POST_LiqDtAnom.aspx.cs index a561cb4a..9000c899 100644 --- a/GMW/POST_LiqDtAnom.aspx.cs +++ b/GMW/POST_LiqDtAnom.aspx.cs @@ -29,10 +29,8 @@ namespace GMW // update vari... doUpdate(); mod_storicoAzioniOperatore1.eh_stampa += new EventHandler(mod_storicoAzioniOperatore1_eh_stampa); -#if false mod_LiqDtAnom1.doUpdate(); mod_LiqDtAnom1.eh_reqUpdate += mod_LiqDtAnom1_eh_reqUpdate; -#endif mod_selLineaNtDt1.eh_lineSelected += mod_selLineaNtDt1_eh_doRefresh; mod_selLineaNtDt1.eh_showHideStorico += mod_selLineaNtDt1_eh_showHideStorico; } @@ -53,9 +51,7 @@ namespace GMW private void mod_selLineaNtDt1_eh_doRefresh(object sender, EventArgs e) { doUpdate(); -#if false mod_LiqDtAnom1.doUpdate(); -#endif } /// /// richiesta update del controllo SAO @@ -82,9 +78,7 @@ namespace GMW /// void mod_storicoAzioniOperatore1_eh_stampa(object sender, EventArgs e) { -#if false - mod_LiqDtAnom1.ristampa(); -#endif + mod_LiqDtAnom1.ristampa(); } /// /// sistemo visualizzazione pannelli diff --git a/GMW/WebUserControls/mod_LiqDtAnom.ascx b/GMW/WebUserControls/mod_LiqDtAnom.ascx index b8cb04a5..c851072d 100644 --- a/GMW/WebUserControls/mod_LiqDtAnom.ascx +++ b/GMW/WebUserControls/mod_LiqDtAnom.ascx @@ -8,4 +8,168 @@ Gestione anomalie: possibile leggere singoli datamatrix "anomali" se storia (trattamento) esiste la tiene, se non c'è emtte tratt 0000 dell'anno corrente (catch all) deve poter stampare (e quindi congelare) UDC completi o meno (che possano andare ai liquidi "normali") - \ No newline at end of file + + +<%if (false) + { %> + + +<%} %> + + + + <%-- + + <%: traduci("ContenutoAL") %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + <%: traduci("lbtPrendeCaricoAL") %> + <%: traduci("lbtChiudeAL") %> + + --%> + + + + + + + +   + + + + + + + <%: traduci("lblDataMatrix") %> + + + + + + + <%: traduci("Note") %> + + + + + + <%: traduci("lbtGeneraUDC") %> + + + + + + + + <%: traduci("Destinazione") %> (UDC) + + + + + + + + + + + + + + + + + + + + + <%: traduci("Reset") %> + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + + <%: traduci("lblQtaPart") %> + + + + <%: traduci("updateQty") %> + + + + + diff --git a/GMW/WebUserControls/mod_LiqDtAnom.ascx.cs b/GMW/WebUserControls/mod_LiqDtAnom.ascx.cs index 717c2858..870e729b 100644 --- a/GMW/WebUserControls/mod_LiqDtAnom.ascx.cs +++ b/GMW/WebUserControls/mod_LiqDtAnom.ascx.cs @@ -4,14 +4,764 @@ using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; +using SteamWare; +using GMW_data; namespace GMW.WebUserControls { - public partial class mod_LiqDtAnom : System.Web.UI.UserControl + public partial class mod_LiqDtAnom : SteamWare.UserControl { + /// + /// stringa UID univoca + /// + public string uid + { + get + { + 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; + /// + /// 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 + { + get + { + return lblDestAL.Text.Trim(); + } + set + { + lblDestAL.Text = value; + } + } + /// + /// 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.getLastByParticolareStato(memLayer.ML.StringSessionObj("CodCS"), currParticolare, statoUdcOut)[0].Qta; + } + catch + { + answ = memLayer.ML.confReadInt("QtaImballoFiniti"); + } + return answ; + } + } + /// + /// qta pezzi x UDC + /// + public int qta + { + get + { + int qta = 0; + try + { + qta = Convert.ToInt32(txtQta.Text.Trim()); + } + catch + { } + return qta; + } + set + { + txtQta.Text = value.ToString(); + } + } + /// + /// valore barcode + /// + public string barcodeIn + { + get + { + return txtBarcode.Text.Trim(); + } + set + { + txtBarcode.Text = value; + } + } + /// + /// caricamento pagina + /// + /// + /// protected void Page_Load(object sender, EventArgs e) { + if (!Page.IsPostBack) + { + qta = 0; + currUDC = ""; + setDefaultVal(); + } + setVisibility(); + checkBarcode(); + } + /// + /// imposta i valori di default ad avvio + /// + private void setDefaultVal() + { + destAL = AlByCella; + } + /// + /// sistema modalità input + /// + private void setVisibility() + { + bool showBtn = false; + // ora controllo btn quantità + if (grViewDest.SelectedIndex >= 0) + { + showBtn = true; + } + divQta.Visible = showBtn; + } + /// + /// reset maschera... + /// + protected void doReset() + { + // resetta + lastBarcodeIn = ""; + Postazione.messaggiText = ""; + Postazione.warningText = ""; + Postazione.CssClass = cssAtt; + doUpdate(); + } + /// + /// Verifica l'AL se sia ok x procedere: + /// - Attivo + /// + /// + /// T/L + /// + protected bool checkAL(string AL, string tipo) + { + bool answ = false; + try + { + answ = MagClass.magazzino.taEA.getByAL_TipoAttivo(AL, tipo).Rows.Count > 0; + } + catch + { } + if (answ) + { + Postazione.warningText = ""; + Postazione.CssClass = "stileComandoOk"; + } + else + { + Postazione.warningText = traduci("ErroreAlNonTtAttivo"); + Postazione.CssClass = "stileComandoKo"; + } + return answ; + } + /// + /// Verifica l'AL se abbia datamatrix + /// + /// + /// + protected bool checkDtxAL(string AL) + { + bool answ = false; + try + { + answ = DataMatrix.mgr.taDtx2UDC.getByAL(AL).Rows.Count > 0; + } + catch + { } + if (!answ) + { + Postazione.warningText = traduci("ErroreAlNonDtx"); + Postazione.CssClass = "stileComandoKo"; + } + else + { + Postazione.warningText = ""; + Postazione.CssClass = "stileComandoOk"; + } + return answ; + } + /// + /// controlla se ci sia un barcode e cosa farne... + /// + private void checkBarcode() + { + if (barcodeIn != "") + { + Postazione.messaggiText = string.Format("{0}: {1}", traduci("BCodeIns"), barcodeIn); + switch (MagClass.tipoBCode(barcodeIn)) + { + case tipoCodiceBarcode.Comando: + // se è reset cancello tutto! + if (barcodeIn == memLayer.ML.confReadString("cmdReset")) + { + doReset(); + } + break; + case tipoCodiceBarcode.UDC: + // controllo di avere destAL valido, sennò ricarico pagina... + if (destAL.Length > 5) + { + // controllo se sia un UDC valido... + if (MagClass.magazzino.checkUDC(barcodeIn)) + { + // 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.confReadInt("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) + { + // se è ok RICARICO UDC in posizione corrente... + bool fatto = MagClass.magazzino.liquidiRiprendiInCaricoUDC(barcodeIn, MagClass.magazzino.CodSoggCurrUser, destAL, Postazione.currIdxCella); + if (fatto) + { + Postazione.messaggiText = traduci("RiCaricatoUdcLiq"); + Postazione.warningText = ""; + Postazione.CssClass = cssOk; + } + else + { + Postazione.messaggiText = ""; + Postazione.warningText = traduci("ERR-LIQ-001"); + Postazione.CssClass = cssErr; + } + } + else + { + Postazione.messaggiText = ""; + Postazione.warningText = traduci("ERR-LIQ-004"); + Postazione.CssClass = cssErr; + } + } + else + { + Postazione.messaggiText = ""; + Postazione.warningText = traduci("ERR-LIQ-002"); + Postazione.CssClass = cssErr; + } + } + else + { + Postazione.messaggiText = ""; + Postazione.warningText = traduci("ERR-LIQ-003"); + Postazione.CssClass = cssErr; + } + } + else + { + Postazione.messaggiText = ""; + Postazione.warningText = traduci("ERR-ALF-001"); + Postazione.CssClass = cssErr; + } + break; + case tipoCodiceBarcode.DataMatrix: + string OldUDC = ""; + int IdxPosizione = 0; + string NewUDC = ""; + // verifico DTX sia in quelli dell'AL sorgente +#if false + if (DataMatrix.mgr.taDtx2UDC.getByDtxAl(sourceAL, barcodeIn).Rows.Count > 0) +#endif + if (false) + { + // cerco se ci sia UDC di destinazione + DateTime adesso = DateTime.Now; + try + { +#if false + OldUDC = DataMatrix.mgr.taDtx2UDC.getByDtxAl(sourceAL, barcodeIn)[0].UDC; +#endif + IdxPosizione = MagClass.magazzino.taCartellini.getByUdc(OldUDC)[0].IdxPosizione; + currParticolare = MagClass.magazzino.taCartellini.getByUdc(OldUDC)[0].Particolare; + } + catch + { + currParticolare = ""; + } + if (currParticolare != "") + { + try + { + NewUDC = MagClass.magazzino.taCartellini.getByParticolareAL(currParticolare, destAL)[0].UDC; + } + catch + { + NewUDC = ""; + } + if (NewUDC == "") + { + // scambio UDC e prendo quello TT + OldUDC = OldUDC.Replace(flussoTemp, flussoAnc); + // controllo se devo usare chiamata a stored unica (UDC + aggancio AL + cella corretta) o due chiamate + if (memLayer.ML.confReadBool("useStoredLiqSP")) + { +#if false + // nuova stored con AL e cella...... + NewUDC = MagClass.magazzino.creaUdcWithAlCella(destAL, sourceAL, barcodeIn, statoUdcOut, Postazione.currCodCella, flusso, "", currParticolare, "", "", "", "", OldUDC, 0, memLayer.ML.confReadString("CodImballoFiniti"), "U", MagClass.magazzino.CodSoggCurrUser, pezziUdc, 0, 0, adesso, 0, statoUdcOut, memLayer.ML.confReadInt("IdxPosizioneFinTemp"), "IdxPosizioneFinTemp", codEventoUdcOut, "", "", adesso.Year, Request.UserHostName); +#endif + } + else + { + // oppure lo creo... + NewUDC = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", OldUDC, 0, memLayer.ML.confReadString("CodImballoFiniti"), "U", MagClass.magazzino.CodSoggCurrUser, pezziUdc, 0, 0, adesso, 0, statoUdcOut, memLayer.ML.confReadInt("IdxPosizioneFinTemp"), "IdxPosizioneFinTemp", codEventoUdcOut, "", "", adesso.Year, Request.UserHostName); + // lo associo all'AL! + MagClass.magazzino.taAL2UDC.Insert(destAL, NewUDC, adesso, MagClass.magazzino.CodSoggCurrUser); + // 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); + } + } + 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); + } + // fix messaggi + Postazione.messaggiText = traduci("ConfermatoDtx"); + Postazione.warningText = ""; + Postazione.CssClass = cssAtt; + } + else + { + Postazione.messaggiText = barcodeIn; + Postazione.warningText = traduci("UdcNonTrovato"); + Postazione.CssClass = cssErr; + } + } + // se non lo trovo --> errore! + else + { + // faccio ulteriore verifica: se il datamatrix sia "libero" o già tra i "Missing In Action".. + if (DataMatrix.mgr.taDtxAvailFree.GetData(barcodeIn).Rows.Count > 0) + { + // controllo se sia seconda conferma + if (barcodeIn == lastBarcodeIn) + { + lastBarcodeIn = ""; + // in questo caso aggiungo Dtx con la catena della storia precedente + try + { + currParticolare = DataMatrix.mgr.taDecode.GetData(barcodeIn)[0].Particolare; + } + catch + { + currParticolare = ""; + } + if (currParticolare != "") + { + try + { + NewUDC = MagClass.magazzino.taCartellini.getByParticolareAL(currParticolare, destAL)[0].UDC; + } + catch + { + NewUDC = ""; + } + if (NewUDC != "") + { + // sono in caso di forzatura Dtx, quindi controllo se l'UDC di destinazione esista e abbia qta > 0 + if (MagClass.magazzino.taCartellini.getByUdc(NewUDC)[0].Qta > 0) + { + + // riassocio (se possibile) UDC alla nuova storia (se era un DTX x prove dimensionali post TT non cambio la sua storia ma aggiungo relazioni UDC...) + DataMatrix.mgr.taDtx2UDC.RiassociaDtx(NewUDC, barcodeIn, DateTime.Now, MagClass.magazzino.CodSoggCurrUser); + // fix messaggi + Postazione.messaggiText = traduci("ConfermatoDtx"); + Postazione.warningText = ""; + Postazione.CssClass = cssAtt; + } + else + { + // errore! UDC dest con qta == 0 + Postazione.messaggiText = ""; + Postazione.warningText = traduci("ERR-DTX-005"); + Postazione.CssClass = cssErr; + } + } + else + { + Postazione.messaggiText = ""; + Postazione.warningText = traduci("ERR-DTX-001"); + Postazione.CssClass = cssErr; + } + } + else + { + Postazione.messaggiText = ""; + Postazione.warningText = traduci("ERR-DTX-002"); + Postazione.CssClass = cssErr; + } + } + // salvo prima conferma del dtx x insert + else + { + lastBarcodeIn = barcodeIn; + Postazione.messaggiText = traduci("plsConfDtxLoad"); + Postazione.warningText = traduci("ERR-DTX-003"); + Postazione.CssClass = cssAdd; + } + } + else + { + // devo distinguere tra il caso dei Dtx già spostati (quindi segnalare che è già in destinazione) + + // verifico DTX sia in quelli dell'AL destinazione + if (DataMatrix.mgr.taDtx2UDC.getByDtxAl(destAL, barcodeIn).Rows.Count > 0) + { + try + { + currParticolare = DataMatrix.mgr.taDecode.GetData(barcodeIn)[0].Particolare; + } + catch + { + currParticolare = ""; + } + NewUDC = MagClass.magazzino.taCartellini.getByParticolareAL(currParticolare, destAL)[0].UDC; + Postazione.messaggiText = barcodeIn; + Postazione.warningText = traduci("ERR-DTX-006"); + Postazione.CssClass = cssWait; + } + // ... dal caso generico di un Dtx NON accettabile + else + { + // volendo qui si potrebbe distinguere tra Dtx già con stato Fin e Dtx di RX/TT non ancora preso in carico ai Liquidi + // errore generico! + Postazione.messaggiText = barcodeIn; + Postazione.warningText = traduci("ERR-DTX-004"); + Postazione.CssClass = cssErr; + } + } + } + break; + default: + Postazione.warningText = traduci("ERR-BCD-001"); + Postazione.CssClass = cssErr; + break; + } + barcodeIn = ""; + } + doUpdate(); + } + /// + /// aggiorna tabella + focus a barcode + /// + public void doUpdate() + { + setDefaultVal(); + setVisibility(); + grViewDest.DataBind(); + // raise dell'evento + if (eh_reqUpdate != null) + { + eh_reqUpdate(this, new EventArgs()); + } + verificaBtnStampa(); + txtBarcode.Focus(); + } + /// + /// evento selezione grView destinazione: ricarico dati! + /// + /// + /// + protected void grViewDest_SelectedIndexChanged(object sender, EventArgs e) + { + // ricarico dati dell'UDC come particolare e quantità... + currUDC = grViewDest.SelectedDataKey["UDC"].ToString(); + int qtaDtx = 0; + if (MagClass.magazzino.checkUDC(currUDC)) + { + currParticolare = DataProxy.obj.taCartellini.stp_getByUdc(currUDC)[0].Particolare; + qta = Convert.ToInt32(DataProxy.obj.taCartellini.stp_getByUdc(currUDC)[0].Qta); + qtaDtx = Convert.ToInt32(MagClass.magazzino.taA2U2D.getByUDC(currUDC)[0].QtaDtx); + } + Postazione.messaggiText = traduci("partSelected"); + Postazione.warningText = ""; + Postazione.CssClass = "stileComandoOk"; + setVisibility(); + doUpdate(); + // fisso focus su note! + txtNote.Focus(); + } + /// + /// Verifica se Assieme sia vuoto (no DTX negli UDC) + /// + /// Codice AL + /// + protected bool assiemeIsEmpty(string AL) + { + bool answ = false; + try + { + answ = DataMatrix.mgr.taDtx2UDC.getByAL(AL).Rows.Count == 0; + } + catch { } + return answ; + } + /// + /// reset della selezione + /// + /// + /// + protected void btnReset_Click(object sender, EventArgs e) + { + grViewDest.SelectedIndex = -1; + qta = 0; + currUDC = ""; + setVisibility(); + doUpdate(); + } + /// + /// update Qty x UDC selezionato... + /// + /// + /// + protected void lbtUpdQty_Click(object sender, EventArgs e) + { + MagClass.magazzino.taCartellini.updateQty(currUDC, MagClass.magazzino.CodSoggCurrUser, "U", codEventoUdcOut, qta); + // fix tablet + currUDC = ""; + currParticolare = ""; + grViewDest.SelectedIndex = -1; + doUpdate(); + } + /// + /// richiesta (ri)stampa UDC + /// + /// + /// + public void ristampa() + { + MagClass.magazzino.stampaUdc(udcReq, Postazione.printer, tipoCartellino.cartFinitiSP, Request.UserHostName); + // registro ri-stampa UDC + 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() + { + bool showBtnStampa = false; + // se ho selezionato udc... + if (currUDC != "") + { + DS_magazzino.v_A2U2DRow riga; + int qtaUDC = 0; + int qtaDtx = 0; + try + { + riga = MagClass.magazzino.taA2U2D.getByUDC(currUDC)[0]; + qtaUDC = Convert.ToInt32(riga.Qta); + qtaDtx = riga.QtaDtx; + } + catch + { } + if (qtaUDC > 0) + { + // se le qta voluta e dtx sono uguali... + if (qtaUDC == qtaDtx) + { + showBtnStampa = true; + } + } + } + divNote.Visible = showBtnStampa; + } + /// + /// fornisce in output la corretta classe css x icona + /// + /// + /// + /// + public string cssGlyphByQty(object _qta, object _qtaDtx) + { + string answ = "glyphicon glyphicon-pencil btn-lg"; + int qtaUDC = 0; + int qtaDtx = -1; + try + { + qtaUDC = Convert.ToInt32(_qta); + } + catch { } + try + { + qtaDtx = Convert.ToInt32(_qtaDtx); + } + catch { } + if (qtaUDC == qtaDtx) + { + answ = "glyphicon glyphicon-print btn-lg"; + } + return answ; + } + /// + /// effettua processo di sistemazione UDC e stampa + /// + /// + /// + protected void lbtStampaUDC_Click(object sender, EventArgs e) + { + // verifico postazione sia valida... + if (Postazione.name != "" && Postazione.IP != "" && Postazione.currCodCella != "") + { + // in base ad AL sorgente e destinazione, fa le operazioni di update x UDC e poi lo stampa + bool fatto = false; + string noteTrim = txtNote.Text.Trim(); + try + { +#if false + // update UDC! + fatto = MagClass.magazzino.liquidiFullUpdate(sourceAL, flussoAnc, currUDC, noteTrim, MagClass.magazzino.CodSoggCurrUser); +#endif + } + catch + { } + if (fatto) + { + // lancio stampa + MagClass.magazzino.stampaUdc(currUDC, Postazione.printer, tipoCartellino.cartFinitiSP, Request.UserHostName); + // registro creazione AL + MagClass.magazzino.taSAO.insertQuery(DateTime.Now, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, currUDC, currParticolare, "stampaUDC", string.Format("Stampato UDC Dtx {0} su linea {1}, note: {2} ", currUDC, Postazione.currCodLinea, noteTrim)); + Postazione.CssClass = cssAtt; + Postazione.warningText = ""; + Postazione.messaggiText = traduci("cartAlStampato"); + // calcolo particolare completo di descrizione + DS_Applicazione.ElencoCartelliniRow riga = DataProxy.obj.taCartellini.stp_getByUdc(currUDC)[0]; + string particolare = string.Format("{0} - {1}", riga.Particolare, riga.DescParticolare); + // resetto... + grViewDest.SelectedIndex = -1; + qta = 0; + currUDC = ""; + } + doUpdate(); + } + else + { + // ricarico che mi manca postazione! + Postazione.CssClass = cssAtt; + Postazione.warningText = traduci("ERR-POS-001"); + Postazione.messaggiText = ""; + Response.Redirect(user_std.pagCorrente); + } + } + /// + /// udc da stampare + /// + protected string udcReq + { + get + { + return memLayer.ML.StringSessionObj("udcSelSAO"); + } } } } \ No newline at end of file diff --git a/GMW/WebUserControls/mod_LiqDtAnom.ascx.designer.cs b/GMW/WebUserControls/mod_LiqDtAnom.ascx.designer.cs index 97bf2442..66d2150b 100644 --- a/GMW/WebUserControls/mod_LiqDtAnom.ascx.designer.cs +++ b/GMW/WebUserControls/mod_LiqDtAnom.ascx.designer.cs @@ -3,15 +3,166 @@ // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ -namespace GMW.WebUserControls -{ - - - public partial class mod_LiqDtAnom - { +namespace GMW.WebUserControls { + + + public partial class mod_LiqDtAnom { + + /// + /// BundleReference1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::Microsoft.AspNet.Web.Optimization.WebForms.BundleReference BundleReference1; + + /// + /// BundleReference2 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::Microsoft.AspNet.Web.Optimization.WebForms.BundleReference BundleReference2; + + /// + /// lblParticolareAttivo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblParticolareAttivo; + + /// + /// lblDescrAttivo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblDescrAttivo; + + /// + /// lblDisegno control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblDisegno; + + /// + /// divBarcode control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlGenericControl divBarcode; + + /// + /// lblBarcode control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblBarcode; + + /// + /// txtBarcode control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtBarcode; + + /// + /// divNote control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlGenericControl divNote; + + /// + /// txtNote control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtNote; + + /// + /// lbtStampaUDC control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.LinkButton lbtStampaUDC; + + /// + /// lblDestAL control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblDestAL; + + /// + /// grViewDest control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView grViewDest; + + /// + /// odsDestAL control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ObjectDataSource odsDestAL; + + /// + /// divQta control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlGenericControl divQta; + + /// + /// txtQta control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtQta; + + /// + /// lbtUpdQty control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.LinkButton lbtUpdQty; } } diff --git a/GMW/WebUserControls/mod_selLineaNtDt.ascx.cs b/GMW/WebUserControls/mod_selLineaNtDt.ascx.cs index 1642cdb5..4b1fa430 100644 --- a/GMW/WebUserControls/mod_selLineaNtDt.ascx.cs +++ b/GMW/WebUserControls/mod_selLineaNtDt.ascx.cs @@ -179,17 +179,6 @@ namespace GMW.WebUserControls lblShowHideStorico.Text = traduci("btnShowStorico"); } } -#if false - /// - /// wrapper traduzione - /// - /// - /// - public string traduci(object lemma) - { - return user_std.UtSn.Traduci(lemma.ToString()); - } -#endif /// /// URL pagina NT /// diff --git a/GMW/bin/GMW.dll b/GMW/bin/GMW.dll index 08f319d2..163f27db 100644 Binary files a/GMW/bin/GMW.dll and b/GMW/bin/GMW.dll differ diff --git a/GMW/bin/GMW_data.dll b/GMW/bin/GMW_data.dll index 9f04b351..eb44e225 100644 Binary files a/GMW/bin/GMW_data.dll and b/GMW/bin/GMW_data.dll differ diff --git a/GMW/bin/SteamWare.dll b/GMW/bin/SteamWare.dll index b5c729ee..55782b1d 100644 Binary files a/GMW/bin/SteamWare.dll and b/GMW/bin/SteamWare.dll differ diff --git a/GMW/bin/SteamWare.xml b/GMW/bin/SteamWare.xml index 72e921e6..f991ef62 100644 --- a/GMW/bin/SteamWare.xml +++ b/GMW/bin/SteamWare.xml @@ -3203,6 +3203,11 @@ + + + indica se i caratteri vadano forzati a maiuscoli + + classe gestione utente: auth e permission/ruoli - versione GENERICA diff --git a/GMW/bin/VersGen.dll b/GMW/bin/VersGen.dll index b75167e9..30f41ba5 100644 Binary files a/GMW/bin/VersGen.dll and b/GMW/bin/VersGen.dll differ diff --git a/GMW_data/bin/Debug/SteamWare.xml b/GMW_data/bin/Debug/SteamWare.xml index 8e8c48cd..833c9b7e 100644 --- a/GMW_data/bin/Debug/SteamWare.xml +++ b/GMW_data/bin/Debug/SteamWare.xml @@ -3203,6 +3203,11 @@ + + + indica se i caratteri vadano forzati a maiuscoli + + classe gestione utente: auth e permission/ruoli - versione GENERICA diff --git a/VersGen/GMW.cs b/VersGen/GMW.cs index e704de40..192f1533 100644 --- a/VersGen/GMW.cs +++ b/VersGen/GMW.cs @@ -5,7 +5,7 @@ using System.Reflection; -[assembly: AssemblyVersion("2.5.691.1599")] -[assembly: AssemblyFileVersion("2.5.691.1599")] +[assembly: AssemblyVersion("2.5.692.1616")] +[assembly: AssemblyFileVersion("2.5.692.1616")] [assembly: AssemblyCopyright("Steamware © 2007-2014")] [assembly: AssemblyCompany("Steamware")] diff --git a/VersGen/GMW.tt b/VersGen/GMW.tt index fea51b81..4a830cbb 100644 --- a/VersGen/GMW.tt +++ b/VersGen/GMW.tt @@ -6,8 +6,8 @@ using System.Reflection; -[assembly: AssemblyVersion("2.5.691.<#= this.RevisionNumber #>")] -[assembly: AssemblyFileVersion("2.5.691.<#= this.RevisionNumber #>")] +[assembly: AssemblyVersion("2.5.692.<#= this.RevisionNumber #>")] +[assembly: AssemblyFileVersion("2.5.692.<#= this.RevisionNumber #>")] [assembly: AssemblyCopyright("Steamware © 2007-<#= DateTime.Now.Year #>")] [assembly: AssemblyCompany("Steamware")] <#+