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