From 05d930d8f7661e3ed7ed60050457b1513da899f8 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Fri, 31 May 2024 18:38:25 +0200 Subject: [PATCH] Aggiunta setup per "Disabilitare" il picking libero quando si spara un'etichetta cartone --- .../core/settings/DBSettingsModel.java | 10 ++++++++++ .../core/settings/SettingsManager.java | 6 ++++++ .../gest/picking_libero/PickingLiberoViewModel.java | 13 +++++++------ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java index 0c1f0860..efe86553 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java @@ -78,6 +78,7 @@ public class DBSettingsModel { private boolean flagTracciamentoImballiCaricoEnabled = false; private boolean flagTracciamentoImballiScaricoEnabled = false; + private boolean flagPickingLiberoEnableScanArt = false; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -654,4 +655,13 @@ public class DBSettingsModel { this.flagTracciamentoImballiScaricoEnabled = flagTracciamentoImballiScaricoEnabled; return this; } + + public boolean isFlagPickingLiberoEnableScanArt() { + return flagPickingLiberoEnableScanArt; + } + + public DBSettingsModel setFlagPickingLiberoEnableScanArt(boolean flagPickingLiberoEnableScanArt) { + this.flagPickingLiberoEnableScanArt = flagPickingLiberoEnableScanArt; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java index bb2c9c7d..2402e061 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java @@ -518,6 +518,12 @@ public class SettingsManager { .setKeySection("FLAG_WARNING_NEW_PARTITA_MAG") .setSetter(dbSettingsModelIstance::setFlagWarningNewPartitaMag) .setDefaultValue(false)); + stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class) + .setGestName("PICKING") + .setSection("PICKING_LIBERO") + .setKeySection("ENABLE_SCAN_ART") + .setSetter(dbSettingsModelIstance::setFlagPickingLiberoEnableScanArt) + .setDefaultValue(true)); stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class) .setGestName("PICKING") diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java index 171877f8..8ea43452 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java @@ -14,6 +14,7 @@ import javax.inject.Inject; import it.integry.barcode_base_android_library.model.BarcodeScanDTO; import it.integry.integrywmsnative.core.exception.InvalidCodMdepException; +import it.integry.integrywmsnative.core.exception.NoArtsFoundException; import it.integry.integrywmsnative.core.exception.NoLUFoundException; import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException; import it.integry.integrywmsnative.core.exception.ScannedPositionNotExistException; @@ -137,13 +138,15 @@ public class PickingLiberoViewModel { //Cerco tramite etichetta ean 128 (che può indicarmi una UL) this.executeEtichettaEan128(barcodeScanDTO, onComplete); - } else if (UtilityBarcode.isEanPeso(barcodeScanDTO)) { + } else if (UtilityBarcode.isEanPeso(barcodeScanDTO) && SettingsManager.iDB().isFlagPickingLiberoEnableScanArt()) { //Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL) this.executeEtichettaEanPeso(barcodeScanDTO, onComplete); - } else { + } else if (SettingsManager.iDB().isFlagPickingLiberoEnableScanArt()){ //Cerco tramite ean13 un collo in posizione mono ul definita in anagrafica articolo, altrimenti se abilitato procedo con picking manuale this.loadArticolo(barcodeScanDTO.getStringValue(), null, onComplete); + } else { + this.sendError(new NoArtsFoundException()); } } @@ -269,18 +272,16 @@ public class PickingLiberoViewModel { if (!UtilityString.isNullOrEmpty(ean128Model.Content)) barcodeProd = ean128Model.Content; - if (!UtilityString.isNullOrEmpty(barcodeProd)) { if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) { this.executeEtichettaLU(ean128Model.Sscc, onComplete); - } else if (!UtilityString.isNullOrEmpty(barcodeProd)) { + } else if (!UtilityString.isNullOrEmpty(barcodeProd) && SettingsManager.iDB().isFlagPickingLiberoEnableScanArt()) { this.loadArticolo(barcodeProd, ean128Model, onComplete); } else { this.sendError(new NoLUFoundException()); } - } else { //EAN 128 non completo o comunque mancano i riferimenti al prodotto this.sendError(new NoLUFoundException()); @@ -326,7 +327,7 @@ public class PickingLiberoViewModel { private void createNewLU_PostClienteAsk(Integer customNumCollo, String customSerCollo, VtbDest vtbDest, Runnable onComplete) { if (this.mFlagAskLineaProd) { this.sendLULineaProdRequired(response -> { - createNewLU_PostLineaProdAsk(customNumCollo, customSerCollo, vtbDest, response.getPosizione(), response.getIdLotto(), onComplete); + createNewLU_PostLineaProdAsk(customNumCollo, customSerCollo, vtbDest, response.getPosizione(), response.getIdLotto(), onComplete); }, () -> { this.sendOnLoadingEnded();