From 9eed974b37448a5639549fabe634e4cdb8b86923 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 7 Feb 2019 18:22:17 +0100 Subject: [PATCH] Risolto problema decimali su DialogInputQuantity. --- .../integrywmsnative/core/di/BindableFloat.java | 9 ++++++++- .../core/settings/SettingsManager.java | 3 ++- .../accettazione/MainAccettazioneFragment.java | 5 ++--- .../viewmodel/VenditaOrdineInevasoViewModel.java | 14 ++++++++------ .../input_quantity/DialogInputQuantity.java | 11 +++++++---- .../res/layout/dialog_input_quantity_articolo.xml | 2 +- 6 files changed, 28 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/di/BindableFloat.java b/app/src/main/java/it/integry/integrywmsnative/core/di/BindableFloat.java index 13f4a569..a57b1c22 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/di/BindableFloat.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/di/BindableFloat.java @@ -1,14 +1,21 @@ package it.integry.integrywmsnative.core.di; +import java.math.BigDecimal; +import java.math.RoundingMode; + import androidx.databinding.BaseObservable; public class BindableFloat extends BaseObservable { - Float value; + private Float value; public Float get() { return get(true); } + public BigDecimal getBigDecimal() { + return new BigDecimal(get()).setScale(3, RoundingMode.CEILING); + } + public Float get(boolean defaultIfNull) { if(value == null){ 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 8f060b99..f1bd6fa3 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 @@ -4,6 +4,7 @@ import android.content.Context; import com.google.firebase.perf.metrics.Trace; +import java.net.SocketTimeoutException; import java.util.List; import it.integry.integrywmsnative.R; @@ -84,7 +85,7 @@ public class SettingsManager { RunnableArgs tmpOnFailed = ex -> { perfTrace.putAttribute("failed", "true"); - onFailed.run(ex); + if(!(ex instanceof SocketTimeoutException)) onFailed.run(ex); }; loadDatiAzienda(() -> diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java index b7b3814f..c8f30ff0 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java @@ -116,10 +116,9 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag - private void init(){ + private void init() { - final ProgressDialog progress = ProgressDialog.show(getActivity(), getText(R.string.waiting), - getText(R.string.loading) + " ...", true); + final ProgressDialog progress = ProgressDialog.show(getActivity(), getText(R.string.waiting), getText(R.string.loading) + " ...", true); helper = new AccettazioneHelper(getActivity()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java index 98a2b99c..c626b627 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java @@ -150,8 +150,11 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO .toList(); if(foundGestioni != null && foundGestioni.size() > 1){ - UtilityExceptions.defaultException(mActivity, new Exception("Impossibile caricare ordini di diverse gestioni")); - mActivity.finish(); + DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString("Impossibile caricare ordini di diverse gestioni"), null, () -> { + mActivity.finish(); + }).show(); +// UtilityExceptions.defaultException(mActivity, new Exception("Impossibile caricare ordini di diverse gestioni")); +// mActivity.finish(); return; } else if(foundGestioni != null && foundGestioni.size() == 1){ defaultGestioneOfUL = foundGestioni.get(0); @@ -1068,9 +1071,9 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO final MtbColr mtbColr = new MtbColr() .setCodMart(item.getCodMart()) .setPartitaMag(UtilityString.empty2null(quantityDTO.batchLot.get())) - .setQtaCol(new BigDecimal(quantityDTO.qtaTot.get())) - .setQtaCnf(new BigDecimal(quantityDTO.qtaCnf.get())) - .setNumCnf(new BigDecimal(quantityDTO.numCnf.get())) + .setQtaCol(quantityDTO.qtaTot.getBigDecimal()) + .setQtaCnf(quantityDTO.qtaCnf.getBigDecimal()) + .setNumCnf(quantityDTO.numCnf.getBigDecimal()) .setDescrizione(item.getDescrizioneEstesa()) .setDatetimeRow(new Date()); @@ -1093,7 +1096,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO } - mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone(); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java index ef9449a3..2a46c6d0 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java @@ -25,6 +25,7 @@ import android.widget.EditText; import org.jetbrains.annotations.NotNull; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; @@ -328,7 +329,9 @@ public class DialogInputQuantity { } if(quantityDTO.numCnf.get(false) == null) { - quantityDTO.numCnf.set(quantityDTO.qtaTot.get() / quantityDTO.qtaCnf.get()); + float numCnf = (float) Math.ceil(quantityDTO.qtaTot.get() / quantityDTO.qtaCnf.get()); + if(numCnf < 1) numCnf = 1; + quantityDTO.numCnf.set(numCnf); } quantityDTO.canPartitaMagBeChanged.set(dto.getCanPartitaMagBeChanged()); @@ -457,7 +460,7 @@ public class DialogInputQuantity { if(quantityDTO.numCnfNotificationEnabled) { - quantityDTO.blockedNumDiCnf.set(!(quantityDTO.numCnf.get(true) == 0 || quantityDTO.numCnf.get().toString() == "")); + quantityDTO.blockedNumDiCnf.set(!(quantityDTO.numCnf.get(true) == 0 || quantityDTO.numCnf.get().toString().equals(""))); toggleTextInputLayoutError(txlInputNumDiCnf, quantityDTO.blockedNumDiCnf.get()); @@ -492,7 +495,7 @@ public class DialogInputQuantity { if(quantityDTO.qtaCnfNotificationEnabled) { - quantityDTO.blockedQtaPerCnf.set(!(quantityDTO.qtaCnf.get(true) == 0 || quantityDTO.qtaCnf.get().toString() == "")); + quantityDTO.blockedQtaPerCnf.set(!(quantityDTO.qtaCnf.get(true) == 0 || quantityDTO.qtaCnf.get().toString().equals(""))); toggleTextInputLayoutError(txlInputQtaPerCnf, quantityDTO.blockedQtaPerCnf.get()); @@ -527,7 +530,7 @@ public class DialogInputQuantity { if (quantityDTO.qtaTotNotificationEnabled) { - quantityDTO.blockedQtaTot.set(!(quantityDTO.qtaTot.get(true) == 0 || quantityDTO.qtaTot.get().toString() == "")); + quantityDTO.blockedQtaTot.set(!(quantityDTO.qtaTot.get(true) == 0 || quantityDTO.qtaTot.get().toString().equals(""))); toggleTextInputLayoutError(txlInputQtaTot, quantityDTO.blockedQtaTot.get()); diff --git a/app/src/main/res/layout/dialog_input_quantity_articolo.xml b/app/src/main/res/layout/dialog_input_quantity_articolo.xml index d49c7438..8567a50a 100644 --- a/app/src/main/res/layout/dialog_input_quantity_articolo.xml +++ b/app/src/main/res/layout/dialog_input_quantity_articolo.xml @@ -300,7 +300,7 @@