[CARELLI - Ordini acquisto]

- aggiunta setup per abilitare l'ordine multi griglia
[SAPORI VERI - Ordini acquisto]
- Il dialog di caricamento non sparisce alla chiusura del dialog di inserimento qta
- il calcolo della qtaTotale viene arrotondato troppo (5*0.30=1.51)
This commit is contained in:
Valerio Castellana 2023-05-10 12:25:19 +02:00
parent 44e00f4f98
commit 54d40ca06e
9 changed files with 43 additions and 2 deletions

View File

@ -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));
}
}

View File

@ -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;
}

View File

@ -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));

View File

@ -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

View File

@ -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()));

View File

@ -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<Griglia, List<ArticoloOrdinabileDTO>> mOnDialogDismiss;
@ -53,6 +55,7 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment {
private DialogScanGrigliaAcquistoView(RunnableArgss<Griglia, List<ArticoloOrdinabileDTO>> 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<Exception> mOnError = exception -> {

View File

@ -8,6 +8,8 @@
<variable
name="view"
type="it.integry.integrywmsnative.gest.pv_ordini_acquisto.dialogs.DialogScanGrigliaAcquistoView" />
<import type="android.view.View" />
</data>
<androidx.cardview.widget.CardView
@ -95,6 +97,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Button.PrimaryOutline"
android:visibility="@{view.canIgnoreGrid ? View.VISIBLE : View.GONE}"
android:onClick="@{() -> view.ignore()}"
app:strokeColor="@color/blue_600"
app:icon="@drawable/baseline_skip_next_24"

View File

@ -450,6 +450,7 @@
<string name="no_arts_in_grid">Nessun articolo presente in griglia</string>
<string name="invalid_quantity_ordered">La quantità ordinata non è valida</string>
<string name="grid_not_found">La griglia selezionata non esiste o non presenta articoli</string>
<string name="grid_not_selected">Nessuna griglia selezionata!</string>
<string name="ignore">Ignora</string>
<string name="max_orderable_qty">Qta massima ordinabile</string>
<string name="max_qty_exceeded">Quantità massima superata</string>

View File

@ -459,6 +459,7 @@
<string name="no_arts_in_grid">No product found in grid</string>
<string name="invalid_quantity_ordered">Invalid quantity ordered</string>
<string name="grid_not_found">The selected grid was not found or is empty</string>
<string name="grid_not_selected">No grid was selected</string>
<string name="ignore">Ignore</string>
<string name="max_orderable_qty">Max orderable qty</string>
<string name="max_qty_exceeded">Max quantity exceeded</string>