From 356b146e3dc39579efb73a19d0e31471615f5f76 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Wed, 14 Dec 2022 11:14:18 +0100 Subject: [PATCH] rimosse eccezioni generiche da documenti interni e ordini di acquisto PV --- .../exception/ArtNotFoundInGridException.java | 12 ++++++++++++ .../core/exception/GridNotFoundException.java | 16 ++++++++++++++++ .../core/exception/InvalidLicenseException.java | 11 +++++++++++ .../exception/InvalidOrderedQtyException.java | 12 ++++++++++++ .../core/exception/NoArtsInGridException.java | 12 ++++++++++++ .../exception/NoDocTypeSelectedException.java | 11 +++++++++++ .../core/exception/NotValidLicenseException.java | 8 -------- .../core/exception/RestException.java | 9 +++++++++ .../core/rest/consumers/_BaseRESTConsumer.java | 8 ++++---- .../core/utility/UtilityServer.java | 4 ++-- .../contab_doc_interni/DocInterniViewModel.java | 3 ++- .../edit_form/DocInterniEditFormViewModel.java | 5 +++-- .../rest/DocInterniRESTConsumer.java | 5 +++-- .../PVOrdineAcquistoEditViewModel.java | 6 ++++-- .../dialog/DialogEditArticoloViewModel.java | 3 ++- .../dialogs/DialogScanGrigliaAcquistoView.java | 3 ++- app/src/main/res/values-it/strings.xml | 5 +++++ app/src/main/res/values/strings.xml | 6 +++++- 18 files changed, 115 insertions(+), 24 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/exception/ArtNotFoundInGridException.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/exception/GridNotFoundException.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidLicenseException.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidOrderedQtyException.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/exception/NoArtsInGridException.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/exception/NoDocTypeSelectedException.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/exception/NotValidLicenseException.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/exception/RestException.java diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/ArtNotFoundInGridException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/ArtNotFoundInGridException.java new file mode 100644 index 00000000..465d9652 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/ArtNotFoundInGridException.java @@ -0,0 +1,12 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public class ArtNotFoundInGridException extends Exception { + + public ArtNotFoundInGridException() { + super(UtilityResources.getString(R.string.lu_already_attache_to_doc)); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/GridNotFoundException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/GridNotFoundException.java new file mode 100644 index 00000000..a02275d9 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/GridNotFoundException.java @@ -0,0 +1,16 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public class GridNotFoundException extends Exception { + + public GridNotFoundException() { + super(UtilityResources.getString(R.string.grid_not_found)); + } + + public GridNotFoundException(String codAlis) { + super(UtilityResources.getString(R.string.grid_not_found) + " (" + codAlis + ")"); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidLicenseException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidLicenseException.java new file mode 100644 index 00000000..b4e7dd4a --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidLicenseException.java @@ -0,0 +1,11 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public class InvalidLicenseException extends Exception { + + public InvalidLicenseException() { + super(UtilityResources.getString(R.string.invalid_license)); + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidOrderedQtyException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidOrderedQtyException.java new file mode 100644 index 00000000..56426034 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidOrderedQtyException.java @@ -0,0 +1,12 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public class InvalidOrderedQtyException extends Exception { + + public InvalidOrderedQtyException() { + super(UtilityResources.getString(R.string.invalid_quantity_ordered)); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/NoArtsInGridException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/NoArtsInGridException.java new file mode 100644 index 00000000..d79ea2e3 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/NoArtsInGridException.java @@ -0,0 +1,12 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public class NoArtsInGridException extends Exception { + + public NoArtsInGridException() { + super(UtilityResources.getString(R.string.no_arts_in_grid)); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/NoDocTypeSelectedException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/NoDocTypeSelectedException.java new file mode 100644 index 00000000..5bfb67d7 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/NoDocTypeSelectedException.java @@ -0,0 +1,11 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public final class NoDocTypeSelectedException extends Exception { + + public NoDocTypeSelectedException() { + super(UtilityResources.getString(R.string.no_doc_type_selected)); + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/NotValidLicenseException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/NotValidLicenseException.java deleted file mode 100644 index ea39bc23..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/exception/NotValidLicenseException.java +++ /dev/null @@ -1,8 +0,0 @@ -package it.integry.integrywmsnative.core.exception; - -public class NotValidLicenseException extends Exception { - - public NotValidLicenseException() { - super("Licenza non valida"); - } -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/RestException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/RestException.java new file mode 100644 index 00000000..e51eb9d8 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/RestException.java @@ -0,0 +1,9 @@ +package it.integry.integrywmsnative.core.exception; + +public class RestException extends Exception { + + public RestException(String message) { + super(message); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/_BaseRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/_BaseRESTConsumer.java index 02b7194b..0af69536 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/_BaseRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/_BaseRESTConsumer.java @@ -5,7 +5,7 @@ import android.util.Log; import java.util.ArrayList; import java.util.List; -import it.integry.integrywmsnative.core.exception.NotValidLicenseException; +import it.integry.integrywmsnative.core.exception.InvalidLicenseException; import it.integry.integrywmsnative.core.rest.CommonRESTException; import it.integry.integrywmsnative.core.rest.model.EsitoType; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; @@ -42,7 +42,7 @@ public abstract class _BaseRESTConsumer { Log.e(logTitle, "Errore " + response.code() + ": risorsa non trovata (" + response.raw().request().url().toString() + ")"); onFailed.run(new Exception("Errore " + response.code() + ": risorsa non trovata (" + logTitle + ")")); } else if (response.code() == 550) - onFailed.run(new NotValidLicenseException()); + onFailed.run(new InvalidLicenseException()); else { Log.e(logTitle, "Status " + response.code() + ": " + response.message()); onFailed.run(new Exception("Status " + response.code() + ": " + response.message())); @@ -77,7 +77,7 @@ public abstract class _BaseRESTConsumer { Log.e(logTitle, "Errore " + response.code() + ": risorsa non trovata"); onFailed.run(new Exception("Errore " + response.code() + ": risorsa non trovata (" + logTitle + ")")); } else if (response.code() == 550) - onFailed.run(new NotValidLicenseException()); + onFailed.run(new InvalidLicenseException()); else { Log.e(logTitle, "Status " + response.code() + ": " + response.message()); onFailed.run(new Exception("Status " + response.code() + ": " + response.message())); @@ -116,7 +116,7 @@ public abstract class _BaseRESTConsumer { Log.e(logTitle, "Errore " + responseList.code() + ": risorsa non trovata"); onFailed.run(new Exception("Errore " + responseList.code() + ": risorsa non trovata (" + logTitle + ")")); } else if (responseList.code() == 550) - onFailed.run(new NotValidLicenseException()); + onFailed.run(new InvalidLicenseException()); else { Log.e(logTitle, "Status " + responseList.code() + ": " + responseList.message()); onFailed.run(new Exception("Status " + responseList.code() + ": " + responseList.message())); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java index ea06a59e..a661959a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java @@ -5,7 +5,7 @@ import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; -import it.integry.integrywmsnative.core.exception.NotValidLicenseException; +import it.integry.integrywmsnative.core.exception.InvalidLicenseException; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.gest.login.exception.ServerNotReachableException; import okhttp3.OkHttpClient; @@ -54,7 +54,7 @@ public class UtilityServer { else if (response.code() == 404) onFailed.run(new ServerNotReachableException(serverAddress, serverTCPport, null)); else if (response.code() == 550) - onFailed.run(new NotValidLicenseException()); + onFailed.run(new InvalidLicenseException()); else onFailed.run(new Exception("Errore non identificato (STATUS: " + response.code() + ")")); } catch (IOException e) { onFailed.run(new ServerNotReachableException(serverAddress, serverTCPport, e)); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java index 7b10cba1..ac5a30c9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java @@ -12,6 +12,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt; import it.integry.integrywmsnative.core.data_store.db.repository.MtbColtRepository; import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper; import it.integry.integrywmsnative.core.di.BindableInteger; +import it.integry.integrywmsnative.core.exception.NoDocTypeSelectedException; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoViewModel; @@ -160,7 +161,7 @@ public class DocInterniViewModel { public void newDocument() { SqlMtbColt document = new SqlMtbColt(); if (this.dtbTipi.getValue() == null) { - this.sendError(new Exception("Nessun tipo documento selezionato!")); + this.sendError(new NoDocTypeSelectedException()); return; } document.setCodDtipProvv(this.getCodDtip()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java index ca0576a9..4ad5de32 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java @@ -19,6 +19,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr; import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt; import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrDataSource; import it.integry.integrywmsnative.core.data_store.db.repository.MtbColtRepository; +import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityDate; @@ -129,12 +130,12 @@ public class DocInterniEditFormViewModel { public void onSearch(String search) { GrigliaAcquistiChildDTO articolo = this.searchArticolo(search); if (articolo == null) { - this.sendError(new Exception("Nessun articolo corrispondente al codice fornito!")); + this.sendError(new NoResultFromBarcodeException()); return; } List rows = this.getRowsForArticolo(articolo); if (rows.isEmpty()) { - this.sendError(new Exception("Nessun articolo corrispondente al codice fornito!")); + this.sendError(new NoResultFromBarcodeException()); } if (rows.size() > 1) { this.listener.onMultipleRowsFound(rows, articolo); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java index ae79ad8c..ebb7be9a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java @@ -4,6 +4,7 @@ import com.google.gson.JsonObject; import javax.inject.Singleton; +import it.integry.integrywmsnative.core.exception.RestException; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer; @@ -35,7 +36,7 @@ public class DocInterniRESTConsumer extends _BaseRESTConsumer { @Override public void onFailure(Call> call, Throwable t) { - onFailed.run(new Exception(t)); + onFailed.run(new RestException(t.getMessage())); } }); } @@ -50,7 +51,7 @@ public class DocInterniRESTConsumer extends _BaseRESTConsumer { @Override public void onFailure(Call> call, Throwable t) { - onFailed.run(new Exception(t)); + onFailed.run(new RestException(t.getMessage())); } }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java index 187a96e2..1bb85b96 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java @@ -21,6 +21,8 @@ import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGriglia import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository; import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository; import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO; +import it.integry.integrywmsnative.core.exception.NoArtsInGridException; +import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer; @@ -131,7 +133,7 @@ public class PVOrdineAcquistoEditViewModel { public void checkArticolo(String barcode, RunnableArgs onSuccess, RunnableArgs onFail) { try { if (mArticoliGriglia == null || mArticoliGriglia.isEmpty()) { - onFail.run(new Exception("Nessun articolo è presente nella griglia")); + onFail.run(new NoArtsInGridException()); return; } ArticoloDTO art = Stream.of(mArticoliGriglia).filter(articolo -> @@ -141,7 +143,7 @@ public class PVOrdineAcquistoEditViewModel { ).sortBy(x -> x.getSortByBarcodeCondition(barcode)).findFirst().orElse(null); if (art == null) { - onFail.run(new Exception("L' articolo ( " + barcode + " ) non è presente nella griglia")); + onFail.run(new NoResultFromBarcodeException(barcode)); return; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloViewModel.java index 0a2188c2..7880d8f0 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloViewModel.java @@ -7,6 +7,7 @@ import javax.inject.Inject; import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository; +import it.integry.integrywmsnative.core.exception.InvalidOrderedQtyException; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; @@ -105,7 +106,7 @@ public class DialogEditArticoloViewModel { public void save(RunnableArgs onComplete) { if (UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO)) { - this.mListener.onError(new Exception("La quantità ordinata deve essere maggiore di 0")); + this.mListener.onError(new InvalidOrderedQtyException()); return; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java index c2d4fde6..8c37c77e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java @@ -22,6 +22,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO; +import it.integry.integrywmsnative.core.exception.GridNotFoundException; import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgss; @@ -106,7 +107,7 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment { pvOrdiniAcquistoRESTConsumer.getArticoliListino(codAlis, dto -> { this.onLoadingEnded(); if (dto.getGrigliaAcquistiChild().size() <= 0) { - onFailed.run(new Exception("La griglia selezionata (" + codAlis + ") non esiste o non presenta articoli")); + onFailed.run(new GridNotFoundException(codAlis)); return; } diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index b453ceac..1b14c809 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -213,6 +213,7 @@ Il barcode scansionato non ha fornito alcun risultato Il barcode scansionato ha fornito multipli risultati + Nessun tipo documento selezionato Filtro articoli applicato Rimuovi filtro @@ -431,4 +432,8 @@ Inventario Non sincronizzato Nuovo + Licenza non valida + Nessun articolo presente in griglia + La quantità ordinata non è valida + La griglia selezionata non esiste o non presenta articoli \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 85b74cb6..8be3c0ad 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -212,6 +212,7 @@ no compatible orders found No items No LU poured into production + No document type selected The scanned label has already been used The scanned barcode did not produce any results @@ -435,8 +436,11 @@ Empty LU %s %s]]> - Hello blank fragment Inventory Not synchronized New + Invalid license + No product found in grid + Invalid quantity ordered + The selected grid was not found or is empty