diff --git a/GMW/WebUserControls/mod_PostFin_DT.ascx.cs b/GMW/WebUserControls/mod_PostFin_DT.ascx.cs index 091facb8..d2c706df 100644 --- a/GMW/WebUserControls/mod_PostFin_DT.ascx.cs +++ b/GMW/WebUserControls/mod_PostFin_DT.ascx.cs @@ -117,9 +117,6 @@ namespace GMW.WebUserControls currUDC = ""; forceDelete = false; setDefaultVal(); -#if false - odsAL.DataBind(); -#endif grViewSource.DataBind(); } } @@ -350,60 +347,104 @@ namespace GMW.WebUserControls // verifico stato (statoUdc/statoUdc_pre) e posizioni (IdxPosizioneIn/IdxPosizioneOut): tratt a sx da consumare, fin a dx da stampare/ricaricare... if (cartUDC.CodStato == statoUDC_pre && cartUDC.IdxPosizione == IdxPosizioneIn) { - // verifico che abbia attributo trattamento - int numTratt = MagClass.magazzino.taAtt2UDC.getByUdc(barcodeIn).Select("CodAttr = 'NT'").Length; - if (numTratt == 0) + bool partOk = false; + // recupero elenco UDC in uscita... + DS_magazzino.v_A2U2DDataTable tab = MagClass.magazzino.taA2U2D.getByAL(destAL); + if (tab.Rows.Count > 0) { - Postazione.warningText = traduci("ERR-UDC-DTX-003"); + // verifico se particolare NON corrisponde.... + if (tab.Select(string.Format("Particolare = '{0}'", cartUDC.Particolare)).Length == 1) + { + partOk = true; + } + } + else + { + partOk = true; + } + // se part NON ok.. + if (!partOk) + { + Postazione.warningText = traduci("ERR-UDC-DTX-006"); Postazione.CssClass = cssErr; } else { - currParticolare = cartUDC.Particolare; - origParticolare = cartUDC.Particolare; - // procedo a caricare UDC a SX, eventualmente consumando precedente... - if (currParticolare != "") + // verifico che abbia attributo trattamento + int numTratt = MagClass.magazzino.taAtt2UDC.getByUdc(barcodeIn).Select("CodAttr = 'NT'").Length; + if (numTratt == 0) { + Postazione.warningText = traduci("ERR-UDC-DTX-003"); + Postazione.CssClass = cssErr; + } + else + { + currParticolare = cartUDC.Particolare; + origParticolare = cartUDC.Particolare; + // procedo a caricare UDC a SX, eventualmente consumando precedente... + if (currParticolare != "") + { - int idxCellaCurr = 0; - try - { - idxCellaCurr = MagClass.magazzino.taPosUdcCorr.getByUDC(barcodeIn)[0].IdxCella; - } - catch - { } - string codBloccoCurr = ""; - int idxBlocco = 0; - try - { - idxBlocco = MagClass.magazzino.taCelle.getByIdxCella(idxCellaCurr)[0].IdxBlocco; - codBloccoCurr = MagClass.magazzino.taBlocchi.getByIdx(idxBlocco)[0].CodBlocco; - } - catch - { } - // 2015.01.12 controllo UDC non già su altre postazioni... - if (codBloccoCurr == Postazione.currCodBlocco && idxCellaCurr != Postazione.currIdxCella) - { - Postazione.messaggiText += " - Attenzione, UDC già caricato su ALTRA LINEA!"; - Postazione.CssClass = cssErr; - } - else - { - processUdcInOut(idxCellaCurr); + int idxCellaCurr = 0; + try + { + idxCellaCurr = MagClass.magazzino.taPosUdcCorr.getByUDC(barcodeIn)[0].IdxCella; + } + catch + { } + string codBloccoCurr = ""; + int idxBlocco = 0; + try + { + idxBlocco = MagClass.magazzino.taCelle.getByIdxCella(idxCellaCurr)[0].IdxBlocco; + codBloccoCurr = MagClass.magazzino.taBlocchi.getByIdx(idxBlocco)[0].CodBlocco; + } + catch + { } + // 2015.01.12 controllo UDC non già su altre postazioni... + if (codBloccoCurr == Postazione.currCodBlocco && idxCellaCurr != Postazione.currIdxCella) + { + Postazione.messaggiText += " - Attenzione, UDC già caricato su ALTRA LINEA!"; + Postazione.CssClass = cssErr; + } + else + { + // imposto qta STD... + qta = maxQta; + // processo (eventualmente creando UDC... + processUdcInOut(idxCellaCurr); + } } } - //Postazione.messaggiText += traduci("UDC-TRATT-ACQ"); - //Postazione.CssClass = cssOk; } } else if (cartUDC.CodStato == statoUDC && cartUDC.IdxPosizione == IdxPosizioneOut) { - // ricarico UDC SOLO SE ha già attributo "XX" + bool partOk = true; + // recupero elenco UDC in uscita... + DS_magazzino.v_A2U2DDataTable tab = MagClass.magazzino.taA2U2D.getByAL(destAL); + if (tab.Rows.Count > 0) + { + partOk = false; + } + // se UDC già caricato NON posso procedere... + if (!partOk) + { + Postazione.warningText = traduci("ERR-UDC-DTX-006"); + Postazione.CssClass = cssErr; + } + else + { + // ricarico UDC SOLO SE ha già attributo "BL" - Postazione.warningText = traduci("UDC-FIN-REL"); - Postazione.CssClass = cssOk; + // verifico SE non ci siano altri cartellini in uscita... + + Postazione.warningText = traduci("UDC-FIN-REL"); + Postazione.CssClass = cssOk; + + } #if false // controllo NON ci sia già un UDC di pari particolare caricato nella postazione corrente (non posso avere 2 UDC a pari particolare da riempire...) @@ -947,7 +988,7 @@ namespace GMW.WebUserControls MagClass.magazzino.taAtt2UDC.Insert(currUDC, "BL", "BLOCK", DateTime.Now, MagClass.magazzino.CodSoggCurrUser); fatto = true; } - catch(Exception exc) + catch (Exception exc) { logger.lg.scriviLog(string.Format("Errore in stampa UDC FIN DT:{0}{1}", Environment.NewLine, exc)); } diff --git a/GMW_data/UserControlBCodeMan.cs b/GMW_data/UserControlBCodeMan.cs index 6aaf130c..0eefd5db 100644 --- a/GMW_data/UserControlBCodeMan.cs +++ b/GMW_data/UserControlBCodeMan.cs @@ -1170,7 +1170,7 @@ namespace GMW_data try { // creo nuovo UDC FI... in posizione TEMP e con un evento differente... - udcDest = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", "", 0, lastCodImb, "U", MagClass.magazzino.CodSoggCurrUser, 0, 0, 0, adesso, 0, statoUDC, IdxPosizioneOutTemp, IdxPosizioneOutTempName, eventoUDC, "", "", adesso.Year, Request.UserHostName); + udcDest = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", "", 0, lastCodImb, "U", MagClass.magazzino.CodSoggCurrUser, qta, 0, 0, adesso, 0, statoUDC, IdxPosizioneOutTemp, IdxPosizioneOutTempName, eventoUDC, "", "", adesso.Year, Request.UserHostName); // associo UDC a AL... MagClass.magazzino.taAL2UDC.Insert(destAL, udcDest, adesso, MagClass.magazzino.CodSoggCurrUser); }