Ordinamento ordini uscita

This commit is contained in:
Giuseppe Scorrano 2021-05-07 13:03:45 +02:00
parent 6d7a047e8e
commit 7d7712e57a
11 changed files with 236 additions and 37 deletions

View File

@ -1,24 +1,12 @@
<component name="ProjectCodeStyleConfiguration"> <component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173"> <code_scheme name="Project" version="173">
<JetCodeStyleSettings> <JetCodeStyleSettings>
<option name="PACKAGES_TO_USE_STAR_IMPORTS"> <option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
<value>
<package name="java.util" alias="false" withSubpackages="false" />
<package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
<package name="io.ktor" alias="false" withSubpackages="true" />
</value>
</option>
<option name="PACKAGES_IMPORT_LAYOUT">
<value>
<package name="" alias="false" withSubpackages="true" />
<package name="java" alias="false" withSubpackages="true" />
<package name="javax" alias="false" withSubpackages="true" />
<package name="kotlin" alias="false" withSubpackages="true" />
<package name="" alias="true" withSubpackages="true" />
</value>
</option>
</JetCodeStyleSettings> </JetCodeStyleSettings>
<codeStyleSettings language="XML"> <codeStyleSettings language="XML">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
<arrangement> <arrangement>
<rules> <rules>
<section> <section>
@ -127,5 +115,8 @@
</rules> </rules>
</arrangement> </arrangement>
</codeStyleSettings> </codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme> </code_scheme>
</component> </component>

5
.idea/codeStyles/codeStyleConfig.xml generated Normal file
View File

@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

View File

@ -3,6 +3,7 @@
<component name="RunConfigurationProducerService"> <component name="RunConfigurationProducerService">
<option name="ignoredProducers"> <option name="ignoredProducers">
<set> <set>
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" /> <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" /> <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" /> <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />

View File

@ -220,6 +220,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
ComparatorCompat<OrdiniUscitaElencoDTO> comparator = ComparatorCompat ComparatorCompat<OrdiniUscitaElencoDTO> comparator = ComparatorCompat
.comparing(OrdiniUscitaElencoDTO::getRagSocOrd) .comparing(OrdiniUscitaElencoDTO::getRagSocOrd)
.thenComparing(ComparatorCompat.comparing(x -> x.getDestinatario() != null ? x.getDestinatario() : "zzzzzzzzz"))
.thenComparing(ComparatorCompat.comparing(OrdiniUscitaElencoDTO::getNumOrd)); .thenComparing(ComparatorCompat.comparing(OrdiniUscitaElencoDTO::getNumOrd));
List<OrdiniUscitaElencoListModel> notHiddenElements = Stream.of(dataList) List<OrdiniUscitaElencoListModel> notHiddenElements = Stream.of(dataList)

View File

@ -50,6 +50,7 @@ public class DialogVenditaFiltroAvanzato {
private ArrayAdapter<String> arrayAdapterVettore; private ArrayAdapter<String> arrayAdapterVettore;
private ArrayAdapter<String> arrayAdapterAgente; private ArrayAdapter<String> arrayAdapterAgente;
private ArrayAdapter<String> arrayAdapterAutomezzo; private ArrayAdapter<String> arrayAdapterAutomezzo;
private ArrayAdapter<String> arrayAdapterPaese;
private Predicate<OrdiniUscitaElencoDTO> currentDepositoPredicate = null; private Predicate<OrdiniUscitaElencoDTO> currentDepositoPredicate = null;
private Predicate<OrdiniUscitaElencoDTO> currentIdViaggioPredicate = null; private Predicate<OrdiniUscitaElencoDTO> currentIdViaggioPredicate = null;
@ -60,6 +61,7 @@ public class DialogVenditaFiltroAvanzato {
private Predicate<OrdiniUscitaElencoDTO> currentVettorePredicate = null; private Predicate<OrdiniUscitaElencoDTO> currentVettorePredicate = null;
private Predicate<OrdiniUscitaElencoDTO> currentAgentePredicate = null; private Predicate<OrdiniUscitaElencoDTO> currentAgentePredicate = null;
private Predicate<OrdiniUscitaElencoDTO> currentAutomezzoPredicate = null; private Predicate<OrdiniUscitaElencoDTO> currentAutomezzoPredicate = null;
private Predicate<OrdiniUscitaElencoDTO> currentPaesePredicate = null;
private boolean firstInit = true; private boolean firstInit = true;
@ -126,6 +128,7 @@ public class DialogVenditaFiltroAvanzato {
viewModel.vettore.set(null); viewModel.vettore.set(null);
viewModel.automezzo.set(null); viewModel.automezzo.set(null);
viewModel.agente.set(null); viewModel.agente.set(null);
viewModel.paese.set(null);
} }
private void initView(DialogVenditaFiltroAvanzatoBinding bindings, DialogVenditaFiltroAvanzatoViewModel viewModel) { private void initView(DialogVenditaFiltroAvanzatoBinding bindings, DialogVenditaFiltroAvanzatoViewModel viewModel) {
@ -193,6 +196,10 @@ public class DialogVenditaFiltroAvanzato {
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(false)); arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(false));
bindings.filledExposedDropdownAutomezzo.setAdapter(arrayAdapterAutomezzo); bindings.filledExposedDropdownAutomezzo.setAdapter(arrayAdapterAutomezzo);
arrayAdapterPaese = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
arrayAdapterPaese.addAll(getAvailablePaesi(false));
bindings.filledExposedDropdownPaese.setAdapter(arrayAdapterPaese);
viewModel.deposito.refresh(); viewModel.deposito.refresh();
viewModel.idViaggio.refresh(); viewModel.idViaggio.refresh();
@ -203,6 +210,7 @@ public class DialogVenditaFiltroAvanzato {
viewModel.automezzo.refresh(); viewModel.automezzo.refresh();
viewModel.dataConsegna.refresh(); viewModel.dataConsegna.refresh();
viewModel.agente.refresh(); viewModel.agente.refresh();
viewModel.paese.refresh();
} }
@ -240,6 +248,8 @@ public class DialogVenditaFiltroAvanzato {
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true)); arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
arrayAdapterAgente.clear(); arrayAdapterAgente.clear();
arrayAdapterAgente.addAll(getAvailableAgente(true)); arrayAdapterAgente.addAll(getAvailableAgente(true));
arrayAdapterPaese.clear();
arrayAdapterPaese.addAll(getAvailablePaesi(true));
}); });
BindableString.registerListener(viewModel.deposito, value -> { BindableString.registerListener(viewModel.deposito, value -> {
@ -264,6 +274,8 @@ public class DialogVenditaFiltroAvanzato {
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true)); arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
arrayAdapterAgente.clear(); arrayAdapterAgente.clear();
arrayAdapterAgente.addAll(getAvailableAgente(true)); arrayAdapterAgente.addAll(getAvailableAgente(true));
arrayAdapterPaese.clear();
arrayAdapterPaese.addAll(getAvailablePaesi(true));
}); });
BindableString.registerListener(viewModel.numOrds, value -> { BindableString.registerListener(viewModel.numOrds, value -> {
@ -298,6 +310,8 @@ public class DialogVenditaFiltroAvanzato {
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true)); arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
arrayAdapterAgente.clear(); arrayAdapterAgente.clear();
arrayAdapterAgente.addAll(getAvailableAgente(true)); arrayAdapterAgente.addAll(getAvailableAgente(true));
arrayAdapterPaese.clear();
arrayAdapterPaese.addAll(getAvailablePaesi(true));
}); });
BindableString.registerListener(viewModel.cliente, value -> { BindableString.registerListener(viewModel.cliente, value -> {
@ -322,6 +336,8 @@ public class DialogVenditaFiltroAvanzato {
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true)); arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
arrayAdapterAgente.clear(); arrayAdapterAgente.clear();
arrayAdapterAgente.addAll(getAvailableAgente(true)); arrayAdapterAgente.addAll(getAvailableAgente(true));
arrayAdapterPaese.clear();
arrayAdapterPaese.addAll(getAvailablePaesi(true));
}); });
BindableString.registerListener(viewModel.terminiConsegna, value -> { BindableString.registerListener(viewModel.terminiConsegna, value -> {
@ -346,6 +362,8 @@ public class DialogVenditaFiltroAvanzato {
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true)); arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
arrayAdapterAgente.clear(); arrayAdapterAgente.clear();
arrayAdapterAgente.addAll(getAvailableAgente(true)); arrayAdapterAgente.addAll(getAvailableAgente(true));
arrayAdapterPaese.clear();
arrayAdapterPaese.addAll(getAvailablePaesi(true));
}); });
BindableString.registerListener(viewModel.vettore, value -> { BindableString.registerListener(viewModel.vettore, value -> {
@ -370,6 +388,8 @@ public class DialogVenditaFiltroAvanzato {
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true)); arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
arrayAdapterAgente.clear(); arrayAdapterAgente.clear();
arrayAdapterAgente.addAll(getAvailableAgente(true)); arrayAdapterAgente.addAll(getAvailableAgente(true));
arrayAdapterPaese.clear();
arrayAdapterPaese.addAll(getAvailablePaesi(true));
}); });
BindableString.registerListener(viewModel.automezzo, value -> { BindableString.registerListener(viewModel.automezzo, value -> {
@ -394,6 +414,8 @@ public class DialogVenditaFiltroAvanzato {
arrayAdapterVettore.addAll(getAvailableVettori(true)); arrayAdapterVettore.addAll(getAvailableVettori(true));
arrayAdapterAgente.clear(); arrayAdapterAgente.clear();
arrayAdapterAgente.addAll(getAvailableAgente(true)); arrayAdapterAgente.addAll(getAvailableAgente(true));
arrayAdapterPaese.clear();
arrayAdapterPaese.addAll(getAvailablePaesi(true));
}); });
BindableString.resetListeners(viewModel.dataConsegna); BindableString.resetListeners(viewModel.dataConsegna);
@ -421,6 +443,8 @@ public class DialogVenditaFiltroAvanzato {
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true)); arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
arrayAdapterAgente.clear(); arrayAdapterAgente.clear();
arrayAdapterAgente.addAll(getAvailableAgente(true)); arrayAdapterAgente.addAll(getAvailableAgente(true));
arrayAdapterPaese.clear();
arrayAdapterPaese.addAll(getAvailablePaesi(true));
}); });
BindableString.resetListeners(viewModel.agente); BindableString.resetListeners(viewModel.agente);
@ -446,6 +470,35 @@ public class DialogVenditaFiltroAvanzato {
arrayAdapterVettore.addAll(getAvailableVettori(true)); arrayAdapterVettore.addAll(getAvailableVettori(true));
arrayAdapterAutomezzo.clear(); arrayAdapterAutomezzo.clear();
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true)); arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
arrayAdapterPaese.clear();
arrayAdapterPaese.addAll(getAvailablePaesi(true));
});
BindableString.resetListeners(viewModel.paese);
BindableString.registerListener(viewModel.paese, value -> {
if(UtilityString.isNullOrEmpty(value)) currentPaesePredicate = null;
else {
currentPaesePredicate = o -> !UtilityString.isNullOrEmpty(o.getCitta()) && (o.getCitta().toLowerCase().contains(value) || o.getCitta().equalsIgnoreCase(value));
}
refreshList();
arrayAdapterCodMdep.clear();
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(true));
arrayAdapterIdViaggio.clear();
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(true));
arrayAdapterNumOrds.clear();
arrayAdapterNumOrds.addAll(getAvailableNumOrds(true));
arrayAdapterCliente.clear();
arrayAdapterCliente.addAll(getAvailableCliente(true));
arrayAdapterTermCons.clear();
arrayAdapterTermCons.addAll(getAvailableTermCons(true));
arrayAdapterVettore.clear();
arrayAdapterVettore.addAll(getAvailableVettori(true));
arrayAdapterAutomezzo.clear();
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
arrayAdapterAgente.clear();
arrayAdapterAgente.addAll(getAvailableAgente(true));
}); });
} }
@ -453,7 +506,16 @@ public class DialogVenditaFiltroAvanzato {
private List<String> getAvailableIdViaggio(boolean skipRecalc) { private List<String> getAvailableIdViaggio(boolean skipRecalc) {
if(currentAgentePredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentTermConsPredicate == null && currentDepositoPredicate == null){ if(currentAgentePredicate == null &&
currentNumOrdsPredicate == null &&
currentClientePredicate == null &&
currentDataConsPredicate == null &&
currentAutomezzoPredicate == null &&
currentVettorePredicate == null &&
currentTermConsPredicate == null &&
currentDepositoPredicate == null &&
currentPaesePredicate == null
){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else if(!skipRecalc){ } else if(!skipRecalc){
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
@ -465,7 +527,8 @@ public class DialogVenditaFiltroAvanzato {
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) && (currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) && (currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) && (currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) (currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
(currentPaesePredicate == null || (currentPaesePredicate.test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();
@ -481,7 +544,16 @@ public class DialogVenditaFiltroAvanzato {
} }
private List<String> getAvailableAgente(boolean skipRecalc) { private List<String> getAvailableAgente(boolean skipRecalc) {
if(currentDepositoPredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentTermConsPredicate == null){ if(currentDepositoPredicate == null &&
currentIdViaggioPredicate == null &&
currentNumOrdsPredicate == null &&
currentClientePredicate == null &&
currentDataConsPredicate == null &&
currentAutomezzoPredicate == null &&
currentVettorePredicate == null &&
currentTermConsPredicate == null &&
currentPaesePredicate == null
){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else if(!skipRecalc){ } else if(!skipRecalc){
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
@ -494,7 +566,8 @@ public class DialogVenditaFiltroAvanzato {
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) && (currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) && (currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) && (currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) (currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
(currentPaesePredicate == null || (currentPaesePredicate.test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();
@ -504,7 +577,16 @@ public class DialogVenditaFiltroAvanzato {
} }
private List<String> getAvailableCodMdeps(boolean skipRecalc) { private List<String> getAvailableCodMdeps(boolean skipRecalc) {
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentTermConsPredicate == null){ if(currentAgentePredicate == null &&
currentIdViaggioPredicate == null &&
currentNumOrdsPredicate == null &&
currentClientePredicate == null &&
currentDataConsPredicate == null &&
currentAutomezzoPredicate == null &&
currentVettorePredicate == null &&
currentTermConsPredicate == null &&
currentPaesePredicate == null
){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else if(!skipRecalc){ } else if(!skipRecalc){
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
@ -516,7 +598,8 @@ public class DialogVenditaFiltroAvanzato {
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) && (currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) && (currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) && (currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) (currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
(currentPaesePredicate == null || (currentPaesePredicate.test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();
@ -526,7 +609,16 @@ public class DialogVenditaFiltroAvanzato {
} }
private List<String> getAvailableCliente(boolean skipRecalc) { private List<String> getAvailableCliente(boolean skipRecalc) {
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentDepositoPredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentTermConsPredicate == null){ if(currentAgentePredicate == null &&
currentIdViaggioPredicate == null &&
currentNumOrdsPredicate == null &&
currentDepositoPredicate == null &&
currentDataConsPredicate == null &&
currentAutomezzoPredicate == null &&
currentVettorePredicate == null &&
currentTermConsPredicate == null &&
currentPaesePredicate == null
){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else if(!skipRecalc){ } else if(!skipRecalc){
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
@ -538,7 +630,8 @@ public class DialogVenditaFiltroAvanzato {
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) && (currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) && (currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) && (currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) (currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
(currentPaesePredicate == null || (currentPaesePredicate.test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();
@ -548,7 +641,16 @@ public class DialogVenditaFiltroAvanzato {
} }
private List<String> getAvailableNumOrds(boolean skipRecalc) { private List<String> getAvailableNumOrds(boolean skipRecalc) {
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentDepositoPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentTermConsPredicate == null){ if(currentAgentePredicate == null &&
currentIdViaggioPredicate == null &&
currentDepositoPredicate == null &&
currentClientePredicate == null &&
currentDataConsPredicate == null &&
currentAutomezzoPredicate == null &&
currentVettorePredicate == null &&
currentTermConsPredicate == null &&
currentPaesePredicate == null
){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else if(!skipRecalc){ } else if(!skipRecalc){
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
@ -560,7 +662,8 @@ public class DialogVenditaFiltroAvanzato {
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) && (currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) && (currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) && (currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) (currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
(currentPaesePredicate == null || (currentPaesePredicate.test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();
@ -570,7 +673,16 @@ public class DialogVenditaFiltroAvanzato {
} }
private List<String> getAvailableTermCons(boolean skipRecalc) { private List<String> getAvailableTermCons(boolean skipRecalc) {
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentDepositoPredicate == null){ if(currentAgentePredicate == null &&
currentIdViaggioPredicate == null &&
currentNumOrdsPredicate == null &&
currentClientePredicate == null &&
currentDataConsPredicate == null &&
currentAutomezzoPredicate == null &&
currentVettorePredicate == null &&
currentDepositoPredicate == null &&
currentPaesePredicate == null
){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else if(!skipRecalc){ } else if(!skipRecalc){
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
@ -582,7 +694,8 @@ public class DialogVenditaFiltroAvanzato {
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) && (currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) && (currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) && (currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) (currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
(currentPaesePredicate == null || (currentPaesePredicate.test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();
@ -592,7 +705,16 @@ public class DialogVenditaFiltroAvanzato {
} }
private List<String> getAvailableVettori(boolean skipRecalc) { private List<String> getAvailableVettori(boolean skipRecalc) {
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null && currentAutomezzoPredicate == null && currentDepositoPredicate == null){ if(currentAgentePredicate == null &&
currentIdViaggioPredicate == null &&
currentNumOrdsPredicate == null &&
currentClientePredicate == null &&
currentDataConsPredicate == null &&
currentTermConsPredicate == null &&
currentAutomezzoPredicate == null &&
currentDepositoPredicate == null &&
currentPaesePredicate == null
){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else if(!skipRecalc){ } else if(!skipRecalc){
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
@ -604,7 +726,8 @@ public class DialogVenditaFiltroAvanzato {
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate .test(x))) && (currentAutomezzoPredicate == null || (currentAutomezzoPredicate .test(x))) &&
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) && (currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) && (currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) (currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
(currentPaesePredicate == null || (currentPaesePredicate.test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();
@ -614,7 +737,16 @@ public class DialogVenditaFiltroAvanzato {
} }
private List<String> getAvailableAutomezzi(boolean skipRecalc) { private List<String> getAvailableAutomezzi(boolean skipRecalc) {
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null && currentVettorePredicate == null && currentDepositoPredicate == null){ if(currentAgentePredicate == null &&
currentIdViaggioPredicate == null &&
currentNumOrdsPredicate == null &&
currentClientePredicate == null &&
currentDataConsPredicate == null &&
currentTermConsPredicate == null &&
currentVettorePredicate == null &&
currentDepositoPredicate == null &&
currentPaesePredicate == null
){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else if(!skipRecalc){ } else if(!skipRecalc){
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
@ -626,7 +758,8 @@ public class DialogVenditaFiltroAvanzato {
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) && (currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) && (currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) && (currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) (currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
(currentPaesePredicate == null || (currentPaesePredicate.test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();
@ -635,9 +768,51 @@ public class DialogVenditaFiltroAvanzato {
return Stream.of(currentFilteredOrderList).map(OrdiniUscitaElencoDTO::getDescrizioneAuto).distinct().withoutNulls().sorted().toList(); return Stream.of(currentFilteredOrderList).map(OrdiniUscitaElencoDTO::getDescrizioneAuto).distinct().withoutNulls().sorted().toList();
} }
private List<String> getAvailablePaesi(boolean skipRecalc) {
if(currentAgentePredicate == null &&
currentIdViaggioPredicate == null &&
currentNumOrdsPredicate == null &&
currentClientePredicate == null &&
currentDataConsPredicate == null &&
currentTermConsPredicate == null &&
currentVettorePredicate == null &&
currentDepositoPredicate == null &&
currentAutomezzoPredicate == null
){
currentFilteredOrderList = currentOrderList;
} else if(!skipRecalc){
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
.filter(x ->
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
(currentClientePredicate == null || (currentClientePredicate.test(x))) &&
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x)))
);
currentFilteredOrderList = tmpStream.toList();
}
return Stream.of(currentFilteredOrderList).map(OrdiniUscitaElencoDTO::getCitta).withoutNulls().distinct().sorted().toList();
}
private void refreshList() { private void refreshList() {
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null && currentVettorePredicate == null && currentAutomezzoPredicate == null && currentDepositoPredicate == null){ if(currentAgentePredicate == null &&
currentIdViaggioPredicate == null &&
currentNumOrdsPredicate == null &&
currentClientePredicate == null &&
currentDataConsPredicate == null &&
currentTermConsPredicate == null &&
currentVettorePredicate == null &&
currentAutomezzoPredicate == null &&
currentDepositoPredicate == null &&
currentPaesePredicate == null
){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else { } else {
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
@ -650,7 +825,8 @@ public class DialogVenditaFiltroAvanzato {
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) && (currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) && (currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) && (currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) (currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
(currentPaesePredicate == null || (currentPaesePredicate.test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();

View File

@ -15,6 +15,7 @@ public class DialogVenditaFiltroAvanzatoViewModel {
public BindableString agente = new BindableString(); public BindableString agente = new BindableString();
public BindableString vettore = new BindableString(); public BindableString vettore = new BindableString();
public BindableString automezzo = new BindableString(); public BindableString automezzo = new BindableString();
public BindableString paese = new BindableString();
public Date dataConsegnaDate; public Date dataConsegnaDate;

View File

@ -163,12 +163,34 @@
android:singleLine="true" android:singleLine="true"
android:ellipsize="end" android:ellipsize="end"
android:imeOptions="actionNext" android:imeOptions="actionNext"
android:nextFocusForward="@id/filled_exposed_dropdown_agente" android:nextFocusForward="@id/filled_exposed_dropdown_paese"
app:binding="@{viewmodel.automezzo}"/> app:binding="@{viewmodel.automezzo}"/>
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_paese"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/city"
android:visibility="gone">
<androidx.appcompat.widget.AppCompatAutoCompleteTextView
android:id="@+id/filled_exposed_dropdown_paese"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textNoSuggestions"
android:singleLine="true"
android:ellipsize="end"
android:imeOptions="actionNext"
android:nextFocusForward="@id/filled_exposed_dropdown_agente"
app:binding="@{viewmodel.paese}"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_agente" android:id="@+id/input_agente"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu" style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"

View File

@ -210,6 +210,7 @@
<string name="document_date">Data documento</string> <string name="document_date">Data documento</string>
<string name="terms_of_delivery">Termini di consegna</string> <string name="terms_of_delivery">Termini di consegna</string>
<string name="vehicle">Automezzo</string> <string name="vehicle">Automezzo</string>
<string name="city">Paese</string>
<string name="deposit">Deposito</string> <string name="deposit">Deposito</string>
<string name="rag_soc">Ragione sociale</string> <string name="rag_soc">Ragione sociale</string>
<string name="travel_id">ID Viaggio</string> <string name="travel_id">ID Viaggio</string>

View File

@ -213,6 +213,7 @@
<string name="document_date">Document date</string> <string name="document_date">Document date</string>
<string name="terms_of_delivery">Terms of delivery</string> <string name="terms_of_delivery">Terms of delivery</string>
<string name="vehicle">Vehicle</string> <string name="vehicle">Vehicle</string>
<string name="city">City</string>
<string name="deposit">Deposit</string> <string name="deposit">Deposit</string>
<string name="rag_soc">Company name</string> <string name="rag_soc">Company name</string>
<string name="travel_id">Travel ID</string> <string name="travel_id">Travel ID</string>

View File

@ -10,7 +10,7 @@ buildscript {
google() google()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:4.1.3' classpath 'com.android.tools.build:gradle:4.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.5' classpath 'com.google.gms:google-services:4.3.5'
classpath 'com.google.firebase:perf-plugin:1.3.5' classpath 'com.google.firebase:perf-plugin:1.3.5'

View File

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip