Bloccata selezione ordini di fornitore diverso
This commit is contained in:
parent
c806ca00be
commit
ecfbc1697b
@ -28,6 +28,7 @@ import it.integry.integrywmsnative.R;
|
|||||||
import it.integry.integrywmsnative.core.CommonConst;
|
import it.integry.integrywmsnative.core.CommonConst;
|
||||||
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
||||||
import it.integry.integrywmsnative.core.coollection.Coollection;
|
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.interfaces.ICheckBoxCallback;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBinding;
|
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.gest.accettazione_ordine_inevaso.AccettazioneOrdineInevasoActivity;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
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;
|
private FragmentMainAccettazioneBinding mBinding;
|
||||||
|
|
||||||
@ -222,7 +223,7 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
|
|||||||
groupedOrdiniInevasi.add(groupedOrdine);
|
groupedOrdiniInevasi.add(groupedOrdine);
|
||||||
}
|
}
|
||||||
|
|
||||||
mAdapter = new MainListAccettazioneAdapter(getActivity(), groupedOrdiniInevasi, this);
|
mAdapter = new MainListAccettazioneAdapter(getActivity(), groupedOrdiniInevasi, onGroupSelectionChanged);
|
||||||
// mAdapter.setHasStableIds(true);
|
// mAdapter.setHasStableIds(true);
|
||||||
mBinding.accettazioneMainList.setAdapter(mAdapter);
|
mBinding.accettazioneMainList.setAdapter(mAdapter);
|
||||||
//mRecyclerView.setAdapter(mAdapter);
|
//mRecyclerView.setAdapter(mAdapter);
|
||||||
@ -263,18 +264,18 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
|
|||||||
}
|
}
|
||||||
|
|
||||||
DialogSimpleMessageHelper.makeInfoDialog(getActivity(),
|
DialogSimpleMessageHelper.makeInfoDialog(getActivity(),
|
||||||
getText(R.string.orders).toString(),
|
getText(R.string.orders).toString(),
|
||||||
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, ordersKeys.size()), ordersKeys.size())
|
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, ordersKeys.size()), ordersKeys.size())
|
||||||
+ "<br /><br />" +
|
+ "<br /><br />" +
|
||||||
"<b>" + artsCounter + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, artsCounter.get())),
|
"<b>" + artsCounter + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, artsCounter.get())),
|
||||||
null,
|
null,
|
||||||
() -> {
|
() -> {
|
||||||
|
|
||||||
Intent myIntent = new Intent(getActivity(), AccettazioneOrdineInevasoActivity.class);
|
Intent myIntent = new Intent(getActivity(), AccettazioneOrdineInevasoActivity.class);
|
||||||
myIntent.putExtra("key", (ArrayList<OrdineAccettazioneDTO>) ordini); //Optional parameters
|
myIntent.putExtra("key", (ArrayList<OrdineAccettazioneDTO>) ordini); //Optional parameters
|
||||||
getActivity().startActivity(myIntent);
|
getActivity().startActivity(myIntent);
|
||||||
|
|
||||||
}).show();
|
}).show();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -292,11 +293,20 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
RunnableArgs<OrdineAccettazioneGroupedInevasoDTO> onGroupSelectionChanged = dto -> {
|
||||||
public void onToggle(boolean newValue) {
|
List<OrdineAccettazioneGroupedInevasoDTO> selectedOrders = helper.getSelectedOrders(groupedOrdiniInevasi);
|
||||||
if(helper.getSelectedOrders(groupedOrdiniInevasi).size() > 0) mBinding.accettazioneMainFab.show();
|
|
||||||
|
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();
|
else mBinding.accettazioneMainFab.hide();
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ICheckBoxCallback;
|
import it.integry.integrywmsnative.core.interfaces.ICheckBoxCallback;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneGroupedInevasoDTO;
|
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneGroupedInevasoDTO;
|
||||||
@ -28,7 +29,7 @@ public class MainListAccettazioneAdapter extends RecyclerView.Adapter<MainListAc
|
|||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private List<OrdineAccettazioneGroupedInevasoDTO> mDataset;
|
private List<OrdineAccettazioneGroupedInevasoDTO> mDataset;
|
||||||
private ICheckBoxCallback mCheckBoxCallback;
|
private RunnableArgs<OrdineAccettazioneGroupedInevasoDTO> mOnGroupSelected;
|
||||||
|
|
||||||
private Pools.SynchronizedPool sPool = new Pools.SynchronizedPool(2000);
|
private Pools.SynchronizedPool sPool = new Pools.SynchronizedPool(2000);
|
||||||
private Pools.SynchronizedPool sPoolClienti = new Pools.SynchronizedPool(3000);
|
private Pools.SynchronizedPool sPoolClienti = new Pools.SynchronizedPool(3000);
|
||||||
@ -46,10 +47,10 @@ public class MainListAccettazioneAdapter extends RecyclerView.Adapter<MainListAc
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Provide a suitable constructor (depends on the kind of dataset)
|
// Provide a suitable constructor (depends on the kind of dataset)
|
||||||
public MainListAccettazioneAdapter(Context context, List<OrdineAccettazioneGroupedInevasoDTO> myDataset, ICheckBoxCallback checkBoxCallback) {
|
public MainListAccettazioneAdapter(Context context, List<OrdineAccettazioneGroupedInevasoDTO> myDataset, RunnableArgs<OrdineAccettazioneGroupedInevasoDTO> onGroupSelected) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mDataset = myDataset;
|
mDataset = myDataset;
|
||||||
mCheckBoxCallback = checkBoxCallback;
|
mOnGroupSelected = onGroupSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create new views (invoked by the layout manager)
|
// Create new views (invoked by the layout manager)
|
||||||
@ -78,23 +79,21 @@ public class MainListAccettazioneAdapter extends RecyclerView.Adapter<MainListAc
|
|||||||
// - replace the contents of the view with that element
|
// - replace the contents of the view with that element
|
||||||
|
|
||||||
final List<OrdineAccettazioneGroupedInevasoDTO.Ordine> subGroup = mDataset.get(position).ordini;
|
final List<OrdineAccettazioneGroupedInevasoDTO.Ordine> subGroup = mDataset.get(position).ordini;
|
||||||
|
final int finalPosition = position;
|
||||||
|
|
||||||
holder.mTextViewGroupHeader.setText(mDataset.get(position).nomeFornitore);
|
holder.mTextViewGroupHeader.setText(mDataset.get(position).nomeFornitore);
|
||||||
holder.itemView.setOnClickListener(new View.OnClickListener() {
|
holder.itemView.setOnClickListener(view -> {
|
||||||
@Override
|
boolean newValue = true;
|
||||||
public void onClick(View view) {
|
|
||||||
boolean newValue = true;
|
|
||||||
|
|
||||||
for(int i = 0; i < subGroup.size(); i++){
|
for(int i = 0; i < subGroup.size(); i++){
|
||||||
if(subGroup.get(i).checkBox) newValue = false;
|
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++){
|
||||||
|
subGroup.get(i).setCheckbox(newValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
mOnGroupSelected.run(mDataset.get(finalPosition));
|
||||||
});
|
});
|
||||||
|
|
||||||
for (int i = 0; i < subGroup.size(); i++) {
|
for (int i = 0; i < subGroup.size(); i++) {
|
||||||
@ -128,7 +127,8 @@ public class MainListAccettazioneAdapter extends RecyclerView.Adapter<MainListAc
|
|||||||
groupModelView.setOnClickListener(view -> {
|
groupModelView.setOnClickListener(view -> {
|
||||||
checkBox.toggle();
|
checkBox.toggle();
|
||||||
ordine.checkBox = checkBox.isChecked();
|
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);
|
TextView testataOrdTextView = groupModelView.findViewById(R.id.accettazione_main_list_group_item_container_testata_ord);
|
||||||
|
|||||||
@ -156,6 +156,7 @@ public class AccettazioneOnOrdineInevasoViewModel implements IOnColloClosedCallb
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
setULToCurrentContext(recoveredMtbColt);
|
setULToCurrentContext(recoveredMtbColt);
|
||||||
refreshOrderBy(false);
|
refreshOrderBy(false);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user