Aggiunta setup per "Disabilitare" il picking libero quando si spara un'etichetta cartone

This commit is contained in:
Marco Elefante 2024-05-31 18:38:25 +02:00
parent 267aa85e01
commit 05d930d8f7
3 changed files with 23 additions and 6 deletions

View File

@ -78,6 +78,7 @@ public class DBSettingsModel {
private boolean flagTracciamentoImballiCaricoEnabled = false; private boolean flagTracciamentoImballiCaricoEnabled = false;
private boolean flagTracciamentoImballiScaricoEnabled = false; private boolean flagTracciamentoImballiScaricoEnabled = false;
private boolean flagPickingLiberoEnableScanArt = false;
public boolean isFlagSpedizioneEnableFakeGiacenza() { public boolean isFlagSpedizioneEnableFakeGiacenza() {
return flagSpedizioneEnableFakeGiacenza; return flagSpedizioneEnableFakeGiacenza;
@ -654,4 +655,13 @@ public class DBSettingsModel {
this.flagTracciamentoImballiScaricoEnabled = flagTracciamentoImballiScaricoEnabled; this.flagTracciamentoImballiScaricoEnabled = flagTracciamentoImballiScaricoEnabled;
return this; return this;
} }
public boolean isFlagPickingLiberoEnableScanArt() {
return flagPickingLiberoEnableScanArt;
}
public DBSettingsModel setFlagPickingLiberoEnableScanArt(boolean flagPickingLiberoEnableScanArt) {
this.flagPickingLiberoEnableScanArt = flagPickingLiberoEnableScanArt;
return this;
}
} }

View File

@ -518,6 +518,12 @@ public class SettingsManager {
.setKeySection("FLAG_WARNING_NEW_PARTITA_MAG") .setKeySection("FLAG_WARNING_NEW_PARTITA_MAG")
.setSetter(dbSettingsModelIstance::setFlagWarningNewPartitaMag) .setSetter(dbSettingsModelIstance::setFlagWarningNewPartitaMag)
.setDefaultValue(false)); .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) stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
.setGestName("PICKING") .setGestName("PICKING")

View File

@ -14,6 +14,7 @@ import javax.inject.Inject;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.core.exception.InvalidCodMdepException; 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.NoLUFoundException;
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException; import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
import it.integry.integrywmsnative.core.exception.ScannedPositionNotExistException; import it.integry.integrywmsnative.core.exception.ScannedPositionNotExistException;
@ -137,13 +138,15 @@ public class PickingLiberoViewModel {
//Cerco tramite etichetta ean 128 (che può indicarmi una UL) //Cerco tramite etichetta ean 128 (che può indicarmi una UL)
this.executeEtichettaEan128(barcodeScanDTO, onComplete); 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) //Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
this.executeEtichettaEanPeso(barcodeScanDTO, onComplete); 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 //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); this.loadArticolo(barcodeScanDTO.getStringValue(), null, onComplete);
} else {
this.sendError(new NoArtsFoundException());
} }
} }
@ -269,18 +272,16 @@ public class PickingLiberoViewModel {
if (!UtilityString.isNullOrEmpty(ean128Model.Content)) if (!UtilityString.isNullOrEmpty(ean128Model.Content))
barcodeProd = ean128Model.Content; barcodeProd = ean128Model.Content;
if (!UtilityString.isNullOrEmpty(barcodeProd)) { if (!UtilityString.isNullOrEmpty(barcodeProd)) {
if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) { if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
this.executeEtichettaLU(ean128Model.Sscc, onComplete); this.executeEtichettaLU(ean128Model.Sscc, onComplete);
} else if (!UtilityString.isNullOrEmpty(barcodeProd)) { } else if (!UtilityString.isNullOrEmpty(barcodeProd) && SettingsManager.iDB().isFlagPickingLiberoEnableScanArt()) {
this.loadArticolo(barcodeProd, ean128Model, onComplete); this.loadArticolo(barcodeProd, ean128Model, onComplete);
} else { } else {
this.sendError(new NoLUFoundException()); this.sendError(new NoLUFoundException());
} }
} else { } else {
//EAN 128 non completo o comunque mancano i riferimenti al prodotto //EAN 128 non completo o comunque mancano i riferimenti al prodotto
this.sendError(new NoLUFoundException()); this.sendError(new NoLUFoundException());
@ -326,7 +327,7 @@ public class PickingLiberoViewModel {
private void createNewLU_PostClienteAsk(Integer customNumCollo, String customSerCollo, VtbDest vtbDest, Runnable onComplete) { private void createNewLU_PostClienteAsk(Integer customNumCollo, String customSerCollo, VtbDest vtbDest, Runnable onComplete) {
if (this.mFlagAskLineaProd) { if (this.mFlagAskLineaProd) {
this.sendLULineaProdRequired(response -> { 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(); this.sendOnLoadingEnded();