diff --git a/GMW-RT/bin/GMW-RT.dll b/GMW-RT/bin/GMW-RT.dll index d00d97d2..ccb65254 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 515c2484..eb5a7f26 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 3b1ed92e..b40df9dc 100644 Binary files a/GMW-RT/bin/SteamWare.dll and b/GMW-RT/bin/SteamWare.dll differ diff --git a/GMW-UT/bin/GMW-UT.dll b/GMW-UT/bin/GMW-UT.dll index 56307be5..44a5bf4b 100644 Binary files a/GMW-UT/bin/GMW-UT.dll and b/GMW-UT/bin/GMW-UT.dll differ diff --git a/GMW-UT/bin/GMW_data.dll b/GMW-UT/bin/GMW_data.dll index 515c2484..eb5a7f26 100644 Binary files a/GMW-UT/bin/GMW_data.dll and b/GMW-UT/bin/GMW_data.dll differ diff --git a/GMW-UT/bin/SteamWare.dll b/GMW-UT/bin/SteamWare.dll index 3b1ed92e..b40df9dc 100644 Binary files a/GMW-UT/bin/SteamWare.dll and b/GMW-UT/bin/SteamWare.dll differ diff --git a/GMW/WebUserControls/mod_sterrTaglioFC.ascx.cs b/GMW/WebUserControls/mod_sterrTaglioFC.ascx.cs index eb5d2543..55034d76 100644 --- a/GMW/WebUserControls/mod_sterrTaglioFC.ascx.cs +++ b/GMW/WebUserControls/mod_sterrTaglioFC.ascx.cs @@ -27,6 +27,10 @@ namespace GMW.WebUserControls /// tipo di evento associato alla modifica qta dell'UDC /// protected string eventoUDC_qta = "UDC_QTY"; + /// + /// dati x verifica CodSoggetto / matricola + /// + protected string preCodSogg = memLayer.ML.confReadString("prefCodSogg"); public event EventHandler eh_reqUpdate; /// /// stringa UID univoca @@ -52,11 +56,26 @@ namespace GMW.WebUserControls destAL = AlByCella; traduciObj(); idxCella = Postazione.currIdxCella; + checkNumKeyIn(); } setVisibility(); doChecks(); } /// + /// verifico se ci sia in sessione un input da NumKeyb e nel caso lometto in barcodeIn e processo... + /// + private void checkNumKeyIn() + { + if (memLayer.ML.isInSessionObject("numKeyIn")) + { + barcodeIn = memLayer.ML.StringSessionObj("numKeyIn"); + // svuoto valore in sessione... + memLayer.ML.emptySessionVal("numKeyIn"); + // controllo barcode... + checkBarcode(); + } + } + /// /// IDX cella associata alla linea corrente /// protected int idxCella @@ -294,6 +313,14 @@ namespace GMW.WebUserControls { tipoCodiceBarcode answ = tipoCodiceBarcode.ND; int trovati = 0; + int matricola = -1; + // provo a convertire in intero barcode x verifica eventuale matricola... + try + { + matricola = Convert.ToInt32(barcodeIn); + } + catch + { } // controllo non si tratti di un comando... string preCmd = memLayer.ML.confReadString("prefComandi"); if (barcodeIn.StartsWith(preCmd)) @@ -304,6 +331,21 @@ namespace GMW.WebUserControls { answ = tipoCodiceBarcode.Particolare; } + else if (barcodeIn.StartsWith(preCodSogg)) + { + // cerco cod soggetto... + if (DataProxy.obj.taTrascSogg.getByKey(barcodeIn, 0).Rows.Count == 1) + { + answ = tipoCodiceBarcode.Operatore; + } + } + else if (matricola >= 0) + { + if (DataProxy.obj.taTrascSogg.getByKey("", matricola).Rows.Count == 1) + { + answ = tipoCodiceBarcode.Operatore; + } + } else { try @@ -384,18 +426,57 @@ namespace GMW.WebUserControls break; case tipoCodiceBarcode.UDC: break; + case tipoCodiceBarcode.Operatore: + // calcolo matricola utente + int MatrUtente = -1; + string preCodSogg = memLayer.ML.confReadString("prefCodSogg"); + if (barcodeIn.StartsWith(preCodSogg)) + { + MatrUtente = DataProxy.obj.taTrascSogg.getByKey(barcodeIn, 0)[0].CodMatricola; + } + else + { + MatrUtente = Convert.ToInt32(barcodeIn); + } + if (MatrUtente >= 0) + { + // salvo in sessione operatore con AUTH + OpAuth.startOpAuth(MatrUtente); + // mostro che ho autorizzato... + Postazione.messaggiText += traduci("userAuthRec"); + Postazione.CssClass = "stileComandoOk"; + Response.Redirect(user_std.pagCorrente); + } + else + { + Postazione.messaggiText += " - codice non riconosciuto!"; + Postazione.CssClass = "stileComandoND"; + } + break; default: + // cerco se sia "0" = reset utente... + if (barcodeIn == memLayer.ML.CRS("resetCodSogg")) + { + // salvo in sessione operatore con AUTH + OpAuth.stopAuth(); + // mostro che ho autorizzato... + Postazione.messaggiText += traduci("userAuthRem"); + Postazione.CssClass = "stileComandoOk"; + Response.Redirect(user_std.pagCorrente); + } Postazione.messaggiText += " - codice non riconosciuto!"; Postazione.CssClass = "stileComandoND"; break; } barcodeIn = ""; } +#if false else { Postazione.messaggiText = traduci("AttesaBCode"); Postazione.CssClass = "stileAttesa"; - } + } +#endif txtBarcode.Focus(); } @@ -509,46 +590,68 @@ namespace GMW.WebUserControls /// protected void btnStampa_Click(object sender, EventArgs e) { + bool needsRedirect = false; string[] stringSeparators = new string[] { "#" }; // verifico postazione x procedere... if (Postazione.printer != "n.d.") { - DateTime adesso = DateTime.Now; - //int qta = memLayer.ML.confReadInt("QtaImballoSterr"); - - string noteTrim = txtNote.Text.Trim(); - string lineaCesta = string.Format("FUORICICLO | {0} | cesta: {1}", Postazione.currNomeLinea, numCesta); - noteTrim = string.Format("{0}{1}{2}", lineaCesta, Environment.NewLine, noteTrim); - //string noteTrim = txtNote.Text.Trim(); - //noteTrim = string.Format("FUORICICLO{0}{1}", Environment.NewLine, noteTrim); - - // effettuo controlli che cod_soggetto, cod particolare e destAL siano disponibili... - if (MagClass.magazzino.CodSoggCurrUser != "" && currParticolare != "" && destAL != "ALS00") + // verifico auth utente... + if (OpAuth.isAuth) { - // aggiorno note e posizione da temp a definitiv x UDC... - MagClass.magazzino.updateNotePosizioneUDC(currUDC, noteTrim, memLayer.ML.confReadInt("IdxPosizioneSterrati")); - // registro creazione nuovo UDC - MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, currUDC, currParticolare, "creaUDC", string.Format("Creato nuovo UDC Sterr Taglio FC, qta: {0} {1}", qta, "")); - // metto attributo FC - MagClass.magazzino.taAtt2UDC.Insert(currUDC, "FC", "", DateTime.Now, MagClass.magazzino.CodSoggCurrUser); - // tolgo UDC da AL corrente... - MagClass.magazzino.taAL2UDC.deleteQuery(destAL, currUDC); + DateTime adesso = DateTime.Now; + //int qta = memLayer.ML.confReadInt("QtaImballoSterr"); - // ora stampo il nuovo cartellino!!! - MagClass.magazzino.stampaUdc(currUDC, Postazione.printer, tipoCartellino.cartSterr, Request.UserHostName); - // incremento timing... - adesso = adesso.AddSeconds(2); - // registro stampa nuovo UDC - MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, currUDC, currParticolare, "stampaUDC", "Stampato UDC Sterrato FUORICICLO"); - // svuoto campo cesta... - numCesta = ""; - // resetto - doResetData(); + string noteTrim = txtNote.Text.Trim(); + string lineaCesta = string.Format("FUORICICLO | {0} | cesta: {1}", Postazione.currNomeLinea, numCesta); + noteTrim = string.Format("{0}{1}{2}", lineaCesta, Environment.NewLine, noteTrim); + //string noteTrim = txtNote.Text.Trim(); + //noteTrim = string.Format("FUORICICLO{0}{1}", Environment.NewLine, noteTrim); + + // effettuo controlli che cod_soggetto, cod particolare e destAL siano disponibili... + if (MagClass.magazzino.CodSoggCurrUser != "" && currParticolare != "" && destAL != "ALS00") + { + // aggiorno note e posizione da temp a definitiv x UDC... + MagClass.magazzino.updateNotePosizioneUDC(currUDC, noteTrim, memLayer.ML.confReadInt("IdxPosizioneSterrati")); + + // salvo attributo dell'OpAuth... + MagClass.magazzino.taAtt2UDC.Insert(currUDC, memLayer.ML.CRS("attrOpAuth"), OpAuth.currAuth.CodSoggetto, DateTime.Now, MagClass.magazzino.CodSoggCurrUser); + // consumo una auth... + OpAuth.currAuth.remAuth--; + if (OpAuth.currAuth.remAuth == 0) + { + OpAuth.stopAuth(); + needsRedirect = true; + } + + // registro creazione nuovo UDC + MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, currUDC, currParticolare, "creaUDC", string.Format("Creato nuovo UDC Sterr Taglio FC, qta: {0} {1}", qta, "")); + // metto attributo FC + MagClass.magazzino.taAtt2UDC.Insert(currUDC, "FC", "", DateTime.Now, MagClass.magazzino.CodSoggCurrUser); + // tolgo UDC da AL corrente... + MagClass.magazzino.taAL2UDC.deleteQuery(destAL, currUDC); + + // ora stampo il nuovo cartellino!!! + MagClass.magazzino.stampaUdc(currUDC, Postazione.printer, tipoCartellino.cartSterr, Request.UserHostName); + // incremento timing... + adesso = adesso.AddSeconds(2); + // registro stampa nuovo UDC + MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, currUDC, currParticolare, "stampaUDC", "Stampato UDC Sterrato FUORICICLO"); + // svuoto campo cesta... + numCesta = ""; + // resetto + doResetData(); + } + else + { + httpLog(string.Format("STERRATI FC, Errore persi utente/particolare, ricarico!"), tipoLog.ERROR); + Response.Redirect("~/login.aspx"); + } } else { - httpLog(string.Format("STERRATI FC, Errore persi utente/particolare, ricarico!"), tipoLog.ERROR); - Response.Redirect("~/login.aspx"); + Postazione.messaggiText = traduci("noOpAuth"); + Postazione.CssClass = "stileComandoKo"; + httpLog(string.Format("Errore manca OpAuth x UDC anime"), tipoLog.ERROR); } } else @@ -561,6 +664,10 @@ namespace GMW.WebUserControls { eh_reqUpdate(this, new EventArgs()); } + if (needsRedirect) + { + Response.Redirect(user_std.pagCorrente); + } } /// /// effettua il consumo di tutti gli UDC inviati come array di stringhe @@ -668,6 +775,13 @@ namespace GMW.WebUserControls protected void btnEmptyNote_Click(object sender, EventArgs e) { txtNote.Text = ""; + Postazione.messaggiText = traduci("AttesaBCode"); + Postazione.CssClass = "stileAttesa"; + // raise dell'evento + if (eh_reqUpdate != null) + { + eh_reqUpdate(this, new EventArgs()); + } } /// /// passo alla modalità IN diff --git a/GMW/bin/GMW.dll b/GMW/bin/GMW.dll index 33027339..73ab1cdf 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 515c2484..eb5a7f26 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 3b1ed92e..b40df9dc 100644 Binary files a/GMW/bin/SteamWare.dll and b/GMW/bin/SteamWare.dll differ diff --git a/GMW/bin/VersGen.dll b/GMW/bin/VersGen.dll index 762defc9..e3a94dc9 100644 Binary files a/GMW/bin/VersGen.dll and b/GMW/bin/VersGen.dll differ diff --git a/VersGen/GMW.cs b/VersGen/GMW.cs index 29ae85f8..53a90c92 100644 --- a/VersGen/GMW.cs +++ b/VersGen/GMW.cs @@ -5,7 +5,7 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.822.2098")] -[assembly: AssemblyFileVersion("3.2.822.2098")] +[assembly: AssemblyVersion("3.2.823.2098")] +[assembly: AssemblyFileVersion("3.2.823.2098")] [assembly: AssemblyCopyright("Steamware © 2007-2015")] [assembly: AssemblyCompany("Steamware")] diff --git a/VersGen/GMW.tt b/VersGen/GMW.tt index 2a4e22e3..49156dd2 100644 --- a/VersGen/GMW.tt +++ b/VersGen/GMW.tt @@ -6,8 +6,8 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.822.<#= this.RevisionNumber #>")] -[assembly: AssemblyFileVersion("3.2.822.<#= this.RevisionNumber #>")] +[assembly: AssemblyVersion("3.2.823.<#= this.RevisionNumber #>")] +[assembly: AssemblyFileVersion("3.2.823.<#= this.RevisionNumber #>")] [assembly: AssemblyCopyright("Steamware © 2007-<#= DateTime.Now.Year #>")] [assembly: AssemblyCompany("Steamware")] <#+