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) {
var data = this.sendLUClienteRequired();
if (data == null) return;
vtbDest = data.first;
codJcom = data.second;
}
@ -648,7 +650,6 @@ public class PickingLiberoViewModel {
}
private void executeDepositChangeIfNeeded(MtbColt refMtbColt) throws Exception {
//Considero solo la prima UDC scansionata
boolean shouldChangeCodMdep = refMtbColt != null && !refMtbColt.getCodMdep().equalsIgnoreCase(mCurrentMtbColt.getCodMdep()) &&
@ -860,7 +861,7 @@ public class PickingLiberoViewModel {
if (this.mDefaultGestione == GestioneEnum.LAVORAZIONE && SettingsManager.iDB().isProduzioneGeneraDocScar()) {
if(SettingsManager.iDB().getInternalCodAnags() == null || SettingsManager.iDB().getInternalCodAnags().isEmpty())
if (SettingsManager.iDB().getInternalCodAnags() == null || SettingsManager.iDB().getInternalCodAnags().isEmpty())
throw new Exception("Nessuna anagrafica aziendale configurata. Assicurarsi di aver abilitato il flag FLAG_USE_COD_ANAG_AZIENDALE.");
closeUDSRequest

View File

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

View File

@ -1,6 +1,7 @@
package it.integry.integrywmsnative.view.dialogs.ask_cliente.viewmodel;
import android.content.Context;
import android.os.Handler;
import android.widget.AutoCompleteTextView;
import androidx.databinding.ObservableArrayList;
@ -37,9 +38,15 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod
private Runnable onConfirmClickListener;
private Runnable onAbortClickListener;
private Handler handler;
public DialogAskCliente_Page1ViewModel() {
}
public void setHandler(Handler handler){
this.handler = handler;
}
@Override
public void setContext(Context context) {
this.mContext = context;
@ -147,33 +154,33 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod
private void initializeAdapter(ArrayList<DialogAskClienteClienteDTO> items) {
handler.post(() -> {
var orderedList = Stream.of(items)
.sortBy(x -> x.getRagSoc() != null ? x.getRagSoc() : "")
.toList();
var orderedList = Stream.of(items)
.sortBy(x -> x.getRagSoc() != null ? x.getRagSoc() : "")
.toList();
DialogAskCliente_Page1_Cliente_ArrayAdapter adapter = new DialogAskCliente_Page1_Cliente_ArrayAdapter(mContext, orderedList);
DialogAskCliente_Page1_Cliente_ArrayAdapter adapter = new DialogAskCliente_Page1_Cliente_ArrayAdapter(mContext, orderedList);
AutoCompleteTextView editTextDropdownCliente = mBinding.dropdownCliente;
editTextDropdownCliente.setThreshold(0);
editTextDropdownCliente.setAdapter(adapter);
editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> {
refreshCodJcoms(items.get(position));
});
AutoCompleteTextView editTextDropdownCliente = mBinding.dropdownCliente;
editTextDropdownCliente.setThreshold(0);
editTextDropdownCliente.setAdapter(adapter);
editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> {
refreshCodJcoms(items.get(position));
});
DialogAskCliente_Page1_Commessa_ArrayAdapter commessaAdapter = new DialogAskCliente_Page1_Commessa_ArrayAdapter(mContext);
AutoCompleteTextView editTextDropdownCommessa = mBinding.dropdownCommessa;
editTextDropdownCommessa.setThreshold(0);
editTextDropdownCommessa.setAdapter(commessaAdapter);
DialogAskCliente_Page1_Commessa_ArrayAdapter commessaAdapter = new DialogAskCliente_Page1_Commessa_ArrayAdapter(mContext);
AutoCompleteTextView editTextDropdownCommessa = mBinding.dropdownCommessa;
editTextDropdownCommessa.setThreshold(0);
editTextDropdownCommessa.setAdapter(commessaAdapter);
codJcoms.addOnListChangedCallback(new OnListGeneralChangedCallback() {
@Override
public void onChanged(ObservableList sender) {
commessaAdapter.clear();
commessaAdapter.addAll(codJcoms);
}
codJcoms.addOnListChangedCallback(new OnListGeneralChangedCallback() {
@Override
public void onChanged(ObservableList sender) {
commessaAdapter.clear();
commessaAdapter.addAll(codJcoms);
}
});
});
}