diff --git a/MP-Admin/Barcode.aspx.cs b/MP-Admin/Barcode.aspx.cs index 50f6f981..bcea7576 100644 --- a/MP-Admin/Barcode.aspx.cs +++ b/MP-Admin/Barcode.aspx.cs @@ -1,9 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; namespace MoonProAdmin { @@ -11,7 +6,7 @@ namespace MoonProAdmin { protected void Page_Load(object sender, EventArgs e) { - + mod_barcode.codOrdPre = "OPR"; } } } \ No newline at end of file diff --git a/MP-Admin/GestKIT.aspx.cs b/MP-Admin/GestKIT.aspx.cs index 6b4c0508..eaa34663 100644 --- a/MP-Admin/GestKIT.aspx.cs +++ b/MP-Admin/GestKIT.aspx.cs @@ -6,6 +6,7 @@ namespace MoonProAdmin { protected void Page_Load(object sender, EventArgs e) { + mod_barcode.codOrdPre = "KIT"; mod_barcode.eh_comandoRegistrato += Mod_barcode_eh_comandoRegistrato; mod_barcode.eh_dataRead += Mod_barcode_eh_dataRead; } diff --git a/MP-Admin/WebUserControls/mod_barcode.ascx.cs b/MP-Admin/WebUserControls/mod_barcode.ascx.cs index 56f91224..19abc9b8 100644 --- a/MP-Admin/WebUserControls/mod_barcode.ascx.cs +++ b/MP-Admin/WebUserControls/mod_barcode.ascx.cs @@ -43,6 +43,20 @@ namespace MoonProAdmin.WebUserControls } } + /// + /// Valore validazione codici ORDINE come STARTING (es: OPR,KIT) + /// + public string codOrdPre + { + get + { + return memLayer.ML.StringSessionObj(string.Format("codOrdPre_{0}", uid)); + } + set + { + memLayer.ML.setSessionVal(string.Format("codOrdPre_{0}", uid), value); + } + } public string codArt { get @@ -131,7 +145,17 @@ namespace MoonProAdmin.WebUserControls memLayer.ML.setSessionVal(string.Format("codGruppo_{0}", uid), value); } } - + /// + /// Verifica se il cod ordine è OK: + /// coerenza tra ordine e iniziale ordine (OPR/KIT) + /// + public bool checkOrdOk + { + get + { + return codOrd.StartsWith(codOrdPre); + } + } /// /// titolo pagina /// @@ -314,12 +338,25 @@ namespace MoonProAdmin.WebUserControls } else if (BCodeVal == regExp_OK) { - comando.isValid = true; - // controllo se ho tutti i dati necessari... - if (codOrd != "" && codArt != "" && codGruppo != "" && idxMacc != "" && qta > 0) + // comando valido SE ho ordine coerente... + if (checkOrdOk) { - // creo nuova PROMESSA ODL... - DataLayer.obj.taPODL.insertQuery(codOrd, codOrd, true, codArt, codGruppo, idxMacc, qta, 1, DateTime.Now, 1, 1); + comando.isValid = true; + // recupero il codGruppo da macchina... (primo) + if (codGruppo == "") + { + var tabAG = DataLayer.obj.taAG.getFaseByIdxMacc(idxMacc); + if(tabAG.Rows.Count>0) + { + codGruppo = tabAG[0].CodGruppo; + } + } + // controllo se ho tutti i dati necessari... + if (codOrd != "" && codArt != "" && codGruppo != "" && idxMacc != "" && qta > 0) + { + // creo nuova PROMESSA ODL... + DataLayer.obj.taPODL.insertQuery(codOrd, codOrd, true, codArt, codGruppo, idxMacc, qta, 1, DateTime.Now, 1, 1); + } } // resetto ricaricando Response.Redirect(titolo); @@ -369,6 +406,7 @@ namespace MoonProAdmin.WebUserControls /// private void checkParam() { + // ho macchina ed articolo? bool hasAllData = (idxMacc != "" && codArt != ""); string valOut = ""; if (codArt != "") @@ -391,7 +429,11 @@ namespace MoonProAdmin.WebUserControls { comando.descrComando += " - Manca Ordine Produzione - "; } - if (hasAllData) + if (!checkOrdOk) + { + comando.descrComando += " - Tipo Ordine errato - "; + } + if (hasAllData && checkOrdOk) { comando.descrComando = "Confermare caricamento"; } diff --git a/MP-Admin/WebUserControls/mod_gestKIT.ascx b/MP-Admin/WebUserControls/mod_gestKIT.ascx index dbc4b408..9b20f269 100644 --- a/MP-Admin/WebUserControls/mod_gestKIT.ascx +++ b/MP-Admin/WebUserControls/mod_gestKIT.ascx @@ -1,79 +1,131 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_gestKIT.ascx.cs" Inherits="MoonProAdmin.WebUserControls.mod_gestKIT" %>
-
- Dati commesse -
-
    -
  1. cmd x reset e ripartire a fare NUOVO kit
  2. -
  3. lettura del barcode
  4. -
  5. recupero OPR
  6. -
  7. decodifica come articolo
  8. -
  9. lista di ordini KIT collegati ad OPR IN ROSSO
  10. -
  11. eventuale lista di ordini KIT collegati ad articolo IN VERDE
  12. -
  13. salvataggio OPR in lista (redis session)
  14. -
  15. ricerca KIT con articolo(i)
  16. -
  17. controllo kit completo
  18. -
  19. comando conferma e crea KIT
  20. -
  21. lascio filtro OPR/articolo x mostrare ordine (nei 2 modi rosso/verde)
  22. -
  23. cmd x reset e ripartire a fare NUOVO kit
  24. -
- -
-
- Elenco KIT con commesse (RED) + elenco kit con ARTICOLI (green) - - - - - - Nessun Record (Ordini associati a KIT) - - - - - - - - - - - - - - - - -
-
- Elenco KIT compatibili - - - - - - - +
+
+
+
+

Composizione KIT

+
+
+ Ordini selezionati: + + + Nessun Ordine caricato + + + + + + + + + + + + + + +
    +
  • esempio KIT: 8060A00
  • +
  • OPR18-20381
  • +
  • OPR18-21855
  • +
  • OPR18-21856
  • +
  • OPR18-21857
  • +
  • OPR18-22974 (NON VA BENE A313)
  • +
+
+ +
+
+
+

Verifica KIT

+
+
+ Elenco KIT compatibili + + + + + + + Prom.ODL - - - - + + + + - - - - - - - - + + + + + + + + +
+ +
+
+
+

INFO

+
+
+ centro + Elenco KIT con commesse (RED) + elenco kit con ARTICOLI (green) +
    +
  1. cmd x reset e ripartire a fare NUOVO kit
  2. +
  3. lettura del barcode
  4. +
  5. recupero OPR
  6. +
  7. decodifica come articolo
  8. +
  9. lista di ordini KIT collegati ad OPR IN ROSSO
  10. +
  11. eventuale lista di ordini KIT collegati ad articolo IN VERDE
  12. +
  13. salvataggio OPR in lista (redis session)
  14. +
  15. ricerca KIT con articolo(i)
  16. +
  17. controllo kit completo
  18. +
  19. comando conferma e crea KIT
  20. +
  21. lascio filtro OPR/articolo x mostrare ordine (nei 2 modi rosso/verde)
  22. +
  23. cmd x reset e ripartire a fare NUOVO kit
  24. +
+
+ +
+
+
+

KIT già composti

+
+
+ Elenco KIT già associati agli ordini + + + Nessun Record (Ordini associati a KIT) + + + + + + + + + + + + + + +
+ +
+
@@ -145,4 +197,4 @@ exec stp_IstKit_byKeyExtOrd 'OPR-123321,OPR-123456,' exec stp_IstKit_getKey ---%> \ No newline at end of file +--%> diff --git a/MP-Admin/WebUserControls/mod_gestKIT.ascx.cs b/MP-Admin/WebUserControls/mod_gestKIT.ascx.cs index c04eefb9..36765963 100644 --- a/MP-Admin/WebUserControls/mod_gestKIT.ascx.cs +++ b/MP-Admin/WebUserControls/mod_gestKIT.ascx.cs @@ -149,42 +149,10 @@ namespace MoonProAdmin.WebUserControls set { memLayer.ML.setSessionVal(string.Format("codKitTemp_{0}", uid), value); + hlCodKitTemp.Value = value; + grViewWSK.DataBind(); } } - -#if false - /// - /// 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); - } - } -#endif /// /// Aggiunge (in obj OrdineKit) l'ordine coi parametri indicati /// @@ -201,52 +169,7 @@ namespace MoonProAdmin.WebUserControls // salvo info x il cod temporaneo... DataLayer.obj.taWKS.insertQuery(codKitTemp, codOrd, codArt, descArt, qta); answ = true; - -#if 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 - { - // cerco duplicato... - int idx = currOrd.OrdiniArt.FindIndex(x => x.OrdNum.Equals(codOrd)); - if (idx >= 0) - { - // se ci fosse riga la cancello... - currOrd.OrdiniArt.RemoveAt(idx); - } - - // aggiungo SOLO la riga articolo - currOrd.OrdiniArt.Add(newOrdArt); - } - // salvo ordine... - OrdineKit = currOrd; - answ = true; -#endif + grViewWSK.DataBind(); return answ; } @@ -324,21 +247,6 @@ namespace MoonProAdmin.WebUserControls elCodOrd += item.CodOrd + ","; } } - -#if false - var currOrd = OrdineKit; - if (currOrd != null && currOrd.Codice != null) - { - 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)); - elCodArt += item.ArtOrd.Codice + ","; - elCodOrd += item.OrdNum + ","; - } - } - -#endif // accodo... messOut += sb.ToString(); hfCodArtList.Value = elCodArt; @@ -352,9 +260,6 @@ namespace MoonProAdmin.WebUserControls kitCode = ""; qta = 0; descArt = ""; -#if false - OrdineKit = new OrdineProdKit(); -#endif // elimino eventuali record ODL DataLayer.obj.taWKS.deleteQuery(codKitTemp); codKitTemp = ""; @@ -386,8 +291,10 @@ namespace MoonProAdmin.WebUserControls protected void grViewKitSel_SelectedIndexChanged(object sender, EventArgs e) { - // se ho selezionato recupero CHIAVE + // se ho selezionato recupero CHIAVE = CodArticolo del KIT string CodArtParent = grViewKitSel.SelectedValue.ToString(); + // recupero conf x quel kit... + string KeyKit = ""; // calcolo NUOVO codice kit... var tabKey = DataLayer.obj.taIstK.getNewKey(); @@ -395,27 +302,12 @@ namespace MoonProAdmin.WebUserControls { // stacco un NUOVO codice KIT KeyKit = tabKey[0].KeyKit; - // inserisco! + // inserisco ISTANZA KIT! DataLayer.obj.taIstK.insertByWKS(KeyKit, CodArtParent, codKitTemp); + //CREO la P.ODL... + // faccio reset valori WKS... doReset(); - - // !!! FARE!!! nuovo metodo x creazione PODL -#if false - // recupero dati - var currOrd = OrdineKit; - // ora calcolo codice ordine... - currOrd.Codice = CodKit; - // creo NUOVA IstanzaKIT PER OGNI ordine - if (currOrd != null && currOrd.Codice != null) - { - foreach (var item in OrdineKit.OrdiniArt) - { - DataLayer.obj.taIstK.insertQuery(newCodKit, item.OrdNum, currOrd.Codice, item.ArtOrd.Codice, item.Qta, item.Qta); - } - OrdineKit = new OrdineProdKit(); - } -#endif hfCodArtList.Value = ""; hfCodOrdList.Value = ""; // ora resetto ordine caricato... diff --git a/MP-Admin/WebUserControls/mod_gestKIT.ascx.designer.cs b/MP-Admin/WebUserControls/mod_gestKIT.ascx.designer.cs index 623d6016..30a76c1b 100644 --- a/MP-Admin/WebUserControls/mod_gestKIT.ascx.designer.cs +++ b/MP-Admin/WebUserControls/mod_gestKIT.ascx.designer.cs @@ -13,31 +13,31 @@ namespace MoonProAdmin.WebUserControls { public partial class mod_gestKIT { /// - /// Controllo grViewIstanzeKIT. + /// Controllo grViewWSK. /// /// /// Campo generato automaticamente. /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// - protected global::System.Web.UI.WebControls.GridView grViewIstanzeKIT; + protected global::System.Web.UI.WebControls.GridView grViewWSK; /// - /// Controllo odsIstanzeKIT. + /// Controllo odsWSK. /// /// /// Campo generato automaticamente. /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// - protected global::System.Web.UI.WebControls.ObjectDataSource odsIstanzeKIT; + protected global::System.Web.UI.WebControls.ObjectDataSource odsWSK; /// - /// Controllo hfCodOrdList. + /// Controllo hlCodKitTemp. /// /// /// Campo generato automaticamente. /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// - protected global::System.Web.UI.WebControls.HiddenField hfCodOrdList; + protected global::System.Web.UI.WebControls.HiddenField hlCodKitTemp; /// /// Controllo grViewKitSel. @@ -66,6 +66,33 @@ namespace MoonProAdmin.WebUserControls { /// protected global::System.Web.UI.WebControls.HiddenField hfCodArtList; + /// + /// Controllo grViewIstanzeKIT. + /// + /// + /// Campo generato automaticamente. + /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. + /// + protected global::System.Web.UI.WebControls.GridView grViewIstanzeKIT; + + /// + /// Controllo odsIstanzeKIT. + /// + /// + /// Campo generato automaticamente. + /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. + /// + protected global::System.Web.UI.WebControls.ObjectDataSource odsIstanzeKIT; + + /// + /// Controllo hfCodOrdList. + /// + /// + /// Campo generato automaticamente. + /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. + /// + protected global::System.Web.UI.WebControls.HiddenField hfCodOrdList; + /// /// Controllo hlLastInput. /// diff --git a/MapoDb/DS_applicazione.Designer.cs b/MapoDb/DS_applicazione.Designer.cs index 96910732..255782c1 100644 --- a/MapoDb/DS_applicazione.Designer.cs +++ b/MapoDb/DS_applicazione.Designer.cs @@ -26776,7 +26776,7 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0")] private void InitCommandCollection() { - this._commandCollection = new global::System.Data.SqlClient.SqlCommand[2]; + this._commandCollection = new global::System.Data.SqlClient.SqlCommand[3]; this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[0].Connection = this.Connection; this._commandCollection[0].CommandText = "SELECT CodGruppo, TipoGruppo, DescrGruppo FROM dbo.AnagraficaGruppi"; @@ -26787,6 +26787,12 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo this._commandCollection[1].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[1].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[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@idxMacchina", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[2].Connection = this.Connection; + this._commandCollection[2].CommandText = "dbo.stp_AG_getFaseByIdxMacc"; + this._commandCollection[2].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[2].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[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@idxMacchina", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -26830,6 +26836,23 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo return dataTable; } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] + public virtual DS_applicazione.AnagraficaGruppiDataTable getFaseByIdxMacc(string idxMacchina) { + this.Adapter.SelectCommand = this.CommandCollection[2]; + if ((idxMacchina == null)) { + this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.SelectCommand.Parameters[1].Value = ((string)(idxMacchina)); + } + DS_applicazione.AnagraficaGruppiDataTable dataTable = new DS_applicazione.AnagraficaGruppiDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0")] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] diff --git a/MapoDb/DS_applicazione.xsd b/MapoDb/DS_applicazione.xsd index bd9192ba..67f9b470 100644 --- a/MapoDb/DS_applicazione.xsd +++ b/MapoDb/DS_applicazione.xsd @@ -2559,6 +2559,17 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo + + + + dbo.stp_AG_getFaseByIdxMacc + + + + + + + @@ -2997,7 +3008,7 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo - + @@ -3019,7 +3030,7 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo - + @@ -3055,7 +3066,7 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo - + @@ -3091,7 +3102,7 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo - + @@ -3108,7 +3119,7 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo - + @@ -3132,7 +3143,7 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo - + @@ -3174,7 +3185,7 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo - + @@ -3253,7 +3264,7 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo - + @@ -3282,7 +3293,7 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo - + @@ -3433,26 +3444,26 @@ SELECT CodGruppo, TipoGruppo, DescrGruppo FROM AnagraficaGruppi WHERE (CodGruppo - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MapoDb/DS_applicazione.xss b/MapoDb/DS_applicazione.xss index a2188806..55b80b73 100644 --- a/MapoDb/DS_applicazione.xss +++ b/MapoDb/DS_applicazione.xss @@ -4,7 +4,7 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + @@ -31,7 +31,7 @@ - + diff --git a/MapoDb/utility.cs b/MapoDb/utility.cs index c97805aa..7db5c50b 100644 --- a/MapoDb/utility.cs +++ b/MapoDb/utility.cs @@ -1,7 +1,6 @@ using MapoDb; using SteamWare; using System; -using System.Collections.Generic; /// /// Summary description for utility @@ -314,6 +313,7 @@ public class IOB_data public bool CNC_Counter; } +#if false /// /// Classe definizione parametri singolo ordine produzione /// @@ -367,4 +367,5 @@ public class OrdineProdKit /// Quantità KIT /// public int Qta; -} \ No newline at end of file +} +#endif \ No newline at end of file