fix gestioen casi con e senza controllo NC (derogato) x mostrare errore

This commit is contained in:
Samuele E. Locatelli
2015-09-21 14:41:25 +02:00
parent fcfc070a73
commit f01a0126f1
14 changed files with 96 additions and 27 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8 -2
View File
@@ -184,8 +184,8 @@ namespace GMW.WebUserControls
// procedo solo se UDC esistente // procedo solo se UDC esistente
if (MagClass.magazzino.checkUDC(barcodeIn)) if (MagClass.magazzino.checkUDC(barcodeIn))
{ {
// controlo se NON ci siano NC "pending" // controllo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(barcodeIn)) if (MagClass.magazzino.checkUDC_NC(barcodeIn) != checkUdcNc.HasNc)
{ {
// cerco di recuperare riga UDC // cerco di recuperare riga UDC
try try
@@ -203,6 +203,12 @@ namespace GMW.WebUserControls
{ {
scaricaUdcFrom(); scaricaUdcFrom();
} }
// 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 else
{ {
+9 -2
View File
@@ -254,8 +254,8 @@ namespace GMW.WebUserControls
// procedo solo se UDC esistente // procedo solo se UDC esistente
if (MagClass.magazzino.checkUDC(barcodeIn)) if (MagClass.magazzino.checkUDC(barcodeIn))
{ {
// controlo se NON ci siano NC "pending" // controllo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(barcodeIn)) if (MagClass.magazzino.checkUDC_NC(barcodeIn) != checkUdcNc.HasNc)
{ {
// controllo IdxPosizione dell'UDC e confronto con posizione in webconfig x trattati (pre lavorazioni meccaniche) // 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; int IdxPosizione = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].IdxPosizione;
@@ -309,6 +309,13 @@ namespace GMW.WebUserControls
Postazione.messaggiText += " - Attenzione, UDC NON VALIDO!"; Postazione.messaggiText += " - Attenzione, UDC NON VALIDO!";
Postazione.CssClass = "stileComandoKo"; 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 else
{ {
+16 -11
View File
@@ -373,17 +373,17 @@ namespace GMW.WebUserControls
// procedo solo se UDC esistente // procedo solo se UDC esistente
if (MagClass.magazzino.checkUDC(barcodeIn)) if (MagClass.magazzino.checkUDC(barcodeIn))
{ {
// controlo se NON ci siano NC "pending" // controllo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(barcodeIn)) if (MagClass.magazzino.checkUDC_NC(barcodeIn) != checkUdcNc.HasNc)
{ {
/******************************************************************** /********************************************************************
* procedo per UDC in ingresso: * procedo per UDC in ingresso:
* - deve essere di tipo IN * - deve essere di tipo IN
* - se NON c'è UDC in AL dest a parti particolare LO CREO * - se NON c'è UDC in AL dest a parti particolare LO CREO
* - se c'era già UDC per lo stesso particolare --> consumo (il vecchio) * - se c'era già UDC per lo stesso particolare --> consumo (il vecchio)
* - associo UDC letto ad UDC in AL dest a pari particolare * - associo UDC letto ad UDC in AL dest a pari particolare
* *
********************************************************************/ ********************************************************************/
// controllo IdxPosizione dell'UDC e confronto con posizione in webconfig x fusi (pre sterratura/taglio) // controllo IdxPosizione dell'UDC e confronto con posizione in webconfig x fusi (pre sterratura/taglio)
int IdxPosizione = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].IdxPosizione; int IdxPosizione = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].IdxPosizione;
@@ -483,11 +483,16 @@ namespace GMW.WebUserControls
MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, barcodeIn, currParticolare, "spostaUDC", string.Format("Caricato UDC Fusi su linea {2}, qta: {0} {1} ", qta, noteTrim, Postazione.currCodLinea)); MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, barcodeIn, currParticolare, "spostaUDC", string.Format("Caricato UDC Fusi su linea {2}, qta: {0} {1} ", qta, noteTrim, Postazione.currCodLinea));
} }
Postazione.CssClass = "stileComandoOk"; Postazione.CssClass = "stileComandoOk";
} }
} }
} }
// 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 else
{ {
+9 -2
View File
@@ -318,8 +318,8 @@ namespace GMW.WebUserControls
// procedo solo se UDC esistente // procedo solo se UDC esistente
if (MagClass.magazzino.checkUDC(barcodeIn)) if (MagClass.magazzino.checkUDC(barcodeIn))
{ {
// controlo se NON ci siano NC "pending" // controllo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(barcodeIn)) if (MagClass.magazzino.checkUDC_NC(barcodeIn) != checkUdcNc.HasNc)
{ {
// 2014.05.19: solo posizioni > 0, era ANCHE se consumati, tolto... // 2014.05.19: solo posizioni > 0, era ANCHE se consumati, tolto...
//if (Math.Abs(MagClass.magazzino.IdxPosizioneUdc(barcodeIn)) == memLayer.ML.confReadInt("IdxPosizioneSterrati")) //if (Math.Abs(MagClass.magazzino.IdxPosizioneUdc(barcodeIn)) == memLayer.ML.confReadInt("IdxPosizioneSterrati"))
@@ -366,6 +366,13 @@ namespace GMW.WebUserControls
Postazione.messaggiText += " - UDC in posizione non corretta!"; Postazione.messaggiText += " - UDC in posizione non corretta!";
Postazione.CssClass = "stileComandoKO"; 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 else
{ {
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
+4
View File
@@ -1,3 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<StartupScript>(Blank)</StartupScript>
<StartAction>StartNone</StartAction>
</PropertyGroup>
</Project> </Project>
+50 -10
View File
@@ -675,27 +675,45 @@ namespace GMW_data
/// verifica se l'UDC indicato sia ESENTE DA NC attive (ovvero senza deroga DC) /// verifica se l'UDC indicato sia ESENTE DA NC attive (ovvero senza deroga DC)
/// </summary> /// </summary>
/// <param name="UDC"></param> /// <param name="UDC"></param>
/// <returns>true = OK nessuna NC, false = ha delle NC</returns> /// <returns>restituisce esito controllo</returns>
public bool checkUDC_NC(string UDC) public checkUdcNc checkUDC_NC(string UDC)
{ {
bool answ = false; /// default caso pessimo...
checkUdcNc answ = checkUdcNc.HasNc;
bool hasNc = false;
try
{
hasNc = (DataProxy.obj.taUDC2NC.getNcPending(UDC, "DC", "NC").Rows.Count == 0);
}
catch
{ }
// se richiesto faccio verifica // se richiesto faccio verifica
if (memLayer.ML.CRB("checkUDC_NC")) if (memLayer.ML.CRB("checkUDC_NC"))
{ {
try if(hasNc)
{ {
answ = (DataProxy.obj.taUDC2NC.getNcPending(UDC, "DC", "NC").Rows.Count == 0); answ = checkUdcNc.HasNc;
}
else
{
answ = checkUdcNc.NoNc;
} }
catch
{ }
} }
// altrimenti è ok di default // altrimenti NON E' richiesta verifica
else else
{ {
answ = true; if (hasNc)
{
answ = checkUdcNc.ChkDis_HasNc;
}
else
{
answ = checkUdcNc.ChkDis_NoNc;
}
} }
return answ; return answ;
} }
/// <summary> /// <summary>
/// verifica se l'UDC indicato POSSA ESSERE MOVIMENTATO (ovvero NON in LDP in stato "bloccato") /// verifica se l'UDC indicato POSSA ESSERE MOVIMENTATO (ovvero NON in LDP in stato "bloccato")
/// </summary> /// </summary>
@@ -2853,6 +2871,28 @@ public enum statoLista
completata, completata,
scaricata scaricata
} }
/// <summary>
/// esito verifica NC su UDC
/// </summary>
public enum checkUdcNc
{
/// <summary>
/// NESSUNA NC
/// </summary>
NoNc,
/// <summary>
/// controllo disabilitato/non bloccate, NC NON presenti
/// </summary>
ChkDis_NoNc,
/// <summary>
/// controllo disabilitato/non bloccate, NC presenti
/// </summary>
ChkDis_HasNc,
/// <summary>
/// ci sono NC, bloccante
/// </summary>
HasNc
}
/// <summary> /// <summary>
/// Tipologia assieme logico /// Tipologia assieme logico
@@ -2860,7 +2900,7 @@ public enum statoLista
public enum tipoAL public enum tipoAL
{ {
/// <summary> /// <summary>
/// Non specificato /// non definito
/// </summary> /// </summary>
ND, ND,
/// <summary> /// <summary>