diff --git a/MP-Admin/GestKIT.aspx.cs b/MP-Admin/GestKIT.aspx.cs index fba36b1d..f36493d6 100644 --- a/MP-Admin/GestKIT.aspx.cs +++ b/MP-Admin/GestKIT.aspx.cs @@ -30,8 +30,10 @@ namespace MoonProAdmin mod_gestKIT.kitCode = mod_barcode.kitCode; mod_gestKIT.qta = mod_barcode.qta; mod_gestKIT.descArt = mod_barcode.descArt; - string tempData = string.Format("OPR: {0}, ART: {1}, KIT: {2}, QTA: {3}, Descr: {4}", mod_barcode.codOrd, mod_barcode.codArt, mod_barcode.kitCode, mod_barcode.qta, mod_barcode.descArt); - mod_gestKIT.lastInput = tempData; + // aggiungo ordine... + mod_gestKIT.addOrdArt(mod_barcode.codOrd, mod_barcode.codArt, mod_barcode.descArt, mod_barcode.qta); + //string tempData = string.Format("OPR: {0}, ART: {1}, KIT: {2}, QTA: {3}, Descr: {4}", mod_barcode.codOrd, mod_barcode.codArt, mod_barcode.kitCode, mod_barcode.qta, mod_barcode.descArt); + //mod_gestKIT.lastInput = tempData; } else { diff --git a/MP-Admin/WebUserControls/mod_gestKIT.ascx b/MP-Admin/WebUserControls/mod_gestKIT.ascx index 414b9497..c05421e2 100644 --- a/MP-Admin/WebUserControls/mod_gestKIT.ascx +++ b/MP-Admin/WebUserControls/mod_gestKIT.ascx @@ -12,7 +12,7 @@
-
+
  1. cmd x reset e ripartire a fare NUOVO kit
  2. lettura del barcode
  3. @@ -25,7 +25,7 @@
  4. controllo kit completo
  5. comando conferma e crea KIT
  6. lascio filtro OPR/articolo x mostrare ordine (nei 2 modi rosso/verde)
  7. -
  8. cmd x reset e ripartire a fare NUOVO kit
  9. +
  10. cmd x reset e ripartire a fare NUOVO kit
diff --git a/MP-Admin/WebUserControls/mod_gestKIT.ascx.cs b/MP-Admin/WebUserControls/mod_gestKIT.ascx.cs index 7bf8d526..97b3c468 100644 --- a/MP-Admin/WebUserControls/mod_gestKIT.ascx.cs +++ b/MP-Admin/WebUserControls/mod_gestKIT.ascx.cs @@ -1,5 +1,8 @@ -using SteamWare; +using Newtonsoft.Json; +using SteamWare; using System; +using System.Collections.Generic; +using System.Text; namespace MoonProAdmin.WebUserControls { @@ -26,7 +29,6 @@ namespace MoonProAdmin.WebUserControls #endregion - #region variabili in sessione /// @@ -128,7 +130,6 @@ namespace MoonProAdmin.WebUserControls memLayer.ML.setSessionVal(string.Format("codGruppo_{0}", uid), value); } } - /// /// titolo pagina /// @@ -139,6 +140,90 @@ namespace MoonProAdmin.WebUserControls return devicesAuthProxy.getPage(Request.Url).Replace(".aspx", ""); } } + /// + /// Oggetto KIT in composizione gestito in sessione + /// + public OrdineProdKit OrdineKit + { + get + { + OrdineProdKit answ; + string serVal = memLayer.ML.StringSessionObj(string.Format("OrdineKit_{0}", uid)); + // deserializzo SE C'E'... + if (serVal != "") + { + //var objDeser = memLayer.ML.deserializeVal(serVal); + //answ = (OrdineProdKit)objDeser; + answ = JsonConvert.DeserializeObject(serVal); + } + else + { + answ = new OrdineProdKit(); + } + return answ; + } + set + { + // serializzo... + //string serVal = memLayer.ML.serializeVal(value); + string serVal = JsonConvert.SerializeObject(value); + // salvo + memLayer.ML.setSessionVal(string.Format("OrdineKit_{0}", uid), serVal); + } + } + /// + /// Aggiunge (in obj OrdineKit) l'ordine coi parametri indicati + /// + /// + /// + /// + /// + /// + public bool addOrdArt(string codOrd, string codArt, string descArt, int qta) + { + bool answ = false; + var currOrd = OrdineKit; + // creo oggetto articolo + Articolo newArt = new Articolo + { + Codice = codArt, + Descrizione = descArt + }; + // creo un nuovo oggetto OrdineArticolo + OrdineProdArt newOrdArt = new OrdineProdArt + { + OrdNum = codOrd, + ArtOrd = newArt, + Qta = qta + }; + var orderList = new List(); + // se nullo inizializzo... + if (currOrd == null || currOrd.Codice == null) + { + orderList.Add(newOrdArt); + currOrd = new OrdineProdKit + { + OrdNum = "000000", + Codice = "KIT_UNKNOWN", + Qta = 1, + OrdiniArt = orderList + }; + } + else + { +#if true + // se ci fosse riga la cancello... + currOrd.OrdiniArt.Remove(newOrdArt); +#endif + // aggiungo SOLO la riga articolo + currOrd.OrdiniArt.Add(newOrdArt); + } + // salvo ordine... + OrdineKit = currOrd; + answ = true; + return answ; + } + #endregion /// @@ -170,7 +255,7 @@ namespace MoonProAdmin.WebUserControls public void doUpdate() { // aggiorno label... - messOut = lastInput; + messOut = ""; // controllo input (reset/inizio o salva...) if (lastInput == regExp_KO) { @@ -192,6 +277,17 @@ namespace MoonProAdmin.WebUserControls { } + + //riporto gli ordini caricati... + StringBuilder sb = new StringBuilder(); + var currOrd = OrdineKit; + sb.AppendLine(string.Format("OrdNum:{0}, TemplateKIT: {1}, Qta: {2}
", currOrd.OrdNum, currOrd.Codice, currOrd.Qta)); + foreach (var item in OrdineKit.OrdiniArt) + { + sb.AppendLine(string.Format("OrdNum:{0}, CodArt: {1}, Descr: {2}, Qta: {3}
", item.OrdNum, item.ArtOrd.Codice, item.ArtOrd.Descrizione, item.Qta)); + } + // accodo... + messOut += sb.ToString(); } private void doReset() diff --git a/MapoDb/utility.cs b/MapoDb/utility.cs index d3671bcc..c97805aa 100644 --- a/MapoDb/utility.cs +++ b/MapoDb/utility.cs @@ -1,6 +1,7 @@ using MapoDb; using SteamWare; using System; +using System.Collections.Generic; /// /// Summary description for utility @@ -312,3 +313,58 @@ public class IOB_data public string typeCss; public bool CNC_Counter; } + +/// +/// Classe definizione parametri singolo ordine produzione +/// +public class OrdineProdArt +{ + /// + /// Codice univoco ordine + /// + public string OrdNum; + /// + /// Articolo associato ad ordine + /// + public Articolo ArtOrd; + /// + /// Quantità Articolo + /// + public int Qta; +} +/// +/// Oggetto generico articolo +/// +public class Articolo +{ + /// + /// Codice articolo + /// + public string Codice; + /// + /// Descrizione Articolo + /// + public string Descrizione; +} +/// +/// Classe definizione parametri ordine x KIT di articoli +/// +public class OrdineProdKit +{ + /// + /// Codice univoco ordine + /// + public string OrdNum; + /// + /// Codice KIT + /// + public string Codice; + /// + /// Vettore ordini articolo associati a KIT + /// + public List OrdiniArt; + /// + /// Quantità KIT + /// + public int Qta; +} \ No newline at end of file