Fix thread picking libero

This commit is contained in:
Marco Elefante 2025-04-29 11:48:36 +02:00
parent 2ff8d80da3
commit afeb9ecc23
3 changed files with 38 additions and 24 deletions

View File

@ -338,6 +338,8 @@ public class PickingLiberoViewModel {
if (this.mFlagAskCliente) { if (this.mFlagAskCliente) {
var data = this.sendLUClienteRequired(); var data = this.sendLUClienteRequired();
if (data == null) return;
vtbDest = data.first; vtbDest = data.first;
codJcom = data.second; codJcom = data.second;
} }
@ -648,7 +650,6 @@ public class PickingLiberoViewModel {
} }
private void executeDepositChangeIfNeeded(MtbColt refMtbColt) throws Exception { private void executeDepositChangeIfNeeded(MtbColt refMtbColt) throws Exception {
//Considero solo la prima UDC scansionata //Considero solo la prima UDC scansionata
boolean shouldChangeCodMdep = refMtbColt != null && !refMtbColt.getCodMdep().equalsIgnoreCase(mCurrentMtbColt.getCodMdep()) && boolean shouldChangeCodMdep = refMtbColt != null && !refMtbColt.getCodMdep().equalsIgnoreCase(mCurrentMtbColt.getCodMdep()) &&

View File

@ -4,6 +4,7 @@ import android.content.DialogInterface;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@ -63,6 +64,9 @@ public class DialogAskClienteView extends BaseDialogFragment {
@Inject @Inject
DialogProgressView dialogProgressView; DialogProgressView dialogProgressView;
@Inject
Handler handler;
public static DialogAskClienteView newInstance(@NotNull RunnableArgss<VtbDest, String> onComplete, @NotNull Runnable onAbort) { public static DialogAskClienteView newInstance(@NotNull RunnableArgss<VtbDest, String> onComplete, @NotNull Runnable onAbort) {
return new DialogAskClienteView(onComplete, onAbort); return new DialogAskClienteView(onComplete, onAbort);
} }
@ -119,6 +123,8 @@ public class DialogAskClienteView extends BaseDialogFragment {
DialogAskCliente_Page1ViewModel viewModel1 = (DialogAskCliente_Page1ViewModel) mAdapter.getViewModel(R.layout.dialog_ask_cliente__page1); DialogAskCliente_Page1ViewModel viewModel1 = (DialogAskCliente_Page1ViewModel) mAdapter.getViewModel(R.layout.dialog_ask_cliente__page1);
DialogAskCliente_Page2ViewModel viewModel2 = (DialogAskCliente_Page2ViewModel) mAdapter.getViewModel(R.layout.dialog_ask_cliente__page2); DialogAskCliente_Page2ViewModel viewModel2 = (DialogAskCliente_Page2ViewModel) mAdapter.getViewModel(R.layout.dialog_ask_cliente__page2);
viewModel1.setHandler(handler);
viewModel1.setOnConfirmClickListener(() -> { viewModel1.setOnConfirmClickListener(() -> {
String codAnag = viewModel1.getCurrentCliente(); String codAnag = viewModel1.getCurrentCliente();

View File

@ -1,6 +1,7 @@
package it.integry.integrywmsnative.view.dialogs.ask_cliente.viewmodel; package it.integry.integrywmsnative.view.dialogs.ask_cliente.viewmodel;
import android.content.Context; import android.content.Context;
import android.os.Handler;
import android.widget.AutoCompleteTextView; import android.widget.AutoCompleteTextView;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
@ -37,9 +38,15 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod
private Runnable onConfirmClickListener; private Runnable onConfirmClickListener;
private Runnable onAbortClickListener; private Runnable onAbortClickListener;
private Handler handler;
public DialogAskCliente_Page1ViewModel() { public DialogAskCliente_Page1ViewModel() {
} }
public void setHandler(Handler handler){
this.handler = handler;
}
@Override @Override
public void setContext(Context context) { public void setContext(Context context) {
this.mContext = context; this.mContext = context;
@ -147,7 +154,7 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod
private void initializeAdapter(ArrayList<DialogAskClienteClienteDTO> items) { private void initializeAdapter(ArrayList<DialogAskClienteClienteDTO> items) {
handler.post(() -> {
var orderedList = Stream.of(items) var orderedList = Stream.of(items)
.sortBy(x -> x.getRagSoc() != null ? x.getRagSoc() : "") .sortBy(x -> x.getRagSoc() != null ? x.getRagSoc() : "")
.toList(); .toList();
@ -161,7 +168,6 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod
refreshCodJcoms(items.get(position)); refreshCodJcoms(items.get(position));
}); });
DialogAskCliente_Page1_Commessa_ArrayAdapter commessaAdapter = new DialogAskCliente_Page1_Commessa_ArrayAdapter(mContext); DialogAskCliente_Page1_Commessa_ArrayAdapter commessaAdapter = new DialogAskCliente_Page1_Commessa_ArrayAdapter(mContext);
AutoCompleteTextView editTextDropdownCommessa = mBinding.dropdownCommessa; AutoCompleteTextView editTextDropdownCommessa = mBinding.dropdownCommessa;
@ -175,6 +181,7 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod
commessaAdapter.addAll(codJcoms); commessaAdapter.addAll(codJcoms);
} }
}); });
});
} }
private void refreshCodJcoms(DialogAskClienteClienteDTO item) { private void refreshCodJcoms(DialogAskClienteClienteDTO item) {