Migliorata gestione delle variabili qta all'interno di DialogInputQuantity.

Fix su visualizzazione Diacon in DialogInputQuantity.
This commit is contained in:
Giuseppe Scorrano 2021-02-01 15:42:14 +01:00
parent 2174a19c0f
commit 5ddd2e6235
2 changed files with 11 additions and 5 deletions

View File

@ -259,7 +259,8 @@ public class DialogInputQuantityV2ViewModel {
public void setNumCnf(BigDecimal newValue) { public void setNumCnf(BigDecimal newValue) {
this.internalNumCnf = newValue; this.internalNumCnf = newValue;
this.blockedNumCnf.set(!(UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO) || newValue == null)); this.blockedNumCnf.set(!(UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO) || newValue == null));
if (UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO) || newValue == null) return; if (newValue == null) return;
// if (UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO))
if (UtilityBigDecimal.greaterThan(newValue, totalNumCnfAvailable)) if (UtilityBigDecimal.greaterThan(newValue, totalNumCnfAvailable))
newValue = totalNumCnfAvailable; newValue = totalNumCnfAvailable;
@ -283,8 +284,8 @@ public class DialogInputQuantityV2ViewModel {
public void setQtaCnf(BigDecimal newValue) { public void setQtaCnf(BigDecimal newValue) {
this.internalQtaCnf = newValue; this.internalQtaCnf = newValue;
this.blockedQtaCnf.set(!(UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO) || newValue == null)); this.blockedQtaCnf.set(!(UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO) || newValue == null));
if (UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO) || newValue == null) return; if (newValue == null) return;
// if (UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO))
if (!this.blockedQtaTot.get() && this.internalNumCnf != null) if (!this.blockedQtaTot.get() && this.internalNumCnf != null)
this.internalQtaTot = UtilityBigDecimal.multiply(newValue, this.internalNumCnf); this.internalQtaTot = UtilityBigDecimal.multiply(newValue, this.internalNumCnf);
@ -297,7 +298,8 @@ public class DialogInputQuantityV2ViewModel {
public void setQtaTot(BigDecimal newValue) { public void setQtaTot(BigDecimal newValue) {
this.internalQtaTot = newValue; this.internalQtaTot = newValue;
this.blockedQtaTot.set(!(UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO) || newValue == null)); this.blockedQtaTot.set(!(UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO) || newValue == null));
if (UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO) || newValue == null) return; if (newValue == null) return;
// if (UtilityBigDecimal.equalsTo(newValue, BigDecimal.ZERO))
newValue = UtilityBigDecimal.getLowerBetween(newValue, totalQtaAvailable); newValue = UtilityBigDecimal.getLowerBetween(newValue, totalQtaAvailable);
@ -359,7 +361,10 @@ public class DialogInputQuantityV2ViewModel {
this.mListener.onError(new OverflowNumCnfAvailableQuantityException()); this.mListener.onError(new OverflowNumCnfAvailableQuantityException());
return false; return false;
} else if (UtilityBigDecimal.lowerThan(this.internalQtaCnf, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(this.internalNumCnf, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(this.internalQtaTot, BigDecimal.ZERO)) { } else if (this.internalNumCnf == null || this.internalQtaCnf == null || this.internalQtaTot == null ||
UtilityBigDecimal.equalsOrLowerThan(this.internalNumCnf, BigDecimal.ZERO) ||
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaCnf, BigDecimal.ZERO) ||
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO)) {
this.mListener.onError(new InvalidQuantityException()); this.mListener.onError(new InvalidQuantityException());
return false; return false;

View File

@ -70,6 +70,7 @@
android:ellipsize="end" android:ellipsize="end"
android:textColor="@color/red_600" android:textColor="@color/red_600"
android:visibility="@{UtilityString.isNullOrEmpty(viewmodel.mtbAart.diacod) ? View.GONE : View.VISIBLE}" android:visibility="@{UtilityString.isNullOrEmpty(viewmodel.mtbAart.diacod) ? View.GONE : View.VISIBLE}"
android:text="@{viewmodel.mtbAart.diacod}"
tools:text="DIACOD" /> tools:text="DIACOD" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView