diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/GridNotSelectedException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/GridNotSelectedException.java new file mode 100644 index 00000000..8eb15df1 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/GridNotSelectedException.java @@ -0,0 +1,12 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public class GridNotSelectedException extends Exception { + + public GridNotSelectedException() { + super(UtilityResources.getString(R.string.grid_not_selected)); + } + +} 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 4fa8bc04..5a052dd5 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 @@ -39,6 +39,7 @@ public class DBSettingsModel { private boolean flagOrdinaNuoviArticoliInGriglia; private boolean flagOrdinaArticoliOnScan; private boolean flagConsentiFuoriPianoLogistico; + private boolean flagConsentiOrdineSenzaGriglia; private String docInterniCheckFornitore; private String produzioneDefaultCodAnag; private boolean flagPrintPackingListOnOrderClose; @@ -449,6 +450,15 @@ public class DBSettingsModel { return this; } + public boolean isFlagConsentiOrdineSenzaGriglia() { + return flagConsentiOrdineSenzaGriglia; + } + + public DBSettingsModel setFlagConsentiOrdineSenzaGriglia(boolean flagConsentiOrdineSenzaGriglia) { + this.flagConsentiOrdineSenzaGriglia = flagConsentiOrdineSenzaGriglia; + return this; + } + public String getCommessaMagazzino() { return commessaMagazzino; } 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 a38d4acf..4f0b67cb 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 @@ -312,6 +312,10 @@ public class SettingsManager { .setGestName("PVM") .setSection("ORDINI_A") .setKeySection("FLAG_CONSENTI_ORIDNE_DA_GRIGLIA")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PVM") + .setSection("ORDINI_A") + .setKeySection("FLAG_CONSENTI_ORIDNE_SENZA_GRIGLIA")); stbGestSetupList.add(new StbGestSetup() .setGestName("PVM") .setSection("DOC_INTERNI") @@ -405,6 +409,7 @@ public class SettingsManager { dbSettingsModelIstance.setFlagPickLiberoAllowEmptyDest(getValueFromList(list, "PICKING_LIBERO", "FLAG_ALLOW_EMPTY_DEST", Boolean.class)); dbSettingsModelIstance.setFlagOrdinaArticoliOnScan(getValueFromList(list, "ORDINI_A", "ORDINA_ARTICOLI_ON_SCAN", Boolean.class)); dbSettingsModelIstance.setFlagConsentiFuoriPianoLogistico(getValueFromList(list, "ORDINI_A", "FLAG_CONSENTI_ORIDNE_DA_GRIGLIA", Boolean.class)); + dbSettingsModelIstance.setFlagConsentiOrdineSenzaGriglia(getValueFromList(list, "ORDINI_A", "FLAG_CONSENTI_ORIDNE_SENZA_GRIGLIA", Boolean.class)); dbSettingsModelIstance.setFlagPrintPackingListOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_PACKING_LIST_ON_CLOSE", Boolean.class)); dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", Boolean.class)); dbSettingsModelIstance.setFlagPrintEtichetteOnLUClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_LU_CLOSE", Boolean.class, true)); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java index 172f84f3..2385784c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java @@ -195,7 +195,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi Toast.makeText(this, "Articolo aggiunto all'ordine!", Toast.LENGTH_SHORT).show(); } this.mViewModel.refreshListArticoli(onSuccess); - }, null).show(this.getSupportFragmentManager(), "DialogEditArticoloView"); + }, this::onLoadingEnded).show(this.getSupportFragmentManager(), "DialogEditArticoloView"); } @Override diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/edit_articolo/DialogEditArticoloView.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/edit_articolo/DialogEditArticoloView.java index 84df33c9..57b17796 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/edit_articolo/DialogEditArticoloView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/edit_articolo/DialogEditArticoloView.java @@ -85,7 +85,7 @@ public class DialogEditArticoloView extends BaseDialogFragment implements Dialog this.mViewModel .setListener(this) .setCurrentArticolo(this.mArticolo) - .setInitialQtaCnf(BigDecimal.valueOf(mArticolo.getQtaCnf())) + .setInitialQtaCnf(BigDecimal.valueOf(mArticolo.getQtaCnf()).setScale(5, RoundingMode.HALF_UP)) .setInitialNumCnf(UtilityBigDecimal.divide(BigDecimal.valueOf(mArticolo.getQtaOrd()), BigDecimal.valueOf(mArticolo.getQtaCnf())).setScale(0, RoundingMode.CEILING)) .setInitialQtaTot(BigDecimal.valueOf(mArticolo.getQtaOrd())); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java index d388c9bb..05cf08fe 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java @@ -23,6 +23,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloOrdinabileDTO; import it.integry.integrywmsnative.core.exception.GridNotFoundException; +import it.integry.integrywmsnative.core.exception.GridNotSelectedException; import it.integry.integrywmsnative.core.exception.NoArtsFoundException; import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.RunnableArgs; @@ -36,6 +37,7 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment { private DialogScanCodiceGrigliaBinding mBinding; private int mBarcodeScannerIstanceID; + public boolean canIgnoreGrid; private final RunnableArgss> mOnDialogDismiss; @@ -53,6 +55,7 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment { private DialogScanGrigliaAcquistoView(RunnableArgss> onDialogDismiss) { super(); mOnDialogDismiss = onDialogDismiss; + canIgnoreGrid = SettingsManager.iDB().isFlagConsentiOrdineSenzaGriglia(); } @NonNull @@ -80,6 +83,12 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment { } public void ignore() { + + if (!this.canIgnoreGrid) { + this.onError(new GridNotSelectedException()); + return; + } + BarcodeManager.disable(); RunnableArgs mOnError = exception -> { diff --git a/app/src/main/res/layout/dialog_scan_codice_griglia.xml b/app/src/main/res/layout/dialog_scan_codice_griglia.xml index dfe9873d..a69b457a 100644 --- a/app/src/main/res/layout/dialog_scan_codice_griglia.xml +++ b/app/src/main/res/layout/dialog_scan_codice_griglia.xml @@ -8,6 +8,8 @@ + + Nessun articolo presente in griglia La quantità ordinata non è valida La griglia selezionata non esiste o non presenta articoli + Nessuna griglia selezionata! Ignora Qta massima ordinabile Quantità massima superata diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 333837f1..d5b84c79 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -459,6 +459,7 @@ No product found in grid Invalid quantity ordered The selected grid was not found or is empty + No grid was selected Ignore Max orderable qty Max quantity exceeded