diff --git a/GMW/WebUserControls/mod_consKitAnime.ascx.cs b/GMW/WebUserControls/mod_consKitAnime.ascx.cs
index 4789b7e3..339c58c2 100644
--- a/GMW/WebUserControls/mod_consKitAnime.ascx.cs
+++ b/GMW/WebUserControls/mod_consKitAnime.ascx.cs
@@ -18,12 +18,12 @@ namespace GMW.WebUserControls
{
disableConfirm = false;
traduciObj();
+ lblALSel.Text = "...";
}
doChecks();
- lblALSel.Text = "...";
if (currAL_KA != "")
{
- lblALSel.Text += string.Format("AL KIT: {0}", currAL_KA);
+ lblALSel.Text = string.Format("AL KIT: {0}", currAL_KA);
}
if (lblALSel.Text == "")
{
@@ -128,43 +128,76 @@ namespace GMW.WebUserControls
}
}
///
+ /// valore barcode precedente
+ ///
+ public string prevBarcodeIn
+ {
+ get
+ {
+ return memLayer.ML.StringSessionObj(string.Format("prevBarcodeIn.{0}", this.ID));
+ }
+ set
+ {
+ memLayer.ML.setSessionVal(string.Format("prevBarcodeIn.{0}", this.ID), value, false);
+ }
+ }
+ ///
/// controlla se ci sia un barcode
///
private void checkBarcode()
{
if (barcodeIn != "")
{
- DS_Applicazione.ElencoCartelliniRow rigaCart;
- string tipoImballo = "";
+ prevBarcodeIn = barcodeIn;
+ DS_magazzino.ElencoAssiemiRow rigaAL;
+ bool isAlAnime = false;
+ bool isAttivo = false;
lblMessaggi.Text = string.Format("Barcode digitato: {0}", barcodeIn);
switch (MagClass.tipoBCode_L4(barcodeIn))
{
case tipoCodiceBarcode.AL:
-#if false
- // procedo solo se UDC esistente
- if (MagClass.magazzino.checkUDC(barcodeIn))
+ // procedo solo se AL esistente
+ if (MagClass.magazzino.checkAL(barcodeIn))
{
- // cerco di recuperare riga UDC
+ // cerco di recuperare riga AL
try
{
- rigaCart = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0];
- tipoImballo = rigaCart.CodImballo;
+ rigaAL = MagClass.magazzino.taEA.getByAL(barcodeIn)[0];
+ if (rigaAL.CodKIT != "" && rigaAL.TipoAL == "A")
+ {
+ isAlAnime = true;
+ isAttivo = rigaAL.Attivo;
+ }
}
catch
{ }
- // salvo UDC from
- currUdcFrom = barcodeIn;
- pnlAll.CssClass = "stileAttesa";
- // resetto warnings
- needForza_NoPosVLP = false;
- needForzaCons_inLDP = false;
- // controllo: se sono in fast mode SCARICO!
- if (disableConfirm)
+ // controllo sia valido x anime (con cod kit + tipo "A"
+ if (isAlAnime)
{
- scaricaUdcFrom(false);
+ // controllo sia attivo (= scaricabile)
+ if (isAttivo)
+ {
+ // salvo AL selezionato
+ currAL_KA = barcodeIn;
+ pnlAll.CssClass = "stileAttesa";
+ // controllo: se sono in fast mode SCARICO!
+ if (disableConfirm)
+ {
+ scaricaAlKIT(false);
+ }
+ }
+ else
+ {
+ lblMessaggi.Text += " - AL KIT Anime NON ATTIVO, impossibile scaricare.";
+ pnlAll.CssClass = "stileComandoKo";
+ }
}
- }
-#endif
+ else
+ {
+ lblMessaggi.Text += " - AL non valido come KIT Anime!";
+ pnlAll.CssClass = "stileComandoKo";
+ }
+ }
break;
case tipoCodiceBarcode.Comando:
// se richiesto scarico rapido lo gestisco
@@ -183,8 +216,17 @@ namespace GMW.WebUserControls
}
else
{
- lblMessaggi.Text = traduci("AttesaBCode");
- pnlAll.CssClass = "stileAttesa";
+ if (prevBarcodeIn != "")
+ {
+ prevBarcodeIn = "";
+ }
+ else
+ {
+ currAL_KA = "";
+ lblALSel.Text = "---";
+ lblMessaggi.Text = traduci("AttesaBCode");
+ pnlAll.CssClass = "stileAttesa";
+ }
}
//grView.DataBind();
txtBarcode.Focus();
@@ -197,7 +239,7 @@ namespace GMW.WebUserControls
bool consumaOk = false;
if (!disableConfirm)
{
- if (currAL_KA!= "")
+ if (currAL_KA != "")
{
consumaOk = true;
}
@@ -227,68 +269,107 @@ namespace GMW.WebUserControls
/// perché vogliamo che sia prima in posizione nota (quindi prima spostamento in LP a mano e poi scaricamento)
private void scaricaAlKIT(bool forzaOperazione)
{
+ DS_magazzino.ElencoAssiemiRow rigaAL;
+ bool isAlAnime = false;
+ bool isAttivo = false;
if (currAL_KA != "")
{
-#if false
- // controllo se UDC non sia già consumato...
- if (MagClass.magazzino.udcMpIsConsumabile(currUdcFrom))
+ // procedo solo se AL esistente
+ if (MagClass.magazzino.checkAL(barcodeIn))
{
- // controllo UDC sia corretto (in giusta posizione...)
- if (MagClass.magazzino.IdxPosizioneUdc(currUdcFrom) == memLayer.ML.cdvi("IdxPosizioneAnime"))
+ // cerco di recuperare riga AL
+ try
{
- // 2015.01.08: modifica x gestione con stored esterna di controllo...
- //if (MagClass.magazzino.codCellaUdc(currUdcFrom) == memLayer.ML.confReadString("cellaLPA") || MagClass.magazzino.codCellaUdc(currUdcFrom) == memLayer.ML.confReadString("cellaLPX") || forzaOperazione)
-
- // controllo UDC sia in posizione LDP anime LPA010101...
- if (MagClass.magazzino.checkUdc_OkLPAX(currUdcFrom) || forzaOperazione)
+ rigaAL = MagClass.magazzino.taEA.getByAL(barcodeIn)[0];
+ if (rigaAL.CodKIT != "" && rigaAL.TipoAL == "A")
{
- // controllo che non sia già in una LDP
- if (!MagClass.magazzino.udcInLdp(currUdcFrom) || forzaOperazione)
+ isAlAnime = true;
+ isAttivo = rigaAL.Attivo;
+ }
+ }
+ catch
+ {
+ }
+ }
+ // controllo AL sia attivo...
+ if (isAlAnime)
+ {
+ if (isAttivo)
+ {
+#if false
+ // controllo se UDC non sia già consumato...
+ if (MagClass.magazzino.udcMpIsConsumabile(currUdcFrom))
+ {
+ // controllo UDC sia corretto (in giusta posizione...)
+ if (MagClass.magazzino.IdxPosizioneUdc(currUdcFrom) == memLayer.ML.cdvi("IdxPosizioneAnime"))
{
- // consumo UDC
- MagClass.magazzino.scaricaUdcMpWip(currUdcFrom, Request.UserHostName);
- // se richiesto (era in LDP)
- if (needForzaCons_inLDP)
+ // 2015.01.08: modifica x gestione con stored esterna di controllo...
+ //if (MagClass.magazzino.codCellaUdc(currUdcFrom) == memLayer.ML.confReadString("cellaLPA") || MagClass.magazzino.codCellaUdc(currUdcFrom) == memLayer.ML.confReadString("cellaLPX") || forzaOperazione)
+
+ // controllo UDC sia in posizione LDP anime LPA010101...
+ if (MagClass.magazzino.checkUdc_OkLPAX(currUdcFrom) || forzaOperazione)
{
- // elimino part da altre LDP
- MagClass.magazzino.taRigheListePrelievo.eliminaByUdc(currUdcFrom);
+ // controllo che non sia già in una LDP
+ if (!MagClass.magazzino.udcInLdp(currUdcFrom) || forzaOperazione)
+ {
+ // consumo UDC
+ MagClass.magazzino.scaricaUdcMpWip(currUdcFrom, Request.UserHostName);
+ // se richiesto (era in LDP)
+ if (needForzaCons_inLDP)
+ {
+ // elimino part da altre LDP
+ MagClass.magazzino.taRigheListePrelievo.eliminaByUdc(currUdcFrom);
+ }
+ // indico UDC consumato!
+ lblMessaggi.Text = string.Format("{0} {1}", traduci("effettuatoConsumoUDC"), currUdcFrom);
+ currUdcFrom = "";
+ pnlAll.CssClass = "stileComandoOk";
+ needForzaCons_inLDP = false;
+ needForza_NoPosVLP = false;
+ }
+ else
+ {
+ // è già in una LDP: mostro button x forzare...
+ lblMessaggi.Text = string.Format("{0} {1}", traduci("UDC_impegnatoLDP"), currUdcFrom);
+ needForzaCons_inLDP = true;
+ }
}
- // indico UDC consumato!
- lblMessaggi.Text = string.Format("{0} {1}", traduci("effettuatoConsumoUDC"), currUdcFrom);
- currUdcFrom = "";
- pnlAll.CssClass = "stileComandoOk";
- needForzaCons_inLDP = false;
- needForza_NoPosVLP = false;
+ else
+ {
+ // non è in posizione LPA: mostro button x forzare...
+ lblMessaggi.Text = string.Format("{0} {1}", traduci("UDC_nonPrel"), currUdcFrom);
+ needForza_NoPosVLP = true;
+ }
}
else
{
- // è già in una LDP: mostro button x forzare...
- lblMessaggi.Text = string.Format("{0} {1}", traduci("UDC_impegnatoLDP"), currUdcFrom);
- needForzaCons_inLDP = true;
+ // indico UDC sbagliato!
+ lblMessaggi.Text = string.Format("{0} {1}", traduci("UDC_posizErrataAnime"), currUdcFrom);
+ pnlAll.CssClass = "stileComandoKo";
}
}
else
{
- // non è in posizione LPA: mostro button x forzare...
- lblMessaggi.Text = string.Format("{0} {1}", traduci("UDC_nonPrel"), currUdcFrom);
- needForza_NoPosVLP = true;
+ // indico UDC consumato!
+ lblMessaggi.Text = string.Format("{0} {1}", traduci("UDC_giaConsumato"), currUdcFrom);
+ pnlAll.CssClass = "stileComandoKo";
}
+#endif
}
else
{
- // indico UDC sbagliato!
- lblMessaggi.Text = string.Format("{0} {1}", traduci("UDC_posizErrataAnime"), currUdcFrom);
+ // indico AL NON attivo!
+ lblMessaggi.Text = string.Format("Errore: AL KIT Anime NON ATTIVO: {0}", currAL_KA);
pnlAll.CssClass = "stileComandoKo";
}
}
else
{
- // indico UDC consumato!
- lblMessaggi.Text = string.Format("{0} {1}", traduci("UDC_giaConsumato"), currUdcFrom);
+ // indico AL non KIT ANIME!
+ lblMessaggi.Text = string.Format("Errore: AL NON KIT Anime: {0}", currAL_KA);
pnlAll.CssClass = "stileComandoKo";
}
- lblALSel.Text = "";
-#endif
+ lblALSel.Text = "";
}
}
///