From b9001790beb1a2c89d7fe35812f13528203d8a3a Mon Sep 17 00:00:00 2001 From: ValerioC Date: Tue, 7 Jun 2022 12:56:26 +0200 Subject: [PATCH 1/4] corretto funzionamento rettifica giacenza al clik del pulsante indietro --- .../gest/rettifica_giacenze/RettificaGiacenzeFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java index 3ef3d80f..b1b7d6bc 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java @@ -495,6 +495,6 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr @Override public void onPreDestroy(Runnable onComplete) { BarcodeManager.removeCallback(barcodeScannerIstanceID); - mViewModel.closeLU(false, onComplete); + mViewModel.closeLU(false); } } From 08d332e2c63ad9c42fe446e141729c768639e817 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Tue, 7 Jun 2022 17:33:32 +0200 Subject: [PATCH 2/4] Quando creo una pedana dalla funzione di rientro merce non inserendo il tipo collo, l'app si blocca. --- .../order_detail/ProdRientroMerceOrderDetailViewModel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java index bbadeb59..86a613cd 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java @@ -70,7 +70,7 @@ public class ProdRientroMerceOrderDetailViewModel { .setCodJcom(currentOrder.getCodJcom()) .setCodJfas(pickedQuantityDTO.getJtbFasi() != null ? pickedQuantityDTO.getJtbFasi().getCodJfas() : null) .setCodMart(currentOrder.getCodProd()) - .setCodTcol(pickedQuantityDTO.getMtbTCol().getCodTcol()) + .setCodTcol(pickedQuantityDTO.getMtbTCol() != null ? pickedQuantityDTO.getMtbTCol().getCodTcol() : null) .setDataCollo(new Date()) .setDataOrd(currentOrder.getDataOrdD()) .setNumOrd(currentOrder.getNumOrd()) From 0dd662518e6e264a5205898d65c47eef93c89de0 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Wed, 8 Jun 2022 12:26:20 +0200 Subject: [PATCH 3/4] =?UTF-8?q?In=20versamento=20se=20si=20versa=20una=20p?= =?UTF-8?q?edana=20gi=C3=A0=20versata=20l'app=20crasha?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit permettere il versamento di un articolo non compatibile con gli ordini aperti dopo richiesta conferma precompilare input risorse da allocare in input qta mantenere fissa la qtaCnf in entrambe le direzioni di calcolo togliere popup di notifica versamento completato --- .../core/settings/DBSettingsModel.java | 10 +++++++ .../core/settings/SettingsManager.java | 9 ++++++ .../ProdDettaglioLineaActivity.java | 30 +++++++++++++++++-- .../ProdDettaglioLineaViewModel.java | 13 ++++---- .../ProdLineeProduzioneFragment.java | 2 +- .../DialogInputQuantityV2View.java | 11 ++----- .../DialogInputQuantityV2ViewModel.java | 24 +++++++++++---- .../res/layout/dialog_input_quantity_v2.xml | 2 +- 8 files changed, 79 insertions(+), 22 deletions(-) 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 b36c11e2..619ec067 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 @@ -45,6 +45,7 @@ public class DBSettingsModel { private boolean flagPrintPackingListOnOrderClose; private boolean flagPrintEtichetteOnOrderClose; private int onNumCnfInputChanged = 1; + private int onQtaTotInputChanged = 1; private boolean flagAccettazioneUseQtaOrd = false; private boolean flagPickLiberoAllowEmptyDest = false; @@ -309,6 +310,15 @@ public class DBSettingsModel { return this; } + public int getOnQtaTotInputChanged() { + return onQtaTotInputChanged; + } + + public DBSettingsModel setOnQtaTotInputChanged(int onQtaTotInputChanged) { + this.onQtaTotInputChanged = onQtaTotInputChanged; + return this; + } + public List getNotePerditaDocInterni() { return notePerditaDocInterni; } 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 80b4447f..34423a2b 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 @@ -278,6 +278,10 @@ public class SettingsManager { .setGestName("PICKING") .setSection("SETUP") .setKeySection("ON_NUM_CNF_INPUT_CHANGED")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SETUP") + .setKeySection("ON_QTA_TOT_INPUT_CHANGED")); stbGestSetupList.add(new StbGestSetup() .setGestName("PVM") .setSection("DOC_INTERNI") @@ -339,6 +343,11 @@ public class SettingsManager { if (onNumCnfInputChanged != null) { dbSettingsModelIstance.setOnNumCnfInputChanged(onNumCnfInputChanged); } + + Integer onQtaTotInputChanged = getValueFromList(list, "SETUP", "ON_QTA_TOT_INPUT_CHANGED", Integer.class); + if (onQtaTotInputChanged != null) { + dbSettingsModelIstance.setOnQtaTotInputChanged(onQtaTotInputChanged); + } String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); GestSetupRESTConsumer.getBooleanValue("PICKING", "SPEDIZIONE", "FLAG_PRINT_PACKING_LIST_ON_CLOSE", codMdep, (value) -> { dbSettingsModelIstance.setFlagPrintPackingListOnOrderClose(value); 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 17b95d99..015a646f 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 @@ -28,6 +28,7 @@ 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; import it.integry.integrywmsnative.gest.prod_dettaglio_linea.dialogs.BottomSheetLineAction; import it.integry.integrywmsnative.gest.prod_dettaglio_linea.dialogs.DialogStartProduction; @@ -141,11 +142,28 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett return true; } - + @Override public void onSettingsRequest(ProdLineStatusDTO lineaProd) { BottomSheetLineAction.newInstance(lineaProd, this::requestResources, this::requestOrderChange, this::requestProductionStop, this::requestMaterialRecover, BarcodeManager::enable).show(getSupportFragmentManager(), "BottomSheetLineAction"); } + @Override + public void confirmInconsistentDeposit(Runnable onConfirm) { + this.runOnUiThread(() -> { + DialogSimpleMessageView.makeWarningDialog( + Html.fromHtml("L'articolo che si vuole versare non è compatibile con nessun ordine presente sulla linea!" + + "

" + + "Vuoi versarlo comunque?"), + null, + onConfirm, + () -> { + onLoadingEnded(); + BarcodeManager.enable(); + } + ).show(getSupportFragmentManager(), "confirmOrderClose"); + }); + } + @Override public void requestQtaVersamento(MtbColr mtbColr, RunnableArgs onComplete) { @@ -218,7 +236,7 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett BarcodeManager.disable(); this.runOnUiThread(() -> { - DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il numero di risorse da allocare", qta -> { + DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il numero di risorse da allocare", this.hrNum.get(), "n. risorse", qta -> { this.onLoadingStarted(); try { Integer hrNum = Integer.parseInt(qta); @@ -279,6 +297,14 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett } + @Override + public void showToast(String message, Runnable onComplete) { + this.runOnUiThread(() -> { + UtilityToast.showToast(message); + onComplete.run(); + }); + } + private final RunnableArgs onScanSuccessful = data -> { this.onLoadingStarted(); 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 6b32581a..fc69734e 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 @@ -63,11 +63,10 @@ public class ProdDettaglioLineaViewModel { } else { if (mtbColt.getMtbColr().size() <= 0) { this.sendError(new Exception("E' stata scansionata una UL già vuota")); + } else { + this.sendOnLUSelected(mtbColt); } - onComplete.run(); - this.sendOnLUSelected(mtbColt); } - }, this::sendError); } @@ -92,7 +91,7 @@ public class ProdDettaglioLineaViewModel { this.colliMagazzinoRESTConsumer.createColloScaricoDaCarico(mtbColt, posizione, generatedMtbColt -> { this.sendOnLoadingEnded(); - this.mListener.successDialog("Versamento completato!", BarcodeManager::enable); + this.mListener.showToast("Versamento completato!", BarcodeManager::enable); }, this::sendError); }); }); @@ -103,7 +102,7 @@ public class ProdDettaglioLineaViewModel { if (ordini != null && ordini.size() > 0) { onComplete.run(); } else { - this.sendError(new Exception("Nessun ordine compatibile disponibile sulla linea selezionata")); + this.mListener.confirmInconsistentDeposit(onComplete); } }, this::sendError); } @@ -219,10 +218,14 @@ public class ProdDettaglioLineaViewModel { void successDialog(String message, Runnable onComplete); + void showToast(String message, Runnable onComplete); + void requestQtaVersamento(MtbColr mtbColr, RunnableArgs onComplete); void onSettingsRequest(ProdLineStatusDTO lineaProd); + void confirmInconsistentDeposit(Runnable onConfirm); + void onLineStop(); void askForLUBarcode(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_linee_produzione/ProdLineeProduzioneFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_linee_produzione/ProdLineeProduzioneFragment.java index 6211e578..7c07a7ce 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_linee_produzione/ProdLineeProduzioneFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_linee_produzione/ProdLineeProduzioneFragment.java @@ -112,7 +112,7 @@ public class ProdLineeProduzioneFragment extends BaseFragment implements ITitled BarcodeManager.disable(); requireActivity().runOnUiThread(() -> { - DialogSimpleInputHelper.makeInputDialog(requireContext(), "Inserisci il numero di risorse da allocare", qta -> { + DialogSimpleInputHelper.makeInputDialog(requireContext(), "Inserisci il numero di risorse da allocare", prodLine.getQtaAllocate().toString(), "n. risorse", qta -> { this.onLoadingStarted(); try { Integer hrNum = Integer.parseInt(qta); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java index a06b1b65..b233b829 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java @@ -89,7 +89,6 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia private boolean mObservablesInitated = false; private int mBarcodeScannerIstanceID; - private boolean mFirstStart = true; private boolean mAbort = true; @@ -185,9 +184,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia private final RunnableArgs onScanSuccessful = data -> { this.onLoadingStarted(); - this.mViewModel.processBarcodeDTO(data, () -> { - this.onLoadingEnded(); - }); + this.mViewModel.processBarcodeDTO(data, this::onLoadingEnded); }; public void save() { @@ -217,15 +214,13 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia public void onStart() { super.onStart(); -// if(!mFirstStart) { this.init(); -// mFirstStart = false; -// } int onNumCnfInputChanged = SettingsManager.iDB().getOnNumCnfInputChanged(); + int onQtaTotInputChanged = SettingsManager.iDB().getOnQtaTotInputChanged(); this.mViewModel.setListener(this); - this.mViewModel.init(onNumCnfInputChanged); + this.mViewModel.init(onNumCnfInputChanged, onQtaTotInputChanged); } private void initViewObservables() { diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java index 3c9c017a..2f780888 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java @@ -70,6 +70,7 @@ public class DialogInputQuantityV2ViewModel { private boolean canOverflowOrderQuantity; private boolean canPartitaMagBeChanged; private int onNumCnfInputChanged; + private int onQtaTotInputChanged; private Listener mListener; @@ -80,8 +81,9 @@ public class DialogInputQuantityV2ViewModel { this.mBarcodeRESTConsumer = barcodeRESTConsumer; } - public void init(int onNumCnfInputChanged) { + public void init(int onNumCnfInputChanged, int onQtaTotInputChanged) { this.onNumCnfInputChanged = onNumCnfInputChanged; + this.onQtaTotInputChanged = onQtaTotInputChanged; if (this.initialNumCnf != null && this.initialQtaTot != null && this.initialQtaCnf != null) { this.internalNumCnf = this.initialNumCnf; @@ -379,10 +381,22 @@ public class DialogInputQuantityV2ViewModel { } - if (!this.blockedQtaCnf.get() && !this.mtbAart.get().isFlagQtaCnfFissaBoolean() && this.internalNumCnf != null) - this.internalQtaCnf = UtilityBigDecimal.divide(newValue, internalNumCnf); - else if (!this.blockedNumCnf.get() && this.internalQtaCnf != null) - this.internalNumCnf = UtilityBigDecimal.divide(newValue, internalQtaCnf); + switch (onNumCnfInputChanged) { + case UPDATE_QTA_CNF: + if (!this.blockedQtaCnf.get() && !this.mtbAart.get().isFlagQtaCnfFissaBoolean() && this.internalNumCnf != null) + this.internalQtaCnf = UtilityBigDecimal.divide(newValue, internalNumCnf); + else if (!this.blockedNumCnf.get() && this.internalQtaCnf != null) + this.internalNumCnf = UtilityBigDecimal.divide(newValue, internalQtaCnf); + break; + + case UPDATE_QTA_TOT: + if (!this.blockedNumCnf.get() && this.internalQtaCnf != null) + this.internalNumCnf = UtilityBigDecimal.divide(newValue, internalQtaCnf); + else if (!this.blockedQtaCnf.get() && !this.mtbAart.get().isFlagQtaCnfFissaBoolean() && this.internalNumCnf != null) + this.internalQtaCnf = UtilityBigDecimal.divide(newValue, internalNumCnf); + break; + + } this.mListener.onDataChanged(); } diff --git a/app/src/main/res/layout/dialog_input_quantity_v2.xml b/app/src/main/res/layout/dialog_input_quantity_v2.xml index 7fd1fa20..41fbe1e6 100644 --- a/app/src/main/res/layout/dialog_input_quantity_v2.xml +++ b/app/src/main/res/layout/dialog_input_quantity_v2.xml @@ -624,7 +624,6 @@ android:layout_weight="@{!viewmodel.mtbAart.flagQtaCnfFissaBoolean ? 1f : 1.5f}" android:enabled="@{view.enabledQtaTot}" android:focusableInTouchMode="false" - android:imeOptions="actionDone" tools:layout_weight="1"> From bbc81f3d9996ae792bbaf92bde9da213ed246711 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Wed, 8 Jun 2022 12:50:18 +0200 Subject: [PATCH 4/4] -> v1.27.5 (292) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 94e29d29..82a22cd5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 291 - def appVersionName = '1.27.4' + def appVersionCode = 292 + def appVersionName = '1.27.5' signingConfigs { release {