Primo OK x lampeggio se selezionato in SMART (ma indica NONs caricabile)

This commit is contained in:
Samuele E. Locatelli
2020-01-21 19:11:16 +01:00
parent e25ed6f88f
commit e2cbc49d48
6 changed files with 400 additions and 224 deletions
@@ -21,7 +21,9 @@
</div>
<div class="col-2">
</div>
<div class="col-2">
<div class="col-2 text-light">
<h2>W.I.P.</h2>
(procedure under revision)
</div>
<div class="col-2">
</div>
+1 -1
View File
@@ -110,7 +110,7 @@ namespace NKC_WF.WebUserControls
if (doFullReset)
{
// reset REDIS x css
ComLib.man.resetPostUnload();
ComLib.man.resetSheetUnload();
// aggiorno vocabolario
DataWrap.DW.resetVocabolario();
// reset dati in cache x DbConfig...
+70 -9
View File
@@ -9,6 +9,39 @@ namespace NKC_WF.WebUserControls
protected bool showBin = false;
protected bool showCart = false;
protected bool showSecOp = false;
/// <summary>
/// ID univoco da IP
/// </summary>
protected string deviceId = "AAA";
/// <summary>
/// Batch selezionato
/// </summary>
protected int BatchID;
/// <summary>
/// Sheet selezionato...
/// </summary>
protected int SheetID;
/// <summary>
/// IP del device
/// </summary>
/// <returns></returns>
protected string GetIPAddress()
{
System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}
return context.Request.ServerVariables["REMOTE_ADDR"];
}
protected string secOp
{
get
@@ -20,11 +53,27 @@ namespace NKC_WF.WebUserControls
hfSecOp.Value = value;
}
}
/// <summary>
/// Aggiorna dati correnti (IP, batch, sheet...)
/// </summary>
protected void updateCurrData()
{
//!!!FIXME!!! fare calcolo del VERO batch corrente...
BatchID = 242;
// FORSE 5/5?!?
var sheetList = DataLayer.man.taSHL.getByMLStatus(BatchID, 3, 5);
if (sheetList.Count > 0)
{
SheetID = sheetList[0].SheetID;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
deviceId = GetIPAddress().Replace(".", "_");
resetIcons();
updateCurrData();
}
cmp_barcode.eh_doRefresh += Cmp_barcode_eh_doRefresh;
cmp_barcode.eh_doReset += Cmp_barcode_eh_doReset;
@@ -82,15 +131,6 @@ namespace NKC_WF.WebUserControls
cmp_barcode.inputAcquired = "";
// aggiorno...
doUpdate();
#if false
// se richiesto faccio raiseEvent
if (doRaiseEv)
{
cmp_stackNextloading.doUpdate();
raiseEvent();
}
#endif
}
private bool processLastCmd(bool doRaiseEv)
@@ -102,13 +142,17 @@ namespace NKC_WF.WebUserControls
{
case codeType.UNK:
cmp_barcode.showOutput("text-danger", $"Unknown Data: {decoData.rawData} --> no action");
// elimino item sel...
ComLib.resetItemPickup(SheetID, deviceId);
doRaiseEv = true;
break;
case codeType.Item:
tryPickup(decoData.rawData);
cmp_barcode.showOutput("badge badge-success", $"Valid IT Code: {decoData.rawData}");
processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt);
break;
case codeType.ItemGeneric:
tryPickup(decoData.rawData);
cmp_barcode.showOutput("badge badge-success", $"Valid IG Code: {decoData.rawData}");
processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt);
break;
@@ -138,11 +182,24 @@ namespace NKC_WF.WebUserControls
break;
default:
cmp_barcode.showOutput("text-danger", $"Unknown Data: {decoData.rawData} --> no action");
// elimino item sel...
ComLib.resetItemPickup(SheetID, deviceId);
break;
}
return doRaiseEv;
}
/// <summary>
/// Prova a fare pickup (SOLO SE il mio item è nel foglio corrente...)
/// </summary>
/// <param name="itemDtmx"></param>
protected void tryPickup(string itemDtmx)
{
// salvo in item sel...
updateCurrData();
deviceId = GetIPAddress().Replace(".", "0").Replace(":", "0");
ComLib.saveItemPickup(SheetID, deviceId, itemDtmx);
}
/// <summary>
/// Processo il DataMatrix letto
@@ -199,6 +256,8 @@ namespace NKC_WF.WebUserControls
// dichiaro che è depositato
DataLayer.man.taIL.updateStatus(itemIdSelected, 4, "WRK001");
lblDestination.Text = $"Item {itemIdSelected} PUT IN CART {rawData}";
// elimino item sel...
ComLib.resetItemPickup(SheetID, deviceId);
}
}
break;
@@ -217,6 +276,8 @@ namespace NKC_WF.WebUserControls
// dichiaro che è depositato
DataLayer.man.taIL.updateStatus(itemIdSelected, 5, "WRK001");
lblDestination.Text = $"Item {itemIdSelected} PUT IN BIN {rawData}";
// elimino item sel...
ComLib.resetItemPickup(SheetID, deviceId);
}
}
break;
+196 -194
View File
@@ -7,198 +7,200 @@
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls {
public partial class cmp_unloadSmart {
/// <summary>
/// Controllo cmp_barcode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_barcode cmp_barcode;
/// <summary>
/// Controllo hfLastBCode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfLastBCode;
/// <summary>
/// Controllo hfLastValidBCode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfLastValidBCode;
/// <summary>
/// Controllo divItemDet.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divItemDet;
/// <summary>
/// Controllo hfItemID.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfItemID;
/// <summary>
/// Controllo lblItemCode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblItemCode;
/// <summary>
/// Controllo lblItemDesc.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblItemDesc;
/// <summary>
/// Controllo lblItemDtmx.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblItemDtmx;
/// <summary>
/// Controllo divItemError.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divItemError;
/// <summary>
/// Controllo lblErrorMsg.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblErrorMsg;
/// <summary>
/// Controllo hfSecOp.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfSecOp;
/// <summary>
/// Controllo icnCart.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnCart;
/// <summary>
/// Controllo icnBin.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnBin;
/// <summary>
/// Controllo icnSecOp.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnSecOp;
/// <summary>
/// Controllo lbtCancel.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtCancel;
/// <summary>
/// Controllo lblLastBCode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblLastBCode;
/// <summary>
/// Controllo lblMessage.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessage;
/// <summary>
/// Controllo lblDestination.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblDestination;
/// <summary>
/// Controllo lbtScrapped.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtScrapped;
/// <summary>
/// Controllo lbtParkArea.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtParkArea;
/// <summary>
/// Controllo lbtResetSel.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtResetSel;
}
namespace NKC_WF.WebUserControls
{
public partial class cmp_unloadSmart
{
/// <summary>
/// Controllo cmp_barcode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_barcode cmp_barcode;
/// <summary>
/// Controllo hfLastBCode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfLastBCode;
/// <summary>
/// Controllo hfLastValidBCode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfLastValidBCode;
/// <summary>
/// Controllo divItemDet.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divItemDet;
/// <summary>
/// Controllo hfItemID.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfItemID;
/// <summary>
/// Controllo lblItemCode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblItemCode;
/// <summary>
/// Controllo lblItemDesc.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblItemDesc;
/// <summary>
/// Controllo lblItemDtmx.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblItemDtmx;
/// <summary>
/// Controllo divItemError.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divItemError;
/// <summary>
/// Controllo lblErrorMsg.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblErrorMsg;
/// <summary>
/// Controllo hfSecOp.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfSecOp;
/// <summary>
/// Controllo icnCart.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnCart;
/// <summary>
/// Controllo icnBin.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnBin;
/// <summary>
/// Controllo icnSecOp.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnSecOp;
/// <summary>
/// Controllo lbtCancel.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtCancel;
/// <summary>
/// Controllo lblLastBCode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblLastBCode;
/// <summary>
/// Controllo lblMessage.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessage;
/// <summary>
/// Controllo lblDestination.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblDestination;
/// <summary>
/// Controllo lbtScrapped.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtScrapped;
/// <summary>
/// Controllo lbtParkArea.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtParkArea;
/// <summary>
/// Controllo lbtResetSel.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtResetSel;
}
}