Risolto problema decimali su DialogInputQuantity.

This commit is contained in:
Giuseppe Scorrano 2019-02-07 18:22:17 +01:00
parent ddd2d6b803
commit 9eed974b37
6 changed files with 28 additions and 16 deletions

View File

@ -1,14 +1,21 @@
package it.integry.integrywmsnative.core.di; package it.integry.integrywmsnative.core.di;
import java.math.BigDecimal;
import java.math.RoundingMode;
import androidx.databinding.BaseObservable; import androidx.databinding.BaseObservable;
public class BindableFloat extends BaseObservable { public class BindableFloat extends BaseObservable {
Float value; private Float value;
public Float get() { public Float get() {
return get(true); return get(true);
} }
public BigDecimal getBigDecimal() {
return new BigDecimal(get()).setScale(3, RoundingMode.CEILING);
}
public Float get(boolean defaultIfNull) { public Float get(boolean defaultIfNull) {
if(value == null){ if(value == null){

View File

@ -4,6 +4,7 @@ import android.content.Context;
import com.google.firebase.perf.metrics.Trace; import com.google.firebase.perf.metrics.Trace;
import java.net.SocketTimeoutException;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
@ -84,7 +85,7 @@ public class SettingsManager {
RunnableArgs<Exception> tmpOnFailed = ex -> { RunnableArgs<Exception> tmpOnFailed = ex -> {
perfTrace.putAttribute("failed", "true"); perfTrace.putAttribute("failed", "true");
onFailed.run(ex); if(!(ex instanceof SocketTimeoutException)) onFailed.run(ex);
}; };
loadDatiAzienda(() -> loadDatiAzienda(() ->

View File

@ -118,8 +118,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
private void init() { private void init() {
final ProgressDialog progress = ProgressDialog.show(getActivity(), getText(R.string.waiting), final ProgressDialog progress = ProgressDialog.show(getActivity(), getText(R.string.waiting), getText(R.string.loading) + " ...", true);
getText(R.string.loading) + " ...", true);
helper = new AccettazioneHelper(getActivity()); helper = new AccettazioneHelper(getActivity());

View File

@ -150,8 +150,11 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
.toList(); .toList();
if(foundGestioni != null && foundGestioni.size() > 1){ if(foundGestioni != null && foundGestioni.size() > 1){
UtilityExceptions.defaultException(mActivity, new Exception("Impossibile caricare ordini di diverse gestioni")); DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString("Impossibile caricare ordini di diverse gestioni"), null, () -> {
mActivity.finish(); mActivity.finish();
}).show();
// UtilityExceptions.defaultException(mActivity, new Exception("Impossibile caricare ordini di diverse gestioni"));
// mActivity.finish();
return; return;
} else if(foundGestioni != null && foundGestioni.size() == 1){ } else if(foundGestioni != null && foundGestioni.size() == 1){
defaultGestioneOfUL = foundGestioni.get(0); defaultGestioneOfUL = foundGestioni.get(0);
@ -1068,9 +1071,9 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
final MtbColr mtbColr = new MtbColr() final MtbColr mtbColr = new MtbColr()
.setCodMart(item.getCodMart()) .setCodMart(item.getCodMart())
.setPartitaMag(UtilityString.empty2null(quantityDTO.batchLot.get())) .setPartitaMag(UtilityString.empty2null(quantityDTO.batchLot.get()))
.setQtaCol(new BigDecimal(quantityDTO.qtaTot.get())) .setQtaCol(quantityDTO.qtaTot.getBigDecimal())
.setQtaCnf(new BigDecimal(quantityDTO.qtaCnf.get())) .setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
.setNumCnf(new BigDecimal(quantityDTO.numCnf.get())) .setNumCnf(quantityDTO.numCnf.getBigDecimal())
.setDescrizione(item.getDescrizioneEstesa()) .setDescrizione(item.getDescrizioneEstesa())
.setDatetimeRow(new Date()); .setDatetimeRow(new Date());
@ -1093,7 +1096,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} }
mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone(); MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();

View File

@ -25,6 +25,7 @@ import android.widget.EditText;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
@ -328,7 +329,9 @@ public class DialogInputQuantity {
} }
if(quantityDTO.numCnf.get(false) == null) { 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()); quantityDTO.canPartitaMagBeChanged.set(dto.getCanPartitaMagBeChanged());
@ -457,7 +460,7 @@ public class DialogInputQuantity {
if(quantityDTO.numCnfNotificationEnabled) { 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()); toggleTextInputLayoutError(txlInputNumDiCnf, quantityDTO.blockedNumDiCnf.get());
@ -492,7 +495,7 @@ public class DialogInputQuantity {
if(quantityDTO.qtaCnfNotificationEnabled) { 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()); toggleTextInputLayoutError(txlInputQtaPerCnf, quantityDTO.blockedQtaPerCnf.get());
@ -527,7 +530,7 @@ public class DialogInputQuantity {
if (quantityDTO.qtaTotNotificationEnabled) { 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()); toggleTextInputLayoutError(txlInputQtaTot, quantityDTO.blockedQtaTot.get());

View File

@ -300,7 +300,7 @@
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="numberDecimal" android:inputType="number"
android:hint="@string/num_pcks" android:hint="@string/num_pcks"
android:gravity="end" android:gravity="end"
app:binding="@{quantityViewModel.numCnf}" > app:binding="@{quantityViewModel.numCnf}" >