pulizia codice e rimozione aree inutili

This commit is contained in:
Samuele E. Locatelli
2015-12-16 14:29:09 +01:00
parent 2c416b8ee4
commit 92b653eaf6
+2 -465
View File
@@ -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);
}
}
/// <summary>
/// CASO 01: DTX in AL sorgente, particolare OK, NON C'E' UDC dest
/// </summary>
/// <param name="OldUDC"></param>
/// <param name="NewUDC"></param>
/// <param name="adesso"></param>
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
}
/// <summary>
/// CASO 02: DTX in AL sorgente, particolare OK, C'E' UDC dest
/// </summary>
/// <param name="OldUDC"></param>
/// <param name="NewUDC"></param>
/// <returns></returns>
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
/// <summary>
/// CASO 03: DTX NON in sorgente ma libero/missing in action
/// </summary>
/// <param name="NewUDC"></param>
/// <returns></returns>
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
/// <summary>
/// CASO 04: DTX NON in sorgente e NON libero/missing in action
/// </summary>
/// <param name="OldUDC"></param>
/// <param name="IdxPosizione"></param>
/// <param name="NewUDC"></param>
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