Resa dinamica la visibilità dei filter chip nell'elenco degli ordini di uscita, se non ci sono fitri vengono nascosti.

This commit is contained in:
2025-07-29 11:15:49 +02:00
parent 4374dc243c
commit 0c77af962f
16 changed files with 114 additions and 152 deletions

13
.idea/deviceManager.xml generated Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DeviceTable">
<option name="columnSorters">
<list>
<ColumnSorterState>
<option name="column" value="Name" />
<option name="order" value="ASCENDING" />
</ColumnSorterState>
</list>
</option>
</component>
</project>

View File

@@ -20,9 +20,9 @@ import javax.inject.Singleton;
import it.integry.integrywmsnative.BuildConfig;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.handler.ManagedErrorCallback;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.rest.model.MailRequestDTO;
import it.integry.integrywmsnative.core.rest.model.NativeSqlRequestDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
@@ -89,22 +89,22 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
});
}
public List<AvailableCodMdepsDTO> getAvailableCodMdepsSynchronized() throws Exception {
public List<MtbDepo> getAvailableCodMdepsSynchronized() throws Exception {
SystemRESTConsumerService service = restBuilder.getService(SystemRESTConsumerService.class);
var response = service.getAvailableCodMdeps().execute();
return analyzeAnswer(response, "CodMdepsAvailable");
}
public void getAvailableCodMdeps(final RunnableArgs<List<AvailableCodMdepsDTO>> onSuccess, RunnableArgs<Exception> onFailed) {
public void getAvailableCodMdeps(final RunnableArgs<List<MtbDepo>> onSuccess, RunnableArgs<Exception> onFailed) {
SystemRESTConsumerService service = restBuilder.getService(SystemRESTConsumerService.class);
service.getAvailableCodMdeps().enqueue(new ManagedErrorCallback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<List<AvailableCodMdepsDTO>>> call, Response<ServiceRESTResponse<List<AvailableCodMdepsDTO>>> response) {
public void onResponse(Call<ServiceRESTResponse<List<MtbDepo>>> call, Response<ServiceRESTResponse<List<MtbDepo>>> response) {
analyzeAnswer(response, "CodMdepsAvailable", onSuccess, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<List<AvailableCodMdepsDTO>>> call, @NonNull final Exception e) {
public void onFailure(Call<ServiceRESTResponse<List<MtbDepo>>> call, @NonNull final Exception e) {
onFailed.run(e);
}
});

View File

@@ -2,7 +2,7 @@ package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.core.rest.model.MailRequestDTO;
import it.integry.integrywmsnative.core.rest.model.NativeSqlRequestDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
@@ -25,7 +25,7 @@ public interface SystemRESTConsumerService {
Call<ServiceRESTResponse<List<String>>> getAvailableProfiles(@Query("username") String username, @Query("password") String password);
@GET("getAvailableCodMdepsForUser")
Call<ServiceRESTResponse<List<AvailableCodMdepsDTO>>> getAvailableCodMdeps();
Call<ServiceRESTResponse<List<MtbDepo>>> getAvailableCodMdeps();
@POST("sendEmail")
Call<ServiceRESTResponse<Void>> sendMail(@Body MailRequestDTO mailDto);

View File

@@ -1,28 +0,0 @@
package it.integry.integrywmsnative.core.rest.model;
import com.google.gson.annotations.SerializedName;
public class AvailableCodMdepsDTO {
@SerializedName("codMdep")
private String codMdep;
@SerializedName("descrizione")
private String descrizione;
public String getCodMdep() {
return codMdep;
}
public String getDescrizione() {
return descrizione;
}
@Override
public boolean equals(Object obj) {
if((obj) != null) {
return ((AvailableCodMdepsDTO) obj).codMdep.equalsIgnoreCase(codMdep);
}
return false;
}
}

View File

@@ -7,15 +7,15 @@ import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.model.Azienda;
import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
public class DBSettingsModel {
private List<String> availableProfiles = null;
private List<AvailableCodMdepsDTO> availableDepos = null;
private List<MtbDepo> availableDepos = null;
private List<MtbDepoPosizione> availablePosizioni = null;
private Azienda datiAzienda = null;
@@ -154,11 +154,11 @@ public class DBSettingsModel {
return this;
}
public List<AvailableCodMdepsDTO> getAvailableDepos() {
public List<MtbDepo> getAvailableDepos() {
return availableDepos;
}
public void setAvailableDepos(List<AvailableCodMdepsDTO> availableDepos) {
public void setAvailableDepos(List<MtbDepo> availableDepos) {
this.availableDepos = availableDepos;
}

View File

@@ -18,6 +18,7 @@ import javax.inject.Singleton;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
@@ -26,7 +27,6 @@ import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.utility.UtilityFirebase;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityString;
@@ -185,7 +185,7 @@ public class SettingsManager {
boolean codMdepExistsAnymore = false;
if (settingsModelIstance.getUserSession().getDepo() != null) {
for (AvailableCodMdepsDTO availableCodMdepDTO : availableCodMdeps) {
for (MtbDepo availableCodMdepDTO : availableCodMdeps) {
//Controllo se il codMdep salvato esiste ancora
if (availableCodMdepDTO.getCodMdep().equalsIgnoreCase(settingsModelIstance.getUserSession().getDepo().getCodMdep())) {
codMdepExistsAnymore = true;

View File

@@ -2,7 +2,7 @@ package it.integry.integrywmsnative.core.settings;
import java.time.LocalDateTime;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.model.MtbDepo;
public class SettingsModel {
@@ -85,7 +85,7 @@ public class SettingsModel {
private LocalDateTime refreshTokenExpiryDate;
private String deviceId;
private String profileDB;
private AvailableCodMdepsDTO depo;
private MtbDepo depo;
private Integer defaultOrdinamentoPickingAccettazione = 0;
private Integer defaultOrdinamentoPickingAccettazioneBolle = 0;
@@ -134,11 +134,11 @@ public class SettingsModel {
return this;
}
public AvailableCodMdepsDTO getDepo() {
public MtbDepo getDepo() {
return depo;
}
public UserSession setDepo(AvailableCodMdepsDTO depo) {
public UserSession setDepo(MtbDepo depo) {
this.depo = depo;
return this;
}

View File

@@ -36,11 +36,11 @@ import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.menu.MenuService;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO;
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.settings.SettingsManager;
@@ -427,7 +427,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
.show(getParentFragmentManager(), "switch-user-depo");
}
private void onUserDepoChanged(AvailableCodMdepsDTO newDepo) {
private void onUserDepoChanged(MtbDepo newDepo) {
SettingsManager.i().getUserSession().setDepo(newDepo);
initSessionData();
}

View File

@@ -71,7 +71,8 @@ public class OrdiniUscitaElencoDTO extends OrdineUscitaInevasoDTO {
// Copia anche i campi della super-superclasse se necessario (OrdineInevasoDTO)
dto.setDataOrd(that.getDataOrd())
.setNumOrd(that.getNumOrd())
.setGestione(that.getGestione());
.setGestione(that.getGestione())
.setCodMdep(that.getCodMdep());
return dto;
}

View File

@@ -42,7 +42,6 @@ import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.model.JtbComt;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.core.model.MtbGrup;
import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
@@ -113,7 +112,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
private int mBarcodeScannerInstanceID = -1;
private List<MtbDepo> mtbDepoCache;
// private List<MtbDepo> mtbDepoCache;
private List<MtbGrup> mtbGrupCache;
private List<JtbComt> jtbComtCache;
@@ -185,7 +184,6 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
try {
this.onLoadingStarted();
this.initMtbDepoCache();
this.initMtbGrupsCache();
this.initJtbComtCache();
@@ -393,6 +391,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
FilterChipView filterChipView = new FilterChipView(requireActivity(), filterChipDTO.getFilterChipText())
.setOnClicked(v -> initBottomSheetDialogFilter(filterChipDTO));
filterChipDTO.setFilterChipView(filterChipView);
switch (filterChipDTO.getID()) {
case OrdiniUscitaElencoFilterBindings.DEPOSITO_FILTER_ID -> {
@@ -610,14 +609,16 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
.toList());
case OrdiniUscitaElencoFilterBindings.DEPOSITO_FILTER_ID ->
((FilterDepositoLayoutView) filterLayoutView)
.setAllCodMdeps(mAppliedFilterViewModel.getAllCodMdeps(mtbDepoCache))
.setAvailableCodMdeps(mAppliedFilterViewModel.getAvailableCodMdeps(mtbDepoCache))
.setAllCodMdeps(mAppliedFilterViewModel.getAllCodMdeps())
.setAvailableCodMdeps(mAppliedFilterViewModel.getAvailableCodMdeps())
.setOnFilterApplied(mAppliedFilterViewModel::setDepositoFilter)
.setPreSelectedCodMdeps(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentDepositoPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentDepositoPredicate().get())
.map(x -> Stream.of(mtbDepoCache).filter(y -> x.getCodMdep().equalsIgnoreCase(y.getCodMdep())).findFirst().get())
.map(x -> SettingsManager.iDB().getAvailableDepos().stream()
.filter(y -> x.getCodMdep().equalsIgnoreCase(y.getCodMdep()))
.findFirst().get())
.toList());
case OrdiniUscitaElencoFilterBindings.VIAGGIO_FILTER_ID ->
((FilterViaggioLayoutView) filterLayoutView)
@@ -737,68 +738,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
private void refreshList(List<OrdiniUscitaElencoDTO> originalData, List<OrdiniUscitaElencoDTO> filteredList) {
// List<OrdiniUscitaElencoDTO> tmpList;
// if (filteredList != null) {
// tmpList = filteredList;
// } else if (mAppliedFilterViewModel != null) {
// mAppliedFilterViewModel.applyAllTests();
// tmpList = mAppliedFilterViewModel.getMutableFilteredOrderList().getValue();
// } else {
// tmpList = originalData;
// }
// var list = convertDataModelToListModel(tmpList);
// this.mOrdiniInevasiMutableData.getValue().clear();
// this.mOrdiniInevasiMutableData.getValue().addAll(list);
// fabVisible.set(tmpList.stream()
// .anyMatch(OrdiniUscitaElencoDTO::isSelected));
}
// private List<OrdiniUscitaElencoListModel> convertDataModelToListModel(List<OrdiniUscitaElencoDTO> dataList) {
//
// ComparatorCompat<OrdiniUscitaElencoDTO> comparator = ComparatorCompat
// .comparing(OrdiniUscitaElencoDTO::getRagSocOrd)
// .thenComparing(ComparatorCompat.comparing(x -> x.getDestinatario() != null ? x.getDestinatario() : "zzzzzzzzz"))
// .thenComparing(ComparatorCompat.comparing(OrdiniUscitaElencoDTO::getNumOrd));
//
// List<OrdiniUscitaElencoListModel> notHiddenElements = dataList.stream()
// .filter(x -> !x.isHidden())
// .sorted(comparator)
// .map(x -> {
// OrdiniUscitaElencoListModel listModel = new OrdiniUscitaElencoListModel();
//
// if (x.isFlagEvaso()) {
// listModel.setEtichettaColor(ResourcesCompat.getColor(getResources(), R.color.mainGreen, null));
// } else if (x.isExistColloBoolean()) {
// listModel.setEtichettaColor(ResourcesCompat.getColor(getResources(), R.color.colorPrimary, null));
// } else {
// listModel.setEtichettaColor(ResourcesCompat.getColor(getResources(), android.R.color.transparent, null));
// }
//
// listModel.setGroupTitle(x.getRagSocOrd());
//
// String testataOrdString = String.format(getString(R.string.ord_ven_testata), String.valueOf(x.getNumOrd()), UtilityDate.formatDate(x.getDataOrd(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
// listModel.setDescription(testataOrdString);
//
// listModel.setSubDescription(x.getRifOrd());
//
// if (x.getDataCons() != null) {
// String testataDataConsString = String.format(getString(R.string.ord_ven_testata_data_cons), UtilityDate.formatDate(x.getDataCons(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
// listModel.setRightDescription(testataDataConsString);
// }
//
// listModel.setOriginalModel(x);
//
// return listModel;
// })
// .collect(Collectors.toList());
//
// return notHiddenElements;
// }
@Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
@@ -889,12 +830,6 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
private void initMtbDepoCache() throws Exception {
var mtbDepos = this.mDepositoRESTConsumer.getAllSynchronized();
this.mtbDepoCache = mtbDepos;
}
private void initMtbGrupsCache() throws Exception {
var codMgrpArts = Objects.requireNonNull(this.mViewModel.getOrderList().getValue()).parallelStream()
.filter(x -> x.getAvailableClassMerc() != null && !x.getAvailableClassMerc().isEmpty())

View File

@@ -1,5 +1,7 @@
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters;
import android.view.View;
import androidx.databinding.ObservableField;
import androidx.lifecycle.MutableLiveData;
@@ -10,6 +12,7 @@ import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -18,8 +21,11 @@ import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.core.model.MtbGrup;
import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFilterBindings;
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
public class OrdiniUscitaElencoFiltroViewModel {
@@ -45,6 +51,30 @@ public class OrdiniUscitaElencoFiltroViewModel {
public void init(List<OrdiniUscitaElencoDTO> initialList) {
this.initialOrderList = initialList;
applyAllTests();
refreshChipVisibility();
}
private void refreshChipVisibility() {
for (Map.Entry<Integer, FilterChipDTO> filter : OrdiniUscitaElencoFilterBindings.AVAILABLE_FILTERS.entrySet()) {
var filterChip = filter.getValue();
var filterDataList = switch (filterChip.getID()) {
case OrdiniUscitaElencoFilterBindings.DEPOSITO_FILTER_ID -> getAllCodMdeps();
case OrdiniUscitaElencoFilterBindings.NUM_ORD_FILTER_ID -> getAllNumOrds();
case OrdiniUscitaElencoFilterBindings.CLIENTE_FILTER_ID -> getAllClienti();
case OrdiniUscitaElencoFilterBindings.VIAGGIO_FILTER_ID -> getAllIDViaggio();
case OrdiniUscitaElencoFilterBindings.VETTORE_FILTER_ID -> getAllVettori();
case OrdiniUscitaElencoFilterBindings.TERM_CONS_FILTER_ID -> getAllTermCons();
case OrdiniUscitaElencoFilterBindings.AUTOMEZZO_FILTER_ID -> getAllAutomezzi();
case OrdiniUscitaElencoFilterBindings.AGENTE_FILTER_ID -> getAllAgenti();
case OrdiniUscitaElencoFilterBindings.PAESE_FILTER_ID -> getAllPaesi();
default -> null;
};
if(filterDataList != null)
filterChip.getFilterChipView().setVisibility(filterDataList.isEmpty() || filterDataList.size() == 1 ? View.GONE : View.VISIBLE);
}
}
public MutableLiveData<List<OrdiniUscitaElencoDTO>> getMutableFilteredOrderList() {
@@ -243,21 +273,23 @@ public class OrdiniUscitaElencoFiltroViewModel {
return currentCommessaPredicate;
}
public List<MtbDepo> getAllCodMdeps(List<MtbDepo> mtbDepoFullList) {
List<String> codMdeps = Stream.of(initialOrderList)
public List<MtbDepo> getAllCodMdeps() {
List<MtbDepo> availableDepos = SettingsManager.iDB().getAvailableDepos();
List<String> codMdeps = initialOrderList.stream()
.map(OrdineInevasoDTO::getCodMdep)
.distinct()
.toList();
.filter(Objects::nonNull)
.collect(Collectors.toList());
return Stream.of(Objects.requireNonNull(mtbDepoFullList))
return Objects.requireNonNull(availableDepos).stream()
.filter(x -> codMdeps.contains(x.getCodMdep()))
.distinct()
.withoutNulls()
.sortBy(MtbDepo::getCodMdep)
.toList();
.sorted((x1, x2) -> x1.getCodMdep().compareToIgnoreCase(x2.getCodMdep()))
.collect(Collectors.toList());
}
public List<MtbDepo> getAvailableCodMdeps(List<MtbDepo> mtbDepoFullList) {
public List<MtbDepo> getAvailableCodMdeps() {
if (currentNumOrdsPredicate.get() == null &&
currentClientePredicate.get() == null &&
@@ -271,9 +303,9 @@ public class OrdiniUscitaElencoFiltroViewModel {
currentGruppoMercPredicate.get() == null &&
currentCommessaPredicate.get() == null
) {
return getAllCodMdeps(mtbDepoFullList);
return getAllCodMdeps();
} else {
List<String> availableCodMdeps = Stream.of(this.initialOrderList)
List<String> availableCodMdeps = this.initialOrderList.stream()
.filter(x ->
(currentNumOrdsPredicate.get() == null || (currentNumOrdsPredicate.get().test(x))) &&
(currentClientePredicate.get() == null || (currentClientePredicate.get().test(x))) &&
@@ -289,14 +321,14 @@ public class OrdiniUscitaElencoFiltroViewModel {
)
.map(OrdineInevasoDTO::getCodMdep)
.distinct()
.toList();
.collect(Collectors.toList());
return Stream.of(Objects.requireNonNull(mtbDepoFullList))
List<MtbDepo> availableDepos = SettingsManager.iDB().getAvailableDepos();
return Objects.requireNonNull(availableDepos).stream()
.filter(x -> availableCodMdeps.contains(x.getCodMdep()))
.distinct()
.withoutNulls()
.sortBy(MtbDepo::getCodMdep)
.toList();
.sorted((x1, x2) -> x1.getCodMdep().compareToIgnoreCase(x2.getCodMdep()))
.collect(Collectors.toList());
}
}

View File

@@ -6,6 +6,7 @@ public class FilterChipDTO {
private int posizione;
private String filterChipText;
private FilterLayoutView filterLayoutView;
private FilterChipView filterChipView;
public int getID() {
return ID;
@@ -42,4 +43,12 @@ public class FilterChipDTO {
this.posizione = posizione;
return this;
}
public FilterChipView getFilterChipView() {
return filterChipView;
}
public void setFilterChipView(FilterChipView filterChipView) {
this.filterChipView = filterChipView;
}
}

View File

@@ -8,8 +8,8 @@ import androidx.lifecycle.MutableLiveData;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.core.exception.InvalidCodMdepBarcodeException;
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityString;
@@ -47,12 +47,12 @@ public class DialogAskDepositoViewModel {
throw new InvalidCodMdepBarcodeException(barcodeScanDTO.getStringValue());
}
AvailableCodMdepsDTO availableCodMdepsDTO = SettingsManager.iDB().getAvailableDepos().stream()
MtbDepo availableDepo = SettingsManager.iDB().getAvailableDepos().stream()
.filter(x -> x.getCodMdep().equalsIgnoreCase(ean128Model.Internal4))
.findFirst()
.orElse(null);
if (availableCodMdepsDTO == null) {
if (availableDepo == null) {
throw new InvalidCodMdepBarcodeException(ean128Model.Internal4);
}

View File

@@ -19,7 +19,7 @@ import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.di.TextWatcherAdapter;
import it.integry.integrywmsnative.core.expansion.BaseMaterialAlertDialogBuilder;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.databinding.DialogAskInfoTrasferimentoBinding;
import it.integry.integrywmsnative.ui.adapter.SimpleAutoCompleteTwoLinesDropdownAdapter;
import it.integry.integrywmsnative.ui.adapter.SimpleAutoCompleteTwoLinesDropdownListModel;
@@ -34,18 +34,18 @@ public class DialogAskInfoTrasferimentoView extends BaseMaterialAlertDialogBuild
private Context mContext;
private RunnableArgs<Result> onResult;
private List<AvailableCodMdepsDTO> availableDepoList;
private AvailableCodMdepsDTO selectedDepo;
private List<MtbDepo> availableDepoList;
private MtbDepo selectedDepo;
//Pass here all external parameters
public static DialogAskInfoTrasferimentoView newInstance(@NonNull Context context,
@NonNull List<AvailableCodMdepsDTO> availableDepoList,
@NonNull List<MtbDepo> availableDepoList,
@NonNull RunnableArgs<Result> onResult) {
return new DialogAskInfoTrasferimentoView(context, availableDepoList, onResult);
}
private DialogAskInfoTrasferimentoView(@NonNull Context context,
@NonNull List<AvailableCodMdepsDTO> availableDepoList,
@NonNull List<MtbDepo> availableDepoList,
@NonNull RunnableArgs<Result> onResult) {
super(context);
this.mContext = context;
@@ -108,7 +108,7 @@ public class DialogAskInfoTrasferimentoView extends BaseMaterialAlertDialogBuild
private void initDepoAdapter() {
var listModel = availableDepoList.stream()
.map(x -> new SimpleAutoCompleteTwoLinesDropdownListModel<AvailableCodMdepsDTO>()
.map(x -> new SimpleAutoCompleteTwoLinesDropdownListModel<MtbDepo>()
.setTitle(x.getCodMdep())
.setDescription(x.getDescrizione())
.setOriginalModel(x))

View File

@@ -23,7 +23,7 @@ import it.integry.integrywmsnative.core.di.binders.recyclerview.ItemBinder;
import it.integry.integrywmsnative.core.di.binders.recyclerview.ItemBinderBase;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.databinding.DialogSwitchUserDepoBinding;
public class DialogSwitchUserDepoView extends BaseDialogFragment {
@@ -34,15 +34,15 @@ public class DialogSwitchUserDepoView extends BaseDialogFragment {
private DialogSwitchUserDepoBinding mBindings;
private Context mContext;
private final List<AvailableCodMdepsDTO> availableCodMdeps;
private final RunnableArgs<AvailableCodMdepsDTO> onComplete;
private final List<MtbDepo> availableCodMdeps;
private final RunnableArgs<MtbDepo> onComplete;
//Pass here all external parameters
public static DialogSwitchUserDepoView newInstance(List<AvailableCodMdepsDTO> availableCodMdeps, RunnableArgs<AvailableCodMdepsDTO> onComplete) {
public static DialogSwitchUserDepoView newInstance(List<MtbDepo> availableCodMdeps, RunnableArgs<MtbDepo> onComplete) {
return new DialogSwitchUserDepoView(availableCodMdeps, onComplete);
}
private DialogSwitchUserDepoView(List<AvailableCodMdepsDTO> availableCodMdeps, RunnableArgs<AvailableCodMdepsDTO> onComplete) {
private DialogSwitchUserDepoView(List<MtbDepo> availableCodMdeps, RunnableArgs<MtbDepo> onComplete) {
super();
this.availableCodMdeps = availableCodMdeps;
@@ -80,9 +80,9 @@ public class DialogSwitchUserDepoView extends BaseDialogFragment {
public void onInit(DialogInterface dialogInterface) {
super.onInit(dialogInterface);
ItemBinder<AvailableCodMdepsDTO> itemBinder = new ItemBinderBase<>(BR.item, R.layout.dialog_switch_user_depo__list_item);
ItemBinder<MtbDepo> itemBinder = new ItemBinderBase<>(BR.item, R.layout.dialog_switch_user_depo__list_item);
BindingRecyclerViewAdapter<AvailableCodMdepsDTO> adapter = new BindingRecyclerViewAdapter<>(itemBinder, availableCodMdeps);
BindingRecyclerViewAdapter<MtbDepo> adapter = new BindingRecyclerViewAdapter<>(itemBinder, availableCodMdeps);
adapter.setClickHandler(data -> {
onComplete.run(data);
dismiss();

View File

@@ -6,7 +6,7 @@
<data>
<variable
name="item"
type="it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO" />
type="it.integry.integrywmsnative.core.model.MtbDepo" />
</data>
<RelativeLayout