From c3274a4311b9f4a84d0a405160db9a112653078a Mon Sep 17 00:00:00 2001 From: ValerioC Date: Wed, 29 Jun 2022 16:01:51 +0200 Subject: [PATCH] corretto bug per in gestione linee e aggiu ta richiesta di recupero prima di chiudere gli ordini --- .../ProdDettaglioLineaActivity.java | 36 +++++++++++-------- .../ProdDettaglioLineaViewModel.java | 5 --- .../dialogs/DialogStartProduction.java | 14 +------- .../ProdRecuperoMaterialeFragment.java | 33 ++++++++++++++--- 4 files changed, 52 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaActivity.java index 015a646f..a9c5b5b0 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaActivity.java @@ -26,7 +26,6 @@ import it.integry.integrywmsnative.core.di.BindableString; import it.integry.integrywmsnative.core.expansion.BaseActivity; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbColr; -import it.integry.integrywmsnative.core.utility.UtilityResources; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityToast; import it.integry.integrywmsnative.databinding.ActivityProdDettaglioLineaBinding; @@ -43,6 +42,7 @@ import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQua public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDettaglioLineaViewModel.Listener { private static final String DATA_KEY_LINE = "keyLinea"; + private static final String DATA_KEY_FRAGMENT_LISTENER = "onFragmentClose"; private ActivityProdDettaglioLineaBinding mBinding; public final ObservableField listaOrd = new ObservableField<>(); @@ -54,6 +54,7 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett public final BindableString codMart = new BindableString(); public final BindableString partitaMag = new BindableString(); public final BindableString productDescription = new BindableString(); + private Runnable onResumeRunnable = null; private int barcodeScannerIstanceID = -1; @@ -120,6 +121,13 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett renderOrdersChips(); } }); + getSupportFragmentManager() + .setFragmentResultListener(DATA_KEY_FRAGMENT_LISTENER, this, (requestKey, result) -> { + if (onResumeRunnable != null) { + onResumeRunnable.run(); + onResumeRunnable = null; + } + }); } private void renderOrdersChips() { @@ -210,17 +218,6 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett onBackPressed(); } - public void askForLUBarcode() { - this.onLoadingEnded(); - this.runOnUiThread(() -> { - DialogStartProduction.newInstance((dto) -> { - this.mViewModel.checkBarcodeAndStartOrdine(dto); - }, - UtilityResources.getString(R.string.title_open_lu), - UtilityResources.getString(R.string.scan_lu_to_recover) - ).show(getSupportFragmentManager(), "DialogStartProduction"); - }); - } private void initBarcodeReader() { barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO() @@ -279,7 +276,7 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett getSupportFragmentManager() .beginTransaction() .add(R.id.frame_layout_container, - ProdRecuperoMaterialeFragment.newInstance(mViewModel.lineaProd.getValue().getCodJfas())) + ProdRecuperoMaterialeFragment.newInstance(mViewModel.lineaProd.getValue().getCodJfas(), DATA_KEY_FRAGMENT_LISTENER)) .addToBackStack("ProdRecuperoMaterialeFragment") .commit(); @@ -322,7 +319,18 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett + "

" + "Continuare?"), null, - onConfirm, + () -> { + DialogSimpleMessageView.makeInfoDialog( + null, + Html.fromHtml("Vuoi recuperare del materiale prima di chiudere gli ordini?"), + null, + () -> { + onResumeRunnable = onConfirm; + this.requestMaterialRecover(); + }, + onConfirm + ).show(getSupportFragmentManager(), "confirmOrderClose"); + }, BarcodeManager::enable ).show(getSupportFragmentManager(), "confirmOrderClose"); }); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaViewModel.java index fc69734e..77e031d7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaViewModel.java @@ -209,9 +209,6 @@ public class ProdDettaglioLineaViewModel { return lineaProd.getValue(); } - public void beginMaterialRecover() { - this.mListener.askForLUBarcode(); - } public interface Listener extends ILoadingListener { void onError(Exception ex); @@ -228,8 +225,6 @@ public class ProdDettaglioLineaViewModel { void onLineStop(); - void askForLUBarcode(); - void confirmOrderClose(Runnable onConfirm); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/dialogs/DialogStartProduction.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/dialogs/DialogStartProduction.java index a90fb0b4..6f2d2eb7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/dialogs/DialogStartProduction.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/dialogs/DialogStartProduction.java @@ -37,18 +37,6 @@ public class DialogStartProduction extends BaseDialogFragment { return fragment; } - public static DialogStartProduction newInstance(RunnableArgs onScanSuccessful, String title, String label) { - - Bundle args = new Bundle(); - - DialogStartProduction fragment = new DialogStartProduction(); - fragment.setTitle(title); - fragment.setLabel(label); - fragment.setArguments(args); - fragment.setOnScanSuccessful(onScanSuccessful); - return fragment; - } - public String getTitle() { return title; } @@ -108,8 +96,8 @@ public class DialogStartProduction extends BaseDialogFragment { private void processBarcode(BarcodeScanDTO barcodeScanDTO) { if (UtilityBarcode.isEan128(barcodeScanDTO)) { - this.onScanSuccessful.run(barcodeScanDTO); this.dismiss(); + this.onScanSuccessful.run(barcodeScanDTO); } else { this.onError(new Exception("Il barcode scansionato non รจ valido!")); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/ProdRecuperoMaterialeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/ProdRecuperoMaterialeFragment.java index 2aab53aa..5be7785c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/ProdRecuperoMaterialeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/ProdRecuperoMaterialeFragment.java @@ -60,6 +60,7 @@ public class ProdRecuperoMaterialeFragment extends BaseFragment implements ITitl private int barcodeScannerIstanceID = -1; private String codJfas; + private String fragmentResultKeyString; private final ObservableArrayList mHistoryULMutableData = new ObservableArrayList<>(); @@ -68,13 +69,20 @@ public class ProdRecuperoMaterialeFragment extends BaseFragment implements ITitl } public static ProdRecuperoMaterialeFragment newInstance() { - return newInstance(null); + return newInstance(null, null); + } + + public static ProdRecuperoMaterialeFragment newInstance(String codJfas, String keyString) { + ProdRecuperoMaterialeFragment fragment = new ProdRecuperoMaterialeFragment(); + if (keyString != null) { + fragment.setFragmentResultKeyString(keyString); + } + fragment.setCodJfas(codJfas); + return fragment; } public static ProdRecuperoMaterialeFragment newInstance(String codJfas) { - ProdRecuperoMaterialeFragment fragment = new ProdRecuperoMaterialeFragment(); - fragment.setCodJfas(codJfas); - return fragment; + return newInstance(codJfas, null); } @Override @@ -95,6 +103,14 @@ public class ProdRecuperoMaterialeFragment extends BaseFragment implements ITitl this.initBarcodeReader(); this.initRecyclerView(); + this.addOnPreDestroy(() -> { + if (!UtilityString.isNullOrEmpty(fragmentResultKeyString)) { + Bundle result = new Bundle(); + result.putString(fragmentResultKeyString, "result"); + getParentFragmentManager().setFragmentResult(fragmentResultKeyString, result); + } + }); + return mBinding.getRoot(); } @@ -134,6 +150,15 @@ public class ProdRecuperoMaterialeFragment extends BaseFragment implements ITitl return this; } + public String getFragmentResultKeyString() { + return fragmentResultKeyString; + } + + public ProdRecuperoMaterialeFragment setFragmentResultKeyString(String fragmentResultKeyString) { + this.fragmentResultKeyString = fragmentResultKeyString; + return this; + } + private final RunnableArgs onScanSuccessful = data -> { this.onLoadingStarted();