diff --git a/Jenkinsfile b/Jenkinsfile index f642f3f..3a1f797 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,7 +11,7 @@ pipeline { steps { /* calcolo numero versione... diverso x branch MASTER/DEVELOP */ script { - withEnv(['NEXT_BUILD_NUMBER=370']) { + withEnv(['NEXT_BUILD_NUMBER=371']) { // env.versionNumber = VersionNumber(versionNumberString : '1.2.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true) env.versionNumber = VersionNumber(versionNumberString : '1.2.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') env.versionNumberBeta = VersionNumber(versionNumberString : '1.2.${BUILD_DATE_FORMATTED, "yyMM"}-beta.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') diff --git a/NKC_WF/WebUserControls/cmp_kittingSmart.ascx.cs b/NKC_WF/WebUserControls/cmp_kittingSmart.ascx.cs index d6070e2..9254645 100644 --- a/NKC_WF/WebUserControls/cmp_kittingSmart.ascx.cs +++ b/NKC_WF/WebUserControls/cmp_kittingSmart.ascx.cs @@ -9,6 +9,24 @@ namespace NKC_WF.WebUserControls { public partial class cmp_kittingSmart : BaseUserControl { + #region Protected Properties + + protected DS_App.BinsDataTable currBinTab + { + get + { + return DLMan.taBN.getByItemID(itemIdSelected); + } + } + + protected DS_App.CartsDataTable currCartTab + { + get + { + return DLMan.taCR.getByItemID(itemIdSelected); + } + } + /// /// ID univoco da IP /// @@ -23,6 +41,57 @@ namespace NKC_WF.WebUserControls return hfDeviceId.Value; } } + + /// + /// Comando barcode letto + /// + protected string lastCmd + { + get + { + return hfLastBCode.Value; + } + set + { + hfLastBCode.Value = value; + lastValidCmd = value; + } + } + + /// + /// Ultimo object letto + /// + protected string lastObject + { + get + { + return hfLastObject.Value; + } + set + { + hfLastObject.Value = value; + } + } + + /// + /// ULTIMO Comando barcode VALIDO (!="") letto + /// + protected string lastValidCmd + { + get + { + return hfLastValidBCode.Value; + } + set + { + // solo se è !="" + if (!string.IsNullOrEmpty(value)) + { + hfLastValidBCode.Value = value; + } + } + } + /// /// Sheet selezionato... /// @@ -39,20 +108,28 @@ namespace NKC_WF.WebUserControls return answ; } } - /// - /// Aggiorna dati correnti (IP, batch, sheet...) - /// - protected void updateCurrData() + + #endregion Protected Properties + + #region Public Properties + + public int itemIdSelected { - // FORSE 5/5?!? - DataLayer DLMan = new DataLayer(); - var sheetList = DLMan.taSHL.getByMLStatus(PackListID, 3, 5); - if (sheetList.Count > 0) + get { - SheetID = sheetList[0].SheetID; + int answ = 0; + int.TryParse(hfItemID.Value, out answ); + return answ; + } + set + { + hfItemID.Value = value.ToString(); + bool showBtn = value != 0; + // fix visibilità + lbtCancel.Visible = showBtn; } - DeviceId = ComLib.GetIPAddress().Replace(".", "0").Replace(":", "0"); } + /// /// PackList corrente... /// @@ -69,20 +146,40 @@ namespace NKC_WF.WebUserControls return answ; } } - protected void Page_Load(object sender, EventArgs e) + + #endregion Public Properties + + #region Private Methods + + private void Cmp_barcode_eh_doRefresh(object sender, EventArgs e) { - if (!Page.IsPostBack) + bool doRaiseEv = false; + // processo evento.. + lastCmd = cmp_barcode.inputAcquired.ToUpper(); + doRaiseEv = processLastCmd(doRaiseEv); + + // reset comando + cmp_barcode.inputAcquired = ""; + // aggiorno... + doUpdate(); + if (doRaiseEv) { - lastObject = ""; - resetShowData(); - resetIcons(); - updateCurrData(); + raiseEvent(); } - cmp_barcode.eh_doRefresh += Cmp_barcode_eh_doRefresh; - cmp_barcode.eh_doReset += Cmp_barcode_eh_doReset; - cmp_KS_BinCart.eh_doRefresh += cmp_KS_BinCart_eh_doRefresh; - cmp_KS_OtherItemsCart.eh_doRefresh += cmp_KS_OtherItemsCart_eh_doRefresh; - cmp_KS_Items.eh_doRefresh += cmp_KS_Items_eh_doRefresh; + } + + private void Cmp_barcode_eh_doReset(object sender, EventArgs e) + { + resetIcons(); + } + + private void cmp_KS_BinCart_eh_doRefresh(object sender, EventArgs e) + { + displInfo("PAINT PART added"); + // resetto BIN & CART + resetBin(); + resetCart(); + resetItem(); } private void cmp_KS_Items_eh_doRefresh(object sender, EventArgs e) @@ -103,151 +200,20 @@ namespace NKC_WF.WebUserControls resetItem(); } - private void cmp_KS_BinCart_eh_doRefresh(object sender, EventArgs e) + private void doUpdate() { - displInfo("PAINT PART added"); - // resetto BIN & CART - resetBin(); - resetCart(); - resetItem(); + fixVisibility(); } - private void resetShowData() + private void fixVisibility() { - cmp_KS_Cart.Visible = false; - cmp_KS_BinCart.Visible = false; - cmp_KS_OtherItemsCart.Visible = false; - cmp_KS_Items.Visible = false; - } - - /// - /// Comando barcode letto - /// - protected string lastCmd - { - get - { - return hfLastBCode.Value; - } - set - { - hfLastBCode.Value = value; - lastValidCmd = value; - } - } - /// - /// Ultimo object letto - /// - protected string lastObject - { - get - { - return hfLastObject.Value; - } - set - { - hfLastObject.Value = value; - } - } - /// - /// ULTIMO Comando barcode VALIDO (!="") letto - /// - protected string lastValidCmd - { - get - { - return hfLastValidBCode.Value; - } - set - { - // solo se è !="" - if (!string.IsNullOrEmpty(value)) - { - hfLastValidBCode.Value = value; - } - } - } - private void Cmp_barcode_eh_doReset(object sender, EventArgs e) - { - resetIcons(); - } - - private void Cmp_barcode_eh_doRefresh(object sender, EventArgs e) - { - bool doRaiseEv = false; - // processo evento.. - lastCmd = cmp_barcode.inputAcquired.ToUpper(); - doRaiseEv = processLastCmd(doRaiseEv); - - // reset comando - cmp_barcode.inputAcquired = ""; - // aggiorno... - doUpdate(); - if (doRaiseEv) - { - raiseEvent(); - } - } - - private bool processLastCmd(bool doRaiseEv) - { - if (string.IsNullOrEmpty(lastCmd)) doRaiseEv = true; - // processiamo barcode letto - decodedData decoData = DLMan.decodeBcode(lastCmd); - switch (decoData.codeType) - { - case codeType.UNK: - cmp_barcode.showOutput(cssClass.danger, $"Unknown Data: {decoData.rawData} --> no action"); - resetSelection(); - doRaiseEv = true; - break; - case codeType.Item: - cmp_barcode.showOutput(cssClass.success, $"Valid IT Code: {decoData.rawData}"); - processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); - break; - case codeType.ItemGeneric: - cmp_barcode.showOutput(cssClass.success, $"Valid IG Code: {decoData.rawData}"); - //processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); - break; - case codeType.OtherItem: - cmp_barcode.showOutput(cssClass.success, $"Valid Generic PART Code: {decoData.rawData}"); - processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); - break; - case codeType.Material: - cmp_barcode.showOutput(cssClass.warning, $"Material - ignored: {decoData.description}"); - doRaiseEv = true; - break; - case codeType.Sheet: - cmp_barcode.showOutput(cssClass.warning, $"Sheet - ignored: {decoData.description}"); - doRaiseEv = true; - break; - case codeType.Stack: - cmp_barcode.showOutput(cssClass.warning, $"BUNK - ignored: {decoData.description}"); - doRaiseEv = true; - break; - case codeType.Batch: - cmp_barcode.showOutput(cssClass.warning, $"Batch - ignored: {decoData.description}"); - doRaiseEv = true; - break; - case codeType.Cart: - cmp_barcode.showOutput(cssClass.success, $"Valid CR Code: {decoData.description}"); - processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); - doRaiseEv = true; - break; - case codeType.Bin: - cmp_barcode.showOutput(cssClass.warning, $"BIN NOT PAINTED - Ignored: {decoData.description}"); - doRaiseEv = true; - break; - case codeType.BinProcessed: - cmp_barcode.showOutput(cssClass.success, $"Valid BP Code: {decoData.description}"); - processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); - break; - default: - cmp_barcode.showOutput(cssClass.danger, $"Unknown Data: {decoData.rawData} --> no action"); - resetSelection(); - break; - } - return doRaiseEv; + // reset grafico + cmp_KS_Cart.Visible = cmp_KS_Cart.CartID > 0 && (cmp_KS_BinCart.BinID + cmp_KS_OtherItemsCart.OtherItemID + cmp_KS_Items.ItemID == 0); + cmp_KS_BinCart.Visible = cmp_KS_BinCart.BinID > 0; + cmp_KS_OtherItemsCart.Visible = cmp_KS_OtherItemsCart.OtherItemID > 0; + cmp_KS_Items.Visible = cmp_KS_Items.ItemID > 0; + // fix btn reset! + lbtResetSel.Visible = (itemIdSelected != 0); } /// @@ -373,6 +339,7 @@ namespace NKC_WF.WebUserControls } } break; + case codeType.BinProcessed: // recupero la tab OKIB x iniziare a controllare i dati... var tabOKIB = DLMan.taOKIB.getByBinDtmxProc(rawData); @@ -461,6 +428,7 @@ namespace NKC_WF.WebUserControls } } break; + case codeType.Item: // recupero la tab ITEMS x iniziare a controllare i dati... tabItem = DLMan.taIL.getBySearch(codeInt, rawData, 0, 999); @@ -491,6 +459,7 @@ namespace NKC_WF.WebUserControls } } break; + case codeType.OtherItem: // recupero la tab OKOI x iniziare a controllare i dati... var tabOKOI = DLMan.taOKOI.getByOtherItemDtmx(rawData); @@ -535,39 +504,130 @@ namespace NKC_WF.WebUserControls } } break; + default: lastObject = ""; break; } } - /// - /// Imposta il codice Item sugli oggetti dipendenti - /// - /// - /// - private void setItem(string rawData, int codeInt) + + private bool processLastCmd(bool doRaiseEv) { - itemIdSelected = codeInt; - cmp_KS_Items.ItemID = codeInt; - cmp_KS_Items.ItemDtmx = rawData; - cmp_KS_Items.doUpdate(); + if (string.IsNullOrEmpty(lastCmd)) doRaiseEv = true; + // processiamo barcode letto + decodedData decoData = DLMan.decodeBcode(lastCmd); + switch (decoData.codeType) + { + case codeType.UNK: + cmp_barcode.showOutput(cssClass.danger, $"Unknown Data: {decoData.rawData} --> no action"); + resetSelection(); + doRaiseEv = true; + break; + + case codeType.Item: + cmp_barcode.showOutput(cssClass.success, $"Valid IT Code: {decoData.rawData}"); + processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); + break; + + case codeType.ItemGeneric: + cmp_barcode.showOutput(cssClass.success, $"Valid IG Code: {decoData.rawData}"); + //processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); + break; + + case codeType.OtherItem: + cmp_barcode.showOutput(cssClass.success, $"Valid Generic PART Code: {decoData.rawData}"); + processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); + break; + + case codeType.Material: + cmp_barcode.showOutput(cssClass.warning, $"Material - ignored: {decoData.description}"); + doRaiseEv = true; + break; + + case codeType.Sheet: + cmp_barcode.showOutput(cssClass.warning, $"Sheet - ignored: {decoData.description}"); + doRaiseEv = true; + break; + + case codeType.Stack: + cmp_barcode.showOutput(cssClass.warning, $"BUNK - ignored: {decoData.description}"); + doRaiseEv = true; + break; + + case codeType.Batch: + cmp_barcode.showOutput(cssClass.warning, $"Batch - ignored: {decoData.description}"); + doRaiseEv = true; + break; + + case codeType.Cart: + cmp_barcode.showOutput(cssClass.success, $"Valid CR Code: {decoData.description}"); + processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); + doRaiseEv = true; + break; + + case codeType.Bin: + cmp_barcode.showOutput(cssClass.warning, $"WRONG BIN CODE (BN) - Ignored: {decoData.description}"); + doRaiseEv = true; + break; + + case codeType.BinProcessed: + cmp_barcode.showOutput(cssClass.success, $"Valid BP Code: {decoData.description}"); + processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); + break; + + default: + cmp_barcode.showOutput(cssClass.danger, $"Unknown Data: {decoData.rawData} --> no action"); + resetSelection(); + break; + } + return doRaiseEv; + } + + private void resetBin() + { + cmp_KS_BinCart.BinID = 0; fixVisibility(); } - /// - /// Imposta il codice OtherItem sugli oggetti dipendenti - /// - /// - /// - /// - private void setOtherItem(string rawData, int codeInt, string Description) + + private void resetCart() { - cmp_KS_OtherItemsCart.OtherItemID = codeInt; - cmp_KS_OtherItemsCart.OtherItemDtmx = rawData; - cmp_KS_OtherItemsCart.OtherItemDesc = Description; - cmp_KS_OtherItemsCart.doUpdate(); + cmp_KS_BinCart.CartID = 0; + cmp_KS_OtherItemsCart.CartID = 0; + cmp_KS_Cart.CartID = 0; + cmp_KS_Items.CartID = 0; fixVisibility(); } + private void resetIcons() + { + lblDestination.CssClass = "text-secondary"; + lblDestination.Text = ""; + lblLastBCode.Text = ""; + lbtCancel.Visible = false; + lbtResetSel.Visible = (itemIdSelected != 0); + } + + private void resetItem() + { + itemIdSelected = 0; + cmp_KS_Items.ItemID = 0; + fixVisibility(); + } + + private void resetOtherItem() + { + cmp_KS_OtherItemsCart.OtherItemID = 0; + fixVisibility(); + } + + private void resetShowData() + { + cmp_KS_Cart.Visible = false; + cmp_KS_BinCart.Visible = false; + cmp_KS_OtherItemsCart.Visible = false; + cmp_KS_Items.Visible = false; + } + /// /// Imposta il bin sugli oggetti dipendenti /// @@ -582,6 +642,7 @@ namespace NKC_WF.WebUserControls cmp_KS_BinCart.doUpdate(); fixVisibility(); } + /// /// Imposta il cart sugli oggetti dipendenti /// @@ -609,65 +670,35 @@ namespace NKC_WF.WebUserControls fixVisibility(); } - private void resetBin() + /// + /// Imposta il codice Item sugli oggetti dipendenti + /// + /// + /// + private void setItem(string rawData, int codeInt) { - cmp_KS_BinCart.BinID = 0; - fixVisibility(); - } - - private void resetCart() - { - cmp_KS_BinCart.CartID = 0; - cmp_KS_OtherItemsCart.CartID = 0; - cmp_KS_Cart.CartID = 0; - cmp_KS_Items.CartID = 0; - fixVisibility(); - } - private void resetOtherItem() - { - cmp_KS_OtherItemsCart.OtherItemID = 0; - fixVisibility(); - } - private void resetItem() - { - itemIdSelected = 0; - cmp_KS_Items.ItemID = 0; + itemIdSelected = codeInt; + cmp_KS_Items.ItemID = codeInt; + cmp_KS_Items.ItemDtmx = rawData; + cmp_KS_Items.doUpdate(); fixVisibility(); } /// - /// Mostra INFO ed effettua reset vari... + /// Imposta il codice OtherItem sugli oggetti dipendenti /// - /// - protected void displInfo(string infoMessage) + /// + /// + /// + private void setOtherItem(string rawData, int codeInt, string Description) { - lblSuccessMsg.Text = infoMessage; - divError.Visible = false; - divInfo.Visible = true; - resetSelection(); - } - /// - /// Mostra ERROR ed effettua reset vari... - /// - /// - protected void displError(string errorMessage) - { - lblErrorMsg.Text = errorMessage; - divError.Visible = true; - divInfo.Visible = false; - resetSelection(); - } - /// - /// Reset selezione item + blocchi suggerimento + sel REDIS x pagina unload - /// - protected void resetSelection() - { - // elimino item sel... - itemIdSelected = 0; - resetShowData(); - bool fatto = ComLib.resetItemPickup(SheetID, DeviceId); - lgInfo($"cmp_kittingSmart | ComLib.resetItemPickup | SheetID: {SheetID} | DeviceId: {DeviceId} | done: {fatto}"); + cmp_KS_OtherItemsCart.OtherItemID = codeInt; + cmp_KS_OtherItemsCart.OtherItemDtmx = rawData; + cmp_KS_OtherItemsCart.OtherItemDesc = Description; + cmp_KS_OtherItemsCart.doUpdate(); + fixVisibility(); } + /// /// Mostra o nasconde dettaglio su ITEM letto /// @@ -708,27 +739,34 @@ namespace NKC_WF.WebUserControls case 0: displError(traduci("ErrPartNotReady")); break; + case 1: case 2: case 100: doUpdate(); break; + case 3: displError(traduci("ErrPartAlreadyOnCart")); break; + case 4: // fino a concorrenza qta richiesta sposto, POI do errori displError(traduci("ErrAllPartAlreadyOnBin")); break; + case 5: displError(traduci("ErrPartAlreadyOnKit")); break; + case 990: displError(traduci("ErrPartSt990")); break; + case 991: displError(traduci("ErrPartSt991")); break; + default: displError(traduci("ErrPartStUnkn")); break; @@ -737,61 +775,32 @@ namespace NKC_WF.WebUserControls lbtResetSel.Visible = (itemIdSelected != 0); } - public int itemIdSelected + #endregion Private Methods + + #region Protected Methods + + /// + /// Mostra ERROR ed effettua reset vari... + /// + /// + protected void displError(string errorMessage) { - get - { - int answ = 0; - int.TryParse(hfItemID.Value, out answ); - return answ; - } - set - { - hfItemID.Value = value.ToString(); - bool showBtn = value != 0; - // fix visibilità - lbtCancel.Visible = showBtn; - } + lblErrorMsg.Text = errorMessage; + divError.Visible = true; + divInfo.Visible = false; + resetSelection(); } - private void resetIcons() + /// + /// Mostra INFO ed effettua reset vari... + /// + /// + protected void displInfo(string infoMessage) { - lblDestination.CssClass = "text-secondary"; - lblDestination.Text = ""; - lblLastBCode.Text = ""; - lbtCancel.Visible = false; - lbtResetSel.Visible = (itemIdSelected != 0); - } - - protected DS_App.BinsDataTable currBinTab - { - get - { - return DLMan.taBN.getByItemID(itemIdSelected); - } - } - protected DS_App.CartsDataTable currCartTab - { - get - { - return DLMan.taCR.getByItemID(itemIdSelected); - } - } - - private void doUpdate() - { - fixVisibility(); - } - - private void fixVisibility() - { - // reset grafico - cmp_KS_Cart.Visible = cmp_KS_Cart.CartID > 0 && (cmp_KS_BinCart.BinID + cmp_KS_OtherItemsCart.OtherItemID + cmp_KS_Items.ItemID == 0); - cmp_KS_BinCart.Visible = cmp_KS_BinCart.BinID > 0; - cmp_KS_OtherItemsCart.Visible = cmp_KS_OtherItemsCart.OtherItemID > 0; - cmp_KS_Items.Visible = cmp_KS_Items.ItemID > 0; - // fix btn reset! - lbtResetSel.Visible = (itemIdSelected != 0); + lblSuccessMsg.Text = infoMessage; + divError.Visible = false; + divInfo.Visible = true; + resetSelection(); } protected void lbtCancel_Click(object sender, EventArgs e) @@ -799,6 +808,7 @@ namespace NKC_WF.WebUserControls resetSelection(); showItemDetail(false, null, false); } + protected void lbtResetSel_Click(object sender, EventArgs e) { var tabSheet = DLMan.taSHL.getByItemID(itemIdSelected); @@ -813,5 +823,49 @@ namespace NKC_WF.WebUserControls } } + protected void Page_Load(object sender, EventArgs e) + { + if (!Page.IsPostBack) + { + lastObject = ""; + resetShowData(); + resetIcons(); + updateCurrData(); + } + cmp_barcode.eh_doRefresh += Cmp_barcode_eh_doRefresh; + cmp_barcode.eh_doReset += Cmp_barcode_eh_doReset; + cmp_KS_BinCart.eh_doRefresh += cmp_KS_BinCart_eh_doRefresh; + cmp_KS_OtherItemsCart.eh_doRefresh += cmp_KS_OtherItemsCart_eh_doRefresh; + cmp_KS_Items.eh_doRefresh += cmp_KS_Items_eh_doRefresh; + } + + /// + /// Reset selezione item + blocchi suggerimento + sel REDIS x pagina unload + /// + protected void resetSelection() + { + // elimino item sel... + itemIdSelected = 0; + resetShowData(); + bool fatto = ComLib.resetItemPickup(SheetID, DeviceId); + lgInfo($"cmp_kittingSmart | ComLib.resetItemPickup | SheetID: {SheetID} | DeviceId: {DeviceId} | done: {fatto}"); + } + + /// + /// Aggiorna dati correnti (IP, batch, sheet...) + /// + protected void updateCurrData() + { + // FORSE 5/5?!? + DataLayer DLMan = new DataLayer(); + var sheetList = DLMan.taSHL.getByMLStatus(PackListID, 3, 5); + if (sheetList.Count > 0) + { + SheetID = sheetList[0].SheetID; + } + DeviceId = ComLib.GetIPAddress().Replace(".", "0").Replace(":", "0"); + } + + #endregion Protected Methods } } \ No newline at end of file