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
if (MagClass.magazzino.checkUDC(barcodeIn))
{
// controlo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(barcodeIn))
// controllo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(barcodeIn) != checkUdcNc.HasNc)
{
// cerco di recuperare riga UDC
try
@@ -203,6 +203,12 @@ namespace GMW.WebUserControls
{
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
{
+9 -2
View File
@@ -254,8 +254,8 @@ namespace GMW.WebUserControls
// procedo solo se UDC esistente
if (MagClass.magazzino.checkUDC(barcodeIn))
{
// controlo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(barcodeIn))
// controllo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(barcodeIn) != checkUdcNc.HasNc)
{
// 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;
@@ -309,6 +309,13 @@ namespace GMW.WebUserControls
Postazione.messaggiText += " - Attenzione, UDC NON VALIDO!";
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
{
+16 -11
View File
@@ -373,17 +373,17 @@ namespace GMW.WebUserControls
// procedo solo se UDC esistente
if (MagClass.magazzino.checkUDC(barcodeIn))
{
// controlo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(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 parti 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
*
********************************************************************/
/********************************************************************
* procedo per UDC in ingresso:
* - deve essere di tipo IN
* - se NON c'è UDC in AL dest a parti 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 fusi (pre sterratura/taglio)
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));
}
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
{
+9 -2
View File
@@ -318,8 +318,8 @@ namespace GMW.WebUserControls
// procedo solo se UDC esistente
if (MagClass.magazzino.checkUDC(barcodeIn))
{
// controlo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(barcodeIn))
// controllo se NON ci siano NC "pending"
if (MagClass.magazzino.checkUDC_NC(barcodeIn) != checkUdcNc.HasNc)
{
// 2014.05.19: solo posizioni > 0, era ANCHE se consumati, tolto...
//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.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
{
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"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<StartupScript>(Blank)</StartupScript>
<StartAction>StartNone</StartAction>
</PropertyGroup>
</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)
/// </summary>
/// <param name="UDC"></param>
/// <returns>true = OK nessuna NC, false = ha delle NC</returns>
public bool checkUDC_NC(string UDC)
/// <returns>restituisce esito controllo</returns>
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
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
{
answ = true;
if (hasNc)
{
answ = checkUdcNc.ChkDis_HasNc;
}
else
{
answ = checkUdcNc.ChkDis_NoNc;
}
}
return answ;
}
/// <summary>
/// verifica se l'UDC indicato POSSA ESSERE MOVIMENTATO (ovvero NON in LDP in stato "bloccato")
/// </summary>
@@ -2853,6 +2871,28 @@ public enum statoLista
completata,
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>
/// Tipologia assieme logico
@@ -2860,7 +2900,7 @@ public enum statoLista
public enum tipoAL
{
/// <summary>
/// Non specificato
/// non definito
/// </summary>
ND,
/// <summary>