Gestite le eccezioni riguardo le quantità errate in fase di inserimento

This commit is contained in:
2020-04-04 01:34:55 +02:00
parent bd2532755c
commit 9967b7a3ef
11 changed files with 96 additions and 18 deletions

View File

@@ -233,7 +233,6 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
List<MenuConfiguration.MenuGroup> menuGroups = menuConfiguration.getGroups();
for (MenuConfiguration.MenuGroup menuGroup : menuGroups) {
FragmentMainMenuGroupLayoutBinding groupBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.fragment_main_menu_group_layout, null, false);
String title = this.getResources().getString(menuGroup.getGroupText());

View File

@@ -731,7 +731,7 @@ public class DialogInputQuantity {
private void showQuantityOverflowErrorPrompt(Context mContext){
String errorMessage = mContext.getText(R.string.quantity_overflow_error_message).toString();
String errorMessage = mContext.getText(R.string.available_quantity_overflow_error_message).toString();
DialogSimpleMessageHelper.makeErrorDialog(mContext, new SpannableString(Html.fromHtml(errorMessage)), null, null).show();
}

View File

@@ -7,12 +7,15 @@ import java.util.Date;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityObservable;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.InvalidBatchLotException;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.InvalidExpireDateException;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.InvalidQtaCnfQuantityException;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.InvalidQuantityException;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.OverflowQuantityException;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.OverflowNumCnfAvailableQuantityException;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.OverflowNumCnfOrderedQuantityException;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.OverflowQtaTotAvailableQuantityException;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.OverflowQtaTotOrderedQuantityException;
public class DialogInputQuantityV2ViewModel {
@@ -213,7 +216,12 @@ public class DialogInputQuantityV2ViewModel {
}
public boolean validate() {
if (mtbAart.get().isFlagTracciabilitaBoolean() && UtilityString.isNullOrEmpty(internalPartitaMag)) {
if(this.internalQtaCnf == null || UtilityBigDecimal.equalsTo(this.internalQtaCnf, BigDecimal.ZERO)) {
this.mListener.onError(new InvalidQtaCnfQuantityException());
return false;
} else if (mtbAart.get().isFlagTracciabilitaBoolean() && UtilityString.isNullOrEmpty(internalPartitaMag)) {
this.mListener.onError(new InvalidBatchLotException());
return false;
@@ -230,7 +238,22 @@ public class DialogInputQuantityV2ViewModel {
} else if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd)) {
this.mListener.onError(new OverflowQuantityException());
this.mListener.onError(new OverflowQtaTotOrderedQuantityException());
return false;
} else if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd)) {
this.mListener.onError(new OverflowNumCnfOrderedQuantityException());
return false;
} else if (UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaAvailable)) {
this.mListener.onError(new OverflowQtaTotAvailableQuantityException());
return false;
} else if (UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfAvailable)) {
this.mListener.onError(new OverflowNumCnfAvailableQuantityException());
return false;
} else if (UtilityBigDecimal.lowerThan(this.internalQtaCnf, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(this.internalNumCnf, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(this.internalQtaTot, BigDecimal.ZERO)) {

View File

@@ -0,0 +1,12 @@
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.utility.UtilityResources;
public class InvalidQtaCnfQuantityException extends Exception {
public InvalidQtaCnfQuantityException() {
super(UtilityResources.getString(R.string.invalid_quantity_x_package_error_message));
}
}

View File

@@ -0,0 +1,12 @@
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.utility.UtilityResources;
public class OverflowNumCnfAvailableQuantityException extends Exception {
public OverflowNumCnfAvailableQuantityException() {
super(UtilityResources.getString(R.string.available_num_cnf_overflow_error_message));
}
}

View File

@@ -0,0 +1,10 @@
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.utility.UtilityResources;
public class OverflowNumCnfOrderedQuantityException extends Exception {
public OverflowNumCnfOrderedQuantityException() {
super(UtilityResources.getString(R.string.ordered_num_cnf_overflow_error_message));
}
}

View File

@@ -0,0 +1,12 @@
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.utility.UtilityResources;
public class OverflowQtaTotAvailableQuantityException extends Exception {
public OverflowQtaTotAvailableQuantityException() {
super(UtilityResources.getString(R.string.available_quantity_overflow_error_message));
}
}

View File

@@ -0,0 +1,12 @@
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.utility.UtilityResources;
public class OverflowQtaTotOrderedQuantityException extends Exception {
public OverflowQtaTotOrderedQuantityException() {
super(UtilityResources.getString(R.string.ordered_quantity_overflow_error_message));
}
}

View File

@@ -1,10 +0,0 @@
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.utility.UtilityResources;
public class OverflowQuantityException extends Exception {
public OverflowQuantityException() {
super(UtilityResources.getString(R.string.quantity_overflow_error_message));
}
}