diff --git a/XPS/App_Code/DS_applicazione.xsd b/XPS/App_Code/DS_applicazione.xsd index af85f09..7bdff03 100644 --- a/XPS/App_Code/DS_applicazione.xsd +++ b/XPS/App_Code/DS_applicazione.xsd @@ -664,7 +664,7 @@ WHERE (IdxObj = @Original_Cod) - DELETE FROM [dbo].[AnagraficaEventi] WHERE (([IdxTipoEvento] = @Original_IdxTipoEvento)) + DELETE FROM [AnagraficaEventi] WHERE (([IdxTipoEvento] = @Original_IdxTipoEvento)) @@ -672,25 +672,28 @@ WHERE (IdxObj = @Original_Cod) - INSERT INTO [dbo].[AnagraficaEventi] ([IdxTipoEvento], [Nome]) VALUES (@IdxTipoEvento, @Nome) + INSERT INTO [AnagraficaEventi] ([IdxTipoEvento], [Nome], [Action]) VALUES (@IdxTipoEvento, @Nome, @Action) + - SELECT IdxTipoEvento, Nome FROM dbo.AnagraficaEventi + SELECT IdxTipoEvento, Nome, Action +FROM AnagraficaEventi - UPDATE [dbo].[AnagraficaEventi] SET [IdxTipoEvento] = @IdxTipoEvento, [Nome] = @Nome WHERE (([IdxTipoEvento] = @Original_IdxTipoEvento)) + UPDATE [AnagraficaEventi] SET [IdxTipoEvento] = @IdxTipoEvento, [Nome] = @Nome, [Action] = @Action WHERE (([IdxTipoEvento] = @Original_IdxTipoEvento)) + @@ -700,15 +703,13 @@ WHERE (IdxObj = @Original_Cod) + - SELECT AnagraficaEventi.IdxTipoEvento, AnagraficaEventi.Nome -FROM AnagraficaEventi INNER JOIN - TransizioneEventi ON AnagraficaEventi.IdxTipoEvento = TransizioneEventi.IdxTipoEvento -WHERE (TransizioneEventi.codInviato = @codInviato) + SELECT AnagraficaEventi.Action, AnagraficaEventi.IdxTipoEvento, AnagraficaEventi.Nome FROM AnagraficaEventi INNER JOIN TransizioneEventi ON AnagraficaEventi.IdxTipoEvento = TransizioneEventi.IdxTipoEvento WHERE (TransizioneEventi.codInviato = @codInviato) @@ -728,14 +729,14 @@ WHERE (TransizioneEventi.codInviato = @codInviato) - + - + @@ -748,14 +749,14 @@ WHERE (TransizioneEventi.codInviato = @codInviato) - + - + @@ -768,21 +769,21 @@ WHERE (TransizioneEventi.codInviato = @codInviato) - + - + - + @@ -793,185 +794,6 @@ WHERE (TransizioneEventi.codInviato = @codInviato) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -988,28 +810,14 @@ WHERE (TransizioneEventi.codInviato = @codInviato) - + - - - - - - - - - - - - - - - + @@ -1023,6 +831,20 @@ WHERE (TransizioneEventi.codInviato = @codInviato) + + + + + + + + + + + + + + @@ -1033,16 +855,10 @@ WHERE (TransizioneEventi.codInviato = @codInviato) - + + - - - - - - - - + @@ -1050,17 +866,113 @@ WHERE (TransizioneEventi.codInviato = @codInviato) + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -1122,6 +1034,7 @@ WHERE (TransizioneEventi.codInviato = @codInviato) + @@ -1130,8 +1043,96 @@ WHERE (TransizioneEventi.codInviato = @codInviato) - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1144,29 +1145,29 @@ WHERE (TransizioneEventi.codInviato = @codInviato) - + - + - - + + - + @@ -1179,8 +1180,15 @@ WHERE (TransizioneEventi.codInviato = @codInviato) - - + + + + + + + + + diff --git a/XPS/App_Code/DS_applicazione.xss b/XPS/App_Code/DS_applicazione.xss index 303ab8b..4b25b07 100644 --- a/XPS/App_Code/DS_applicazione.xss +++ b/XPS/App_Code/DS_applicazione.xss @@ -4,7 +4,7 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + @@ -15,7 +15,7 @@ - + @@ -58,7 +58,7 @@ 1162 - 923 + 899 1162 diff --git a/XPS/App_Code/stateMachine.cs b/XPS/App_Code/stateMachine.cs new file mode 100644 index 0000000..c53e4b3 --- /dev/null +++ b/XPS/App_Code/stateMachine.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Web; +using SteamWare; + +/// +/// macchina di gestione degli stati +/// +public class stateMachine +{ + protected DS_applicazioneTableAdapters.AnagraficaEventiTableAdapter taAE; + protected stateMachine() + { + taAE = new DS_applicazioneTableAdapters.AnagraficaEventiTableAdapter(); + } + public static stateMachine st = new stateMachine(); + /// + /// restituisce il tipo di comando associato... + /// + /// + /// + public tipoAzione azioneComando(inputComando comando) + { + tipoAzione _azione = tipoAzione.noAct; + string toDo = ""; + try + { + toDo = taAE.getByCodInviato(comando.currCmdIn)[0].Action; + } + catch + { } + switch (toDo) + { + case "ok": + _azione = tipoAzione.conferma; + break; + case "canc": + _azione = tipoAzione.annulla; + break; + case "act": + _azione = tipoAzione.esegui; + break; + default: + _azione = tipoAzione.noAct; + break; + } + return _azione; + } + +} + +public enum tipoAzione +{ + annulla, + conferma, + esegui, + noAct +} diff --git a/XPS/barcode.aspx.cs b/XPS/barcode.aspx.cs index d061150..47ebe65 100644 --- a/XPS/barcode.aspx.cs +++ b/XPS/barcode.aspx.cs @@ -18,12 +18,14 @@ public partial class barcode : System.Web.UI.Page /// private void setupValoriBarcode() { + // !!!RIFARE!!! questi sono SOLO x DDT-commesse, dobbiamo fare x obj generico (ULP e DDT) DS_applicazioneTableAdapters.v_commesseTableAdapter taCommesse = new DS_applicazioneTableAdapters.v_commesseTableAdapter(); DS_applicazione.v_commesseDataTable _tabComm = taCommesse.GetData(); Dictionary valori = new Dictionary(); foreach (DS_applicazione.v_commesseRow riga in _tabComm) { - valori.Add(riga.Cod.ToString(), string.Format("{0}
{1} DDT {2} del {3:dd MMM yyyy}
{4} colli ({5} kg)
{6}", riga.Cod, riga.Cliente, riga.DDT, riga.DataDDT, riga.Colli, riga.Peso, riga.Stato)); + // QUI formattazione campi mostrati a barcode + valori.Add(riga.Cod.ToString(), string.Format("{0} - {7}
{1} DDT {2} del {3:dd MMM yyyy}
{4} colli ({5} kg)
{6}", riga.Cod, riga.Cliente, riga.DDT, riga.DataDDT, riga.Colli, riga.Peso, riga.Stato, riga.CodCli)); } // assegno valori al barcode... mod_barcode1.tabValori = valori; @@ -50,19 +52,26 @@ public partial class barcode : System.Web.UI.Page /// void mod_barcode1_eh_comandoRegistrato(object sender, EventArgs e) { - // lookUp tabella transizione... - string toDo = ""; - DS_applicazioneTableAdapters.AnagraficaEventiTableAdapter taAE = new DS_applicazioneTableAdapters.AnagraficaEventiTableAdapter(); - try + switch (stateMachine.st.azioneComando(mod_barcode1.comandoRegistrato)) { - toDo = taAE.getByCodInviato(mod_barcode1.comandoRegistrato.currCmdIn)[0].Nome; - } - catch - { } - // in base al contenuto del comando scelgo cosa fare... - switch (toDo) - { - case "Barcode - cambio stato": + case tipoAzione.annulla: + mod_barcode1.resetMe(); + break; + case tipoAzione.conferma: + // se input completo eseguo... + if (mod_barcode1.comandoRegistrato.currCmdIn != "" && mod_barcode1.comandoRegistrato.valore != "") + { + eseguiComando(); + } + else // altrimenti warning... e rimetto valori precedenti + { + mod_barcode1.txtRich2show = user_std.UtSn.Traduci("codObjUnknown"); + mod_barcode1.comandoRegistrato.currCmdIn = mod_barcode1.comandoRegistrato.prevCmdIn; + mod_barcode1.comandoRegistrato.descrComando = mod_barcode1.comandoRegistrato.descrComandoPrev; + mod_barcode1.txtInput2show = mod_barcode1.comandoRegistrato.descrComandoPrev; + } + break; + case tipoAzione.esegui: if (mod_barcode1.comandoRegistrato.valore != "") { mod_barcode1.txtRich2show = user_std.UtSn.Traduci("pleaseConfirm"); @@ -72,29 +81,11 @@ public partial class barcode : System.Web.UI.Page mod_barcode1.txtRich2show = user_std.UtSn.Traduci("codObjUnknown"); } break; - case "Barcode - interrogazione": - mod_barcode1.txtRich2show = user_std.UtSn.Traduci("pleaseConfirm"); - break; - case "Barcode - conferma": - // se input completo eseguo... - if (mod_barcode1.comandoRegistrato.currCmdIn != "" && mod_barcode1.comandoRegistrato.valore != "") - { - eseguiComando(); - }// altrimenti warning.. - else - { - mod_barcode1.txtRich2show = user_std.UtSn.Traduci("codObjUnknown"); - mod_barcode1.comandoRegistrato.currCmdIn = mod_barcode1.comandoRegistrato.prevCmdIn; - mod_barcode1.comandoRegistrato.descrComando = mod_barcode1.comandoRegistrato.descrComandoPrev; - mod_barcode1.txtInput2show = mod_barcode1.comandoRegistrato.descrComandoPrev; - } - break; - case "Barcode - reset": - mod_barcode1.resetMe(); + case tipoAzione.noAct: break; default: break; - } + } } /// /// eseguo il comando diff --git a/XPS/mod_barcode.ascx.cs b/XPS/mod_barcode.ascx.cs index 835d1b2..12c6bbe 100644 --- a/XPS/mod_barcode.ascx.cs +++ b/XPS/mod_barcode.ascx.cs @@ -144,6 +144,7 @@ public partial class mod_barcode : ApplicationUserControl pnlBarcodeBox.CssClass = "barcodeBoxOther"; } } + #endregion #region area public