diff --git a/GMW/WebUserControls/mod_post_B48.ascx.cs b/GMW/WebUserControls/mod_post_B48.ascx.cs
index c5ede784..b02779d1 100644
--- a/GMW/WebUserControls/mod_post_B48.ascx.cs
+++ b/GMW/WebUserControls/mod_post_B48.ascx.cs
@@ -597,163 +597,6 @@ namespace GMW.WebUserControls
}
}
}
- // VERSIONE DT RX
-#if false
- // controllo che il DTX non sia già assegnato...
- if (DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Rows.Count == 0)
- {
- // vers 2.9
- // controllo formato datamatrix sia impostato sulla linea (altrimenti errore linea "non battezzata")
- if (FormatoDtmxLinea == "")
- {
- // errore poiché non è stato non specificato tipo Dtmx assegnato alla linea!
- Postazione.messaggiText = barcodeIn;
- Postazione.warningText = traduci("ERR-DTX-013");
- Postazione.CssClass = "stileComandoKo";
- }
- else
- {
- // verifico formato datamatrix letto sia quello della linea...
- if (FormatoDtmxBarcode != FormatoDtmxLinea)
- {
- // errore corrispondenza formato Dtmx
- Postazione.messaggiText = barcodeIn;
- Postazione.warningText = traduci("ERR-DTX-014");
- Postazione.CssClass = "stileComandoKo";
- }
- else
- {
- // datamatrix ok: setto css e labels
- Postazione.messaggiText = traduci("partSelected");
- Postazione.warningText = "";
- Postazione.CssClass = "stileComandoOk";
- // controllo il particolare da Dtx + check capienza celle
- if (Postazione.currCodCella != "")
- {
- // calcolo particolare!
- try
- {
- // vers 2.9 modifica per multi-datamatrix
- currParticolare = partByDtmx(true);
- //currParticolare = DataMatrix.mgr.taDecode.GetData(barcodeIn, FormatoDtmxLinea)[0].Particolare;
- }
- catch (Exception exc)
- {
- logger.lg.scriviLog(string.Format("Errore in decodifica particolare da DataMatrix:{0}dtx:{1}{0}Formato Linea:{2}{0}Eccezione:{0}{3}", Environment.NewLine, barcodeIn, exc), tipoLog.EXCEPTION);
- currParticolare = "";
- }
- if (currParticolare != "")
- {
- // genera eventuale UDC del particolare su cella/posizione corrente
- qta = 1; // tanto poi si ricalcola...
- checkCreaUDC();
- // verifico se devo fare gestione con intervallo dtx... da tab config DB)
- if (utils.obj.configDbVal("CreaDtxByInt") == "1")
- {
- // ora chiamo la stored che fa il check x tutti i particolari nell'intervallo dei Dtx associati alla cella e (se almeno 2) nel caso crea UDC
- checkIntervalloDtx();
- }
- /*-------------------------------------------------------------------------------------------------
- * chiamo la stored che in blocco
- * - associa Dtx a UDC
- * - fa controllo, se ho almeno 2 Dtx ok associo tutti i Dtx compresi nell'intervallo min-MAX
- *--------------------------------------------------------------------------------------------------
- */
- DataMatrix.mgr.taDtx2UDC.RxSetDtx2Udc(barcodeIn, MagClass.magazzino.CodSoggCurrUser, memLayer.ML.confReadInt("IdxPosizioneRxFinTemp"), Postazione.currIdxCella);
- }
- }
- }
- }
- }
- else
- {
- Postazione.messaggiText = barcodeIn;
- Postazione.warningText = traduci("DtxGiaAssegnato");
- Postazione.CssClass = "stileComandoKo";
- }
-#endif
- // VERSIONE DT LIQ
-#if false
- string OldUDC = "";
- int IdxPosizione = 0;
- string NewUDC = "";
- // verifica preliminare: se OK procedo, se è KO NON LO CONSIDERO PROPRIO
- bool isOk = false;
- try
- {
- isOk = DataMatrix.mgr.taVerifica.GetData(barcodeIn)[0].StatoDtx == "OK";
- }
- catch
- { }
- if (!isOk)
- {
- // non accetto Dtx e mostro errore
- Postazione.messaggiText = barcodeIn;
- Postazione.warningText = traduci("ERR-DTX-012");
- Postazione.CssClass = cssErr;
- }
- else // PROCEDO!!!
- {
- // verifico DTX sia in quelli dell'AL sorgente
- if (DataMatrix.mgr.taDtx2UDC.getByDtxAl(sourceAL, barcodeIn).Rows.Count > 0)
- {
- // cerco se ci sia UDC di destinazione
- DateTime adesso = DateTime.Now;
- try
- {
- OldUDC = DataMatrix.mgr.taDtx2UDC.getByDtxAl(sourceAL, barcodeIn)[0].UDC;
- IdxPosizione = MagClass.magazzino.taCartellini.getByUdc(OldUDC)[0].IdxPosizione;
- currParticolare = MagClass.magazzino.taCartellini.getByUdc(OldUDC)[0].Particolare;
- }
- catch
- {
- currParticolare = "";
- }
- if (currParticolare != "")
- {
- try
- {
- NewUDC = MagClass.magazzino.taCartellini.getByParticolareAL(currParticolare, destAL)[0].UDC;
- }
- catch
- {
- NewUDC = "";
- }
- if (NewUDC == "")
- {
- // CASO 01: DTX in AL sorgente, particolare OK, NON C'E' UDC dest
- procDtx_Caso01(ref OldUDC, ref NewUDC, adesso);
- }
- else
- {
- // CASO 02: DTX in AL sorgente, particolare OK, C'E' UDC dest
- OldUDC = procDtx_Caso02(OldUDC, NewUDC);
- }
- }
- else
- {
- Postazione.messaggiText = barcodeIn;
- Postazione.warningText = traduci("UdcNonTrovato");
- Postazione.CssClass = cssErr;
- }
- }
- // se non lo trovo in AL sorgente...
- else
- {
- // faccio ulteriore verifica: se il datamatrix sia "libero" o già tra i "Missing In Action"..
- if (DataMatrix.mgr.taDtxAvailFree.GetData(barcodeIn).Rows.Count > 0)
- {
- // CASO 03: DTX NON in sorgente ma libero/missing in action
- NewUDC = procDtx_Caso03(NewUDC);
- }
- else
- {
- // CASO 04: DTX NON in sorgente e NON libero/missing in action
- procDTX_Caso04(ref OldUDC, ref IdxPosizione, ref NewUDC);
- }
- }
- }
-#endif
break;
default:
Postazione.warningText = traduci("ERR-BCD-001");
@@ -845,13 +688,9 @@ namespace GMW.WebUserControls
// controllo che il DTX non sia già assegnato...
if (DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Rows.Count == 0)
{
+ // verifico NON CI SIANO attributi DC pendenti (nel qual caso memorizzo primo comando e poi cheido conferma... !!!FARE!!!
- /*-------------------------------------------------------------------------------------------------
- * chiamo la stored che in blocco
- * - associa Dtx a UDC
- * - fa controllo, se ho almeno 2 Dtx ok associo tutti i Dtx compresi nell'intervallo min-MAX
- *--------------------------------------------------------------------------------------------------
- */
+ // chiamo la stored che associa Dtx a UDC
DataMatrix.mgr.taDtx2UDC.RxSetDtx2Udc(barcodeIn, MagClass.magazzino.CodSoggCurrUser, memLayer.ML.confReadInt("IdxPosizioneRxFinTemp"), Postazione.currIdxCella);
}
}
@@ -870,308 +709,6 @@ namespace GMW.WebUserControls
DataMatrix.mgr.taAtt2Dtx.insertAndProc(barcodeIn, true, "DC", "Rim. UDC B48", DateTime.Now, MagClass.magazzino.CodSoggCurrUser);
}
}
- ///
- /// CASO 01: DTX in AL sorgente, particolare OK, NON C'E' UDC dest
- ///
- ///
- ///
- ///
- private void procDtx_Caso01(ref string OldUDC, ref string NewUDC, DateTime adesso)
- {
-#if false
- // verifico che NON sia modalità "rimozione" datamatrix
- if (!chkDtxMode.Checked)
- {
- // scambio UDC e prendo quello TT
- OldUDC = OldUDC.Replace(flussoTemp, flussoAnc);
- // calcolo codImballo
-
- string codImballo = "";
- try
- {
- codImballo = ddlImballi.SelectedValue;
- }
- catch
- {
- codImballo = memLayer.ML.confReadString("CodImballoFiniti");
- }
- // se NON HA selezionato prendo default...
- if (codImballo == "" || codImballo == "-")
- {
- codImballo = memLayer.ML.confReadString("CodImballoFiniti");
- }
- // controllo se devo usare chiamata a stored unica (UDC + aggancio AL + cella corretta) o due chiamate
- if (memLayer.ML.confReadBool("useStoredLiqSP"))
- {
- // nuova stored con AL e cella......
- NewUDC = MagClass.magazzino.creaUdcWithAlCella(destAL, sourceAL, barcodeIn, statoUdcOut, Postazione.currCodCella, flusso, "", currParticolare, "", "", "", "", OldUDC, 0, codImballo, "U", MagClass.magazzino.CodSoggCurrUser, pezziUdc, 0, 0, adesso, 0, statoUdcOut, memLayer.ML.confReadInt("IdxPosizioneFinTemp"), "IdxPosizioneFinTemp", codEventoUdcOut, "", "", adesso.Year, Request.UserHostName);
- // registro creazione nuovo UDC
- MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, NewUDC, currParticolare, "creaUDC", string.Format("Creato nuovo UDC PostLiquidi DT, qta: {0} {1}", qta, ""));
- }
- else
- {
- // oppure lo creo...
- NewUDC = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", OldUDC, 0, codImballo, "U", MagClass.magazzino.CodSoggCurrUser, pezziUdc, 0, 0, adesso, 0, statoUdcOut, memLayer.ML.confReadInt("IdxPosizioneFinTemp"), "IdxPosizioneFinTemp", codEventoUdcOut, "", "", adesso.Year, Request.UserHostName);
- // registro creazione nuovo UDC
- MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, NewUDC, currParticolare, "creaUDC", string.Format("Creato nuovo UDC PostLiquidi DT, qta: {0} {1}", qta, ""));
- // lo associo all'AL!
- MagClass.magazzino.taAL2UDC.Insert(destAL, NewUDC, adesso, MagClass.magazzino.CodSoggCurrUser);
-
-
- DataMatrix.mgr.taDtx2UDC.UpdateUDC(NewUDC, barcodeIn, statoUdcOut, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false);
- // fix messaggi
- Postazione.messaggiText = traduci("ConfermatoDtx");
- Postazione.warningText = "";
- Postazione.CssClass = cssAtt;
- }
- }
- else
- {
- Postazione.messaggiText = barcodeIn;
- Postazione.warningText = traduci("UdcNonTrovato");
- Postazione.CssClass = cssErr;
- }
-#endif
- }
- ///
- /// CASO 02: DTX in AL sorgente, particolare OK, C'E' UDC dest
- ///
- ///
- ///
- ///
- private string procDtx_Caso02(string OldUDC, string NewUDC)
- {
-#if false
- // verifico se sia modalità "rimozione" datamatrix x cui tolgo i datamatrix dall'UDC finale..
- if (chkDtxMode.Checked)
- {
- // chiamo stored di verifica spostabilità (ovvero: dato Dtx è nell'UDC di dest e UDC TL è ancora in carico ad AL sorgente...)
- bool dtxInUdcDest = false;
- bool udcSourceOk = false;
- try
- {
- dtxInUdcDest = DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Select(string.Format("UDC = '{0}'", NewUDC)).Length > 0;
- // ricalcolo vecchio UDC
- OldUDC = ((DS_DataMatrix.Dtx2UDCRow)DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Select(string.Format("CodStato = '{0}'", statoUdcIn))[0]).UDC.Replace(flussoAnc, flussoTemp);
- // verifico SE sia in carico ad AL...
- if (OldUDC != "")
- {
- if (MagClass.magazzino.taAL2UDC.getByAL(sourceAL).Select(string.Format("UDC = '{0}'", OldUDC)).Length > 0)
- {
- udcSourceOk = true;
- }
- }
- }
- catch
- { }
- if (dtxInUdcDest && udcSourceOk)
- {
- // tolgo da AL (se caricato), faccio update e sposto su UDC sorgente...
- DataMatrix.mgr.taDtx2UDC.UpdateUDC(OldUDC, barcodeIn, statoUdcOut, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false);
- // fix messaggi
- Postazione.messaggiText = traduci("ToltoDtxDaDest");
- Postazione.warningText = "";
- Postazione.CssClass = cssAtt;
- }
- else
- {
- if (dtxInUdcDest)
- {
- // segno che NON posso spostare DTX
- Postazione.messaggiText = "";
- Postazione.warningText = traduci("ERR-DTX-010");
- Postazione.CssClass = cssAtt;
- }
- else
- {
- // segno che NON posso spostare DTX
- Postazione.messaggiText = "";
- Postazione.warningText = traduci("ERR-DTX-011");
- Postazione.CssClass = cssAtt;
- }
- }
- }
- else
- {
- // se lo trovo chiamo procedura di spostamento Dtx tra UDC sorgente --> dest (con eventuale creazione dest)
- DataMatrix.mgr.taDtx2UDC.UpdateUDC(NewUDC, barcodeIn, statoUdcOut, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false);
- // fix messaggi
- Postazione.messaggiText = traduci("ConfermatoDtx");
- Postazione.warningText = "";
- Postazione.CssClass = cssAtt;
- }
-#endif
- return OldUDC;
- }
-#if false
- ///
- /// CASO 03: DTX NON in sorgente ma libero/missing in action
- ///
- ///
- ///
- private string procDtx_Caso03(string NewUDC)
- {
- // controllo se sia seconda conferma
- if (barcodeIn == lastBarcodeIn)
- {
- lastBarcodeIn = "";
- // in questo caso aggiungo Dtx con la catena della storia precedente
- try
- {
- // vers 2.9 modifica per multi-datamatrix
- currParticolare = partByDtmx(true);
- // vers vecchia
- //currParticolare = DataMatrix.mgr.taDecode.GetData(barcodeIn, "")[0].Particolare;
- }
- catch
- {
- currParticolare = "";
- }
- if (currParticolare != "")
- {
- try
- {
- NewUDC = MagClass.magazzino.taCartellini.getByParticolareAL(currParticolare, destAL)[0].UDC;
- }
- catch
- {
- NewUDC = "";
- }
- if (NewUDC != "")
- {
- // sono in caso di forzatura Dtx, quindi controllo se l'UDC di destinazione esista e abbia qta DataMatrix associati > 0
- if (DataMatrix.mgr.taDtx2UDC.getByUDC(NewUDC).Rows.Count > 0)
- // vecchio controllo delal QTA del cartellino
- //if (MagClass.magazzino.taCartellini.getByUdc(NewUDC)[0].Qta > 0)
- {
- // riassocio (se possibile) UDC alla nuova storia (se era un DTX x prove dimensionali post TT non cambio la sua storia ma aggiungo relazioni UDC...)
- DataMatrix.mgr.taDtx2UDC.RiassociaDtx(NewUDC, barcodeIn, DateTime.Now, MagClass.magazzino.CodSoggCurrUser);
- // fix messaggi
- Postazione.messaggiText = traduci("ConfermatoDtx");
- Postazione.warningText = "";
- Postazione.CssClass = cssAtt;
- }
- else
- {
- // errore! UDC dest con qta == 0
- Postazione.messaggiText = "";
- Postazione.warningText = traduci("ERR-DTX-005");
- Postazione.CssClass = cssErr;
- }
- }
- else
- {
- Postazione.messaggiText = "";
- Postazione.warningText = traduci("ERR-DTX-001");
- Postazione.CssClass = cssErr;
- }
- }
- else
- {
- Postazione.messaggiText = "";
- Postazione.warningText = traduci("ERR-DTX-002");
- Postazione.CssClass = cssErr;
- }
- }
- // salvo prima conferma del dtx x insert
- else
- {
- lastBarcodeIn = barcodeIn;
- Postazione.messaggiText = traduci("plsConfDtxLoad");
- Postazione.warningText = traduci("ERR-DTX-003");
- Postazione.CssClass = cssAdd;
- }
- return NewUDC;
- }
-#endif
-#if false
- ///
- /// CASO 04: DTX NON in sorgente e NON libero/missing in action
- ///
- ///
- ///
- ///
- private void procDTX_Caso04(ref string OldUDC, ref int IdxPosizione, ref string NewUDC)
- {
-
- // verifico se sia modalità "rimozione" datamatrix x cui tolgo i datamatrix dall'UDC finale..
- if (chkDtxMode.Checked)
- {
- // chiamo stored di verifica spostabilità (ovvero: dato Dtx è nell'UDC di dest e UDC TL è ancora in carico ad AL sorgente...)
- bool dtxInUdcDest = false;
- bool udcSourceOk = false;
- try
- {
- // ricalcolo vecchio UDC
- OldUDC = ((DS_DataMatrix.Dtx2UDCRow)DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Select(string.Format("CodStato = '{0}'", statoUdcIn))[0]).UDC.Replace(flussoAnc, flussoTemp);
- IdxPosizione = MagClass.magazzino.taCartellini.getByUdc(OldUDC)[0].IdxPosizione;
- currParticolare = MagClass.magazzino.taCartellini.getByUdc(OldUDC)[0].Particolare;
- NewUDC = DataMatrix.mgr.taDtx2UDC.getByDtxAl(destAL, barcodeIn)[0].UDC;
- // verifico SE sia in carico ad AL...
- if (OldUDC != "")
- {
- if (MagClass.magazzino.taAL2UDC.getByAL(sourceAL).Select(string.Format("UDC = '{0}'", OldUDC)).Length > 0)
- {
- udcSourceOk = true;
- }
- }
- dtxInUdcDest = DataMatrix.mgr.taDtx2UDC.getByDtx(barcodeIn).Select(string.Format("UDC = '{0}'", NewUDC)).Length > 0;
- }
- catch
- { }
- if (dtxInUdcDest && udcSourceOk)
- {
- // tolgo da AL (se caricato), faccio update e sposto su UDC sorgente...
- DataMatrix.mgr.taDtx2UDC.UpdateUDC(OldUDC, barcodeIn, statoUdcOut, DateTime.Now, MagClass.magazzino.CodSoggCurrUser, false, false);
- // fix messaggi
- Postazione.messaggiText = traduci("ToltoDtxDaDest");
- Postazione.warningText = "";
- Postazione.CssClass = cssAtt;
- }
- else
- {
- // segno che NON posso spostare DTX
- Postazione.messaggiText = "";
- Postazione.warningText = traduci("ERR-DTX-010");
- Postazione.CssClass = cssAtt;
- }
- }
- else
- {
- // devo distinguere tra il caso dei Dtx già spostati (quindi segnalare che è già in destinazione)
-
- // verifico DTX sia in quelli dell'AL destinazione
- if (DataMatrix.mgr.taDtx2UDC.getByDtxAl(destAL, barcodeIn).Rows.Count > 0)
- {
- try
- {
- // vers 2.9 modifica per multi-datamatrix
- currParticolare = partByDtmx(true);
- // vers vecchia
- //currParticolare = DataMatrix.mgr.taDecode.GetData(barcodeIn, "")[0].Particolare;
- }
- catch
- {
- currParticolare = "";
- }
- NewUDC = MagClass.magazzino.taCartellini.getByParticolareAL(currParticolare, destAL)[0].UDC;
- Postazione.messaggiText = barcodeIn;
- Postazione.warningText = traduci("ERR-DTX-006");
- Postazione.CssClass = cssWait;
- }
- // ... dal caso generico di un Dtx NON accettabile
- else
- {
- // volendo qui si potrebbe distinguere tra Dtx già con stato Fin e Dtx di RX/TT non ancora preso in carico ai Liquidi
- // errore generico!
- Postazione.messaggiText = barcodeIn;
- Postazione.warningText = traduci("ERR-DTX-004");
- Postazione.CssClass = cssErr;
- }
- }
-
- }
-#endif
#endregion