From 42ea19a7b0d3dbd57eb4bbdc0c5e50debf345811 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 20 Feb 2020 12:37:53 +0100 Subject: [PATCH] Creata nuova Activity e nuovo adapter --- app/src/main/AndroidManifest.xml | 3 +- .../integrywmsnative/core/di/Converters.java | 21 +- .../OnListGeneralChangedCallback.java | 35 +++ .../ProdOrdineLavorazioneElencoFragment.java | 2 +- .../VenditaOrdineInevasoActivity.java | 10 +- .../MainListOrdineVenditaInevasoAdapter.java | 7 +- .../spedizione/core/SpedizioneHelper.java | 18 ++ .../core/VenditaOrdineInevasoHelper.java | 6 +- .../IOnOrdineVenditaRowDispatched.java | 2 +- .../VenditaOrdineInevasoListViewModel.java | 2 +- ...dineVenditaInevasoRESTConsumerService.java | 4 + .../VenditaOrdineInevasoViewModel.java | 10 +- .../spedizione_new/SpedizioneActivity.java | 80 +++++ .../spedizione_new/SpedizioneViewModel.java | 48 +++ .../core/SpedizioneListAdapter.java | 258 ++++++++++++++++ .../core/SpedizioneListModel.java | 120 ++++++++ .../gest/vendita/MainVenditaFragment.java | 7 +- .../gest/vendita/dto/PickingObjectDTO.java | 2 +- ...dineVenditaInevasoRESTConsumerService.java | 4 - .../main/res/layout/activity_spedizione.xml | 281 ++++++++++++++++++ .../activity_vendita_ordine_inevaso.xml | 2 +- .../spedizione_main_list__group_header.xml | 27 ++ .../spedizione_main_list__group_item.xml | 168 +++++++++++ 23 files changed, 1065 insertions(+), 52 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/expansion/OnListGeneralChangedCallback.java rename app/src/main/java/it/integry/integrywmsnative/gest/{vendita_ordine_inevaso => spedizione}/VenditaOrdineInevasoActivity.java (92%) rename app/src/main/java/it/integry/integrywmsnative/gest/{vendita_ordine_inevaso => spedizione}/core/MainListOrdineVenditaInevasoAdapter.java (96%) create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneHelper.java rename app/src/main/java/it/integry/integrywmsnative/gest/{vendita_ordine_inevaso => spedizione}/core/VenditaOrdineInevasoHelper.java (96%) rename app/src/main/java/it/integry/integrywmsnative/gest/{vendita_ordine_inevaso => spedizione}/core/interfaces/IOnOrdineVenditaRowDispatched.java (68%) rename app/src/main/java/it/integry/integrywmsnative/gest/{vendita_ordine_inevaso => spedizione}/dto/VenditaOrdineInevasoListViewModel.java (97%) create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione/rest/OrdineVenditaInevasoRESTConsumerService.java rename app/src/main/java/it/integry/integrywmsnative/gest/{vendita_ordine_inevaso => spedizione}/viewmodel/VenditaOrdineInevasoViewModel.java (99%) create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneActivity.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneViewModel.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/core/SpedizioneListAdapter.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/core/SpedizioneListModel.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/rest/OrdineVenditaInevasoRESTConsumerService.java create mode 100644 app/src/main/res/layout/activity_spedizione.xml create mode 100644 app/src/main/res/layout/spedizione_main_list__group_header.xml create mode 100644 app/src/main/res/layout/spedizione_main_list__group_item.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 73effea7..9d4a8adb 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,6 +18,7 @@ android:supportsRtl="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true"> + diff --git a/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java b/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java index 2bbd3e2c..560795c3 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java @@ -27,6 +27,8 @@ import java.text.DecimalFormatSymbols; import java.util.Locale; import androidx.databinding.Observable; +import androidx.lifecycle.MutableLiveData; + import it.integry.integrywmsnative.MainApplication; import it.integry.integrywmsnative.R; @@ -234,25 +236,6 @@ public class Converters { } - - - @BindingAdapter("visibility") - public static void bindCheckbox(LinearLayout view, final BindableBoolean bindableBoolean) { - if (view.getTag(R.id.bound_observable) != bindableBoolean) { - view.setTag(R.id.bound_observable, bindableBoolean); - //view.setOnCheckedChangeListener((compoundButton, b) -> bindableBoolean.set(b)); - } - bindableBoolean.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() { - @Override - public void onPropertyChanged(Observable sender, int propertyId) { - view.setVisibility(bindableBoolean.get() ? View.VISIBLE : View.GONE); - } - }); - - view.setVisibility(bindableBoolean.get() ? View.VISIBLE : View.GONE); - } - - @BindingAdapter("visibility") public static void bindView(View view, final BindableBoolean bindableBoolean) { if (view.getTag(R.id.bound_observable) != bindableBoolean) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/OnListGeneralChangedCallback.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/OnListGeneralChangedCallback.java new file mode 100644 index 00000000..f48257af --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/OnListGeneralChangedCallback.java @@ -0,0 +1,35 @@ +package it.integry.integrywmsnative.core.expansion; + +import androidx.databinding.ObservableArrayList; +import androidx.databinding.ObservableList; + +public interface OnListGeneralChangedCallback extends ObservableList.OnListChangedCallback { + + + @Override + public void onChanged(ObservableList sender) { + + } + + @Override + public void onItemRangeChanged(ObservableList sender, int positionStart, int itemCount) { + + } + + @Override + public void onItemRangeInserted(ObservableList sender, int positionStart, int itemCount) { + + } + + @Override + public void onItemRangeMoved(ObservableList sender, int fromPosition, int toPosition, int itemCount) { + + } + + @Override + public void onItemRangeRemoved(ObservableList sender, int positionStart, int itemCount) { + + } + + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java index 120d1d0a..6547252c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java @@ -39,7 +39,7 @@ import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdin import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdineLavorazioneListAdapter; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; -import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity; +import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity; import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/VenditaOrdineInevasoActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/VenditaOrdineInevasoActivity.java similarity index 92% rename from app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/VenditaOrdineInevasoActivity.java rename to app/src/main/java/it/integry/integrywmsnative/gest/spedizione/VenditaOrdineInevasoActivity.java index c16939a5..f67af501 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/VenditaOrdineInevasoActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/VenditaOrdineInevasoActivity.java @@ -1,16 +1,14 @@ -package it.integry.integrywmsnative.gest.vendita_ordine_inevaso; +package it.integry.integrywmsnative.gest.spedizione; -import android.app.Dialog; import android.content.Intent; import androidx.databinding.DataBindingUtil; -import androidx.appcompat.app.AppCompatActivity; + import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import java.util.ArrayList; -import it.integry.integrywmsnative.BuildConfig; import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.expansion.BaseActivity; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; @@ -19,15 +17,13 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.data_cache.DataCache; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.utility.UtilityExceptions; -import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.databinding.ActivityVenditaOrdineInevasoBinding; import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding; import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; -import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.viewmodel.VenditaOrdineInevasoViewModel; +import it.integry.integrywmsnative.gest.spedizione.viewmodel.VenditaOrdineInevasoViewModel; import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel; -import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper; public class VenditaOrdineInevasoActivity extends BaseActivity { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/core/MainListOrdineVenditaInevasoAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/MainListOrdineVenditaInevasoAdapter.java similarity index 96% rename from app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/core/MainListOrdineVenditaInevasoAdapter.java rename to app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/MainListOrdineVenditaInevasoAdapter.java index 17106f62..433a4bc9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/core/MainListOrdineVenditaInevasoAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/MainListOrdineVenditaInevasoAdapter.java @@ -1,4 +1,4 @@ -package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core; +package it.integry.integrywmsnative.gest.spedizione.core; import android.content.Context; import androidx.databinding.ObservableArrayList; @@ -23,9 +23,8 @@ import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityNumber; import it.integry.integrywmsnative.core.utility.UtilityString; -import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; -import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core.interfaces.IOnOrdineVenditaRowDispatched; -import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.dto.VenditaOrdineInevasoListViewModel; +import it.integry.integrywmsnative.gest.spedizione.core.interfaces.IOnOrdineVenditaRowDispatched; +import it.integry.integrywmsnative.gest.spedizione.dto.VenditaOrdineInevasoListViewModel; public class MainListOrdineVenditaInevasoAdapter extends RecyclerView.Adapter { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneHelper.java new file mode 100644 index 00000000..eef2bd43 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneHelper.java @@ -0,0 +1,18 @@ +package it.integry.integrywmsnative.gest.spedizione.core; + +import androidx.databinding.ObservableArrayList; + +import java.util.List; + +import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; + +public class SpedizioneHelper { + + private ObservableArrayList mPickingObjectDtoList; + + public SpedizioneHelper(List pickingObjectDTOList) { + this.mPickingObjectDtoList = new ObservableArrayList<>(); + this.mPickingObjectDtoList.addAll(pickingObjectDTOList); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/core/VenditaOrdineInevasoHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/VenditaOrdineInevasoHelper.java similarity index 96% rename from app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/core/VenditaOrdineInevasoHelper.java rename to app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/VenditaOrdineInevasoHelper.java index e201fc7f..abc3e264 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/core/VenditaOrdineInevasoHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/VenditaOrdineInevasoHelper.java @@ -1,4 +1,4 @@ -package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core; +package it.integry.integrywmsnative.gest.spedizione.core; import android.content.Context; import androidx.databinding.ObservableArrayList; @@ -16,11 +16,9 @@ import it.integry.integrywmsnative.core.class_router.ClassRouter; import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.settings.SettingsManager; -import it.integry.integrywmsnative.core.utility.UtilityNumber; -import it.integry.integrywmsnative.core.utility.UtilityResources; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; -import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.dto.VenditaOrdineInevasoListViewModel; +import it.integry.integrywmsnative.gest.spedizione.dto.VenditaOrdineInevasoListViewModel; public class VenditaOrdineInevasoHelper { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/core/interfaces/IOnOrdineVenditaRowDispatched.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/interfaces/IOnOrdineVenditaRowDispatched.java similarity index 68% rename from app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/core/interfaces/IOnOrdineVenditaRowDispatched.java rename to app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/interfaces/IOnOrdineVenditaRowDispatched.java index d9e77f13..4f253e87 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/core/interfaces/IOnOrdineVenditaRowDispatched.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/interfaces/IOnOrdineVenditaRowDispatched.java @@ -1,4 +1,4 @@ -package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core.interfaces; +package it.integry.integrywmsnative.gest.spedizione.core.interfaces; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/dto/VenditaOrdineInevasoListViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dto/VenditaOrdineInevasoListViewModel.java similarity index 97% rename from app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/dto/VenditaOrdineInevasoListViewModel.java rename to app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dto/VenditaOrdineInevasoListViewModel.java index 1099956a..f6636a19 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/dto/VenditaOrdineInevasoListViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dto/VenditaOrdineInevasoListViewModel.java @@ -1,4 +1,4 @@ -package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.dto; +package it.integry.integrywmsnative.gest.spedizione.dto; import com.annimon.stream.Stream; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/rest/OrdineVenditaInevasoRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/rest/OrdineVenditaInevasoRESTConsumerService.java new file mode 100644 index 00000000..c87b126c --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/rest/OrdineVenditaInevasoRESTConsumerService.java @@ -0,0 +1,4 @@ +package it.integry.integrywmsnative.gest.spedizione.rest; + +public interface OrdineVenditaInevasoRESTConsumerService { +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java similarity index 99% rename from app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java rename to app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java index c50d4c26..a8421b99 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java @@ -1,4 +1,4 @@ -package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.viewmodel; +package it.integry.integrywmsnative.gest.spedizione.viewmodel; import android.app.Dialog; @@ -57,10 +57,10 @@ import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.ActivityVenditaOrdineInevasoBinding; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; -import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity; -import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core.VenditaOrdineInevasoHelper; -import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core.MainListOrdineVenditaInevasoAdapter; -import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core.interfaces.IOnOrdineVenditaRowDispatched; +import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity; +import it.integry.integrywmsnative.gest.spedizione.core.VenditaOrdineInevasoHelper; +import it.integry.integrywmsnative.gest.spedizione.core.MainListOrdineVenditaInevasoAdapter; +import it.integry.integrywmsnative.gest.spedizione.core.interfaces.IOnOrdineVenditaRowDispatched; import it.integry.integrywmsnative.view.bottomsheet.interfaces.IOnColloClosedCallback; import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneActivity.java new file mode 100644 index 00000000..5a779457 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneActivity.java @@ -0,0 +1,80 @@ +package it.integry.integrywmsnative.gest.spedizione_new; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.databinding.DataBindingUtil; +import androidx.databinding.ObservableArrayList; +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.LinearLayoutManager; + +import android.os.Bundle; + +import java.util.ArrayList; +import java.util.List; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration; +import it.integry.integrywmsnative.core.class_router.ClassRouter; +import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration; +import it.integry.integrywmsnative.core.data_cache.DataCache; +import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding; +import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListAdapter; +import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel; +import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; +import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; + +public class SpedizioneActivity extends AppCompatActivity { + + private ActivitySpedizioneBinding mBindings; + + private SpedizioneViewModel mViewmodel; + + private ObservableArrayList> mSpedizioneMutableData = new ObservableArrayList(); + + + private boolean mFlashShowCodForn; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + ArrayList pickingList = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList")); + ArrayList testateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini")); + ArrayList colliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati")); + + ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION); + mFlashShowCodForn = customConfiguration.getConfig(BaseCustomConfiguration.Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE); + + mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione); + mViewmodel = new ViewModelProvider(this).get(SpedizioneViewModel.class); + + mBindings.setLifecycleOwner(this); + mBindings.setSpedizioneViewModel(mViewmodel); + + this.initRecyclerView(); + + mViewmodel.setDataset(pickingList); + } + + private void initRecyclerView() { + this.mViewmodel.uiModel.observe(this, updatedData -> { + this.mSpedizioneMutableData.postValue(convertDataModelToListModel(updatedData)); + }); + + SpedizioneListAdapter spedizioneListAdapter = new SpedizioneListAdapter(this, mSpedizioneMutableData); + this.mBindings.spedizionePickingList.setAdapter(spedizioneListAdapter); + + this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this)); + } + + + private List convertDataModelToListModel(List dataList) { + List listToReturn = new ArrayList<>(); + + + + return listToReturn; + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneViewModel.java new file mode 100644 index 00000000..e435e12a --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneViewModel.java @@ -0,0 +1,48 @@ +package it.integry.integrywmsnative.gest.spedizione_new; + +import android.util.Log; + +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + + +import java.util.List; + +import it.integry.integrywmsnative.core.di.BindableBoolean; +import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; + +public class SpedizioneViewModel extends ViewModel { + + public BindableBoolean addExtraItemsEnabled = new BindableBoolean(false); + public BindableBoolean anyItemToPick = new BindableBoolean(false); + public BindableBoolean anyLUOpened = new BindableBoolean(false); + + public MutableLiveData> uiModel = new MutableLiveData<>(); + + + public SpedizioneViewModel() { + Log.d("Test", "Test"); + } + + public void setDataset(List dataset) { + this.uiModel.postValue(dataset); + } + + + + public void startManualSearch() { + } + + public void removeListFilter() { + + } + + + public void createNewUL() { + + } + + public void showCreatedUL() { + + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/core/SpedizioneListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/core/SpedizioneListAdapter.java new file mode 100644 index 00000000..39b32879 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/core/SpedizioneListAdapter.java @@ -0,0 +1,258 @@ +package it.integry.integrywmsnative.gest.spedizione_new.core; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Color; +import android.text.Html; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.databinding.DataBindingUtil; +import androidx.databinding.ObservableArrayList; +import androidx.databinding.ObservableList; +import androidx.lifecycle.MutableLiveData; +import androidx.recyclerview.widget.RecyclerView; + +import com.annimon.stream.Stream; +import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.CommonConst; +import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration; +import it.integry.integrywmsnative.core.class_router.ClassRouter; +import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration; +import it.integry.integrywmsnative.core.model.MtbColr; +import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.settings.SettingsManager; +import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; +import it.integry.integrywmsnative.core.utility.UtilityNumber; +import it.integry.integrywmsnative.core.utility.UtilityString; +import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding; +import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupItemBinding; +import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; + +public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter { + + + private Context mContext; + private List mDataset = new ArrayList<>(); + + static class SubheaderHolder extends RecyclerView.ViewHolder { + + SpedizioneMainListGroupHeaderBinding mBinding; + + SubheaderHolder(SpedizioneMainListGroupHeaderBinding binding) { + super(binding.getRoot()); + this.mBinding = binding; + } + + } + + static class SingleItemViewHolder extends RecyclerView.ViewHolder { + + SpedizioneMainListGroupItemBinding mBinding; + + SingleItemViewHolder(SpedizioneMainListGroupItemBinding binding) { + super(binding.getRoot()); + this.mBinding = binding; + } + } + + + public SpedizioneListAdapter(AppCompatActivity context, ObservableArrayList> mutableDataSet) { + this.mContext = context; + + mutableDataSet.addOnListChangedCallback(new ObservableList.OnListChangedCallback>>() { + @Override + public void onChanged(ObservableList> sender) { + + } + + @Override + public void onItemRangeChanged(ObservableList> sender, int positionStart, int itemCount) { + + } + + @Override + public void onItemRangeInserted(ObservableList> sender, int positionStart, int itemCount) { + + } + + @Override + public void onItemRangeMoved(ObservableList> sender, int fromPosition, int toPosition, int itemCount) { + + } + + @Override + public void onItemRangeRemoved(ObservableList> sender, int positionStart, int itemCount) { + + } + }); + + mutableDataSet.observe(context, updatedDataSet -> { + this.mDataset.clear(); + this.mDataset.addAll(updatedDataSet); + notifyDataSetChanged(); + notifyDataChanged(); + }); + } + + + @Override + public SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) { + SpedizioneMainListGroupHeaderBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.spedizione_main_list__group_header, parent, false); + return new SubheaderHolder(binding); + } + + @Override + public SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) { + SpedizioneMainListGroupItemBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.spedizione_main_list__group_item, parent, false); + return new SingleItemViewHolder(binding); + } + + + @Override + public void onBindSubheaderViewHolder(SubheaderHolder subheaderHolder, int nextItemPosition) { + SpedizioneListModel pickingObjectDTO = this.mDataset.get(nextItemPosition); + + subheaderHolder.mBinding.spedizioneGroupTitle.setText(pickingObjectDTO.getGroupTitle()); + +// if (pickingObjectDTO.isDeactivated()) { +// subheaderHolder.mBinding.spedizioneGroupTitle.setText(mContext.getText(R.string.picking_not_available)); +// } else { +// subheaderHolder.mBinding.spedizioneGroupTitle.setText(String.format("%s: %s", mContext.getText(R.string.position_text), UtilityString.isNullOrEmpty(pickingObjectDTO.getPosizione()) ? "N.A." : pickingObjectDTO.getPosizione())); +// } + } + + @Override + public void onBindItemViewHolder(final SpedizioneListAdapter.SingleItemViewHolder holder, final int position) { + SpedizioneListModel pickingObjectDTO = this.mDataset.get(position); + + holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE); + holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1); + holder.mBinding.badge1.setBackground(mContext.getResources().getDrawable(!pickingObjectDTO.isActive() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner)); + holder.mBinding.qtaEvasa.setTextColor(mContext.getResources().getColor(!pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700)); + +// BigDecimal qtaEvasa = BigDecimal.ZERO; +// +// if (SettingsManager.iDB().isFlagForceAllToColli()) { +// for (MtbColr withdrawRow : pickingObjectDTO.getWithdrawRows()) { +// qtaEvasa = qtaEvasa.add(withdrawRow.getNumCnf()); +// } +// } else { +// for (MtbColr withdrawRow : pickingObjectDTO.getWithdrawRows()) { +// qtaEvasa = qtaEvasa.add(withdrawRow.getQtaCol()); +// } +// } + + holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaEvasa())); + holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione()); + holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY); + +// String descrizioneString = pickingObjectDTO.getDescrizione(); +// int descrizioneColor = Color.BLACK; +// +// +// if (UtilityString.isNullOrEmpty(descrizioneString)) { +// holder.mBinding.descrizione.setText(mContext.getString(R.string.no_description)); +// holder.mBinding.descrizione.setTextColor(Color.BLACK); +// } else { +// holder.mBinding.descrizione.setText(descrizioneString); +// holder.mBinding.descrizione.setTextColor(Color.GRAY); +// } +// +// +// if (UtilityString.isNullOrEmpty(descrizioneString)) { +// descrizioneString = mContext.getString(R.string.no_description); +// descrizioneColor = Color.GRAY; +// } else if (descrizioneString.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) { +// descrizioneString = mContext.getString(R.string.stock); +// } +// +// holder.mBinding.descrizione.setText(descrizioneString); +// holder.mBinding.descrizione.setTextColor(descrizioneColor); + + +// String badge1 = ""; +// +// if (mFlashShowCodForn) { +// badge1 += !UtilityString.isNullOrEmpty(pickingObjectDTO.getCodAlis()) ? (pickingObjectDTO.getCodAlis() + " - ") : ""; +// badge1 += (!UtilityString.isNullOrEmpty(pickingObjectDTO.getCodArtFor()) ? pickingObjectDTO.getCodArtFor() : pickingObjectDTO.getCodMart()); +// } else { +// badge1 += pickingObjectDTO.getCodMart(); +// } + + holder.mBinding.badge1.setText(pickingObjectDTO.getBadge1()); +// holder.mBinding.badge2.setText(UtilityString.isNullOrEmpty(pickingObjectDTO.getCodJcom()) ? null : pickingObjectDTO.getCodJcom()); + holder.mBinding.badge2.setText(pickingObjectDTO.getBadge2()); + holder.mBinding.badge2.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getBadge2()) ? View.GONE : View.VISIBLE); + + + holder.mBinding.subdescrizione1.setText(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione1()) ? null : Html.fromHtml(pickingObjectDTO.getSubDescrizione1())); + holder.mBinding.subdescrizione1.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione1()) ? View.GONE : View.VISIBLE); + + holder.mBinding.subdescrizione2.setText(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione2()) ? null : Html.fromHtml(pickingObjectDTO.getSubDescrizione2())); + holder.mBinding.subdescrizione2.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione2()) ? View.GONE : View.VISIBLE); + +// if (!UtilityString.isNullOrEmpty(pickingObjectDTO.getPartitaMag())) { +// holder.mBinding.subdescrizione1.setText(pickingObjectDTO.getPartitaMag()); +// holder.mBinding.subdescrizione1.setVisibility(View.VISIBLE); +// } else { +// holder.mBinding.subdescrizione1.setText(null); +// holder.mBinding.subdescrizione1.setVisibility(View.GONE); +// } +// +// if (pickingObjectDTO.getNumCollo() != null) { +// String description2 = String.format(mContext.getResources().getText(R.string.lu_number_data_text).toString(), pickingObjectDTO.getNumCollo(), pickingObjectDTO.getDataColloHuman()); +// holder.mBinding.subdescrizione2.setText(Html.fromHtml(description2)); +// holder.mBinding.subdescrizione2.setVisibility(View.VISIBLE); +// } else { +// holder.mBinding.subdescrizione2.setText(null); +// holder.mBinding.subdescrizione2.setVisibility(View.GONE); +// } + + +// if (SettingsManager.iDB().isFlagForceAllToColli() || (pickingObjectDTO.getMtbAart() == null || !pickingObjectDTO.getMtbAart().isFlagQtaCnfFissa())) { +// holder.mBinding.untMis.setText("col"); +// holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getNumCollo() != null ? pickingObjectDTO.getNumCnfCollo() : pickingObjectDTO.getNumCnfOrd())); +// } else { +// holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getNumCollo() != null ? pickingObjectDTO.getQtaCollo() : pickingObjectDTO.getQtaOrd())); +// if (pickingObjectDTO.getMtbAart() != null) +// holder.mBinding.untMis.setText(pickingObjectDTO.getMtbAart().getUntMis()); +// } + + holder.mBinding.untMis.setText(pickingObjectDTO.getUntMis()); + holder.mBinding.untMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getUntMis()) ? View.GONE : View.VISIBLE); + + } + + + @Override + public boolean onPlaceSubheaderBetweenItems(int position) { + + if (getItemSize() == 1) return true; + else if (getItemSize() > 1) { + SpedizioneListModel compare1 = this.mDataset.get(position); + SpedizioneListModel compare2 = this.mDataset.get(position + 1); + + if (UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle())) { + return false; + } + } + + return true; + } + + @Override + public int getItemSize() { + return mDataset.size(); + } + + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/core/SpedizioneListModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/core/SpedizioneListModel.java new file mode 100644 index 00000000..e435d708 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/core/SpedizioneListModel.java @@ -0,0 +1,120 @@ +package it.integry.integrywmsnative.gest.spedizione_new.core; + +import java.math.BigDecimal; + +public class SpedizioneListModel { + + private String groupTitle; + + private String badge1; + private String badge2; + + private String descrizione; + private boolean descrizionePresente; + private String subDescrizione1; + private String subDescrizione2; + private BigDecimal qtaEvasa; + private BigDecimal qtaTot; + private String untMis; + + private boolean active; + + public String getGroupTitle() { + return groupTitle; + } + + public SpedizioneListModel setGroupTitle(String groupTitle) { + this.groupTitle = groupTitle; + return this; + } + + public String getBadge1() { + return badge1; + } + + public SpedizioneListModel setBadge1(String badge1) { + this.badge1 = badge1; + return this; + } + + public String getBadge2() { + return badge2; + } + + public SpedizioneListModel setBadge2(String badge2) { + this.badge2 = badge2; + return this; + } + + public String getDescrizione() { + return descrizione; + } + + public SpedizioneListModel setDescrizione(String descrizione) { + this.descrizione = descrizione; + return this; + } + + public boolean isDescrizionePresente() { + return descrizionePresente; + } + + public SpedizioneListModel setDescrizionePresente(boolean descrizionePresente) { + this.descrizionePresente = descrizionePresente; + return this; + } + + public String getSubDescrizione1() { + return subDescrizione1; + } + + public SpedizioneListModel setSubDescrizione1(String subDescrizione1) { + this.subDescrizione1 = subDescrizione1; + return this; + } + + public String getSubDescrizione2() { + return subDescrizione2; + } + + public SpedizioneListModel setSubDescrizione2(String subDescrizione2) { + this.subDescrizione2 = subDescrizione2; + return this; + } + + public BigDecimal getQtaEvasa() { + return qtaEvasa; + } + + public SpedizioneListModel setQtaEvasa(BigDecimal qtaEvasa) { + this.qtaEvasa = qtaEvasa; + return this; + } + + public BigDecimal getQtaTot() { + return qtaTot; + } + + public SpedizioneListModel setQtaTot(BigDecimal qtaTot) { + this.qtaTot = qtaTot; + return this; + } + + public String getUntMis() { + return untMis; + } + + public SpedizioneListModel setUntMis(String untMis) { + this.untMis = untMis; + return this; + } + + public boolean isActive() { + return active; + } + + public SpedizioneListModel setActive(boolean active) { + this.active = active; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java index 93596e6f..f93d4ae5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java @@ -1,7 +1,6 @@ package it.integry.integrywmsnative.gest.vendita; import android.app.Dialog; -import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; @@ -40,6 +39,7 @@ import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityToast; import it.integry.integrywmsnative.databinding.FragmentMainVenditaBinding; import it.integry.integrywmsnative.core.interfaces.ITitledFragment; +import it.integry.integrywmsnative.gest.spedizione_new.SpedizioneActivity; import it.integry.integrywmsnative.gest.vendita.core.MainListVenditaAdapter; import it.integry.integrywmsnative.gest.vendita.core.VenditaHelper; import it.integry.integrywmsnative.gest.vendita.dialogs.DialogVenditaFiltroAvanzato; @@ -47,7 +47,7 @@ import it.integry.integrywmsnative.gest.vendita.dialogs.DialogVenditaFiltroAvanz import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.viewmodel.VenditaViewModel; -import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity; +import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity; import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; @@ -359,7 +359,8 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS } private void startVenditaActivity(List ordini, List selectedOrders, List mtbColtList) { - Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class); +// Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class); + Intent myIntent = new Intent(getActivity(), SpedizioneActivity.class); String keyPickingList = DataCache.addItem(ordini); myIntent.putExtra("keyPickingList", keyPickingList); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dto/PickingObjectDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dto/PickingObjectDTO.java index ea4c0a72..502abb35 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dto/PickingObjectDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dto/PickingObjectDTO.java @@ -310,7 +310,7 @@ public class PickingObjectDTO { } public Boolean isDeactivated() { - return deactivated; + return deactivated != null ? deactivated : false; } public PickingObjectDTO setDeactivated(boolean deactivated) { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/rest/OrdineVenditaInevasoRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/rest/OrdineVenditaInevasoRESTConsumerService.java deleted file mode 100644 index 19adc825..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/rest/OrdineVenditaInevasoRESTConsumerService.java +++ /dev/null @@ -1,4 +0,0 @@ -package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.rest; - -public interface OrdineVenditaInevasoRESTConsumerService { -} diff --git a/app/src/main/res/layout/activity_spedizione.xml b/app/src/main/res/layout/activity_spedizione.xml new file mode 100644 index 00000000..bcbeba36 --- /dev/null +++ b/app/src/main/res/layout/activity_spedizione.xml @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml b/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml index 3ac4b0d6..53154b95 100644 --- a/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml +++ b/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml @@ -6,7 +6,7 @@ + type="it.integry.integrywmsnative.gest.spedizione.viewmodel.VenditaOrdineInevasoViewModel"/> diff --git a/app/src/main/res/layout/spedizione_main_list__group_header.xml b/app/src/main/res/layout/spedizione_main_list__group_header.xml new file mode 100644 index 00000000..ec7b8ecb --- /dev/null +++ b/app/src/main/res/layout/spedizione_main_list__group_header.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/spedizione_main_list__group_item.xml b/app/src/main/res/layout/spedizione_main_list__group_item.xml new file mode 100644 index 00000000..98da03e0 --- /dev/null +++ b/app/src/main/res/layout/spedizione_main_list__group_item.xml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file