diff --git a/app/build.gradle b/app/build.gradle index 4c940085..84ca8094 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 320 - def appVersionName = '1.30.02' + def appVersionCode = 321 + def appVersionName = '1.30.03' signingConfigs { release { diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java index 53932203..79c5b00a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java @@ -88,6 +88,8 @@ import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceComponen import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceModule; import it.integry.integrywmsnative.view.bottom_sheet__item_edit.BottomSheetItemEditComponent; import it.integry.integrywmsnative.view.bottom_sheet__item_edit.BottomSheetItemEditModule; +import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalComponent; +import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalModule; import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteComponent; import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteModule; import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsComponent; @@ -163,6 +165,7 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr BottomSheetItemEditModule.class, BottomSheetInventarioActionsModule.class, BottomSheetInventarioRowActionsModule.class, + BottomSheetMtbColrEditModalModule.class, }) public interface MainApplicationComponent { @@ -274,6 +277,8 @@ public interface MainApplicationComponent { BottomSheetInventarioRowActionsComponent.Factory bottomSheetInventarioRowActionsComponent(); + BottomSheetMtbColrEditModalComponent.Factory bottomSheetMtbColrEditModalComponent(); + void inject(MainApplication mainApplication); void inject(AppContext mainApplication); 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 ed399da0..6dda06d8 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,11 +5,11 @@ 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.expansion.RunnableArgs; import it.integry.integrywmsnative.core.rest.CommonRESTException; import it.integry.integrywmsnative.core.rest.model.EsitoType; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; -import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.utility.UtilityString; import retrofit2.Response; @@ -39,11 +39,10 @@ public abstract class _BaseRESTConsumer { } } else { if (response.code() == 404) { - Log.e(logTitle, "Errore " + response.code() + ": risorsa non trovata (" + response.raw().request().url() + ")"); - onFailed.run(new Exception("Errore " + response.code() + ": risorsa non trovata (" + response.raw().request().url() + ")")); - } - else if (response.code() == 550) - onFailed.run(new NotValidLicenseException()); + 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 InvalidLicenseException()); else { Log.e(logTitle, "Status " + response.code() + ": " + response.message()); onFailed.run(new Exception("Status " + response.code() + ": " + response.message())); @@ -78,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())); @@ -117,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/DocInterniEditFormActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java index fd1c5880..0aa317b2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java @@ -43,13 +43,13 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsView; import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.ui.DocumentRowsListAdapter; import it.integry.integrywmsnative.ui.FabMenuCustomAnimations; -import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView; +import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView; import it.integry.integrywmsnative.view.dialogs.DialogCommon; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; -public class DocInterniEditFormActivity extends BaseActivity implements DocInterniEditFormViewModel.Listener, BottomSheetMtbColrEditView.Listener { +public class DocInterniEditFormActivity extends BaseActivity implements DocInterniEditFormViewModel.Listener, BottomSheetMtbColrEditModalView.Listener { private static final String DATA_KEY_DOCUMENT = "document"; private static final String DATA_KEY_PRODUCTS_LIST = "productsList"; @@ -144,7 +144,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter binding.toolbar.setTitle(R.string.edit_doc); getSupportActionBar().setDisplayHomeAsUpEnabled(true); FabMenuCustomAnimations.changeIconOnFocus(binding.closeActivityFab, R.drawable.ic_menu_24dp, R.drawable.ic_close_24dp); - binding.bottomSheetMtbColrEdit.setListener(this); + } private void initViewModel() { @@ -159,8 +159,9 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter binding.documentRowsList.setAdapter(listAdapter); binding.documentRowsList.setLayoutManager(new LinearLayoutManager(this)); listAdapter.setOnItemClicked(row -> { - binding.bottomSheetMtbColrEdit.setMtbColr(sqlToEntity(row)); - binding.bottomSheetMtbColrEdit.expand(); + new BottomSheetMtbColrEditModalView(sqlToEntity(row)) + .setListener(this) + .show(getSupportFragmentManager(), "BottomSheetMtbColrEditModal"); }); } 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/picking_libero/PickingLiberoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java index b68f73c7..65f5c567 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java @@ -52,7 +52,7 @@ import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration; -import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView; +import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView; import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts; @@ -62,7 +62,7 @@ import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQua /** * A simple {@link Fragment} subclass. */ -public class PickingLiberoFragment extends BaseFragment implements ITitledFragment, IScrollableFragment, ILifecycleFragment, PickingLiberoViewModel.Listener, BottomSheetMtbColrEditView.Listener { +public class PickingLiberoFragment extends BaseFragment implements ITitledFragment, IScrollableFragment, ILifecycleFragment, PickingLiberoViewModel.Listener, BottomSheetMtbColrEditModalView.Listener { private FragmentPickingLiberoBinding mBindings; @@ -135,7 +135,7 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme this.initVars(); this.initBarcodeReader(); - this.initBottomSheet(); + this.initRecyclerView(); boolean flagAskCliente = SettingsManager.iDB().isFlagAskClienteInPickingLibero(); @@ -162,10 +162,6 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme BarcodeManager.enable(); } - private void initBottomSheet() { - mBindings.bottomSheetMtbColrEdit.setListener(this); - } - private void initRecyclerView() { mBindings.pickingLiberoMainList.setNestedScrollingEnabled(false); @@ -182,8 +178,9 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme mBindings.pickingLiberoMainList.setAdapter(mAdapter); this.mAdapter.setOnItemClickListener(clickedMtbColr -> { - mBindings.bottomSheetMtbColrEdit.setMtbColr(clickedMtbColr); - mBindings.bottomSheetMtbColrEdit.expand(); + new BottomSheetMtbColrEditModalView(clickedMtbColr) + .setListener(this) + .show(getParentFragmentManager(), "BottomSheetMtbColrEditModal"); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceFragment.java index b92300de..12d30271 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceFragment.java @@ -32,7 +32,7 @@ import it.integry.integrywmsnative.gest.prod_rientro_merce.order_list.ProdRientr import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO; import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView; -import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView; +import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; public class ProdRientroMerceFragment extends BaseFragment implements @@ -41,7 +41,7 @@ public class ProdRientroMerceFragment extends BaseFragment implements ILifecycleFragment, ProdRientroMerceViewModel.Listener, BottomSheetFragmentLUContentView.Listener, - BottomSheetMtbColrEditView.Listener, + BottomSheetMtbColrEditModalView.Listener, ProdRientroMerceOrderListFragment.OnRefreshListener { @@ -64,7 +64,6 @@ public class ProdRientroMerceFragment extends BaseFragment implements } - @Override public void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -77,7 +76,6 @@ public class ProdRientroMerceFragment extends BaseFragment implements mProdRientroMerceOrderDetailFragment = ProdRientroMerceOrderDetailFragment.newInstance(); - mProdRientroMerceOrderListFragment .setOnItemSelectedRunnable(order -> { if (!isLargeLayout) { @@ -92,8 +90,9 @@ public class ProdRientroMerceFragment extends BaseFragment implements }) .setOnRefreshListener(this); mProdRientroMerceOrderDetailFragment.setOnMtbColtClicked(item -> { - mBindings.bottomSheetMtbColrEdit.setMtbColr(item.getMtbColr().get(0)); - mBindings.bottomSheetMtbColrEdit.expand(); + new BottomSheetMtbColrEditModalView(item.getMtbColr().get(0)) + .setListener(this) + .show(getParentFragmentManager(), "BottomSheetMtbColrEditModal"); }); if (isLargeLayout) { @@ -127,8 +126,7 @@ public class ProdRientroMerceFragment extends BaseFragment implements mBindings.setViewmodel(mViewModel); mViewModel.setListener(this); - - this.initBottomSheet(); + return mBindings.getRoot(); } @@ -182,11 +180,6 @@ public class ProdRientroMerceFragment extends BaseFragment implements } - private void initBottomSheet() { - mBindings.bottomSheetMtbColrEdit.setListener(this); - mBindings.bottomSheetMtbColrEdit.disableEditButton(); - } - @Override public void onMtbColrEdit(MtbColr mtbColr) { @@ -222,7 +215,7 @@ public class ProdRientroMerceFragment extends BaseFragment implements @Override public void onPreDestroy(Runnable onComplete) { - if(getChildFragmentManager().getBackStackEntryCount() > 0) + if (getChildFragmentManager().getBackStackEntryCount() > 0) getChildFragmentManager().popBackStack(); else onComplete.run(); 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/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java index cec2e443..623304fb 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java @@ -55,7 +55,7 @@ import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGExcep import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration; -import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView; +import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView; import it.integry.integrywmsnative.view.dialogs.DialogConsts; import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; @@ -65,7 +65,7 @@ import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQua import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView; import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNoView; -public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFragment, ILifecycleFragment, RettificaGiacenzeViewModel.Listener, BottomSheetMtbColrEditView.Listener { +public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFragment, ILifecycleFragment, RettificaGiacenzeViewModel.Listener, BottomSheetMtbColrEditModalView.Listener { private FragmentMainRettificaGiacenzeBinding mBinding = null; @@ -132,7 +132,6 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr this.initVars(); this.initBarcodeReader(); - this.initBottomSheet(); this.initRecyclerView(); this.init(); @@ -152,10 +151,6 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr .setOnScanFailed(ex -> UtilityExceptions.defaultException(getActivity(), ex, false))); } - private void initBottomSheet() { - mBinding.bottomSheetMtbColrEdit.setListener(this); - } - private void initRecyclerView() { mBinding.rettificaGiacenzeMainList.setNestedScrollingEnabled(false); mBinding.rettificaGiacenzeMainList.setHasFixedSize(true); @@ -173,8 +168,11 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr this.mAdapter.setOnItemClickListener(clickedMtbColr -> { - mBinding.bottomSheetMtbColrEdit.setMtbColr(clickedMtbColr); - mBinding.bottomSheetMtbColrEdit.expand(); + new BottomSheetMtbColrEditModalView(clickedMtbColr) + .setListener(this) + .show(getParentFragmentManager(), "tag"); +// mBinding.bottomSheetMtbColrEdit.setMtbColr(clickedMtbColr); +// mBinding.bottomSheetMtbColrEdit.expand(); }); mBinding.rettificaGiacenzeMainList.setAdapter(mAdapter); @@ -475,16 +473,16 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr switch (result) { case YES: DialogAskPositionOfLUView.makeBase(false, (status, mtbDepoPosizione) -> { - if (status == DialogConsts.Results.ABORT) { - onComplete.run(false, null); - } else { - if (mtbDepoPosizione != null) { - onComplete.run(true, mtbDepoPosizione); - } else { - onComplete.run(true, null); - } - } - }, this::onError) + if (status == DialogConsts.Results.ABORT) { + onComplete.run(false, null); + } else { + if (mtbDepoPosizione != null) { + onComplete.run(true, mtbDepoPosizione); + } else { + onComplete.run(true, null); + } + } + }, this::onError) .show(requireActivity().getSupportFragmentManager(), "tag"); break; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index 19d38d9d..61868227 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java @@ -223,7 +223,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo useQtaOrd); } - private boolean isOrdTrasf() { @@ -724,8 +723,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo @Override public void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss onComplete) { DialogInputPesoLUView.newInstance(null, new BigDecimal(50), new BigDecimal(55), (newCodTcol, newNetWeight, newGrossWeight) -> { - onComplete.run(newCodTcol, netWeightKG, grossWeightKG); - }) + onComplete.run(newCodTcol, netWeightKG, grossWeightKG); + }) .show(getSupportFragmentManager(), "tag"); } @@ -832,7 +831,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo .setCanOverflowOrderQuantity(canOverflowOrderQuantity) .setCanLUBeClosed(true) .setCanPartitaMagBeChanged(canPartitaMagBeChanged) - .setStatoPartitaMag(pickingObjectDTO.getStatoArticoloDTO()) + .setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null) .setNotifyProductLotStatus(SettingsManager.iDB().isNotifyLotStatus()); if (!mDialogInputQuantityV2View.isVisible()) diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentView.java b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentView.java index 7bd1451a..66c50a46 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentView.java @@ -6,6 +6,7 @@ import android.view.LayoutInflater; import android.view.View; import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import androidx.databinding.DataBindingUtil; import androidx.databinding.Observable; import androidx.databinding.ObservableList; @@ -19,9 +20,9 @@ import it.integry.integrywmsnative.core.expansion.OnSingleClickListener; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.databinding.BottomSheetFragmentLuContentBinding; import it.integry.integrywmsnative.view.bottom_sheet__base.BottomSheetFragmentBaseView; -import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView; +import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView; -public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseView implements BottomSheetMtbColrEditView.Listener { +public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseView implements BottomSheetMtbColrEditModalView.Listener { private BottomSheetFragmentLuContentBinding mBinding; private BottomSheetFragmentLUContentViewModel mViewModel; @@ -41,7 +42,6 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie mViewModel = new BottomSheetFragmentLUContentViewModel(); mBinding.setViewModel(mViewModel); - mBinding.bottomSheetMtbColrEdit.setListener(this); mBinding.titleLayout.setOnClickListener(new OnSingleClickListener() { @Override @@ -67,8 +67,11 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie this.mBinding.mtbColrRecyclerView.setAdapter(this.mAdapter); this.mAdapter.setOnItemClickListener(clickedMtbColr -> { - this.mBinding.bottomSheetMtbColrEdit.setMtbColr(clickedMtbColr); - this.mBinding.bottomSheetMtbColrEdit.expand(); + + new BottomSheetMtbColrEditModalView(clickedMtbColr) + .setListener(this) + .show(((AppCompatActivity) mContext).getSupportFragmentManager(), "tag"); + }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditModalComponent.java b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditModalComponent.java new file mode 100644 index 00000000..59fe1faf --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditModalComponent.java @@ -0,0 +1,15 @@ +package it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit; + +import dagger.Subcomponent; + +@Subcomponent +public interface BottomSheetMtbColrEditModalComponent { + + @Subcomponent.Factory + interface Factory { + BottomSheetMtbColrEditModalComponent create(); + } + + void inject(BottomSheetMtbColrEditModalView bottomSheetMtbColrEditModalView); + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditModalModule.java b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditModalModule.java new file mode 100644 index 00000000..f846c210 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditModalModule.java @@ -0,0 +1,14 @@ +package it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit; + +import dagger.Module; +import dagger.Provides; + +@Module(subcomponents = BottomSheetMtbColrEditModalComponent.class) +public class BottomSheetMtbColrEditModalModule { + + @Provides + BottomSheetMtbColrEditViewModel providesBottomSheetMtbColrEditViewModel() { + return new BottomSheetMtbColrEditViewModel(); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditModalView.java b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditModalView.java new file mode 100644 index 00000000..18bd078c --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditModalView.java @@ -0,0 +1,106 @@ +package it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.databinding.ObservableField; + +import com.google.android.material.bottomsheet.BottomSheetDialogFragment; + +import javax.inject.Inject; + +import it.integry.integrywmsnative.MainApplication; +import it.integry.integrywmsnative.core.model.MtbColr; +import it.integry.integrywmsnative.databinding.BottomSheetMtbColrEditBinding; + +public class BottomSheetMtbColrEditModalView extends BottomSheetDialogFragment { + + @Inject + BottomSheetMtbColrEditViewModel mViewModel; + + public ObservableField enabledEditButton = new ObservableField<>(true); + public ObservableField enabledDeleteButton = new ObservableField<>(true); + + private BottomSheetMtbColrEditBinding mBinding; + private Listener mListener; + + public final ObservableField inputMtbColr = new ObservableField<>(); + + public BottomSheetMtbColrEditModalView(MtbColr inputMtbColr) { + this.inputMtbColr.set(inputMtbColr); + } + + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + MainApplication.appComponent + .bottomSheetMtbColrEditModalComponent() + .create() + .inject(this); + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + mBinding = BottomSheetMtbColrEditBinding.inflate(inflater, container, true); + + mBinding.setLifecycleOwner(this); + mBinding.setView(this); + + mBinding.executePendingBindings(); + + return mBinding.getRoot(); + } + + + public BottomSheetMtbColrEditModalView enableEditButton() { + this.enabledEditButton.set(true); + return this; + } + + public BottomSheetMtbColrEditModalView disableEditButton() { + this.enabledEditButton.set(false); + return this; + } + + public BottomSheetMtbColrEditModalView enableDeleteButton() { + this.enabledDeleteButton.set(true); + return this; + } + + public BottomSheetMtbColrEditModalView disableDeleteButton() { + this.enabledDeleteButton.set(false); + return this; + } + + + public void editMtbColr() { + if (this.mListener != null) this.mListener.onMtbColrEdit(this.inputMtbColr.get()); + this.dismiss(); + } + + public void deleteMtbColr() { + if (this.mListener != null) this.mListener.onMtbColrDelete(this.inputMtbColr.get()); + this.dismiss(); + } + + + public BottomSheetMtbColrEditModalView setListener(Listener listener) { + this.mListener = listener; + return this; + } + + public interface Listener { + + void onMtbColrEdit(MtbColr mtbColr); + + void onMtbColrDelete(MtbColr mtbColr); + + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditView.java b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditView.java deleted file mode 100644 index 70f7ec55..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditView.java +++ /dev/null @@ -1,116 +0,0 @@ -package it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.LayoutInflater; - -import androidx.databinding.DataBindingUtil; -import androidx.databinding.ObservableField; - -import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.model.MtbColr; -import it.integry.integrywmsnative.core.utility.UtilityLogger; -import it.integry.integrywmsnative.databinding.BottomSheetMtbColrEditBinding; -import it.integry.integrywmsnative.view.bottom_sheet__base.BottomSheetFragmentBaseView; -import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.exceptions.NullMtbColrException; - -public class BottomSheetMtbColrEditView extends BottomSheetFragmentBaseView { - - private final BottomSheetMtbColrEditBinding mBinding; - private final BottomSheetMtbColrEditViewModel mViewModel; - - public ObservableField enabledEditButton = new ObservableField<>(true); - public ObservableField enabledDeleteButton = new ObservableField<>(true); - - private Listener mListener; - - public BottomSheetMtbColrEditView(Context context, AttributeSet attrs) { - super(context, attrs); - - LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - mBinding = DataBindingUtil.inflate(inflater, R.layout.bottom_sheet__mtb_colr_edit, this, true); - - - mViewModel = new BottomSheetMtbColrEditViewModel(); - mBinding.setViewModel(mViewModel); - mBinding.setView(this); - } - - public void setMtbColr(MtbColr mtbColr) { - this.mBinding.invalidateAll(); - this.mViewModel.setMtbColr(mtbColr); - this.mBinding.executePendingBindings(); - - this.parentView.requestLayout(); - } - - public void editMtbColr() { - if(this.mListener != null) this.mListener.onMtbColrEdit(this.mViewModel.getMtbColr()); - this.collapse(); - } - - public void deleteMtbColr() { - if(this.mListener != null) this.mListener.onMtbColrDelete(this.mViewModel.getMtbColr()); - this.collapse(); - } - - - - - - @Override - public void expand() { - if(this.mViewModel.getMtbColr() == null) { - UtilityLogger.error(new NullMtbColrException()); - return; - } - - super.expand(); - } - - @Override - protected void onStateChangedCallback(State newState) { - if(newState == State.COLLAPSED) this.mViewModel.setMtbColr(null); - } - - @Override - protected void onSlideCallback(float slideOffset) { - - } - - public void enableEditButton() { - this.enabledEditButton.set(true); - } - - public void disableEditButton() { - this.enabledEditButton.set(false); - } - - public void enableDeleteButton() { - this.enabledDeleteButton.set(true); - } - - public void disableDeleteButton() { - this.enabledDeleteButton.set(false); - } - - - public BottomSheetMtbColrEditViewModel getViewModelInstance() { - return this.mViewModel; - } - - - public BottomSheetMtbColrEditView setListener(Listener listener) { - this.mListener = listener; - return this; - } - - public interface Listener { - - void onMtbColrEdit(MtbColr mtbColr); - - void onMtbColrDelete(MtbColr mtbColr); - - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditViewModel.java index 019096b1..9cc246ce 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__mtb_colr_edit/BottomSheetMtbColrEditViewModel.java @@ -1,22 +1,5 @@ package it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit; -import androidx.databinding.ObservableField; - -import it.integry.integrywmsnative.core.model.MtbColr; - public class BottomSheetMtbColrEditViewModel { - private final ObservableField mtbColr = new ObservableField<>(); - - - public MtbColr getMtbColr() { - return mtbColr.get(); - } - - public BottomSheetMtbColrEditViewModel setMtbColr(MtbColr mtbColr) { - this.mtbColr.set(mtbColr); - return this; - } - - } diff --git a/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml b/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml index 4bafa159..e21f0acf 100644 --- a/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml +++ b/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml @@ -1,4 +1,4 @@ - + @@ -194,6 +194,14 @@ + + app:parentView="@id/bottom_sheet_lu_content" /> diff --git a/app/src/main/res/layout/activity_contab_doc_interni_edit.xml b/app/src/main/res/layout/activity_contab_doc_interni_edit.xml index b8c1d53a..495a8f3c 100644 --- a/app/src/main/res/layout/activity_contab_doc_interni_edit.xml +++ b/app/src/main/res/layout/activity_contab_doc_interni_edit.xml @@ -4,13 +4,15 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:fab="http://schemas.android.com/apk/res-auto"> + + + type="it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.DocInterniEditFormActivity" /> + @@ -28,16 +30,14 @@ android:layout_height="match_parent" android:background="@color/full_white" android:orientation="vertical" - android:descendantFocusability="blocksDescendants" - > + android:descendantFocusability="blocksDescendants"> + android:paddingTop="8dp"> + + + android:tint="@color/colorPrimaryGray" /> @@ -241,6 +243,7 @@ android:layout_marginBottom="92dp" android:paddingStart="2dp" android:paddingEnd="2dp" /> + + android:layout_height="wrap_content" /> + android:text="@string/scan_item" /> @@ -323,6 +326,7 @@ app:fab_colorRipple="#66FFFFFF" app:onClick="@{() -> viewModel.exportDocument()}" fab:fab_label="@string/export_document" /> + - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_picking_resi.xml b/app/src/main/res/layout/activity_picking_resi.xml index a3114789..65d33315 100644 --- a/app/src/main/res/layout/activity_picking_resi.xml +++ b/app/src/main/res/layout/activity_picking_resi.xml @@ -3,6 +3,7 @@ xmlns:fab="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> + @@ -49,7 +50,7 @@ android:gravity="center_horizontal" app:layout_collapseMode="pin"> - + @@ -127,7 +128,7 @@ android:layout_height="match_parent" android:scrollbars="vertical" android:clipToPadding="false" - android:paddingBottom="72dp"/> + android:paddingBottom="72dp" /> @@ -174,7 +175,7 @@ android:layout_width="72dp" android:layout_height="wrap_content" android:src="@drawable/ic_playlist_add_check_24dp" - android:adjustViewBounds="true"/> + android:adjustViewBounds="true" /> + android:text="@string/no_item_to_pick_text" /> @@ -240,17 +241,25 @@ - - - - - - + + + + + + - + + + app:parentView="@id/bottom_sheet_lu_content" /> diff --git a/app/src/main/res/layout/activity_spedizione.xml b/app/src/main/res/layout/activity_spedizione.xml index 5dc66593..4464ad17 100644 --- a/app/src/main/res/layout/activity_spedizione.xml +++ b/app/src/main/res/layout/activity_spedizione.xml @@ -65,7 +65,7 @@ android:src="@drawable/ic_add_24dp" android:tint="@color/colorPrimaryGray" app:visibility="@{spedizioneView.addExtraItemsEnabled}" - app:singleClick="@{() -> spedizioneView.addExtraItem()}"/> + app:singleClick="@{() -> spedizioneView.addExtraItem()}" /> + - - + type="it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView" /> @@ -62,7 +58,7 @@ style="@style/AppTheme.NewMaterial.Text.Small" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@{viewModel.mtbColr.codMart}" + android:text="@{view.inputMtbColr.codMart}" tools:text="ABF52IL" /> @@ -86,7 +82,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="end" - android:text="@{UtilityNumber.decimalToString(viewModel.mtbColr.qtaCol)}" + android:text="@{UtilityNumber.decimalToString(view.inputMtbColr.qtaCol)}" android:textStyle="bold" tools:text="250" /> @@ -96,7 +92,7 @@ android:layout_height="wrap_content" android:layout_marginStart="4dp" android:gravity="end" - android:text="@{viewModel.mtbColr.untMis}" + android:text="@{view.inputMtbColr.untMis}" android:textStyle="bold" tools:text="PZ" /> @@ -113,7 +109,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="end" - android:text="@{UtilityNumber.decimalToString(viewModel.mtbColr.numCnf)}" + android:text="@{UtilityNumber.decimalToString(view.inputMtbColr.numCnf)}" android:textStyle="bold" tools:text="250" /> diff --git a/app/src/main/res/layout/bottom_sheet_fragment__lu_content.xml b/app/src/main/res/layout/bottom_sheet_fragment__lu_content.xml index 0819763c..5b594e49 100644 --- a/app/src/main/res/layout/bottom_sheet_fragment__lu_content.xml +++ b/app/src/main/res/layout/bottom_sheet_fragment__lu_content.xml @@ -528,24 +528,5 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml b/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml index 6a6ae8e4..79da9a1a 100644 --- a/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml +++ b/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml @@ -314,26 +314,6 @@ - - - - - diff --git a/app/src/main/res/layout/fragment_picking_libero.xml b/app/src/main/res/layout/fragment_picking_libero.xml index d25f296e..578dfbd6 100644 --- a/app/src/main/res/layout/fragment_picking_libero.xml +++ b/app/src/main/res/layout/fragment_picking_libero.xml @@ -1,11 +1,12 @@ + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_prod_rientro_merce.xml b/app/src/main/res/layout/fragment_prod_rientro_merce.xml index a6f0d828..b3a88120 100644 --- a/app/src/main/res/layout/fragment_prod_rientro_merce.xml +++ b/app/src/main/res/layout/fragment_prod_rientro_merce.xml @@ -53,29 +53,5 @@ tools:layout="@layout/fragment_prod_rientro_merce_order_list" /> - - - - - - - - - \ No newline at end of file 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