Aggiunto filtro commessa in Rientro Merce
This commit is contained in:
parent
a046e31412
commit
e85e05a526
@ -71,6 +71,7 @@ import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMate
|
|||||||
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeModule;
|
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeModule;
|
||||||
import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceComponent;
|
import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceComponent;
|
||||||
import it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail.ProdRientroMerceOrderDetailComponent;
|
import it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail.ProdRientroMerceOrderDetailComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_rientro_merce.order_list.ProdRientroMerceOrderListComponent;
|
||||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.ProdRiposizionamentoDaProdComponent;
|
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.ProdRiposizionamentoDaProdComponent;
|
||||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.ProdRiposizionamentoDaProdModule;
|
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.ProdRiposizionamentoDaProdModule;
|
||||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dialogs.info_giacenza.DialogInfoGiacenzaComponent;
|
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dialogs.info_giacenza.DialogInfoGiacenzaComponent;
|
||||||
@ -379,6 +380,8 @@ public interface MainApplicationComponent {
|
|||||||
|
|
||||||
DialogSwitchUserDepoComponent.Factory dialogSwitchUserDepoComponent();
|
DialogSwitchUserDepoComponent.Factory dialogSwitchUserDepoComponent();
|
||||||
|
|
||||||
|
ProdRientroMerceOrderListComponent.Factory prodRientroMerceOrderListComponent();
|
||||||
|
|
||||||
void inject(MainApplication mainApplication);
|
void inject(MainApplication mainApplication);
|
||||||
|
|
||||||
void inject(AppContext mainApplication);
|
void inject(AppContext mainApplication);
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
package it.integry.integrywmsnative.core.rest.consumers;
|
package it.integry.integrywmsnative.core.rest.consumers;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
@ -26,15 +26,15 @@ public class CommessaRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
|
|
||||||
public void getJtbComts(List<String> itemsToFind, RunnableArgs<List<JtbComt>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void getJtbComts(List<String> itemsToFind, RunnableArgs<List<JtbComt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
var whereCondMap = Stream.of(itemsToFind)
|
var whereCondMap = itemsToFind.stream()
|
||||||
.withoutNulls()
|
|
||||||
.filter(x -> !UtilityString.isNullOrEmpty(x))
|
.filter(x -> !UtilityString.isNullOrEmpty(x))
|
||||||
.map(x -> {
|
.map(x -> {
|
||||||
HashMap<String, Object> vars = new HashMap<>();
|
HashMap<String, Object> codJcom = new HashMap<>() {{
|
||||||
vars.put("cod_jcom", x);
|
put("cod_jcom", x);
|
||||||
return vars;
|
}};
|
||||||
|
return codJcom;
|
||||||
})
|
})
|
||||||
.toList();
|
.collect(Collectors.toUnmodifiableList());
|
||||||
|
|
||||||
if(whereCondMap.isEmpty()) {
|
if(whereCondMap.isEmpty()) {
|
||||||
onComplete.run(new ArrayList<>());
|
onComplete.run(new ArrayList<>());
|
||||||
|
|||||||
@ -12,10 +12,10 @@ import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterPaese
|
|||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterTermConsLayoutView;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterTermConsLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterVettoreLayoutView;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterVettoreLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterViaggioLayoutView;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterViaggioLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView;
|
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterCommessaLayoutView;
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
||||||
|
|
||||||
public class OrdiniUscitaElencoBindings {
|
public class OrdiniUscitaElencoFilterBindings {
|
||||||
|
|
||||||
|
|
||||||
public static final int DEPOSITO_FILTER_ID = 0;
|
public static final int DEPOSITO_FILTER_ID = 0;
|
||||||
@ -17,10 +17,12 @@ import com.annimon.stream.Stream;
|
|||||||
import com.google.android.material.datepicker.MaterialDatePicker;
|
import com.google.android.material.datepicker.MaterialDatePicker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@ -63,10 +65,10 @@ import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterPaese
|
|||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterTermConsLayoutView;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterTermConsLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterVettoreLayoutView;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterVettoreLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterViaggioLayoutView;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterViaggioLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.VenditaFiltroOrdiniViewModel;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.OrdiniUscitaElencoFiltroViewModel;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.ui.OrdiniUscitaElencoAdapter;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.ui.OrdiniUscitaElencoAdapter;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.ui.OrdiniUscitaElencoListModel;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.ui.OrdiniUscitaElencoListModel;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView;
|
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterCommessaLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView;
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView;
|
||||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||||
@ -91,7 +93,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
@Inject
|
@Inject
|
||||||
OrdiniUscitaElencoViewModel mViewModel;
|
OrdiniUscitaElencoViewModel mViewModel;
|
||||||
|
|
||||||
private final VenditaFiltroOrdiniViewModel mAppliedFilterViewModel = new VenditaFiltroOrdiniViewModel();
|
private final OrdiniUscitaElencoFiltroViewModel mAppliedFilterViewModel = new OrdiniUscitaElencoFiltroViewModel();
|
||||||
|
|
||||||
private FragmentMainOrdiniUscitaBinding mBindings = null;
|
private FragmentMainOrdiniUscitaBinding mBindings = null;
|
||||||
|
|
||||||
@ -277,10 +279,10 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentGruppoMercPredicate().addOnPropertyChangedCallback(onPredicateChanged);
|
mAppliedFilterViewModel.getCurrentGruppoMercPredicate().addOnPropertyChangedCallback(onPredicateChanged);
|
||||||
mAppliedFilterViewModel.getCurrentCommessaPredicate().addOnPropertyChangedCallback(onPredicateChanged);
|
mAppliedFilterViewModel.getCurrentCommessaPredicate().addOnPropertyChangedCallback(onPredicateChanged);
|
||||||
|
|
||||||
List<FilterChipDTO> filterList = Stream.of(OrdiniUscitaElencoBindings.AVAILABLE_FILTERS.entrySet())
|
List<FilterChipDTO> filterList = OrdiniUscitaElencoFilterBindings.AVAILABLE_FILTERS.entrySet().stream()
|
||||||
.map(Map.Entry::getValue)
|
.map(Map.Entry::getValue)
|
||||||
.sortBy(FilterChipDTO::getPosizione)
|
.sorted(Comparator.comparing(FilterChipDTO::getPosizione))
|
||||||
.toList();
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
for (FilterChipDTO filterChipDTO : filterList) {
|
for (FilterChipDTO filterChipDTO : filterList) {
|
||||||
|
|
||||||
@ -290,7 +292,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
v -> initBottomSheetDialogFilter(filterChipDTO));
|
v -> initBottomSheetDialogFilter(filterChipDTO));
|
||||||
|
|
||||||
switch (filterChipDTO.getID()) {
|
switch (filterChipDTO.getID()) {
|
||||||
case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.DEPOSITO_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentDepositoPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentDepositoPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -311,7 +313,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
});
|
});
|
||||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentDepositoPredicate().set(null));
|
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentDepositoPredicate().set(null));
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.VIAGGIO_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.VIAGGIO_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentIdViaggioPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentIdViaggioPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -332,7 +334,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
});
|
});
|
||||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentIdViaggioPredicate().set(null));
|
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentIdViaggioPredicate().set(null));
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.NUM_ORD_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.NUM_ORD_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentNumOrdsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentNumOrdsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -353,7 +355,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
});
|
});
|
||||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentNumOrdsPredicate().set(null));
|
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentNumOrdsPredicate().set(null));
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.CLIENTE_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.CLIENTE_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentClientePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentClientePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -374,7 +376,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
});
|
});
|
||||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentClientePredicate().set(null));
|
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentClientePredicate().set(null));
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.VETTORE_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.VETTORE_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentVettorePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentVettorePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -395,7 +397,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
});
|
});
|
||||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentVettorePredicate().set(null));
|
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentVettorePredicate().set(null));
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.AUTOMEZZO_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.AUTOMEZZO_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentAutomezzoPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentAutomezzoPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -416,7 +418,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
});
|
});
|
||||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentAutomezzoPredicate().set(null));
|
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentAutomezzoPredicate().set(null));
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.PAESE_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.PAESE_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentPaesePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentPaesePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -437,7 +439,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
});
|
});
|
||||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentPaesePredicate().set(null));
|
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentPaesePredicate().set(null));
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.AGENTE_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.AGENTE_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentAgentePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentAgentePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -458,7 +460,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
});
|
});
|
||||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentAgentePredicate().set(null));
|
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentAgentePredicate().set(null));
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.TERM_CONS_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.TERM_CONS_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentTermConsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentTermConsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -479,7 +481,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
});
|
});
|
||||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentTermConsPredicate().set(null));
|
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentTermConsPredicate().set(null));
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.DATA_CONS_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.DATA_CONS_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentDataConsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentDataConsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -503,7 +505,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentDataConsPredicate().set(null);
|
mAppliedFilterViewModel.getCurrentDataConsPredicate().set(null);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.GRUPPO_MERC_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.GRUPPO_MERC_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentGruppoMercPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentGruppoMercPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -527,7 +529,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentGruppoMercPredicate().set(null);
|
mAppliedFilterViewModel.getCurrentGruppoMercPredicate().set(null);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
case OrdiniUscitaElencoBindings.COMMESSA_FILTER_ID -> {
|
case OrdiniUscitaElencoFilterBindings.COMMESSA_FILTER_ID -> {
|
||||||
mAppliedFilterViewModel.getCurrentCommessaPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mAppliedFilterViewModel.getCurrentCommessaPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -560,7 +562,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initBottomSheetDialogFilter(FilterChipDTO filterChipDTO) {
|
private void initBottomSheetDialogFilter(FilterChipDTO filterChipDTO) {
|
||||||
if (filterChipDTO.getID() == OrdiniUscitaElencoBindings.DATA_CONS_FILTER_ID) {
|
if (filterChipDTO.getID() == OrdiniUscitaElencoFilterBindings.DATA_CONS_FILTER_ID) {
|
||||||
var datePicker =
|
var datePicker =
|
||||||
MaterialDatePicker.Builder.datePicker()
|
MaterialDatePicker.Builder.datePicker()
|
||||||
.setTitleText(filterChipDTO.getFilterChipText())
|
.setTitleText(filterChipDTO.getFilterChipText())
|
||||||
@ -583,7 +585,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
.getFilterLayoutView();
|
.getFilterLayoutView();
|
||||||
|
|
||||||
switch (filterChipDTO.getID()) {
|
switch (filterChipDTO.getID()) {
|
||||||
case OrdiniUscitaElencoBindings.COMMESSA_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.COMMESSA_FILTER_ID ->
|
||||||
((FilterCommessaLayoutView) filterLayoutView)
|
((FilterCommessaLayoutView) filterLayoutView)
|
||||||
.setAllCommesse(mAppliedFilterViewModel.getAllCommesse(this.jtbComtCache))
|
.setAllCommesse(mAppliedFilterViewModel.getAllCommesse(this.jtbComtCache))
|
||||||
.setAvailableCommesse(mAppliedFilterViewModel.getAvailableCommesse(this.jtbComtCache))
|
.setAvailableCommesse(mAppliedFilterViewModel.getAvailableCommesse(this.jtbComtCache))
|
||||||
@ -594,7 +596,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentCommessaPredicate().get())
|
mAppliedFilterViewModel.getCurrentCommessaPredicate().get())
|
||||||
.map(x -> Stream.of(jtbComtCache).filter(y -> x.getCodJcom().equalsIgnoreCase(y.getCodJcom())).findFirst().get())
|
.map(x -> Stream.of(jtbComtCache).filter(y -> x.getCodJcom().equalsIgnoreCase(y.getCodJcom())).findFirst().get())
|
||||||
.toList());
|
.toList());
|
||||||
case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.DEPOSITO_FILTER_ID ->
|
||||||
((FilterDepositoLayoutView) filterLayoutView)
|
((FilterDepositoLayoutView) filterLayoutView)
|
||||||
.setAllCodMdeps(mAppliedFilterViewModel.getAllCodMdeps(mtbDepoCache))
|
.setAllCodMdeps(mAppliedFilterViewModel.getAllCodMdeps(mtbDepoCache))
|
||||||
.setAvailableCodMdeps(mAppliedFilterViewModel.getAvailableCodMdeps(mtbDepoCache))
|
.setAvailableCodMdeps(mAppliedFilterViewModel.getAvailableCodMdeps(mtbDepoCache))
|
||||||
@ -605,7 +607,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentDepositoPredicate().get())
|
mAppliedFilterViewModel.getCurrentDepositoPredicate().get())
|
||||||
.map(x -> Stream.of(mtbDepoCache).filter(y -> x.getCodMdep().equalsIgnoreCase(y.getCodMdep())).findFirst().get())
|
.map(x -> Stream.of(mtbDepoCache).filter(y -> x.getCodMdep().equalsIgnoreCase(y.getCodMdep())).findFirst().get())
|
||||||
.toList());
|
.toList());
|
||||||
case OrdiniUscitaElencoBindings.VIAGGIO_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.VIAGGIO_FILTER_ID ->
|
||||||
((FilterViaggioLayoutView) filterLayoutView)
|
((FilterViaggioLayoutView) filterLayoutView)
|
||||||
.setAllIDViaggio(mAppliedFilterViewModel.getAllIDViaggio())
|
.setAllIDViaggio(mAppliedFilterViewModel.getAllIDViaggio())
|
||||||
.setAvailableIDViaggio(mAppliedFilterViewModel.getAvailableIDViaggio())
|
.setAvailableIDViaggio(mAppliedFilterViewModel.getAvailableIDViaggio())
|
||||||
@ -616,7 +618,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentIdViaggioPredicate().get())
|
mAppliedFilterViewModel.getCurrentIdViaggioPredicate().get())
|
||||||
.map(OrdineUscitaInevasoDTO::getIdViaggio)
|
.map(OrdineUscitaInevasoDTO::getIdViaggio)
|
||||||
.toList());
|
.toList());
|
||||||
case OrdiniUscitaElencoBindings.NUM_ORD_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.NUM_ORD_FILTER_ID ->
|
||||||
((FilterNumeroOrdineLayoutView) filterLayoutView)
|
((FilterNumeroOrdineLayoutView) filterLayoutView)
|
||||||
.setAllNumOrds(mAppliedFilterViewModel.getAllNumOrds())
|
.setAllNumOrds(mAppliedFilterViewModel.getAllNumOrds())
|
||||||
.setAvailableNumOrds(mAppliedFilterViewModel.getAvailableNumOrds())
|
.setAvailableNumOrds(mAppliedFilterViewModel.getAvailableNumOrds())
|
||||||
@ -627,7 +629,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentNumOrdsPredicate().get())
|
mAppliedFilterViewModel.getCurrentNumOrdsPredicate().get())
|
||||||
.map(OrdineUscitaInevasoDTO::getNumOrd)
|
.map(OrdineUscitaInevasoDTO::getNumOrd)
|
||||||
.toList());
|
.toList());
|
||||||
case OrdiniUscitaElencoBindings.CLIENTE_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.CLIENTE_FILTER_ID ->
|
||||||
((FilterClienteLayoutView) filterLayoutView)
|
((FilterClienteLayoutView) filterLayoutView)
|
||||||
.setAllClienti(mAppliedFilterViewModel.getAllClienti())
|
.setAllClienti(mAppliedFilterViewModel.getAllClienti())
|
||||||
.setAvailableClienti(mAppliedFilterViewModel.getAvailableClienti())
|
.setAvailableClienti(mAppliedFilterViewModel.getAvailableClienti())
|
||||||
@ -638,7 +640,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentClientePredicate().get())
|
mAppliedFilterViewModel.getCurrentClientePredicate().get())
|
||||||
.map(OrdineUscitaInevasoDTO::getRagSocOrd)
|
.map(OrdineUscitaInevasoDTO::getRagSocOrd)
|
||||||
.toList());
|
.toList());
|
||||||
case OrdiniUscitaElencoBindings.VETTORE_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.VETTORE_FILTER_ID ->
|
||||||
((FilterVettoreLayoutView) filterLayoutView)
|
((FilterVettoreLayoutView) filterLayoutView)
|
||||||
.setAllVettori(mAppliedFilterViewModel.getAllVettori())
|
.setAllVettori(mAppliedFilterViewModel.getAllVettori())
|
||||||
.setAvailableVettori(mAppliedFilterViewModel.getAvailableVettori())
|
.setAvailableVettori(mAppliedFilterViewModel.getAvailableVettori())
|
||||||
@ -649,7 +651,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentVettorePredicate().get())
|
mAppliedFilterViewModel.getCurrentVettorePredicate().get())
|
||||||
.map(x -> x.getCodVvet() + (!UtilityString.isNullOrEmpty(x.getCodVvet()) ? " - " + x.getDescrizioneVettore() : ""))
|
.map(x -> x.getCodVvet() + (!UtilityString.isNullOrEmpty(x.getCodVvet()) ? " - " + x.getDescrizioneVettore() : ""))
|
||||||
.toList());
|
.toList());
|
||||||
case OrdiniUscitaElencoBindings.AUTOMEZZO_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.AUTOMEZZO_FILTER_ID ->
|
||||||
((FilterAutomezzoLayoutView) filterLayoutView)
|
((FilterAutomezzoLayoutView) filterLayoutView)
|
||||||
.setAllAutomezzi(mAppliedFilterViewModel.getAllAutomezzi())
|
.setAllAutomezzi(mAppliedFilterViewModel.getAllAutomezzi())
|
||||||
.setAvailableAutomezzi(mAppliedFilterViewModel.getAvailableAutomezzi())
|
.setAvailableAutomezzi(mAppliedFilterViewModel.getAvailableAutomezzi())
|
||||||
@ -660,7 +662,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentAutomezzoPredicate().get())
|
mAppliedFilterViewModel.getCurrentAutomezzoPredicate().get())
|
||||||
.map(OrdineUscitaInevasoDTO::getDescrizioneAuto)
|
.map(OrdineUscitaInevasoDTO::getDescrizioneAuto)
|
||||||
.toList());
|
.toList());
|
||||||
case OrdiniUscitaElencoBindings.PAESE_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.PAESE_FILTER_ID ->
|
||||||
((FilterPaeseLayoutView) filterLayoutView)
|
((FilterPaeseLayoutView) filterLayoutView)
|
||||||
.setAllPaesi(mAppliedFilterViewModel.getAllPaesi())
|
.setAllPaesi(mAppliedFilterViewModel.getAllPaesi())
|
||||||
.setAvailablePaesi(mAppliedFilterViewModel.getAvailablePaesi())
|
.setAvailablePaesi(mAppliedFilterViewModel.getAvailablePaesi())
|
||||||
@ -671,7 +673,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentPaesePredicate().get())
|
mAppliedFilterViewModel.getCurrentPaesePredicate().get())
|
||||||
.map(OrdineUscitaInevasoDTO::getCitta)
|
.map(OrdineUscitaInevasoDTO::getCitta)
|
||||||
.toList());
|
.toList());
|
||||||
case OrdiniUscitaElencoBindings.AGENTE_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.AGENTE_FILTER_ID ->
|
||||||
((FilterAgenteLayoutView) filterLayoutView)
|
((FilterAgenteLayoutView) filterLayoutView)
|
||||||
.setAllAgenti(mAppliedFilterViewModel.getAllAgenti())
|
.setAllAgenti(mAppliedFilterViewModel.getAllAgenti())
|
||||||
.setAvailableAgenti(mAppliedFilterViewModel.getAvailableAgenti())
|
.setAvailableAgenti(mAppliedFilterViewModel.getAvailableAgenti())
|
||||||
@ -682,7 +684,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentAgentePredicate().get())
|
mAppliedFilterViewModel.getCurrentAgentePredicate().get())
|
||||||
.map(OrdineUscitaInevasoDTO::getCitta)
|
.map(OrdineUscitaInevasoDTO::getCitta)
|
||||||
.toList());
|
.toList());
|
||||||
case OrdiniUscitaElencoBindings.TERM_CONS_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.TERM_CONS_FILTER_ID ->
|
||||||
((FilterTermConsLayoutView) filterLayoutView)
|
((FilterTermConsLayoutView) filterLayoutView)
|
||||||
.setAllTermCons(mAppliedFilterViewModel.getAllTermCons())
|
.setAllTermCons(mAppliedFilterViewModel.getAllTermCons())
|
||||||
.setAvailableTermCons(mAppliedFilterViewModel.getAvailableTermCons())
|
.setAvailableTermCons(mAppliedFilterViewModel.getAvailableTermCons())
|
||||||
@ -693,7 +695,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
mAppliedFilterViewModel.getCurrentTermConsPredicate().get())
|
mAppliedFilterViewModel.getCurrentTermConsPredicate().get())
|
||||||
.map(OrdineUscitaInevasoDTO::getCitta)
|
.map(OrdineUscitaInevasoDTO::getCitta)
|
||||||
.toList());
|
.toList());
|
||||||
case OrdiniUscitaElencoBindings.GRUPPO_MERC_FILTER_ID ->
|
case OrdiniUscitaElencoFilterBindings.GRUPPO_MERC_FILTER_ID ->
|
||||||
((FilterGruppoMercLayoutView) filterLayoutView)
|
((FilterGruppoMercLayoutView) filterLayoutView)
|
||||||
.setAllGroupMerc(mAppliedFilterViewModel.getAllGruppoMerc(mtbGrupCache))
|
.setAllGroupMerc(mAppliedFilterViewModel.getAllGruppoMerc(mtbGrupCache))
|
||||||
.setAvailableGroupMerc(mAppliedFilterViewModel.getAvailableGruppoMerc(mtbGrupCache))
|
.setAvailableGroupMerc(mAppliedFilterViewModel.getAvailableGruppoMerc(mtbGrupCache))
|
||||||
@ -730,7 +732,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
this.mOrdiniInevasiMutableData.clear();
|
this.mOrdiniInevasiMutableData.clear();
|
||||||
this.mOrdiniInevasiMutableData.addAll(list);
|
this.mOrdiniInevasiMutableData.addAll(list);
|
||||||
|
|
||||||
fabVisible.set(Stream.of(mOrdiniInevasiMutableData)
|
fabVisible.set(mOrdiniInevasiMutableData.stream()
|
||||||
.anyMatch(y -> y.getSelectedObservable().get()));
|
.anyMatch(y -> y.getSelectedObservable().get()));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -901,12 +903,17 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
onComplete.run();
|
onComplete.run();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var jtbComts = Stream.of(Objects.requireNonNull(this.mViewModel.getOrderList().getValue()))
|
|
||||||
.flatMap(x -> Stream.of(x.getCodJcom()))
|
|
||||||
.distinct().withoutNulls()
|
|
||||||
.toList();
|
|
||||||
|
|
||||||
if (jtbComts.isEmpty()) {
|
List<String> jtbComts = null;
|
||||||
|
if(this.mViewModel.getOrderList().getValue() != null) {
|
||||||
|
jtbComts = this.mViewModel.getOrderList().getValue().stream()
|
||||||
|
.map(OrdineUscitaInevasoDTO::getCodJcom)
|
||||||
|
.distinct()
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toUnmodifiableList());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (jtbComts == null || jtbComts.isEmpty()) {
|
||||||
this.jtbComtCache = new ArrayList<>();
|
this.jtbComtCache = new ArrayList<>();
|
||||||
onComplete.run();
|
onComplete.run();
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -21,7 +21,7 @@ import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
|
||||||
|
|
||||||
public class VenditaFiltroOrdiniViewModel {
|
public class OrdiniUscitaElencoFiltroViewModel {
|
||||||
|
|
||||||
private final ObservableField<Predicate<OrdiniUscitaElencoDTO>> currentDepositoPredicate = new ObservableField<>();
|
private final ObservableField<Predicate<OrdiniUscitaElencoDTO>> currentDepositoPredicate = new ObservableField<>();
|
||||||
private final ObservableField<Predicate<OrdiniUscitaElencoDTO>> currentIdViaggioPredicate = new ObservableField<>();
|
private final ObservableField<Predicate<OrdiniUscitaElencoDTO>> currentIdViaggioPredicate = new ObservableField<>();
|
||||||
@ -3,7 +3,7 @@ package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
|
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView;
|
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterCommessaLayoutView;
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
||||||
|
|
||||||
public class ProdOrdineProduzioneElencoBindings {
|
public class ProdOrdineProduzioneElencoBindings {
|
||||||
|
|||||||
@ -43,7 +43,7 @@ import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAcc
|
|||||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
|
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
|
||||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingActivity;
|
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingActivity;
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
|
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView;
|
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterCommessaLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.OrdineProduzioneFilterViewModel;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.OrdineProduzioneFilterViewModel;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoClienteListModel;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoClienteListModel;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoListModel;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoListModel;
|
||||||
|
|||||||
@ -3,7 +3,6 @@ package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterGruppoMercLayoutView;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterGruppoMercLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView;
|
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
|
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
|
||||||
|
|
||||||
|
|||||||
@ -10,8 +10,6 @@ import androidx.appcompat.widget.AppCompatTextView;
|
|||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableArrayList;
|
import androidx.databinding.ObservableArrayList;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.lifecycle.LiveData;
|
|
||||||
import androidx.lifecycle.MutableLiveData;
|
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
import com.ravikoradiya.liveadapter.LiveAdapter;
|
import com.ravikoradiya.liveadapter.LiveAdapter;
|
||||||
@ -19,12 +17,11 @@ import com.ravikoradiya.liveadapter.Type;
|
|||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@ -41,19 +38,14 @@ import it.integry.integrywmsnative.core.model.MtbGrup;
|
|||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
|
||||||
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|
||||||
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeListSingleItemBinding;
|
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeListSingleItemBinding;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeProdBinding;
|
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeProdBinding;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeTitleItemBinding;
|
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeTitleItemBinding;
|
||||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterGruppoMercLayoutView;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterGruppoMercLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoClienteListModel;
|
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoListModel;
|
|
||||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.GroupTitleModel;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.GroupTitleModel;
|
||||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeItemModelDto;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeItemModelDto;
|
||||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
||||||
@ -386,10 +378,10 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
public void dispatchOrders() {
|
public void dispatchOrders() {
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
String ordini = UtilityDB.listValueToString(Stream.of(mProdFabbisognoItemModel)
|
String ordini = UtilityDB.listValueToString(mProdFabbisognoItemModel.stream()
|
||||||
.filter(x -> x instanceof ProdFabbisognoLineeItemModelDto && ((ProdFabbisognoLineeItemModelDto) x).selected.get())
|
.filter(x -> x instanceof ProdFabbisognoLineeItemModelDto && ((ProdFabbisognoLineeItemModelDto) x).selected.get())
|
||||||
.map(x -> ((ProdFabbisognoLineeItemModelDto) x).getOrdineLavorazioneDTO().getNumOrd().toString())
|
.map(x -> String.valueOf(((ProdFabbisognoLineeItemModelDto) x).getOrdineLavorazioneDTO().getNumOrd()))
|
||||||
.toList());
|
.collect(Collectors.toList()));
|
||||||
|
|
||||||
LocalDate dataInizio = Stream.of(mProdFabbisognoItemModel)
|
LocalDate dataInizio = Stream.of(mProdFabbisognoItemModel)
|
||||||
.filter(x -> x instanceof ProdFabbisognoLineeItemModelDto && ((ProdFabbisognoLineeItemModelDto) x).selected.get())
|
.filter(x -> x instanceof ProdFabbisognoLineeItemModelDto && ((ProdFabbisognoLineeItemModelDto) x).selected.get())
|
||||||
@ -417,10 +409,10 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
private void startPickingActivity(List<MtbGrup> listMtbGrup, List<ProdFabbisognoLineeProdDTO> fabbisognoList) {
|
private void startPickingActivity(List<MtbGrup> listMtbGrup, List<ProdFabbisognoLineeProdDTO> fabbisognoList) {
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
String ordini = UtilityDB.listValueToString(Stream.of(mProdFabbisognoItemModel)
|
String ordini = UtilityDB.listValueToString(mProdFabbisognoItemModel.stream()
|
||||||
.filter(x -> x instanceof ProdFabbisognoLineeItemModelDto && ((ProdFabbisognoLineeItemModelDto) x).selected.get())
|
.filter(x -> x instanceof ProdFabbisognoLineeItemModelDto && ((ProdFabbisognoLineeItemModelDto) x).selected.get())
|
||||||
.map(x -> ((ProdFabbisognoLineeItemModelDto) x).getOrdineLavorazioneDTO().getNumOrd().toString())
|
.map(x -> String.valueOf(((ProdFabbisognoLineeItemModelDto) x).getOrdineLavorazioneDTO().getNumOrd()))
|
||||||
.toList());
|
.collect(Collectors.toList()));
|
||||||
|
|
||||||
Stream<ProdFabbisognoLineeProdDTO> streamSitArtOrd = Stream.of(fabbisognoList);
|
Stream<ProdFabbisognoLineeProdDTO> streamSitArtOrd = Stream.of(fabbisognoList);
|
||||||
|
|
||||||
|
|||||||
@ -9,10 +9,9 @@ import com.annimon.stream.function.Predicate;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbGrup;
|
import it.integry.integrywmsnative.core.model.MtbGrup;
|
||||||
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
|
|
||||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeItemModelDto;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeItemModelDto;
|
||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
||||||
|
|
||||||
@ -78,13 +77,11 @@ public class ProdFabbisognoLineeProdFilterViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<Integer> getAllNumOrds() {
|
public List<Integer> getAllNumOrds() {
|
||||||
return Stream
|
return Objects.requireNonNull(initialList).stream()
|
||||||
.of(Objects.requireNonNull(initialList))
|
.map(x -> x.getOrdineLavorazioneDTO().getNumOrd())
|
||||||
.filter(x -> x.getOrdineLavorazioneDTO().getNumOrd() != null)
|
.sorted()
|
||||||
.sortBy(x -> -x.getOrdineLavorazioneDTO().getNumOrd())
|
|
||||||
.map(x -> x.getOrdineLavorazioneDTO().getNumOrd() != null ? x.getOrdineLavorazioneDTO().getNumOrd() : null)
|
|
||||||
.distinct()
|
.distinct()
|
||||||
.toList();
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Integer> getAvailableNumOrds() {
|
public List<Integer> getAvailableNumOrds() {
|
||||||
|
|||||||
@ -10,11 +10,11 @@ import android.view.ViewGroup;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.widget.AppCompatTextView;
|
import androidx.appcompat.widget.AppCompatTextView;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.databinding.ObservableField;
|
import androidx.databinding.ObservableField;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@ -120,13 +120,12 @@ public class ProdRientroMerceFragment extends BaseFragment implements
|
|||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
|
||||||
@Nullable Bundle savedInstanceState) {
|
@Nullable Bundle savedInstanceState) {
|
||||||
mBindings = DataBindingUtil.inflate(LayoutInflater.from(getActivity()), R.layout.fragment_prod_rientro_merce, container, false);
|
mBindings = FragmentProdRientroMerceBinding.inflate(LayoutInflater.from(getActivity()), container, false);
|
||||||
mBindings.setLifecycleOwner(this);
|
mBindings.setLifecycleOwner(this);
|
||||||
mBindings.setView(this);
|
mBindings.setView(this);
|
||||||
mBindings.setViewmodel(mViewModel);
|
mBindings.setViewmodel(mViewModel);
|
||||||
|
|
||||||
mViewModel.setListener(this);
|
mViewModel.setListener(this);
|
||||||
|
|
||||||
|
|
||||||
return mBindings.getRoot();
|
return mBindings.getRoot();
|
||||||
}
|
}
|
||||||
@ -149,6 +148,7 @@ public class ProdRientroMerceFragment extends BaseFragment implements
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addOnPreDestroy(Runnable onPreDestroy) {
|
public void addOnPreDestroy(Runnable onPreDestroy) {
|
||||||
this.mOnPreDestroyList.add(onPreDestroy);
|
this.mOnPreDestroyList.add(onPreDestroy);
|
||||||
@ -172,6 +172,20 @@ public class ProdRientroMerceFragment extends BaseFragment implements
|
|||||||
|
|
||||||
private void ordersUpdated(List<OrdineLavorazioneDTO> ordiniLavorazioneList) {
|
private void ordersUpdated(List<OrdineLavorazioneDTO> ordiniLavorazioneList) {
|
||||||
this.mProdRientroMerceOrderListFragment.pushOrderList(ordiniLavorazioneList);
|
this.mProdRientroMerceOrderListFragment.pushOrderList(ordiniLavorazioneList);
|
||||||
|
|
||||||
|
if (mProdRientroMerceOrderDetailFragment != null && mProdRientroMerceOrderDetailFragment.getCurrentOrder().getValue() != null) {
|
||||||
|
var orderToRefresh = mProdRientroMerceOrderDetailFragment.getCurrentOrder().getValue();
|
||||||
|
|
||||||
|
Optional<OrdineLavorazioneDTO> foundOrder = ordiniLavorazioneList.stream().filter(x -> x.getNumOrd() == orderToRefresh.getNumOrd() &&
|
||||||
|
x.getDataOrd().equals(orderToRefresh.getDataOrd()) &&
|
||||||
|
x.getGestione().equalsIgnoreCase(orderToRefresh.getGestione()))
|
||||||
|
.findFirst();
|
||||||
|
|
||||||
|
if(foundOrder.isPresent())
|
||||||
|
mProdRientroMerceOrderDetailFragment.setOrder(foundOrder.get());
|
||||||
|
else
|
||||||
|
mProdRientroMerceOrderDetailFragment.setOrder(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -220,4 +234,6 @@ public class ProdRientroMerceFragment extends BaseFragment implements
|
|||||||
|
|
||||||
else onComplete.run();
|
else onComplete.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -27,6 +27,10 @@ public class ProdRientroMerceViewModel {
|
|||||||
this.mMesRESTConsumer = mesRESTConsumer;
|
this.mMesRESTConsumer = mesRESTConsumer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void refreshOrderList() {
|
public void refreshOrderList() {
|
||||||
this.sendOnOrdersLoadingStarted();
|
this.sendOnOrdersLoadingStarted();
|
||||||
String codAnag = SettingsManager.iDB().getFilterFornitoreProd();
|
String codAnag = SettingsManager.iDB().getFilterFornitoreProd();
|
||||||
|
|||||||
@ -174,6 +174,10 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MutableLiveData<OrdineLavorazioneDTO> getCurrentOrder() {
|
||||||
|
return currentOrder;
|
||||||
|
}
|
||||||
|
|
||||||
private void onConnected(BluetoothSerialDevice connectedDevice) {
|
private void onConnected(BluetoothSerialDevice connectedDevice) {
|
||||||
Toast.makeText(requireActivity(), "Connesso a: " + connectedDevice.getMac(), Toast.LENGTH_LONG).show();
|
Toast.makeText(requireActivity(), "Connesso a: " + connectedDevice.getMac(), Toast.LENGTH_LONG).show();
|
||||||
mConnectedBluetoothDevice = connectedDevice;
|
mConnectedBluetoothDevice = connectedDevice;
|
||||||
|
|||||||
@ -74,16 +74,18 @@ public class ProdRientroMerceOrderDetailViewModel {
|
|||||||
//this.sendOnLoadingStarted();
|
//this.sendOnLoadingStarted();
|
||||||
this.mtbColtsOfOrder.postValue(null);
|
this.mtbColtsOfOrder.postValue(null);
|
||||||
|
|
||||||
this.prodRientroMerceOrderDetailRESTConsumer.getMtbColtsOfOrder(currentOrder, mtbColts -> {
|
if (currentOrder != null) {
|
||||||
for (MtbColt mtbColt : mtbColts) {
|
this.prodRientroMerceOrderDetailRESTConsumer.getMtbColtsOfOrder(currentOrder, mtbColts -> {
|
||||||
mtbColt.getMtbColr().get(0)
|
for (MtbColt mtbColt : mtbColts) {
|
||||||
.setDescrizione(currentOrder.getDescrizioneProd())
|
mtbColt.getMtbColr().get(0)
|
||||||
.setUntMis(currentOrder.getUntOrd());
|
.setDescrizione(currentOrder.getDescrizioneProd())
|
||||||
}
|
.setUntMis(currentOrder.getUntOrd());
|
||||||
|
}
|
||||||
|
|
||||||
this.mtbColtsOfOrder.postValue(mtbColts);
|
this.mtbColtsOfOrder.postValue(mtbColts);
|
||||||
//this.sendOnLoadingEnded();
|
//this.sendOnLoadingEnded();
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void retrieveOrderData(RunnableArgss<MtbAart, String> onComplete) {
|
public void retrieveOrderData(RunnableArgss<MtbAart, String> onComplete) {
|
||||||
@ -139,7 +141,7 @@ public class ProdRientroMerceOrderDetailViewModel {
|
|||||||
|
|
||||||
this.prodRientroMerceOrderDetailRESTConsumer.importColliDaProduzione(importColliDaProduzioneRequestDTO, mtbColtSaved -> {
|
this.prodRientroMerceOrderDetailRESTConsumer.importColliDaProduzione(importColliDaProduzioneRequestDTO, mtbColtSaved -> {
|
||||||
|
|
||||||
if(SettingsManager.iDB().isProduzioneGeneraDocCar() || SettingsManager.iDB().isProduzioneGeneraDocScar()) {
|
if (SettingsManager.iDB().isProduzioneGeneraDocCar() || SettingsManager.iDB().isProduzioneGeneraDocScar()) {
|
||||||
|
|
||||||
CaricoProdFinDTO caricoProdFinDTO = new CaricoProdFinDTO()
|
CaricoProdFinDTO caricoProdFinDTO = new CaricoProdFinDTO()
|
||||||
.setEscludiArticoliGestitiDaWmsInScarico(true)
|
.setEscludiArticoliGestitiDaWmsInScarico(true)
|
||||||
|
|||||||
@ -0,0 +1,15 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_rientro_merce.order_list;
|
||||||
|
|
||||||
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
public interface ProdRientroMerceOrderListComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
ProdRientroMerceOrderListComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
|
void inject(ProdRientroMerceOrderListFragment prodRientroMerceOrderListFragment);
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_rientro_merce.order_list;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
||||||
|
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterCommessaLayoutView;
|
||||||
|
|
||||||
|
public class ProdRientroMerceOrderListFilterBindings {
|
||||||
|
public static final int COMMESSA_FILTER_ID = 0;
|
||||||
|
|
||||||
|
|
||||||
|
public static final HashMap<Integer, FilterChipDTO> AVAILABLE_FILTERS = new HashMap<>() {{
|
||||||
|
put(COMMESSA_FILTER_ID, new FilterChipDTO()
|
||||||
|
.setID(COMMESSA_FILTER_ID)
|
||||||
|
.setPosizione(9)
|
||||||
|
.setFilterChipText("Commessa")
|
||||||
|
.setFilterLayoutView(new FilterCommessaLayoutView()));
|
||||||
|
}};
|
||||||
|
}
|
||||||
@ -0,0 +1,113 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_rientro_merce.order_list;
|
||||||
|
|
||||||
|
import androidx.databinding.ObservableField;
|
||||||
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.function.Predicate;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.JtbComt;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
||||||
|
|
||||||
|
public class ProdRientroMerceOrderListFilterViewModel {
|
||||||
|
|
||||||
|
private final ObservableField<Predicate<OrdineLavorazioneDTO>> currentCommessaPredicate = new ObservableField<>();
|
||||||
|
|
||||||
|
private List<OrdineLavorazioneDTO> initialOrderList;
|
||||||
|
private final MutableLiveData<List<OrdineLavorazioneDTO>> currentFilteredOrderList = new MutableLiveData<>();
|
||||||
|
|
||||||
|
public void init(List<OrdineLavorazioneDTO> initialList) {
|
||||||
|
this.initialOrderList = initialList;
|
||||||
|
this.currentFilteredOrderList.setValue(this.initialOrderList);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MutableLiveData<List<OrdineLavorazioneDTO>> getMutableFilteredOrderList() {
|
||||||
|
return this.currentFilteredOrderList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCommessaFilter(List<JtbComt> jtbComtList) {
|
||||||
|
if (jtbComtList == null || jtbComtList.isEmpty()) currentCommessaPredicate.set(null);
|
||||||
|
else {
|
||||||
|
List<String> codJcoms = jtbComtList.stream()
|
||||||
|
.map(JtbComt::getCodJcom)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
currentCommessaPredicate.set(o -> codJcoms.contains(o.getCodJcom()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void applyAllTests() {
|
||||||
|
|
||||||
|
List<OrdineLavorazioneDTO> returnList = null;
|
||||||
|
|
||||||
|
if (
|
||||||
|
currentCommessaPredicate.get() == null
|
||||||
|
) {
|
||||||
|
returnList = this.initialOrderList;
|
||||||
|
} else {
|
||||||
|
Stream<OrdineLavorazioneDTO> tmpStream = this.initialOrderList.stream()
|
||||||
|
.filter(x ->
|
||||||
|
(currentCommessaPredicate.get() == null || (currentCommessaPredicate.get().test(x)))
|
||||||
|
);
|
||||||
|
|
||||||
|
returnList = tmpStream.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
this.currentFilteredOrderList.setValue(returnList);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObservableField<Predicate<OrdineLavorazioneDTO>> getCurrentCommessaPredicate() {
|
||||||
|
return currentCommessaPredicate;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public List<JtbComt> getAllCommesse(List<JtbComt> commesseFullList) {
|
||||||
|
List<String> codJcom = initialOrderList.stream()
|
||||||
|
.map(OrdineLavorazioneDTO::getCodJcom)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toUnmodifiableList());
|
||||||
|
|
||||||
|
return Objects.requireNonNull(commesseFullList).stream()
|
||||||
|
.filter(x -> x != null && codJcom.contains(x.getCodJcom()))
|
||||||
|
.distinct()
|
||||||
|
.sorted((o1, o2) -> o1.getCodJcom().compareTo(o2.getCodJfas()))
|
||||||
|
.collect(Collectors.toUnmodifiableList());
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<JtbComt> getAvailableCommesse(List<JtbComt> commesseFullList) {
|
||||||
|
|
||||||
|
// if (currentIdViaggioPredicate.get() == null ) {
|
||||||
|
return getAllCommesse(commesseFullList);
|
||||||
|
// } else {
|
||||||
|
// List<String> availableCommesse = Stream.of(this.initialOrderList)
|
||||||
|
// .filter(x ->
|
||||||
|
// (currentIdViaggioPredicate.get() == null || (currentIdViaggioPredicate.get().test(x))) &&
|
||||||
|
// (currentNumOrdsPredicate.get() == null || (currentNumOrdsPredicate.get().test(x))) &&
|
||||||
|
// (currentDataConsPredicate.get() == null || (currentDataConsPredicate.get().test(x))) &&
|
||||||
|
// (currentAgentePredicate.get() == null || (currentAgentePredicate.get().test(x))) &&
|
||||||
|
// (currentClientePredicate.get() == null || (currentClientePredicate.get().test(x))) &&
|
||||||
|
// (currentVettorePredicate.get() == null || (currentVettorePredicate.get().test(x))) &&
|
||||||
|
// (currentDepositoPredicate.get() == null || (currentDepositoPredicate.get().test(x))) &&
|
||||||
|
// (currentPaesePredicate.get() == null || (currentPaesePredicate.get().test(x))) &&
|
||||||
|
// (currentAutomezzoPredicate.get() == null || (currentAutomezzoPredicate.get().test(x))) &&
|
||||||
|
// (currentGruppoMercPredicate.get() == null || (currentGruppoMercPredicate.get().test(x))) &&
|
||||||
|
// (currentTermConsPredicate.get() == null || (currentTermConsPredicate.get().test(x)))
|
||||||
|
// )
|
||||||
|
// .map(OrdineUscitaInevasoDTO::getCodJcom)
|
||||||
|
// .distinct()
|
||||||
|
// .toList();
|
||||||
|
//
|
||||||
|
// return Stream.of(Objects.requireNonNull(commesseFullList))
|
||||||
|
// .filter(x -> availableCommesse.contains(x.getCodJcom()))
|
||||||
|
// .distinct()
|
||||||
|
// .withoutNulls()
|
||||||
|
// .sortBy(JtbComt::getCodJcom)
|
||||||
|
// .toList();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -6,7 +6,6 @@ import android.view.View;
|
|||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.databinding.ObservableArrayList;
|
import androidx.databinding.ObservableArrayList;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
@ -18,17 +17,32 @@ import com.annimon.stream.Stream;
|
|||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.model.JtbComt;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentProdRientroMerceOrderListBinding;
|
import it.integry.integrywmsnative.databinding.FragmentProdRientroMerceOrderListBinding;
|
||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
||||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||||
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
||||||
|
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
||||||
|
import it.integry.integrywmsnative.ui.filter_chips.FilterChipView;
|
||||||
|
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterCommessaLayoutView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simple {@link Fragment} subclass.
|
* A simple {@link Fragment} subclass.
|
||||||
@ -37,14 +51,27 @@ import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
|||||||
*/
|
*/
|
||||||
public class ProdRientroMerceOrderListFragment extends Fragment {
|
public class ProdRientroMerceOrderListFragment extends Fragment {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
CommessaRESTConsumer mCommessaRESTConsumer;
|
||||||
|
|
||||||
private final ObservableArrayList<ProdRientroMerceOrderListModel> mOrdiniApertiMutableData = new ObservableArrayList<>();
|
private final ObservableArrayList<ProdRientroMerceOrderListModel> mOrdiniApertiMutableData = new ObservableArrayList<>();
|
||||||
private FragmentProdRientroMerceOrderListBinding mBindings = null;
|
private FragmentProdRientroMerceOrderListBinding mBindings = null;
|
||||||
private RunnableArgs<OrdineLavorazioneDTO> mOnItemSelectedRunnable;
|
private RunnableArgs<OrdineLavorazioneDTO> mOnItemSelectedRunnable;
|
||||||
|
|
||||||
private ElevatedToolbar mToolbar;
|
private ElevatedToolbar mToolbar;
|
||||||
private OnRefreshListener onRefreshListener;
|
private OnRefreshListener onRefreshListener;
|
||||||
|
|
||||||
|
private final ProdRientroMerceOrderListFilterViewModel mAppliedFilterViewModel = new ProdRientroMerceOrderListFilterViewModel();
|
||||||
|
private List<OrdineLavorazioneDTO> internalOrderList = new ArrayList<>();
|
||||||
|
|
||||||
|
private List<JtbComt> jtbComtCache;
|
||||||
|
|
||||||
public ProdRientroMerceOrderListFragment() {
|
public ProdRientroMerceOrderListFragment() {
|
||||||
// Required empty public constructor
|
// Required empty public constructor
|
||||||
|
MainApplication.appComponent
|
||||||
|
.prodRientroMerceOrderListComponent()
|
||||||
|
.create()
|
||||||
|
.inject(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ProdRientroMerceOrderListFragment newInstance(ElevatedToolbar elevatedToolbar) {
|
public static ProdRientroMerceOrderListFragment newInstance(ElevatedToolbar elevatedToolbar) {
|
||||||
@ -56,6 +83,7 @@ public class ProdRientroMerceOrderListFragment extends Fragment {
|
|||||||
return prodRientroMerceOrderListFragment;
|
return prodRientroMerceOrderListFragment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@ -68,21 +96,23 @@ public class ProdRientroMerceOrderListFragment extends Fragment {
|
|||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
// Inflate the layout for this fragment
|
// Inflate the layout for this fragment
|
||||||
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_prod_rientro_merce_order_list, container, false);
|
mBindings = FragmentProdRientroMerceOrderListBinding.inflate(inflater, container, false);
|
||||||
|
|
||||||
mBindings.setLifecycleOwner(this);
|
mBindings.setLifecycleOwner(this);
|
||||||
|
|
||||||
if (savedInstanceState == null) this.initRecyclerView();
|
if (savedInstanceState == null) {
|
||||||
|
this.initRecyclerView();
|
||||||
|
this.initFilters();
|
||||||
|
}
|
||||||
|
|
||||||
return mBindings.getRoot();
|
return mBindings.getRoot();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initRecyclerView() {
|
private void initRecyclerView() {
|
||||||
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(getActivity(), SimpleDividerItemDecoration.VERTICAL);
|
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(requireActivity(), SimpleDividerItemDecoration.VERTICAL);
|
||||||
itemDecorator.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider));
|
itemDecorator.setDrawable(ContextCompat.getDrawable(requireActivity(), R.drawable.divider));
|
||||||
this.mBindings.mainList.addItemDecoration(itemDecorator);
|
this.mBindings.mainList.addItemDecoration(itemDecorator);
|
||||||
|
|
||||||
|
|
||||||
ProdRientroMerceOrderListAdapter prodRientroMerceOrderListAdapter = new ProdRientroMerceOrderListAdapter(getActivity(), mOrdiniApertiMutableData)
|
ProdRientroMerceOrderListAdapter prodRientroMerceOrderListAdapter = new ProdRientroMerceOrderListAdapter(getActivity(), mOrdiniApertiMutableData)
|
||||||
.setEmptyView(this.mBindings.emptyView)
|
.setEmptyView(this.mBindings.emptyView)
|
||||||
.setOnItemClicked(x -> {
|
.setOnItemClicked(x -> {
|
||||||
@ -100,10 +130,139 @@ public class ProdRientroMerceOrderListFragment extends Fragment {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void pushOrderList(List<OrdineLavorazioneDTO> orderList) {
|
private void initFilters() {
|
||||||
this.mOrdiniApertiMutableData.clear();
|
var onPredicateChanged = new OnGeneralChangedCallback() {
|
||||||
this.mOrdiniApertiMutableData.addAll(convertDataModelToListModel(orderList));
|
@Override
|
||||||
|
public void run() {
|
||||||
|
refreshList();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
mAppliedFilterViewModel.getCurrentCommessaPredicate().addOnPropertyChangedCallback(onPredicateChanged);
|
||||||
|
|
||||||
|
List<FilterChipDTO> filterList = ProdRientroMerceOrderListFilterBindings.AVAILABLE_FILTERS.entrySet().stream()
|
||||||
|
.map(Map.Entry::getValue)
|
||||||
|
.sorted(Comparator.comparing(FilterChipDTO::getPosizione))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
for (FilterChipDTO filterChipDTO : filterList) {
|
||||||
|
|
||||||
|
FilterChipView filterChipView = new FilterChipView(
|
||||||
|
requireActivity(),
|
||||||
|
filterChipDTO.getFilterChipText(),
|
||||||
|
v -> initBottomSheetDialogFilter(filterChipDTO));
|
||||||
|
|
||||||
|
switch (filterChipDTO.getID()) {
|
||||||
|
|
||||||
|
case ProdRientroMerceOrderListFilterBindings.COMMESSA_FILTER_ID -> {
|
||||||
|
mAppliedFilterViewModel.getCurrentCommessaPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (mAppliedFilterViewModel.getCurrentCommessaPredicate().get() == null) {
|
||||||
|
filterChipView.disableCloseIcon();
|
||||||
|
|
||||||
|
mBindings.filterChipsGroup.removeView(filterChipView);
|
||||||
|
mBindings.filterChipsGroup.addView(filterChipView);
|
||||||
|
mBindings.filterChips.smoothScrollTo(0, 0);
|
||||||
|
} else {
|
||||||
|
filterChipView.enableCloseIcon();
|
||||||
|
|
||||||
|
mBindings.filterChipsGroup.removeView(filterChipView);
|
||||||
|
mBindings.filterChipsGroup.addView(filterChipView, 0);
|
||||||
|
mBindings.filterChips.smoothScrollTo(0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
filterChipView.setOnResetClicked(() -> {
|
||||||
|
mAppliedFilterViewModel.setCommessaFilter(null);
|
||||||
|
mAppliedFilterViewModel.getCurrentCommessaPredicate().set(null);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
this.mBindings.filterChipsGroup.addView(filterChipView);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void initBottomSheetDialogFilter(FilterChipDTO filterChipDTO) {
|
||||||
|
filterChipDTO
|
||||||
|
.getFilterLayoutView()
|
||||||
|
.setFilterName(filterChipDTO.getFilterChipText())
|
||||||
|
.setContext(requireActivity());
|
||||||
|
|
||||||
|
var filterLayoutView = filterChipDTO
|
||||||
|
.getFilterLayoutView();
|
||||||
|
|
||||||
|
switch (filterChipDTO.getID()) {
|
||||||
|
case ProdRientroMerceOrderListFilterBindings.COMMESSA_FILTER_ID ->
|
||||||
|
((FilterCommessaLayoutView) filterLayoutView)
|
||||||
|
.setAllCommesse(mAppliedFilterViewModel.getAllCommesse(this.jtbComtCache))
|
||||||
|
.setAvailableCommesse(mAppliedFilterViewModel.getAvailableCommesse(this.jtbComtCache))
|
||||||
|
.setOnFilterApplied(mAppliedFilterViewModel::setCommessaFilter)
|
||||||
|
.setPreSelectedCommesse(internalOrderList.stream()
|
||||||
|
.filter(mAppliedFilterViewModel.getCurrentCommessaPredicate().get() == null ?
|
||||||
|
x -> false :
|
||||||
|
Objects.requireNonNull(mAppliedFilterViewModel.getCurrentCommessaPredicate().get()))
|
||||||
|
.map(x -> jtbComtCache.parallelStream()
|
||||||
|
.filter(y -> x.getCodJcom().equalsIgnoreCase(y.getCodJcom())).findFirst().get())
|
||||||
|
.collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!filterLayoutView.isAdded())
|
||||||
|
filterLayoutView.show(requireActivity().getSupportFragmentManager(), "bottom-sheet-filters");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void initJtbComtCache(Runnable onComplete) {
|
||||||
|
if (this.internalOrderList == null || this.internalOrderList.isEmpty()) {
|
||||||
|
this.jtbComtCache = new ArrayList<>();
|
||||||
|
onComplete.run();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> jtbComts = this.internalOrderList.stream()
|
||||||
|
.map(OrdineLavorazioneDTO::getCodJcom)
|
||||||
|
.distinct()
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toUnmodifiableList());
|
||||||
|
|
||||||
|
if (jtbComts.isEmpty()) {
|
||||||
|
this.jtbComtCache = new ArrayList<>();
|
||||||
|
onComplete.run();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.mCommessaRESTConsumer.getJtbComts(jtbComts, jtbComtCache -> {
|
||||||
|
this.jtbComtCache = jtbComtCache;
|
||||||
|
onComplete.run();
|
||||||
|
}, this::onError);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void pushOrderList(List<OrdineLavorazioneDTO> orderList) {
|
||||||
|
this.internalOrderList = orderList;
|
||||||
|
|
||||||
|
onOrderLoadingStarted();
|
||||||
|
this.initJtbComtCache(() -> {
|
||||||
|
mAppliedFilterViewModel.init(internalOrderList);
|
||||||
|
refreshList();
|
||||||
|
onOrderLoadingEnded();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void refreshList() {
|
||||||
|
requireActivity().runOnUiThread(() -> {
|
||||||
|
List<OrdineLavorazioneDTO> tmpList;
|
||||||
|
|
||||||
|
mAppliedFilterViewModel.applyAllTests();
|
||||||
|
tmpList = mAppliedFilterViewModel.getMutableFilteredOrderList().getValue();
|
||||||
|
|
||||||
|
this.mOrdiniApertiMutableData.clear();
|
||||||
|
this.mOrdiniApertiMutableData.addAll(convertDataModelToListModel(tmpList));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onOrderLoadingStarted() {
|
public void onOrderLoadingStarted() {
|
||||||
@ -115,6 +274,14 @@ public class ProdRientroMerceOrderListFragment extends Fragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void onError(Exception ex) {
|
||||||
|
requireActivity().runOnUiThread(() -> {
|
||||||
|
onOrderLoadingEnded();
|
||||||
|
UtilityExceptions.defaultException(getActivity(), ex);
|
||||||
|
BarcodeManager.enable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private List<ProdRientroMerceOrderListModel> convertDataModelToListModel(List<OrdineLavorazioneDTO> dataList) {
|
private List<ProdRientroMerceOrderListModel> convertDataModelToListModel(List<OrdineLavorazioneDTO> dataList) {
|
||||||
|
|
||||||
ComparatorCompat<OrdineLavorazioneDTO> comparator = ComparatorCompat
|
ComparatorCompat<OrdineLavorazioneDTO> comparator = ComparatorCompat
|
||||||
|
|||||||
@ -43,7 +43,7 @@ public class OrdineLavorazioneDTO {
|
|||||||
|
|
||||||
private String gestione;
|
private String gestione;
|
||||||
|
|
||||||
private Integer numOrd;
|
private int numOrd;
|
||||||
|
|
||||||
private String descrizioneProd;
|
private String descrizioneProd;
|
||||||
|
|
||||||
@ -166,11 +166,11 @@ public class OrdineLavorazioneDTO {
|
|||||||
this.gestione = gestione;
|
this.gestione = gestione;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getNumOrd() {
|
public int getNumOrd() {
|
||||||
return numOrd;
|
return numOrd;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setNumOrd(Integer numOrd) {
|
public void setNumOrd(int numOrd) {
|
||||||
this.numOrd = numOrd;
|
this.numOrd = numOrd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.widget.SearchView;
|
import androidx.appcompat.widget.SearchView;
|
||||||
|
|
||||||
|
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
@ -24,14 +25,26 @@ public abstract class FilterLayoutView extends BottomSheetDialogFragment {
|
|||||||
private SearchView mSearchView;
|
private SearchView mSearchView;
|
||||||
private RunnableArgs<String> mOnFilterChanged;
|
private RunnableArgs<String> mOnFilterChanged;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStart() {
|
||||||
|
super.onStart();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
|
var behavior = BottomSheetBehavior.from((View) view.getParent());
|
||||||
|
behavior.setSkipCollapsed(true);
|
||||||
|
|
||||||
|
getDialog().setOnShowListener(dialogInterface -> {
|
||||||
|
behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
|
||||||
|
});
|
||||||
|
|
||||||
if (mSearchView != null) this.initSearchView();
|
if (mSearchView != null) this.initSearchView();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void initSearchView() {
|
protected void initSearchView() {
|
||||||
|
|
||||||
mSearchView.setOnSearchClickListener(v -> {
|
mSearchView.setOnSearchClickListener(v -> {
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters;
|
package it.integry.integrywmsnative.ui.filter_chips.filters;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@ -7,17 +7,16 @@ import android.view.ViewGroup;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.lifecycle.MutableLiveData;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
import com.annimon.stream.ComparatorCompat;
|
import com.annimon.stream.ComparatorCompat;
|
||||||
import com.annimon.stream.Stream;
|
|
||||||
import com.ravikoradiya.liveadapter.LiveAdapter;
|
import com.ravikoradiya.liveadapter.LiveAdapter;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.BR;
|
import it.integry.integrywmsnative.BR;
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
@ -43,16 +42,16 @@ public class FilterCommessaLayoutView extends FilterLayoutView {
|
|||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
mBindings = DataBindingUtil.inflate(inflater, R.layout.layout_filter_commessa, container, false);
|
mBindings = LayoutFilterCommessaBinding.inflate(inflater, container, false);
|
||||||
this.mBindings.setView(this);
|
this.mBindings.setView(this);
|
||||||
|
|
||||||
refreshList();
|
refreshList();
|
||||||
|
|
||||||
this.setSearchView(this.mBindings.searchView, newFilter -> {
|
this.setSearchView(this.mBindings.searchView, newFilter -> {
|
||||||
hiddenCommesse = Stream.of(allCommesse)
|
hiddenCommesse = allCommesse.stream()
|
||||||
.filter(x -> !x.getCodJcom().toUpperCase(Locale.ROOT).contains(newFilter.toUpperCase(Locale.ROOT)) &&
|
.filter(x -> !x.getCodJcom().toUpperCase(Locale.ROOT).contains(newFilter.toUpperCase(Locale.ROOT)) &&
|
||||||
!x.getDescrizione().toUpperCase(Locale.ROOT).contains(newFilter.toUpperCase(Locale.ROOT)))
|
!x.getDescrizione().toUpperCase(Locale.ROOT).contains(newFilter.toUpperCase(Locale.ROOT)))
|
||||||
.toList();
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
refreshList();
|
refreshList();
|
||||||
});
|
});
|
||||||
@ -73,7 +72,7 @@ public class FilterCommessaLayoutView extends FilterLayoutView {
|
|||||||
.thenComparing(new ComparatorCompat<>((x, y) -> y.getOriginalModel().getCodJcom().compareTo(x.getOriginalModel().getCodJcom())))
|
.thenComparing(new ComparatorCompat<>((x, y) -> y.getOriginalModel().getCodJcom().compareTo(x.getOriginalModel().getCodJcom())))
|
||||||
.reversed();
|
.reversed();
|
||||||
|
|
||||||
listModel.setValue(Stream.of(getAllCommesse())
|
listModel.setValue(getAllCommesse().stream()
|
||||||
.filter(x -> !hiddenCommesse.contains(x))
|
.filter(x -> !hiddenCommesse.contains(x))
|
||||||
.map(x -> {
|
.map(x -> {
|
||||||
var selectedBoolean = new BindableBoolean(preSelectedCommesse.contains(x));
|
var selectedBoolean = new BindableBoolean(preSelectedCommesse.contains(x));
|
||||||
@ -88,17 +87,17 @@ public class FilterCommessaLayoutView extends FilterLayoutView {
|
|||||||
.setOriginalModel(x);
|
.setOriginalModel(x);
|
||||||
})
|
})
|
||||||
.sorted(c)
|
.sorted(c)
|
||||||
.toList());
|
.collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void onConfirm() {
|
public void onConfirm() {
|
||||||
if (onFilterApplied == null) return;
|
if (onFilterApplied == null) return;
|
||||||
|
|
||||||
this.onFilterApplied.run(Stream.of(Objects.requireNonNull(listModel.getValue()))
|
this.onFilterApplied.run(Objects.requireNonNull(listModel.getValue()).stream()
|
||||||
.filter(x -> x.selected.get())
|
.filter(x -> x.selected.get())
|
||||||
.map(x -> x.originalModel)
|
.map(x -> x.originalModel)
|
||||||
.toList());
|
.collect(Collectors.toList()));
|
||||||
|
|
||||||
dismiss();
|
dismiss();
|
||||||
}
|
}
|
||||||
@ -137,7 +137,7 @@
|
|||||||
style="@style/TextViewMaterial.Dialog.HeadlineText"
|
style="@style/TextViewMaterial.Dialog.HeadlineText"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@{`Ordine #`+ view.currentOrder.numOrd.toString()}"
|
android:text="@{`Ordine #`+ view.currentOrder.numOrd}"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
tools:text="Ordine #218" />
|
tools:text="Ordine #218" />
|
||||||
|
|
||||||
|
|||||||
@ -78,7 +78,7 @@
|
|||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
app:layout_constraintGuide_percent="0.85" />
|
app:layout_constraintGuide_percent="0.85" />
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
@ -100,7 +100,7 @@
|
|||||||
android:text="@string/no_orders_found_message"
|
android:text="@string/no_orders_found_message"
|
||||||
android:textColor="@android:color/black"
|
android:textColor="@android:color/black"
|
||||||
android:textSize="18sp" />
|
android:textSize="18sp" />
|
||||||
</LinearLayout>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|||||||
@ -131,7 +131,7 @@
|
|||||||
style="@style/TextViewMaterial.Dialog.HeadlineText"
|
style="@style/TextViewMaterial.Dialog.HeadlineText"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@{`Ordine #`+ view.currentOrder.numOrd.toString()}"
|
android:text="@{`Ordine #`+ view.currentOrder.numOrd}"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
tools:text="Ordine #218" />
|
tools:text="Ordine #218" />
|
||||||
|
|
||||||
|
|||||||
@ -18,13 +18,34 @@
|
|||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/filter_chips">
|
app:layout_constraintTop_toBottomOf="@id/filter_chips">
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:id="@+id/main_list"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:scrollbars="vertical"
|
android:orientation="vertical">
|
||||||
tools:listitem="@layout/fragment_prod_rientro_merce_order_list__list_group_model" />
|
|
||||||
|
|
||||||
|
<HorizontalScrollView
|
||||||
|
android:id="@+id/filter_chips"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:scrollbars="none">
|
||||||
|
|
||||||
|
<com.google.android.material.chip.ChipGroup
|
||||||
|
android:id="@+id/filter_chips_group"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="8dp"
|
||||||
|
android:paddingEnd="8dp"
|
||||||
|
app:chipSpacing="8dp"
|
||||||
|
app:singleSelection="true" />
|
||||||
|
</HorizontalScrollView>
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/main_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:scrollbars="vertical"
|
||||||
|
tools:listitem="@layout/fragment_prod_rientro_merce_order_list__list_group_model" />
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
@ -54,7 +75,7 @@
|
|||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
app:layout_constraintGuide_percent="0.85" />
|
app:layout_constraintGuide_percent="0.85" />
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
@ -76,7 +97,7 @@
|
|||||||
android:text="@string/no_orders_found_message"
|
android:text="@string/no_orders_found_message"
|
||||||
android:textColor="@android:color/black"
|
android:textColor="@android:color/black"
|
||||||
android:textSize="18sp" />
|
android:textSize="18sp" />
|
||||||
</LinearLayout>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|||||||
@ -11,13 +11,13 @@
|
|||||||
|
|
||||||
<variable
|
<variable
|
||||||
name="view"
|
name="view"
|
||||||
type="it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView" />
|
type="it.integry.integrywmsnative.ui.filter_chips.filters.FilterCommessaLayoutView" />
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.LinearLayoutCompat
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<variable
|
<variable
|
||||||
name="item"
|
name="item"
|
||||||
type="it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView.ListModel" />
|
type="it.integry.integrywmsnative.ui.filter_chips.filters.FilterCommessaLayoutView.ListModel" />
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
<androidx.appcompat.widget.LinearLayoutCompat
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user