using AppData; using NKC_SDK; using System; using System.Web.UI; namespace NKC_WF.WebUserControls { public partial class cmp_stackBuilding : BaseUserControl { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { // svuoto input barcode... cmp_barcode.inputAcquired = ""; lastCmd = ""; // pulisco dir temp dai file dei cartellini stampati reportPrinter.obj.pulisciDir(); } cmp_barcode.eh_doRefresh += Cmp_barcode_eh_doRefresh; } // se NON ci sono altri campi "next" allora posso msotrare stampa... private void checkPrint() { DS_App.SheetListDataTable nextTbl = DataLayer.man.taSHL.getNextByStack(StackId); // se tab vuota --> HO FINITO, mostro stampa... divPrint.Visible = (nextTbl.Count == 0); } /// /// Comando barcode letto /// protected string lastCmd { get { return hfBarcode.Value; } set { hfBarcode.Value = value; } } private void Cmp_barcode_eh_doRefresh(object sender, EventArgs e) { // processo evento.. lastCmd = cmp_barcode.inputAcquired.ToUpper(); // processiamo barcode letto decodedData decoData = DataLayer.man.decodeBcode(lastCmd); switch (decoData.codeType) { case codeType.UNK: cmp_barcode.showOutput("text-danger", "Unknown Data"); break; case codeType.Item: case codeType.ItemGeneric: cmp_barcode.showOutput("text-warning", "Item - ignored"); break; case codeType.Material: // verifico SE il materiale SIA quello dello sheet richiesto dallo stack/bunk corrente... DS_App.SheetListDataTable nextTbl = DataLayer.man.taSHL.getNextByStack(StackId); // se tab vuota --> HO FINITO!!!! if (nextTbl.Count == 0) { cmp_barcode.showOutput("badge badge-warning", $"STACK IS COMPLETED, {decoData.description}"); } // se ho valori --> controllo se corretto... else { string codReq = nextTbl[0].MatExtCode.ToString(); if (codReq == decoData.codeInt.ToString()) { cmp_barcode.showOutput("badge badge-success", $"SHEET RECORDED: {decoData.description}"); // chiamo stored x indicare preparato DataLayer.man.taSHL.setPrepared(nextTbl[0].SheetID); } else { cmp_barcode.showOutput("badge badge-danger", $"WRONG SHEET: {decoData.description}"); } } break; case codeType.Sheet: cmp_barcode.showOutput("badge badge-warning", "Sheet - ignored"); break; case codeType.Stack: cmp_barcode.showOutput("badge badge-warning", "Stack - ignored"); break; case codeType.Batch: cmp_barcode.showOutput("badge badge-warning", "Batch - ignored"); break; default: break; } // reset comando cmp_barcode.resetInput(); // aggiorno... doUpdate(); } public void doUpdate() { repCtrl.DataBind(); checkPrint(); } public int StackId { set { hfStackId.Value = value.ToString(); lastCmd = ""; cmp_barcode.resetMessage(); ComLib.updateBatchPositionByBunk(value); doUpdate(); } get { int answ = 0; int.TryParse(hfStackId.Value, out answ); return answ; } } public string cssFlashNext(object _isNext) { string answ = ""; if (_isNext.ToString() == "1") { answ = " flashColor"; } return answ; } public string cssByPrepared(object _prepared, object _isNext) { string answ = "table-secondary border border-secondary border-thick rounded"; if (_isNext.ToString() == "1") { answ = "table-primary flashColor rounded"; } else { if (!string.IsNullOrEmpty(_prepared.ToString())) { answ = "table-success border border-success border-thick rounded"; } } return answ; } /// /// Chiesta stampa stack corrente /// /// /// protected void lbtPrint_Click(object sender, EventArgs e) { // chiamo procedura stampa report x stack string printer = DataLayer.man.getPrinter("PC-MACHINE-STACK-BUILD"); DataLayer.man.stampaDoc(StackId.ToString(), printer, tipoDocumento.docStack, Request.UserHostName); // aggiorno stato BATCH ComLib.updateBatchPositionByBunk(StackId); } } }