diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java index f10d2341..dee65413 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java @@ -59,7 +59,7 @@ public class BaseActivity extends AppCompatActivity { protected void openProgress() { BarcodeManager.disable(); - if (!progressOpened) { + if (!progressOpened && !this.mCurrentProgress.isAdded()) { this.progressOpened = true; runOnUiThread(() -> { this.mCurrentProgress.show(getSupportFragmentManager(), "tag"); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java index 027e94ca..29cce26b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java @@ -4,6 +4,7 @@ import androidx.lifecycle.MutableLiveData; import com.annimon.stream.Stream; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -93,7 +94,7 @@ public class PVOrdineAcquistoEditViewModel { .filter(x -> Objects.equals(x.getCodMart(), articolo.getCodMart())) .findFirst(); - if(alreadySavedItem.isPresent()) newList.remove(alreadySavedItem.get()); + if (alreadySavedItem.isPresent()) newList.remove(alreadySavedItem.get()); newList.add(articolo); this.mArticoli.postValue(newList); @@ -154,20 +155,36 @@ public class PVOrdineAcquistoEditViewModel { private void checkArticolo(Ordine ordine, String barcode, RunnableArgs onSuccess, RunnableArgs onFail) { try { - mArticoliOrdineRepository.findArticoloByScanAndOrdine(ordine, barcode, (articolo) -> { - if (articolo != null) { - onSuccess.run(articolo); - } else { - mArticoloGrigliaRepository.findArticoloByScanAndGriglia(barcode, ordine.getIdGriglia(), artGrid -> { - if (artGrid != null) { - onSuccess.run(artGrid.convertToArticoloOrdine(ordine)); + mArticoloGrigliaRepository.findArticoloByScanAndGriglia(barcode, ordine.getIdGriglia(), artGrid -> { + if (artGrid != null) { + + + mArticoliOrdineRepository.findArticoloByScanAndOrdine(ordine, barcode, (articolo) -> { + if (articolo != null) { + + articolo + .setQtaPrevistaVendita(BigDecimal.valueOf(artGrid.getQtaPrevistaVendita())) + .setQtaProposta(BigDecimal.valueOf(artGrid.getQtaProposta())) + .setGiacenza(BigDecimal.valueOf(artGrid.getGiacenza())) + .setMediaSett(artGrid.getMediaSett()); + + articolo.setQtaMinOrdinabile(artGrid.getQtaMinOrdinabile()); + articolo.setMerceDaRic(artGrid.getMerceDaRic()); + articolo.setNewNoPromo(artGrid.isNewNoPromo()); + articolo.setFlagQtaMultipla(artGrid.getFlagQtaMultipla()); + + onSuccess.run(articolo); } else { - onFail.run(new Exception("L' articolo ( " + barcode + " ) non è presente nella griglia")); + onSuccess.run(artGrid.convertToArticoloOrdine(ordine)); } }, onFail); + + } else { + onFail.run(new Exception("L' articolo ( " + barcode + " ) non è presente nella griglia")); } }, onFail); + } catch (Exception e) { onFail.run(e); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java index 99c5bca1..ae48de19 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java @@ -37,11 +37,9 @@ import it.integry.integrywmsnative.core.rest.model.Ean128Model; import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityDialog; import it.integry.integrywmsnative.core.utility.UtilityExceptions; -import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.DialogChooseArtsFromListaArtsLayoutBinding; import it.integry.integrywmsnative.view.dialogs.DialogCommon; -import it.integry.integrywmsnative.view.dialogs.DialogProgressView; public class DialogChooseArtsFromListaArts extends BaseDialogFragment { @@ -62,7 +60,6 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { private final List mDataset; private int mBarcodeScannerIstanceID; - private DialogProgressView mCurrentProgress; private MtbAart selectedArt; public static DialogChooseArtsFromListaArts newInstance(List listaMtbColr, RunnableArgs> onItemsChoosed, Runnable onAbort) { @@ -385,20 +382,4 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { this.dismiss(); } - protected void openProgress() { - requireActivity().runOnUiThread(() -> { - if (this.mCurrentProgress == null) { - this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity()); - } - }); - } - - protected void closeProgress() { - requireActivity().runOnUiThread(() -> { - if (mCurrentProgress != null) { - mCurrentProgress.dismiss(); - mCurrentProgress = null; - } - }); - } }