Riscrittura componente processing UDC
spostato tutto in classe parent differenziando da config
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -22,7 +22,8 @@ namespace GMW.WebUserControls
|
||||
eventoUDC_qta = "UDC_QTY";
|
||||
codLineaKo = "W2100";
|
||||
tipoUdcRist = "Finito";
|
||||
}
|
||||
IdxPosizioneIn = memLayer.ML.CRI("IdxPosizioneTrattati");
|
||||
}
|
||||
/// <summary>
|
||||
/// Codice AL target
|
||||
/// </summary>
|
||||
@@ -119,258 +120,19 @@ namespace GMW.WebUserControls
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// controlla se ci sia un barcode
|
||||
/// IMposta e legge imballo selezionato
|
||||
/// </summary>
|
||||
public override void checkBarcode()
|
||||
public override string imballoSel
|
||||
{
|
||||
if (barcodeIn != "")
|
||||
get
|
||||
{
|
||||
Postazione.messaggiText = string.Format("Barcode digitato: {0}", barcodeIn);
|
||||
switch (MagClass.tipoBCode_L3(barcodeIn))
|
||||
{
|
||||
case tipoCodiceBarcode.Comando:
|
||||
if (barcodeIn == memLayer.ML.CRS("cmdReset"))
|
||||
{
|
||||
currParticolare = "";
|
||||
Response.Redirect(PagCorrente);
|
||||
}
|
||||
break;
|
||||
case tipoCodiceBarcode.Imballo:
|
||||
// cerco di selezionare!
|
||||
try
|
||||
{
|
||||
ddlImballi.SelectedValue = barcodeIn;
|
||||
}
|
||||
catch
|
||||
{
|
||||
Postazione.warningText = traduci("ERR-IMB-001");
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
break;
|
||||
case tipoCodiceBarcode.Particolare:
|
||||
// imposto il particolare corrente
|
||||
currParticolare = barcodeIn;
|
||||
origParticolare = barcodeIn;
|
||||
impostaParticolare();
|
||||
break;
|
||||
case tipoCodiceBarcode.UDC:
|
||||
// se linea non selezionata ERRORE!!!
|
||||
if (Postazione.currCodLinea == codLineaKo)
|
||||
{
|
||||
Postazione.messaggiText += " - Attenzione, IMPOSTARE LINEA!";
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
else
|
||||
{
|
||||
// procedo solo se UDC esistente
|
||||
if (MagClass.magazzino.checkUDC(barcodeIn))
|
||||
{
|
||||
// controllo se NON ci siano NC "pending"
|
||||
if (MagClass.magazzino.checkUDC_NC(barcodeIn) != checkUdcNc.HasNc)
|
||||
{
|
||||
/********************************************************************
|
||||
* procedo per UDC in ingresso:
|
||||
* - deve essere di tipo IN
|
||||
* - se NON c'è UDC in AL dest a pari particolare LO CREO
|
||||
* - se c'era già UDC per lo stesso particolare --> consumo (il vecchio)
|
||||
* - associo UDC letto ad UDC in AL dest a pari particolare
|
||||
*
|
||||
********************************************************************/
|
||||
|
||||
// controllo IdxPosizione dell'UDC e confronto con posizione in webconfig x trattati (pre lavorazioni meccaniche)
|
||||
int IdxPosizione = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].IdxPosizione;
|
||||
if (IdxPosizione == memLayer.ML.CRI("IdxPosizioneTrattati"))
|
||||
{
|
||||
// calcolo nuovo particolare
|
||||
origParticolare = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Particolare;
|
||||
string udcDest = "";
|
||||
|
||||
string tipoLinea = "";
|
||||
if (Postazione.currNomeLinea.IndexOf("GRZ") >= 0)
|
||||
{
|
||||
tipoLinea = "GRZ";
|
||||
}
|
||||
else
|
||||
{
|
||||
tipoLinea = "LVT";
|
||||
}
|
||||
// chiamo sempre stored x recuperare GRZ da GRZ (solo alcuni) o LVT da GRZ
|
||||
// calcolo particolare LVT da Distinta Base
|
||||
string partLvt = "";
|
||||
MagClass.magazzino.taPartIO.particolareLVTFromGRZ(tipoLinea, origParticolare, CodCs, ref partLvt);
|
||||
currParticolare = partLvt;
|
||||
// continuo controlli
|
||||
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 = "stileComandoKo";
|
||||
}
|
||||
else
|
||||
{
|
||||
// controllo SE esista già UDC in AL dest... altrimenti CREO!!!
|
||||
udcDest = checkCreaUDC();
|
||||
|
||||
// verifico che NON SIA GIA' associato...
|
||||
bool udcGiaAssociato = false;
|
||||
try
|
||||
{
|
||||
udcGiaAssociato = MagClass.magazzino.checkAssociazioneUdcParent(udcDest, barcodeIn);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
if (!udcGiaAssociato)
|
||||
{
|
||||
// associo UDC con quello di destinazione SE NECESSARIO
|
||||
MagClass.magazzino.associaUdcParent(udcDest, barcodeIn, true);
|
||||
}
|
||||
// controllo se UDC non sia già stato spostato in posizione... dsMagazzino, posizUdcCorrente, getByUdc
|
||||
if (idxCellaCurr == Postazione.currIdxCella)
|
||||
{
|
||||
Postazione.messaggiText += " - Attenzione, UDC già caricato!";
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
// controllo SE esista già UDC in AL dest... altrimenti CREO!!!
|
||||
checkCreaUDC();
|
||||
}
|
||||
else
|
||||
{
|
||||
// verifico per eventuale consumo vecchio UDC... cerco nella posizione
|
||||
DS_magazzino.v_UdcDetailDataTable tabUdcDet = null;
|
||||
try
|
||||
{
|
||||
// cerco nella posizione
|
||||
tabUdcDet = MagClass.magazzino.taDettUDC.getUdcDetailByIdxCella(idxCella);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// carico UDC letto in cella...
|
||||
DateTime adesso = DateTime.Now;
|
||||
string noteTrim = Postazione.currNomeLinea;
|
||||
// cerco se NON ci sia l'UDC letto...
|
||||
if (tabUdcDet.Select(string.Format("UDC = '{0}'", barcodeIn)).Length == 0)
|
||||
{
|
||||
string oldUdc = "";
|
||||
try
|
||||
{
|
||||
oldUdc = ((DS_magazzino.v_UdcDetailRow)tabUdcDet.Select(string.Format("Particolare = '{0}'", origParticolare))[0]).UDC;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// se trovo un altro UDC dello stesso particolare...
|
||||
if (oldUdc != "")
|
||||
{
|
||||
// consumo UDC
|
||||
consumaUdc(oldUdc);
|
||||
}
|
||||
|
||||
// se ho cod cella sposto UDC in nuova posizione!
|
||||
MagClass.magazzino.spostaUDC(CodCs, barcodeIn, Postazione.currIdxCella, memLayer.ML.confReadBool("spostaUdcResettaLdp"), Request.UserHostName);
|
||||
// registro spostamento UDC
|
||||
MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, barcodeIn, currParticolare, "spostaUDC", string.Format("Caricato UDC FINITI su linea {2}, qta: {0} {1} ", qta, noteTrim, Postazione.currCodLinea));
|
||||
|
||||
}
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
}
|
||||
}
|
||||
}
|
||||
else // non trovo part LVT
|
||||
{
|
||||
Postazione.messaggiText += traduci("ERR-NC-002");
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
}
|
||||
// controllo SE PER CASO ci fosse NC e ci sia stata deroga, cambio MSG...
|
||||
if (MagClass.magazzino.checkUDC_NC(barcodeIn) == checkUdcNc.ChkDis_HasNc)
|
||||
{
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
Postazione.messaggiText += traduci("ERR-NC-001");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Postazione.messaggiText += traduci("ERR-NC-001");
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update
|
||||
doUpdate();
|
||||
break;
|
||||
case tipoCodiceBarcode.Operatore:
|
||||
// calcolo matricola utente
|
||||
int MatrUtente = -1;
|
||||
string preCodSogg = memLayer.ML.CRS("prefCodSogg");
|
||||
if (barcodeIn.StartsWith(preCodSogg))
|
||||
{
|
||||
MatrUtente = DataProxy.obj.taTrascSogg.getByKey(barcodeIn, 0)[0].CodMatricola;
|
||||
}
|
||||
else
|
||||
{
|
||||
MatrUtente = Convert.ToInt32(barcodeIn);
|
||||
}
|
||||
if (MatrUtente >= 0)
|
||||
{
|
||||
// salvo in sessione operatore con AUTH
|
||||
OpAuth.startOpAuth(MatrUtente);
|
||||
// mostro che ho autorizzato...
|
||||
Postazione.messaggiText += traduci("userAuthRec");
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
Response.Redirect(user_std.pagCorrente);
|
||||
}
|
||||
else
|
||||
{
|
||||
Postazione.messaggiText += " - codice <b>non riconosciuto</b>!";
|
||||
Postazione.CssClass = "stileComandoND";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// cerco se sia "0" = reset utente...
|
||||
if (barcodeIn == memLayer.ML.CRS("resetCodSogg"))
|
||||
{
|
||||
// salvo in sessione operatore con AUTH
|
||||
OpAuth.stopAuth();
|
||||
// mostro che ho autorizzato...
|
||||
Postazione.messaggiText += traduci("userAuthRem");
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
Response.Redirect(user_std.pagCorrente);
|
||||
}
|
||||
Postazione.messaggiText += " - codice <b>non riconosciuto</b>!";
|
||||
Postazione.CssClass = "stileComandoND";
|
||||
break;
|
||||
}
|
||||
barcodeIn = "";
|
||||
lastBarcodeIn = "-";
|
||||
return ddlImballi.SelectedValue;
|
||||
}
|
||||
else
|
||||
|
||||
set
|
||||
{
|
||||
if (lastBarcodeIn == "")
|
||||
{
|
||||
Postazione.messaggiText = traduci("AttesaBCode");
|
||||
Postazione.CssClass = "stileAttesa";
|
||||
}
|
||||
lastBarcodeIn = "";
|
||||
ddlImballi.SelectedValue = value;
|
||||
}
|
||||
doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// crea eventualmente UDC per particolare in AL di destinazione e restituisce codice UDC
|
||||
|
||||
@@ -22,6 +22,7 @@ namespace GMW.WebUserControls
|
||||
eventoUDC_qta = "UDC_QTY";
|
||||
codLineaKo = "W2300";
|
||||
tipoUdcRist = "Finito Lavorato";
|
||||
IdxPosizioneIn = memLayer.ML.CRI("IdxPosizioneFiniti");
|
||||
}
|
||||
/// <summary>
|
||||
/// Codice AL target
|
||||
@@ -119,258 +120,19 @@ namespace GMW.WebUserControls
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// controlla se ci sia un barcode
|
||||
/// IMposta e legge imballo selezionato
|
||||
/// </summary>
|
||||
public override void checkBarcode()
|
||||
public override string imballoSel
|
||||
{
|
||||
if (barcodeIn != "")
|
||||
get
|
||||
{
|
||||
Postazione.messaggiText = string.Format("Barcode digitato: {0}", barcodeIn);
|
||||
switch (MagClass.tipoBCode_L3(barcodeIn))
|
||||
{
|
||||
case tipoCodiceBarcode.Comando:
|
||||
if (barcodeIn == memLayer.ML.CRS("cmdReset"))
|
||||
{
|
||||
currParticolare = "";
|
||||
Response.Redirect(PagCorrente);
|
||||
}
|
||||
break;
|
||||
case tipoCodiceBarcode.Imballo:
|
||||
// cerco di selezionare!
|
||||
try
|
||||
{
|
||||
ddlImballi.SelectedValue = barcodeIn;
|
||||
}
|
||||
catch
|
||||
{
|
||||
Postazione.warningText = traduci("ERR-IMB-001");
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
break;
|
||||
case tipoCodiceBarcode.Particolare:
|
||||
// imposto il particolare corrente
|
||||
currParticolare = barcodeIn;
|
||||
origParticolare = barcodeIn;
|
||||
impostaParticolare();
|
||||
break;
|
||||
case tipoCodiceBarcode.UDC:
|
||||
// se linea non selezionata ERRORE!!!
|
||||
if (Postazione.currCodLinea == codLineaKo)
|
||||
{
|
||||
Postazione.messaggiText += " - Attenzione, IMPOSTARE LINEA!";
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
else
|
||||
{
|
||||
// procedo solo se UDC esistente
|
||||
if (MagClass.magazzino.checkUDC(barcodeIn))
|
||||
{
|
||||
// controllo se NON ci siano NC "pending"
|
||||
if (MagClass.magazzino.checkUDC_NC(barcodeIn) != checkUdcNc.HasNc)
|
||||
{
|
||||
/********************************************************************
|
||||
* procedo per UDC in ingresso:
|
||||
* - deve essere di tipo IN
|
||||
* - se NON c'è UDC in AL dest a pari particolare LO CREO
|
||||
* - se c'era già UDC per lo stesso particolare --> consumo (il vecchio)
|
||||
* - associo UDC letto ad UDC in AL dest a pari particolare
|
||||
*
|
||||
********************************************************************/
|
||||
|
||||
// controllo IdxPosizione dell'UDC e confronto con posizione in webconfig x trattati (pre lavorazioni meccaniche)
|
||||
int IdxPosizione = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].IdxPosizione;
|
||||
if (IdxPosizione == memLayer.ML.CRI("IdxPosizioneTrattati"))
|
||||
{
|
||||
// calcolo nuovo particolare
|
||||
origParticolare = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Particolare;
|
||||
string udcDest = "";
|
||||
|
||||
string tipoLinea = "";
|
||||
if (Postazione.currNomeLinea.IndexOf("GRZ") >= 0)
|
||||
{
|
||||
tipoLinea = "GRZ";
|
||||
}
|
||||
else
|
||||
{
|
||||
tipoLinea = "LVT";
|
||||
}
|
||||
// chiamo sempre stored x recuperare GRZ da GRZ (solo alcuni) o LVT da GRZ
|
||||
// calcolo particolare LVT da Distinta Base
|
||||
string partLvt = "";
|
||||
MagClass.magazzino.taPartIO.particolareLVTFromGRZ(tipoLinea, origParticolare, CodCs, ref partLvt);
|
||||
currParticolare = partLvt;
|
||||
// continuo controlli
|
||||
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 = "stileComandoKo";
|
||||
}
|
||||
else
|
||||
{
|
||||
// controllo SE esista già UDC in AL dest... altrimenti CREO!!!
|
||||
udcDest = checkCreaUDC();
|
||||
|
||||
// verifico che NON SIA GIA' associato...
|
||||
bool udcGiaAssociato = false;
|
||||
try
|
||||
{
|
||||
udcGiaAssociato = MagClass.magazzino.checkAssociazioneUdcParent(udcDest, barcodeIn);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
if (!udcGiaAssociato)
|
||||
{
|
||||
// associo UDC con quello di destinazione SE NECESSARIO
|
||||
MagClass.magazzino.associaUdcParent(udcDest, barcodeIn, true);
|
||||
}
|
||||
// controllo se UDC non sia già stato spostato in posizione... dsMagazzino, posizUdcCorrente, getByUdc
|
||||
if (idxCellaCurr == Postazione.currIdxCella)
|
||||
{
|
||||
Postazione.messaggiText += " - Attenzione, UDC già caricato!";
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
// controllo SE esista già UDC in AL dest... altrimenti CREO!!!
|
||||
checkCreaUDC();
|
||||
}
|
||||
else
|
||||
{
|
||||
// verifico per eventuale consumo vecchio UDC... cerco nella posizione
|
||||
DS_magazzino.v_UdcDetailDataTable tabUdcDet = null;
|
||||
try
|
||||
{
|
||||
// cerco nella posizione
|
||||
tabUdcDet = MagClass.magazzino.taDettUDC.getUdcDetailByIdxCella(idxCella);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// carico UDC letto in cella...
|
||||
DateTime adesso = DateTime.Now;
|
||||
string noteTrim = Postazione.currNomeLinea;
|
||||
// cerco se NON ci sia l'UDC letto...
|
||||
if (tabUdcDet.Select(string.Format("UDC = '{0}'", barcodeIn)).Length == 0)
|
||||
{
|
||||
string oldUdc = "";
|
||||
try
|
||||
{
|
||||
oldUdc = ((DS_magazzino.v_UdcDetailRow)tabUdcDet.Select(string.Format("Particolare = '{0}'", origParticolare))[0]).UDC;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// se trovo un altro UDC dello stesso particolare...
|
||||
if (oldUdc != "")
|
||||
{
|
||||
// consumo UDC
|
||||
consumaUdc(oldUdc);
|
||||
}
|
||||
|
||||
// se ho cod cella sposto UDC in nuova posizione!
|
||||
MagClass.magazzino.spostaUDC(CodCs, barcodeIn, Postazione.currIdxCella, memLayer.ML.confReadBool("spostaUdcResettaLdp"), Request.UserHostName);
|
||||
// registro spostamento UDC
|
||||
MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, barcodeIn, currParticolare, "spostaUDC", string.Format("Caricato UDC FINITI su linea {2}, qta: {0} {1} ", qta, noteTrim, Postazione.currCodLinea));
|
||||
|
||||
}
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
}
|
||||
}
|
||||
}
|
||||
else // non trovo part LVT
|
||||
{
|
||||
Postazione.messaggiText += traduci("ERR-NC-002");
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
}
|
||||
// controllo SE PER CASO ci fosse NC e ci sia stata deroga, cambio MSG...
|
||||
if (MagClass.magazzino.checkUDC_NC(barcodeIn) == checkUdcNc.ChkDis_HasNc)
|
||||
{
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
Postazione.messaggiText += traduci("ERR-NC-001");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Postazione.messaggiText += traduci("ERR-NC-001");
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update
|
||||
doUpdate();
|
||||
break;
|
||||
case tipoCodiceBarcode.Operatore:
|
||||
// calcolo matricola utente
|
||||
int MatrUtente = -1;
|
||||
string preCodSogg = memLayer.ML.CRS("prefCodSogg");
|
||||
if (barcodeIn.StartsWith(preCodSogg))
|
||||
{
|
||||
MatrUtente = DataProxy.obj.taTrascSogg.getByKey(barcodeIn, 0)[0].CodMatricola;
|
||||
}
|
||||
else
|
||||
{
|
||||
MatrUtente = Convert.ToInt32(barcodeIn);
|
||||
}
|
||||
if (MatrUtente >= 0)
|
||||
{
|
||||
// salvo in sessione operatore con AUTH
|
||||
OpAuth.startOpAuth(MatrUtente);
|
||||
// mostro che ho autorizzato...
|
||||
Postazione.messaggiText += traduci("userAuthRec");
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
Response.Redirect(user_std.pagCorrente);
|
||||
}
|
||||
else
|
||||
{
|
||||
Postazione.messaggiText += " - codice <b>non riconosciuto</b>!";
|
||||
Postazione.CssClass = "stileComandoND";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// cerco se sia "0" = reset utente...
|
||||
if (barcodeIn == memLayer.ML.CRS("resetCodSogg"))
|
||||
{
|
||||
// salvo in sessione operatore con AUTH
|
||||
OpAuth.stopAuth();
|
||||
// mostro che ho autorizzato...
|
||||
Postazione.messaggiText += traduci("userAuthRem");
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
Response.Redirect(user_std.pagCorrente);
|
||||
}
|
||||
Postazione.messaggiText += " - codice <b>non riconosciuto</b>!";
|
||||
Postazione.CssClass = "stileComandoND";
|
||||
break;
|
||||
}
|
||||
barcodeIn = "";
|
||||
lastBarcodeIn = "-";
|
||||
return ddlImballi.SelectedValue;
|
||||
}
|
||||
else
|
||||
|
||||
set
|
||||
{
|
||||
if (lastBarcodeIn == "")
|
||||
{
|
||||
Postazione.messaggiText = traduci("AttesaBCode");
|
||||
Postazione.CssClass = "stileAttesa";
|
||||
}
|
||||
lastBarcodeIn = "";
|
||||
ddlImballi.SelectedValue = value;
|
||||
}
|
||||
doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// crea eventualmente UDC per particolare in AL di destinazione e restituisce codice UDC
|
||||
@@ -426,7 +188,7 @@ namespace GMW.WebUserControls
|
||||
/// <summary>
|
||||
/// aggiorna tabella + focus a barcode
|
||||
/// </summary>
|
||||
public override void doUpdate()
|
||||
public override void doUpdate()
|
||||
{
|
||||
base.doUpdate();
|
||||
grView.DataBind();
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -39,6 +39,10 @@ namespace GMW_data
|
||||
/// </summary>
|
||||
public string tipoUdcRist = "";
|
||||
/// <summary>
|
||||
/// IdxPosizione x UDC in ingresso
|
||||
/// </summary>
|
||||
public int IdxPosizioneIn = 0;
|
||||
/// <summary>
|
||||
/// Impostazione variabili specifiche
|
||||
/// </summary>
|
||||
public virtual void setupVariabili()
|
||||
@@ -338,6 +342,18 @@ namespace GMW_data
|
||||
{ }
|
||||
}
|
||||
/// <summary>
|
||||
/// Imballo selezionato
|
||||
/// </summary>
|
||||
public virtual string imballoSel
|
||||
{
|
||||
get
|
||||
{
|
||||
return "";
|
||||
}
|
||||
set
|
||||
{ }
|
||||
}
|
||||
/// <summary>
|
||||
/// Metodo aggiornamento qta
|
||||
/// </summary>
|
||||
public virtual void aggiornaQta()
|
||||
@@ -492,6 +508,7 @@ namespace GMW_data
|
||||
MagClass.magazzino.taAL.updatePost(codLinea, Postazione.name);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region area metodi interazione controlli
|
||||
@@ -539,7 +556,7 @@ namespace GMW_data
|
||||
{
|
||||
aggiornaQta();
|
||||
}
|
||||
|
||||
|
||||
public virtual void grView_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
// fix dell'ODS
|
||||
@@ -594,11 +611,288 @@ namespace GMW_data
|
||||
|
||||
#region metodi da customizzare in ogni pagina
|
||||
|
||||
/// <summary>
|
||||
/// tenta di impostare l'imballo al valore indicato altrimenti mostra errore
|
||||
/// </summary>
|
||||
/// <param name="valore"></param>
|
||||
public virtual void trySetImballo(string valore)
|
||||
{
|
||||
// cerco di selezionare!
|
||||
try
|
||||
{
|
||||
imballoSel = valore;
|
||||
}
|
||||
catch
|
||||
{
|
||||
Postazione.warningText = traduci("ERR-IMB-001");
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// controlla se ci sia un barcode
|
||||
/// </summary>
|
||||
public virtual void checkBarcode()
|
||||
{ }
|
||||
{
|
||||
if (barcodeIn != "")
|
||||
{
|
||||
Postazione.messaggiText = string.Format("Barcode digitato: {0}", barcodeIn);
|
||||
switch (MagClass.tipoBCode_L3(barcodeIn))
|
||||
{
|
||||
case tipoCodiceBarcode.Comando:
|
||||
if (barcodeIn == memLayer.ML.CRS("cmdReset"))
|
||||
{
|
||||
currParticolare = "";
|
||||
Response.Redirect(PagCorrente);
|
||||
}
|
||||
break;
|
||||
case tipoCodiceBarcode.Imballo:
|
||||
trySetImballo(barcodeIn);
|
||||
break;
|
||||
case tipoCodiceBarcode.Particolare:
|
||||
// imposto il particolare corrente
|
||||
currParticolare = barcodeIn;
|
||||
origParticolare = barcodeIn;
|
||||
impostaParticolare();
|
||||
break;
|
||||
case tipoCodiceBarcode.UDC:
|
||||
preProcessBCodeUdc();
|
||||
// update
|
||||
doUpdate();
|
||||
break;
|
||||
case tipoCodiceBarcode.Operatore:
|
||||
// calcolo matricola utente
|
||||
int MatrUtente = -1;
|
||||
string preCodSogg = memLayer.ML.CRS("prefCodSogg");
|
||||
if (barcodeIn.StartsWith(preCodSogg))
|
||||
{
|
||||
MatrUtente = DataProxy.obj.taTrascSogg.getByKey(barcodeIn, 0)[0].CodMatricola;
|
||||
}
|
||||
else
|
||||
{
|
||||
MatrUtente = Convert.ToInt32(barcodeIn);
|
||||
}
|
||||
if (MatrUtente >= 0)
|
||||
{
|
||||
// salvo in sessione operatore con AUTH
|
||||
OpAuth.startOpAuth(MatrUtente);
|
||||
// mostro che ho autorizzato...
|
||||
Postazione.messaggiText += traduci("userAuthRec");
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
Response.Redirect(user_std.pagCorrente);
|
||||
}
|
||||
else
|
||||
{
|
||||
Postazione.messaggiText += " - codice <b>non riconosciuto</b>!";
|
||||
Postazione.CssClass = "stileComandoND";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// cerco se sia "0" = reset utente...
|
||||
if (barcodeIn == memLayer.ML.CRS("resetCodSogg"))
|
||||
{
|
||||
// salvo in sessione operatore con AUTH
|
||||
OpAuth.stopAuth();
|
||||
// mostro che ho autorizzato...
|
||||
Postazione.messaggiText += traduci("userAuthRem");
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
Response.Redirect(user_std.pagCorrente);
|
||||
}
|
||||
Postazione.messaggiText += " - codice <b>non riconosciuto</b>!";
|
||||
Postazione.CssClass = "stileComandoND";
|
||||
break;
|
||||
}
|
||||
barcodeIn = "";
|
||||
lastBarcodeIn = "-";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (lastBarcodeIn == "")
|
||||
{
|
||||
Postazione.messaggiText = traduci("AttesaBCode");
|
||||
Postazione.CssClass = "stileAttesa";
|
||||
}
|
||||
lastBarcodeIn = "";
|
||||
}
|
||||
doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// Pre-processing di un barcode tipo UDC
|
||||
/// </summary>
|
||||
public virtual void preProcessBCodeUdc()
|
||||
{
|
||||
// se linea non selezionata ERRORE!!!
|
||||
if (Postazione.currCodLinea == codLineaKo)
|
||||
{
|
||||
Postazione.messaggiText += " - Attenzione, IMPOSTARE LINEA!";
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
else
|
||||
{
|
||||
// procedo solo se UDC esistente
|
||||
if (MagClass.magazzino.checkUDC(barcodeIn))
|
||||
{
|
||||
// controllo se NON ci siano NC "pending"
|
||||
if (MagClass.magazzino.checkUDC_NC(barcodeIn) != checkUdcNc.HasNc)
|
||||
{
|
||||
string tipoLinea = "";
|
||||
if (Postazione.currNomeLinea.IndexOf("GRZ") >= 0)
|
||||
{
|
||||
tipoLinea = "GRZ";
|
||||
}
|
||||
else if (Postazione.currNomeLinea.IndexOf("LVT") >= 0)
|
||||
{
|
||||
tipoLinea = "LVT";
|
||||
}
|
||||
else
|
||||
{
|
||||
tipoLinea = "ND";
|
||||
}
|
||||
processBCodeUdc(tipoLinea);
|
||||
// controllo SE PER CASO ci fosse NC e ci sia stata deroga, cambio MSG...
|
||||
if (MagClass.magazzino.checkUDC_NC(barcodeIn) == checkUdcNc.ChkDis_HasNc)
|
||||
{
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
Postazione.messaggiText += traduci("ERR-NC-001");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Postazione.messaggiText += traduci("ERR-NC-001");
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Gestione specifica barcode x tipo linea
|
||||
/// </summary>
|
||||
/// <param name="tipoLinea"></param>
|
||||
public virtual void processBCodeUdc(string tipoLinea)
|
||||
{
|
||||
/********************************************************************
|
||||
* procedo per UDC in ingresso:
|
||||
* - deve essere di tipo IN
|
||||
* - se NON c'è UDC in AL dest a pari particolare LO CREO
|
||||
* - se c'era già UDC per lo stesso particolare --> consumo (il vecchio)
|
||||
* - associo UDC letto ad UDC in AL dest a pari particolare
|
||||
*
|
||||
********************************************************************/
|
||||
|
||||
// controllo IdxPosizione dell'UDC e confronto con posizione in webconfig x trattati (pre lavorazioni meccaniche)
|
||||
int IdxPosizione = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].IdxPosizione;
|
||||
if (IdxPosizione == IdxPosizioneIn)
|
||||
{
|
||||
// calcolo nuovo particolare
|
||||
origParticolare = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Particolare;
|
||||
string udcDest = "";
|
||||
|
||||
// chiamo sempre stored x recuperare GRZ da GRZ (solo alcuni) o LVT da GRZ o LVT da LVT (supercubati)
|
||||
// calcolo particolare OUT da Distinta Base
|
||||
string partOut = "";
|
||||
MagClass.magazzino.taPartIO.particolareLVTFromGRZ(tipoLinea, origParticolare, CodCs, ref partOut);
|
||||
currParticolare = partOut;
|
||||
// continuo controlli
|
||||
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 = "stileComandoKo";
|
||||
}
|
||||
else
|
||||
{
|
||||
// controllo SE esista già UDC in AL dest... altrimenti CREO!!!
|
||||
udcDest = checkCreaUDC();
|
||||
|
||||
// verifico che NON SIA GIA' associato...
|
||||
bool udcGiaAssociato = false;
|
||||
try
|
||||
{
|
||||
udcGiaAssociato = MagClass.magazzino.checkAssociazioneUdcParent(udcDest, barcodeIn);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
if (!udcGiaAssociato)
|
||||
{
|
||||
// associo UDC con quello di destinazione SE NECESSARIO
|
||||
MagClass.magazzino.associaUdcParent(udcDest, barcodeIn, true);
|
||||
}
|
||||
// controllo se UDC non sia già stato spostato in posizione... dsMagazzino, posizUdcCorrente, getByUdc
|
||||
if (idxCellaCurr == Postazione.currIdxCella)
|
||||
{
|
||||
Postazione.messaggiText += " - Attenzione, UDC già caricato!";
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
// controllo SE esista già UDC in AL dest... altrimenti CREO!!!
|
||||
checkCreaUDC();
|
||||
}
|
||||
else
|
||||
{
|
||||
// verifico per eventuale consumo vecchio UDC... cerco nella posizione
|
||||
DS_magazzino.v_UdcDetailDataTable tabUdcDet = null;
|
||||
try
|
||||
{
|
||||
// cerco nella posizione
|
||||
tabUdcDet = MagClass.magazzino.taDettUDC.getUdcDetailByIdxCella(idxCella);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// carico UDC letto in cella...
|
||||
DateTime adesso = DateTime.Now;
|
||||
string noteTrim = Postazione.currNomeLinea;
|
||||
// cerco se NON ci sia l'UDC letto...
|
||||
if (tabUdcDet.Select(string.Format("UDC = '{0}'", barcodeIn)).Length == 0)
|
||||
{
|
||||
string oldUdc = "";
|
||||
try
|
||||
{
|
||||
oldUdc = ((DS_magazzino.v_UdcDetailRow)tabUdcDet.Select(string.Format("Particolare = '{0}'", origParticolare))[0]).UDC;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// se trovo un altro UDC dello stesso particolare...
|
||||
if (oldUdc != "")
|
||||
{
|
||||
// consumo UDC
|
||||
consumaUdc(oldUdc);
|
||||
}
|
||||
|
||||
// se ho cod cella sposto UDC in nuova posizione!
|
||||
MagClass.magazzino.spostaUDC(CodCs, barcodeIn, Postazione.currIdxCella, memLayer.ML.CRB("spostaUdcResettaLdp"), Request.UserHostName);
|
||||
// registro spostamento UDC
|
||||
MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, barcodeIn, currParticolare, "spostaUDC", string.Format("Caricato UDC {3} su linea {2}, qta: {0} {1} ", qta, noteTrim, Postazione.currCodLinea, tipoUdcRist));
|
||||
|
||||
}
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
}
|
||||
}
|
||||
}
|
||||
else // non trovo part LVT
|
||||
{
|
||||
Postazione.messaggiText += traduci("ERR-NC-002");
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// segnaposto gestione creazione opzionale UDC
|
||||
/// </summary>
|
||||
@@ -614,7 +908,7 @@ namespace GMW_data
|
||||
/// <param name="e"></param>
|
||||
public virtual void btnStampa_Click(object sender, EventArgs e)
|
||||
{ }
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user