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

This commit is contained in:
Giuseppe Scorrano 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));
}
}

View File

@ -148,7 +148,11 @@
<string name="alert_print_completed_message">Stampa completata</string>
<string name="wrong_quantity_input_message"><![CDATA[La quantità inserita non è valida]]></string>
<string name="quantity_overflow_error_message"><![CDATA[La <b>quantità</b> inserita supera la quantità massima disponibile]]></string>
<string name="available_quantity_overflow_error_message"><![CDATA[La <b>quantità</b> inserita supera la quantità massima disponibile]]></string>
<string name="invalid_quantity_x_package_error_message"><![CDATA[La <b>quantità per confezioni</b> inserita non è valida]]></string>
<string name="available_num_cnf_overflow_error_message"><![CDATA[Il <b>numero di confezioni</b> inserito supera la quantità massima disponibile]]></string>
<string name="ordered_quantity_overflow_error_message"><![CDATA[La <b>quantità</b> inserita supera la quantità ordinata]]></string>
<string name="ordered_num_cnf_overflow_error_message"><![CDATA[Il <b>numero di confezioni</b> inserito supera la quantità ordinata]]></string>
<string name="expire_date_error_message"><![CDATA[La <b>data di scadenza</b> inserita non è valida]]></string>
<string name="batch_lot_error_message"><![CDATA[Il <b>lotto</b> inserito non è valido]]></string>
<string name="settings_category">Impostazioni</string>

View File

@ -147,7 +147,11 @@
<string name="alert_print_completed_message">Printing job completed</string>
<string name="wrong_quantity_input_message"><![CDATA[The inserted <b>amount</b> is not valid, please check it]]></string>
<string name="quantity_overflow_error_message"><![CDATA[The inserted <b>amount</b> exceeds the maximum amount available, please check it]]></string>
<string name="invalid_quantity_x_package_error_message"><![CDATA[The inserted <b>package\'s quantity</b> is not valid, please check it]]></string>
<string name="available_quantity_overflow_error_message"><![CDATA[The inserted <b>amount</b> exceeds the maximum amount available, please check it]]></string>
<string name="available_num_cnf_overflow_error_message"><![CDATA[The inserted <b>package\'s amount</b> exceeds the maximum amount available, please check it]]></string>
<string name="ordered_quantity_overflow_error_message"><![CDATA[The inserted <b>amount</b> exceeds the total ordered amount, please check it]]></string>
<string name="ordered_num_cnf_overflow_error_message"><![CDATA[The inserted <b>package\'s amount</b> exceeds the total ordered amount, please check it]]></string>
<string name="expire_date_error_message"><![CDATA[The inserted <b>expire date</b> is not valid, please check it.]]></string>
<string name="batch_lot_error_message"><![CDATA[The inserted <b>batch lot</b> is not valid, please check it.]]></string>
<string name="settings_category">Settings</string>