diff --git a/GMW-RT/bin/GMW-RT.dll b/GMW-RT/bin/GMW-RT.dll index dc5e4067..f69d6820 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 0394c306..5199b689 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 a4092607..458a7b77 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 cce2cd6a..3bdefb4e 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 0394c306..5199b689 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 a4092607..458a7b77 100644 Binary files a/GMW-UT/bin/SteamWare.dll and b/GMW-UT/bin/SteamWare.dll differ diff --git a/GMW/Web.config b/GMW/Web.config index 66f0697d..414eb135 100644 --- a/GMW/Web.config +++ b/GMW/Web.config @@ -180,6 +180,10 @@ + + + + diff --git a/GMW/WebUserControls/mod_PostFinMultIN.ascx.cs b/GMW/WebUserControls/mod_PostFinMultIN.ascx.cs index d3c78c79..392cc469 100644 --- a/GMW/WebUserControls/mod_PostFinMultIN.ascx.cs +++ b/GMW/WebUserControls/mod_PostFinMultIN.ascx.cs @@ -229,31 +229,77 @@ namespace GMW.WebUserControls } else { - // altrimenti procedo... - string codSogg = ""; - string particolare = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Particolare; - decimal qta = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Qta; - string noteTrim = ""; + string codBloccoCurr = ""; + int idxBlocco = 0; try { - codSogg = MagClass.magazzino.CodSoggCurrUser; + idxBlocco = MagClass.magazzino.taCelle.getByIdxCella(idxCellaCurr)[0].IdxBlocco; + codBloccoCurr = MagClass.magazzino.taBlocchi.getByIdx(idxBlocco)[0].CodBlocco; } catch { } - try + // 2015.01.12 controllo UDC non già su altre postazioni... + if (codBloccoCurr == Postazione.currCodBlocco && idxCellaCurr != Postazione.currIdxCella) { - noteTrim = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Note.Trim(); + Postazione.messaggiText += " - Attenzione, UDC già caricato su ALTRA LINEA!"; + Postazione.CssClass = "stileComandoKo"; } - catch + else { - noteTrim = ""; + // altrimenti procedo... + string codSogg = ""; + string particolare = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Particolare; + decimal qta = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Qta; + string noteTrim = ""; + try + { + codSogg = MagClass.magazzino.CodSoggCurrUser; + } + catch + { } + try + { + noteTrim = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Note.Trim(); + } + catch + { + noteTrim = ""; + } + DateTime adesso = DateTime.Now; + + // verifico per eventuale consumo vecchio UDC... cerco nella posizione + DS_magazzino.v_UdcDetailDataTable tabUdcDet = null; + try + { + // cerco nella posizione + tabUdcDet = MagClass.magazzino.taDettUDC.getUdcDetailByIdxCella(idxCella); + } + catch + { } + // cerco se NON ci sia l'UDC letto... + if (tabUdcDet.Select(string.Format("UDC = '{0}'", barcodeIn)).Length == 0) + { + string oldUdc = ""; + try + { + oldUdc = ((DS_magazzino.v_UdcDetailRow)tabUdcDet.Select(string.Format("Particolare = '{0}'", particolare))[0]).UDC; + } + catch + { + } + // se trovo un altro UDC dello stesso particolare... + if (oldUdc != "") + { + // consumo UDC + consumaUdc(oldUdc); + } + // se ho cod cella sposto! + MagClass.magazzino.spostaUDC(memLayer.ML.StringSessionObj("CodCS"), barcodeIn, Postazione.currIdxCella, memLayer.ML.confReadBool("spostaUdcResettaLdp"), Request.UserHostName); + // registro spostamento UDC + MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, Postazione.name, Postazione.IP, barcodeIn, particolare, "spostaUDC", string.Format("Caricato UDC Trattati su linea {2}, qta: {0} {1} ", qta, noteTrim, Postazione.currCodLinea)); + } + Postazione.CssClass = "stileComandoOk"; } - DateTime adesso = DateTime.Now; - // se ho cod cella sposto! - MagClass.magazzino.spostaUDC(memLayer.ML.StringSessionObj("CodCS"), barcodeIn, Postazione.currIdxCella, memLayer.ML.confReadBool("spostaUdcResettaLdp"), Request.UserHostName); - // registro spostamento UDC - MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, Postazione.name, Postazione.IP, barcodeIn, particolare, "spostaUDC", string.Format("Caricato UDC Trattati su linea {2}, qta: {0} {1} ", qta, noteTrim, Postazione.currCodLinea)); - Postazione.CssClass = "stileComandoOk"; } } else @@ -298,6 +344,20 @@ namespace GMW.WebUserControls } doUpdate(); } + + /// + /// effettua consumo UDC + /// + /// + private void consumaUdc(string oldUdc) + { + // se è consumabile (IdxPosizione > 0)... + if (MagClass.magazzino.udcMpIsConsumabile(oldUdc)) + { + // consumo UDC + MagClass.magazzino.scaricaUdcMpWip(oldUdc, Request.UserHostName); + } + } /// /// aggiorna tabella + focus a barcode /// @@ -313,28 +373,6 @@ namespace GMW.WebUserControls } } /// - /// wrapper per log con salvataggio dell'IP del chiamante - /// - /// - /// - public bool httpLog(string _testoPre) - { - bool answ = false; - logger.lg.scriviLog(Postazione.IP + _testoPre); - return answ; - } - /// - /// wrapper per log con salvataggio dell'IP del chiamante - /// - /// - /// - public bool httpLog(string testoLog, tipoLog tipo) - { - bool answ = false; - logger.lg.scriviLog(Postazione.IP + testoLog, tipo); - return answ; - } - /// /// effettua reset dati /// public void doResetData() diff --git a/GMW/WebUserControls/mod_PostFinMultOUT.ascx b/GMW/WebUserControls/mod_PostFinMultOUT.ascx index d5a428e3..086909b5 100644 --- a/GMW/WebUserControls/mod_PostFinMultOUT.ascx +++ b/GMW/WebUserControls/mod_PostFinMultOUT.ascx @@ -11,7 +11,7 @@
- <%: traduci("UDC") %> + <%: traduci("UDC") %>
@@ -67,6 +67,26 @@ DefaultValue="0" /> + + + + + + + + + + + + + + + + +
diff --git a/GMW/WebUserControls/mod_PostFinMultOUT.ascx.cs b/GMW/WebUserControls/mod_PostFinMultOUT.ascx.cs index 9c1a7fd1..1025a722 100644 --- a/GMW/WebUserControls/mod_PostFinMultOUT.ascx.cs +++ b/GMW/WebUserControls/mod_PostFinMultOUT.ascx.cs @@ -202,11 +202,55 @@ namespace GMW.WebUserControls { get { - return memLayer.ML.StringSessionObj(string.Format("currParticolare_{0}", uid)); + //return memLayer.ML.StringSessionObj(string.Format("currParticolare_{0}", uid)); + return hfCurrPart.Value; } set { - memLayer.ML.setSessionVal(string.Format("currParticolare_{0}", uid), value, memLayer.ML.confReadBool("keepParticolareSel")); + //memLayer.ML.setSessionVal(string.Format("currParticolare_{0}", uid), value, memLayer.ML.confReadBool("keepParticolareSel")); + hfCurrPart.Value = value; + } + } + /// + /// indica data minima ingresso x validità UDC + /// + protected DateTime minDt + { + get + { + return Convert.ToDateTime(hfMinDt.Value); + } + set + { + hfMinDt.Value = value.ToString(); + } + } + /// + /// indica data minima ingresso x validità UDC + /// + protected DateTime maxDt + { + get + { + return Convert.ToDateTime(hfMaxDt.Value); + } + set + { + hfMaxDt.Value = value.ToString(); + } + } + /// + /// indica il numero max di UDC x cella + /// + protected int num4Cell + { + get + { + return Convert.ToInt32(hfNum4Cell.Value); + } + set + { + hfNum4Cell.Value = value.ToString(); } } /// @@ -376,38 +420,15 @@ namespace GMW.WebUserControls case tipoCodiceBarcode.Particolare: // imposto il particolare corrente currParticolare = barcodeIn; - impostaParticolare(); - - // !!!FARE!!! nuovo comportamento x particolare - + processParticolare(); break; case tipoCodiceBarcode.UDC: // procedo solo se UDC esistente if (MagClass.magazzino.checkUDC(barcodeIn)) { // calcolo nuovo particolare - string newPart = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Particolare; - - - // !!!FARE!!! nuovo comportamento x particolare -#if false - // 2015.09.25 salvo barcode UDC SSE NON E' un finito (flusso = "FI") --> dovrebbe evitare poi di avere relazioni UDC tra finito --> finito con consumo di uno x creazione altro... - if (barcodeIn.IndexOf(flusso) < 0) - { - if (testoRicerca != newPart) - { - // resetto precedente ricerca e deseleziono TUTTI gli UDC elencati SE è cambiato il particolare - udcSelC = string.Format("#{0}#", barcodeIn); - } - else - { - udcSelC = string.Format("{0}#{1}#", udcSelC, barcodeIn); - // se era presente in elenco "P" lo elimino - udcSelP = udcSelP.Replace(string.Format("#{0}#", barcodeIn), ""); - } - } - updFiltroPart(newPart); -#endif + currParticolare = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Particolare; + processParticolare(); } break; @@ -462,6 +483,28 @@ namespace GMW.WebUserControls } txtBarcode.Focus(); } + /// + /// Processa nuovo particoalre letto... + /// + private void processParticolare() + { + impostaParticolare(); + // cambio titolo x UDC aprent... + lblUdcParent.Text = traduci("UdcParentEffett"); + + // salvo tutti i valori dei parametri attuali e cambio ods x grView... + minDt = DateTime.Now.AddMinutes(-memLayer.ML.CRI("maxTimeW25")); + maxDt = DateTime.Now.AddMinutes(-memLayer.ML.CRI("minTimeW25")); + num4Cell = memLayer.ML.CRI("num4Cell"); + + // modifico per mostrare selezione degli UDC associabili a SX (non troppo vecchi ne nuovi, con num max x ogni linea) + grView.DataSourceID = "odsSpec"; + grView.DataBind(); + + // faccio controlli x visualizzare... + //doChecks(); + } + /// /// imposto i dati dal particolare corrente /// @@ -541,13 +584,11 @@ namespace GMW.WebUserControls //controllo siano inseriti valori qta if (qta > 0) { -#if false - // controllo ci siano particolare e ci sia selezionato almeno un UDC - if (currParticolare != "" && ((udcSelC.Replace("#", "").Length > 1) || (udcSelP.Replace("#", "").Length > 1))) + // controllo se ho almeno 1 UDC associabile in INput... + if(grView.Rows.Count>0) { stampaOk = true; - } -#endif + } } divNote.Visible = stampaOk; } diff --git a/GMW/WebUserControls/mod_PostFinMultOUT.ascx.designer.cs b/GMW/WebUserControls/mod_PostFinMultOUT.ascx.designer.cs index 03fcea97..60fecae9 100644 --- a/GMW/WebUserControls/mod_PostFinMultOUT.ascx.designer.cs +++ b/GMW/WebUserControls/mod_PostFinMultOUT.ascx.designer.cs @@ -31,31 +31,13 @@ namespace GMW.WebUserControls { protected global::Microsoft.AspNet.Web.Optimization.WebForms.BundleReference BundleReference2; /// - /// btnCerca control. + /// lblUdcParent control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Button btnCerca; - - /// - /// txtCerca control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtCerca; - - /// - /// lnkReset control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton lnkReset; + protected global::System.Web.UI.WebControls.Label lblUdcParent; /// /// grView control. @@ -75,6 +57,51 @@ namespace GMW.WebUserControls { /// protected global::System.Web.UI.WebControls.ObjectDataSource ods; + /// + /// odsSpec control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ObjectDataSource odsSpec; + + /// + /// hfCurrPart control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.HiddenField hfCurrPart; + + /// + /// hfMinDt control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.HiddenField hfMinDt; + + /// + /// hfMaxDt control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.HiddenField hfMaxDt; + + /// + /// hfNum4Cell control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.HiddenField hfNum4Cell; + /// /// lblNumRec control. /// diff --git a/GMW/WebUserControls/mod_testata.ascx.cs b/GMW/WebUserControls/mod_testata.ascx.cs index 13304995..d47f992c 100644 --- a/GMW/WebUserControls/mod_testata.ascx.cs +++ b/GMW/WebUserControls/mod_testata.ascx.cs @@ -23,7 +23,11 @@ namespace GMW.WebUserControls // se l'utente NON c'è torno a login... if (!user_std.UtSn.isAuth) { - Session["nextPage"] = Request.Url.LocalPath.Split('/').Last(); + string lastPage = Request.Url.LocalPath.Split('/').Last(); + if (lastPage != "" && lastPage != "login.aspx") + { + Session["nextPage"] = lastPage; + } Response.Redirect("login.aspx"); } else @@ -213,7 +217,8 @@ namespace GMW.WebUserControls /// private void doFullDataUpdate() { - // salvo i dati attuali... +#if false + // salvo i dati attuali... string cod_cdc = SteamWare.memLayer.ML.StringSessionObj("valRicercaCdC"); string lingua = user_std.UtSn.lingua; string USER_NAME = SteamWare.memLayer.ML.StringSessionObj("USER_NAME"); @@ -222,10 +227,12 @@ namespace GMW.WebUserControls // salvo i valori delle tab in session... Dictionary sessionParam = SteamWare.memLayer.ML.valSess2SurvUpd; +#endif // false // svuoto session e cache per rileggere i dati da Db Session.RemoveAll(); - SteamWare.memLayer.ML.flushRegisteredCache(); +#if false + SteamWare.memLayer.ML.flushRegisteredCache(); // rimemorizzo SteamWare.memLayer.ML.setSessionVal("valRicercaCdC", cod_cdc); @@ -238,8 +245,11 @@ namespace GMW.WebUserControls foreach (KeyValuePair kvp in sessionParam) { SteamWare.memLayer.ML.setSessionVal(kvp.Key, kvp.Value, true); - } - Response.Redirect(user_std.pagCorrente); + } +#endif // false + memLayer.ML.setSessionVal("nextPage", user_std.pagCorrente); + //Response.Redirect(user_std.pagCorrente); + Response.Redirect("login.aspx"); } /// /// click su pagina corrente, fa update! diff --git a/GMW/bin/GMW.dll b/GMW/bin/GMW.dll index 12d1e35f..36725c71 100644 Binary files a/GMW/bin/GMW.dll and b/GMW/bin/GMW.dll differ diff --git a/GMW/bin/GMW.dll.config b/GMW/bin/GMW.dll.config index b89ac1e9..dbabc709 100644 --- a/GMW/bin/GMW.dll.config +++ b/GMW/bin/GMW.dll.config @@ -180,6 +180,10 @@ + + + + diff --git a/GMW/bin/GMW_data.dll b/GMW/bin/GMW_data.dll index 0394c306..5199b689 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 a4092607..458a7b77 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 552c1e4a..31db7d3e 100644 Binary files a/GMW/bin/VersGen.dll and b/GMW/bin/VersGen.dll differ diff --git a/GMW_data/DS_magazzino.Designer.cs b/GMW_data/DS_magazzino.Designer.cs index 99f4aa7d..0dcd7d12 100644 --- a/GMW_data/DS_magazzino.Designer.cs +++ b/GMW_data/DS_magazzino.Designer.cs @@ -30213,7 +30213,7 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] private void InitCommandCollection() { - this._commandCollection = new global::System.Data.SqlClient.SqlCommand[14]; + this._commandCollection = new global::System.Data.SqlClient.SqlCommand[15]; this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[0].Connection = this.Connection; this._commandCollection[0].CommandText = "SELECT * FROM dbo.v_UdcDetail"; @@ -30253,58 +30253,69 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodBlocco", global::System.Data.SqlDbType.NVarChar, 3, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[6] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[6].Connection = this.Connection; - this._commandCollection[6].CommandText = "dbo.stp_UdcDetailGetByCodCella"; + this._commandCollection[6].CommandText = "dbo.stp_UdcDetailAssocMultGetByCodBlocco"; this._commandCollection[6].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@codCella", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodCS", global::System.Data.SqlDbType.NChar, 2, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodBlocco", global::System.Data.SqlDbType.NVarChar, 3, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Particolare", global::System.Data.SqlDbType.NVarChar, 15, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@MinData", global::System.Data.SqlDbType.DateTime, 8, global::System.Data.ParameterDirection.Input, 23, 3, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@MaxData", global::System.Data.SqlDbType.DateTime, 8, global::System.Data.ParameterDirection.Input, 23, 3, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Num4Cell", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[7] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[7].Connection = this.Connection; - this._commandCollection[7].CommandText = "dbo.stp_getUdcDetailFullCode"; + this._commandCollection[7].CommandText = "dbo.stp_UdcDetailGetByCodCella"; this._commandCollection[7].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UDC", global::System.Data.SqlDbType.VarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodCS", global::System.Data.SqlDbType.VarChar, 2, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@codCella", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[8] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[8].Connection = this.Connection; - this._commandCollection[8].CommandText = "dbo.stp_UdcDetailGetByIdxBloccoCodMagLog"; + this._commandCollection[8].CommandText = "dbo.stp_getUdcDetailFullCode"; this._commandCollection[8].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxBlocco", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodMagLog", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UDC", global::System.Data.SqlDbType.VarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodCS", global::System.Data.SqlDbType.VarChar, 2, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[9] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[9].Connection = this.Connection; - this._commandCollection[9].CommandText = "dbo.stp_getUdcDetailLikeSearch"; + this._commandCollection[9].CommandText = "dbo.stp_UdcDetailGetByIdxBloccoCodMagLog"; this._commandCollection[9].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@searchVal", global::System.Data.SqlDbType.VarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodCS", global::System.Data.SqlDbType.VarChar, 2, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxBlocco", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodMagLog", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[10] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[10].Connection = this.Connection; - this._commandCollection[10].CommandText = "dbo.stp_getUdcDetailOkLP"; + this._commandCollection[10].CommandText = "dbo.stp_getUdcDetailLikeSearch"; this._commandCollection[10].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UDC", global::System.Data.SqlDbType.VarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@searchVal", global::System.Data.SqlDbType.VarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodCS", global::System.Data.SqlDbType.VarChar, 2, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[11] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[11].Connection = this.Connection; - this._commandCollection[11].CommandText = "dbo.stp_getUdcDetailFullCode_storico"; + this._commandCollection[11].CommandText = "dbo.stp_getUdcDetailOkLP"; this._commandCollection[11].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DataOraFrom", global::System.Data.SqlDbType.DateTime, 8, global::System.Data.ParameterDirection.Input, 23, 3, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DataOraTo", global::System.Data.SqlDbType.DateTime, 8, global::System.Data.ParameterDirection.Input, 23, 3, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UDC", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodCS", global::System.Data.SqlDbType.NVarChar, 2, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UDC", global::System.Data.SqlDbType.VarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[12] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[12].Connection = this.Connection; - this._commandCollection[12].CommandText = "dbo.stp_UdcDetailGetByIdxBlocco"; + this._commandCollection[12].CommandText = "dbo.stp_getUdcDetailFullCode_storico"; this._commandCollection[12].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[12].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[12].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxBlocco", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[12].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DataOraFrom", global::System.Data.SqlDbType.DateTime, 8, global::System.Data.ParameterDirection.Input, 23, 3, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[12].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DataOraTo", global::System.Data.SqlDbType.DateTime, 8, global::System.Data.ParameterDirection.Input, 23, 3, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[12].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UDC", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[12].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodCS", global::System.Data.SqlDbType.NVarChar, 2, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[13] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[13].Connection = this.Connection; - this._commandCollection[13].CommandText = "dbo.stp_UdcDetailGetByIdxCella"; + this._commandCollection[13].CommandText = "dbo.stp_UdcDetailGetByIdxBlocco"; this._commandCollection[13].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[13].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[13].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxCella", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[13].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxBlocco", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[14] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[14].Connection = this.Connection; + this._commandCollection[14].CommandText = "dbo.stp_UdcDetailGetByIdxCella"; + this._commandCollection[14].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[14].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[14].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxCella", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -30369,8 +30380,55 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] - public virtual DS_magazzino.v_UdcDetailDataTable getByCodCella(string codCella) { + public virtual DS_magazzino.v_UdcDetailDataTable getByCodBloccoPeriodoMult(string CodCS, string CodBlocco, string Particolare, global::System.Nullable MinData, global::System.Nullable MaxData, global::System.Nullable Num4Cell) { this.Adapter.SelectCommand = this.CommandCollection[6]; + if ((CodCS == null)) { + this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.SelectCommand.Parameters[1].Value = ((string)(CodCS)); + } + if ((CodBlocco == null)) { + this.Adapter.SelectCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.SelectCommand.Parameters[2].Value = ((string)(CodBlocco)); + } + if ((Particolare == null)) { + this.Adapter.SelectCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.SelectCommand.Parameters[3].Value = ((string)(Particolare)); + } + if ((MinData.HasValue == true)) { + this.Adapter.SelectCommand.Parameters[4].Value = ((System.DateTime)(MinData.Value)); + } + else { + this.Adapter.SelectCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((MaxData.HasValue == true)) { + this.Adapter.SelectCommand.Parameters[5].Value = ((System.DateTime)(MaxData.Value)); + } + else { + this.Adapter.SelectCommand.Parameters[5].Value = global::System.DBNull.Value; + } + if ((Num4Cell.HasValue == true)) { + this.Adapter.SelectCommand.Parameters[6].Value = ((int)(Num4Cell.Value)); + } + else { + this.Adapter.SelectCommand.Parameters[6].Value = global::System.DBNull.Value; + } + DS_magazzino.v_UdcDetailDataTable dataTable = new DS_magazzino.v_UdcDetailDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] + public virtual DS_magazzino.v_UdcDetailDataTable getByCodCella(string codCella) { + this.Adapter.SelectCommand = this.CommandCollection[7]; if ((codCella == null)) { this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; } @@ -30387,7 +30445,7 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_magazzino.v_UdcDetailDataTable getByFullUdc(string UDC, string CodCS) { - this.Adapter.SelectCommand = this.CommandCollection[7]; + this.Adapter.SelectCommand = this.CommandCollection[8]; if ((UDC == null)) { this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; } @@ -30410,7 +30468,7 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_magazzino.v_UdcDetailDataTable getByIdxBloccoCodMagLog(global::System.Nullable IdxBlocco, global::System.Nullable CodMagLog) { - this.Adapter.SelectCommand = this.CommandCollection[8]; + this.Adapter.SelectCommand = this.CommandCollection[9]; if ((IdxBlocco.HasValue == true)) { this.Adapter.SelectCommand.Parameters[1].Value = ((int)(IdxBlocco.Value)); } @@ -30433,7 +30491,7 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_magazzino.v_UdcDetailDataTable getByLikeSearch(string searchVal, string CodCS) { - this.Adapter.SelectCommand = this.CommandCollection[9]; + this.Adapter.SelectCommand = this.CommandCollection[10]; if ((searchVal == null)) { this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; } @@ -30456,7 +30514,7 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_magazzino.v_UdcDetailDataTable getByUdcOkLp(string UDC) { - this.Adapter.SelectCommand = this.CommandCollection[10]; + this.Adapter.SelectCommand = this.CommandCollection[11]; if ((UDC == null)) { this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; } @@ -30473,7 +30531,7 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_magazzino.v_UdcDetailDataTable getStoricoByFullUdc(global::System.Nullable DataOraFrom, global::System.Nullable DataOraTo, string UDC, string CodCS) { - this.Adapter.SelectCommand = this.CommandCollection[11]; + this.Adapter.SelectCommand = this.CommandCollection[12]; if ((DataOraFrom.HasValue == true)) { this.Adapter.SelectCommand.Parameters[1].Value = ((System.DateTime)(DataOraFrom.Value)); } @@ -30508,7 +30566,7 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_magazzino.v_UdcDetailDataTable getUdcDetailByIdxBlocco(global::System.Nullable IdxBlocco) { - this.Adapter.SelectCommand = this.CommandCollection[12]; + this.Adapter.SelectCommand = this.CommandCollection[13]; if ((IdxBlocco.HasValue == true)) { this.Adapter.SelectCommand.Parameters[1].Value = ((int)(IdxBlocco.Value)); } @@ -30525,7 +30583,7 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_magazzino.v_UdcDetailDataTable getUdcDetailByIdxCella(global::System.Nullable IdxCella) { - this.Adapter.SelectCommand = this.CommandCollection[13]; + this.Adapter.SelectCommand = this.CommandCollection[14]; if ((IdxCella.HasValue == true)) { this.Adapter.SelectCommand.Parameters[1].Value = ((int)(IdxCella.Value)); } diff --git a/GMW_data/DS_magazzino.xsd b/GMW_data/DS_magazzino.xsd index 6d4af433..125d3f44 100644 --- a/GMW_data/DS_magazzino.xsd +++ b/GMW_data/DS_magazzino.xsd @@ -1579,6 +1579,22 @@ SELECT IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max + + + + dbo.stp_UdcDetailAssocMultGetByCodBlocco + + + + + + + + + + + + @@ -5543,7 +5559,7 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + @@ -5600,7 +5616,7 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + @@ -5632,7 +5648,7 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + @@ -5654,7 +5670,7 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + @@ -5688,7 +5704,7 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + @@ -5744,14 +5760,14 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + - + @@ -5787,7 +5803,7 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + @@ -5844,7 +5860,7 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + @@ -5872,7 +5888,7 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + @@ -5919,7 +5935,7 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + @@ -5948,7 +5964,7 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - + @@ -6126,21 +6142,21 @@ SELECT Trattamento, AL, DataTrattEnd, Durezza, Punzone, DataDur, CodSoggettoDur, - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GMW_data/GMW_data.csproj b/GMW_data/GMW_data.csproj index cd423f60..5b00e2cc 100644 --- a/GMW_data/GMW_data.csproj +++ b/GMW_data/GMW_data.csproj @@ -297,7 +297,6 @@ Designer MSDataSetGenerator - DS_magazzino.Designer.cs DS_magazzino.xsd diff --git a/GMW_data/UserControl.cs b/GMW_data/UserControl.cs index 645e4f31..276f7727 100644 --- a/GMW_data/UserControl.cs +++ b/GMW_data/UserControl.cs @@ -45,5 +45,15 @@ namespace GMW_data logger.lg.scriviLog(postazione_IP + testoLog, tipo); return answ; } + /// + /// CodCS in sessione... + /// + public string CodCs + { + get + { + return memLayer.ML.StringSessionObj("CodCS "); + } + } } } diff --git a/VersGen/GMW.tt b/VersGen/GMW.tt index 4dec7de8..966f9d9a 100644 --- a/VersGen/GMW.tt +++ b/VersGen/GMW.tt @@ -6,8 +6,8 @@ using System.Reflection; -[assembly: AssemblyVersion("3.4.867.<#= this.RevisionNumber #>")] -[assembly: AssemblyFileVersion("3.4.867.<#= this.RevisionNumber #>")] +[assembly: AssemblyVersion("3.4.869.<#= this.RevisionNumber #>")] +[assembly: AssemblyFileVersion("3.4.869.<#= this.RevisionNumber #>")] [assembly: AssemblyCopyright("Steamware © 2007-<#= DateTime.Now.Year #>")] [assembly: AssemblyCompany("Steamware")] <#+