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;
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){

View File

@ -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<Exception> tmpOnFailed = ex -> {
perfTrace.putAttribute("failed", "true");
onFailed.run(ex);
if(!(ex instanceof SocketTimeoutException)) onFailed.run(ex);
};
loadDatiAzienda(() ->

View File

@ -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());

View File

@ -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"));
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();

View File

@ -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());

View File

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