diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java
index 0446bc26..202a1214 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java
@@ -28,6 +28,7 @@ import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.coollection.Coollection;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.ICheckBoxCallback;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBinding;
@@ -42,7 +43,7 @@ import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneIneva
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.AccettazioneOrdineInevasoActivity;
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
-public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallback, SearchView.OnQueryTextListener, ITitledFragment {
+public class MainAccettazioneFragment extends Fragment implements SearchView.OnQueryTextListener, ITitledFragment {
private FragmentMainAccettazioneBinding mBinding;
@@ -222,7 +223,7 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
groupedOrdiniInevasi.add(groupedOrdine);
}
- mAdapter = new MainListAccettazioneAdapter(getActivity(), groupedOrdiniInevasi, this);
+ mAdapter = new MainListAccettazioneAdapter(getActivity(), groupedOrdiniInevasi, onGroupSelectionChanged);
// mAdapter.setHasStableIds(true);
mBinding.accettazioneMainList.setAdapter(mAdapter);
//mRecyclerView.setAdapter(mAdapter);
@@ -263,18 +264,18 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
}
DialogSimpleMessageHelper.makeInfoDialog(getActivity(),
- getText(R.string.orders).toString(),
- Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, ordersKeys.size()), ordersKeys.size())
- + "
" +
- "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, artsCounter.get())),
- null,
- () -> {
+ getText(R.string.orders).toString(),
+ Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, ordersKeys.size()), ordersKeys.size())
+ + "
" +
+ "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, artsCounter.get())),
+ null,
+ () -> {
- Intent myIntent = new Intent(getActivity(), AccettazioneOrdineInevasoActivity.class);
- myIntent.putExtra("key", (ArrayList) ordini); //Optional parameters
- getActivity().startActivity(myIntent);
+ Intent myIntent = new Intent(getActivity(), AccettazioneOrdineInevasoActivity.class);
+ myIntent.putExtra("key", (ArrayList) ordini); //Optional parameters
+ getActivity().startActivity(myIntent);
- }).show();
+ }).show();
}
@@ -292,11 +293,20 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
}
- @Override
- public void onToggle(boolean newValue) {
- if(helper.getSelectedOrders(groupedOrdiniInevasi).size() > 0) mBinding.accettazioneMainFab.show();
+ RunnableArgs onGroupSelectionChanged = dto -> {
+ List selectedOrders = helper.getSelectedOrders(groupedOrdiniInevasi);
+
+ if(selectedOrders != null && selectedOrders.size() > 1){
+ for (OrdineAccettazioneGroupedInevasoDTO selectedOrder : selectedOrders) {
+ if(!dto.codAnagForn.equalsIgnoreCase(selectedOrder.codAnagForn)) {
+ Stream.of(selectedOrder.ordini).forEach(x -> x.setCheckbox(false));
+ }
+ }
+ }
+
+ if(selectedOrders.size() > 0) mBinding.accettazioneMainFab.show();
else mBinding.accettazioneMainFab.hide();
- }
+ };
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/MainListAccettazioneAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/MainListAccettazioneAdapter.java
index 4260bcc0..036482ad 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/MainListAccettazioneAdapter.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/MainListAccettazioneAdapter.java
@@ -15,6 +15,7 @@ import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.ICheckBoxCallback;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneGroupedInevasoDTO;
@@ -28,7 +29,7 @@ public class MainListAccettazioneAdapter extends RecyclerView.Adapter mDataset;
- private ICheckBoxCallback mCheckBoxCallback;
+ private RunnableArgs mOnGroupSelected;
private Pools.SynchronizedPool sPool = new Pools.SynchronizedPool(2000);
private Pools.SynchronizedPool sPoolClienti = new Pools.SynchronizedPool(3000);
@@ -46,10 +47,10 @@ public class MainListAccettazioneAdapter extends RecyclerView.Adapter myDataset, ICheckBoxCallback checkBoxCallback) {
+ public MainListAccettazioneAdapter(Context context, List myDataset, RunnableArgs onGroupSelected) {
mContext = context;
mDataset = myDataset;
- mCheckBoxCallback = checkBoxCallback;
+ mOnGroupSelected = onGroupSelected;
}
// Create new views (invoked by the layout manager)
@@ -78,23 +79,21 @@ public class MainListAccettazioneAdapter extends RecyclerView.Adapter subGroup = mDataset.get(position).ordini;
+ final int finalPosition = position;
holder.mTextViewGroupHeader.setText(mDataset.get(position).nomeFornitore);
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- boolean newValue = true;
+ holder.itemView.setOnClickListener(view -> {
+ boolean newValue = true;
- for(int i = 0; i < subGroup.size(); i++){
- if(subGroup.get(i).checkBox) newValue = false;
- }
-
- for(int i = 0; i < subGroup.size(); i++){
- subGroup.get(i).setCheckbox(newValue);
- }
-
- mCheckBoxCallback.onToggle(newValue);
+ for(int i = 0; i < subGroup.size(); i++){
+ if(subGroup.get(i).checkBox) newValue = false;
}
+
+ for(int i = 0; i < subGroup.size(); i++){
+ subGroup.get(i).setCheckbox(newValue);
+ }
+
+ mOnGroupSelected.run(mDataset.get(finalPosition));
});
for (int i = 0; i < subGroup.size(); i++) {
@@ -128,7 +127,8 @@ public class MainListAccettazioneAdapter extends RecyclerView.Adapter {
checkBox.toggle();
ordine.checkBox = checkBox.isChecked();
- mCheckBoxCallback.onToggle(checkBox.isChecked());
+ mOnGroupSelected.run(mDataset.get(finalPosition));
+// mCheckBoxCallback.onToggle(checkBox.isChecked());
});
TextView testataOrdTextView = groupModelView.findViewById(R.id.accettazione_main_list_group_item_container_testata_ord);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOnOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOnOrdineInevasoViewModel.java
index fe28cfcc..8179f438 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOnOrdineInevasoViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOnOrdineInevasoViewModel.java
@@ -156,6 +156,7 @@ public class AccettazioneOnOrdineInevasoViewModel implements IOnColloClosedCallb
}
+
setULToCurrentContext(recoveredMtbColt);
refreshOrderBy(false);
}