Finish v1_0_11(14)

This commit is contained in:
Gius95 2018-12-19 18:43:07 +01:00
commit a118f889c1
7 changed files with 85 additions and 14 deletions

Binary file not shown.

View File

@ -21,8 +21,8 @@ android {
applicationId "it.integry.integrywmsnative" applicationId "it.integry.integrywmsnative"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 28 targetSdkVersion 28
versionCode 13 versionCode 14
versionName "1.0.10" versionName "1.0.11"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }

View File

@ -41,6 +41,7 @@ public class DialogVenditaFiltroAvanzato {
private Predicate<OrdineVenditaInevasoDTO> currentClientePredicate = null; private Predicate<OrdineVenditaInevasoDTO> currentClientePredicate = null;
private Predicate<OrdineVenditaInevasoDTO> currentDataConsPredicate = null; private Predicate<OrdineVenditaInevasoDTO> currentDataConsPredicate = null;
private Predicate<OrdineVenditaInevasoDTO> currentTermConsPredicate = null; private Predicate<OrdineVenditaInevasoDTO> currentTermConsPredicate = null;
private Predicate<OrdineVenditaInevasoDTO> currentVettorePredicate = null;
private Predicate<OrdineVenditaInevasoDTO> currentAutomezzoPredicate = null; private Predicate<OrdineVenditaInevasoDTO> currentAutomezzoPredicate = null;
private boolean firstInit = true; private boolean firstInit = true;
@ -105,6 +106,7 @@ public class DialogVenditaFiltroAvanzato {
viewModel.cliente.set(null); viewModel.cliente.set(null);
viewModel.dataConsegna.set(null); viewModel.dataConsegna.set(null);
viewModel.terminiConsegna.set(null); viewModel.terminiConsegna.set(null);
viewModel.vettore.set(null);
viewModel.automezzo.set(null); viewModel.automezzo.set(null);
} }
@ -146,6 +148,21 @@ public class DialogVenditaFiltroAvanzato {
}); });
bindings.inputVettore.setOnClickListener(view -> {
AlertDialog.Builder builderSingle = new AlertDialog.Builder(currentContext);
builderSingle.setTitle(R.string.carrier);
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter(currentContext, android.R.layout.select_dialog_singlechoice);
arrayAdapter.addAll(getAvailableVettori());
builderSingle.setAdapter(arrayAdapter, (dialogInterface, i) -> {
viewModel.vettore.set(arrayAdapter.getItem(i));
});
builderSingle.show();
});
bindings.inputAutomezzo.setOnClickListener(view -> { bindings.inputAutomezzo.setOnClickListener(view -> {
AlertDialog.Builder builderSingle = new AlertDialog.Builder(currentContext); AlertDialog.Builder builderSingle = new AlertDialog.Builder(currentContext);
@ -238,13 +255,24 @@ public class DialogVenditaFiltroAvanzato {
viewModel.terminiConsegna.refresh(); viewModel.terminiConsegna.refresh();
BindableString.resetListeners(viewModel.vettore);
BindableString.registerListener(viewModel.vettore, value -> {
if(UtilityString.isNullOrEmpty(value)) currentVettorePredicate = null;
else {
currentVettorePredicate = o -> (o.getCodVvet() + " - " + o.getDescrizioneVettore()).equalsIgnoreCase(value);
}
if(!firstInit) refreshList();
});
viewModel.vettore.refresh();
BindableString.resetListeners(viewModel.automezzo); BindableString.resetListeners(viewModel.automezzo);
BindableString.registerListener(viewModel.automezzo, value -> { BindableString.registerListener(viewModel.automezzo, value -> {
if(UtilityString.isNullOrEmpty(value)) currentAutomezzoPredicate = null; if(UtilityString.isNullOrEmpty(value)) currentAutomezzoPredicate = null;
else { else {
currentAutomezzoPredicate = o -> o.getCodAuto().toLowerCase().contains(value); currentAutomezzoPredicate = o -> o.getDescrizioneAuto().toLowerCase().contains(value);
} }
if(!firstInit) refreshList(); if(!firstInit) refreshList();
@ -258,15 +286,16 @@ public class DialogVenditaFiltroAvanzato {
} }
private List<String> getAvailableTermCons() { private List<String> getAvailableTermCons() {
if(currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null){ if(currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else { } else {
Stream<OrdineVenditaInevasoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdineVenditaInevasoDTO> tmpStream = Stream.of(currentOrderList)
.filter(x -> .filter(x ->
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate != null && currentNumOrdsPredicate.test(x))) && (currentNumOrdsPredicate == null || (currentNumOrdsPredicate != null && currentNumOrdsPredicate.test(x))) &&
(currentClientePredicate == null || (currentClientePredicate != null && currentClientePredicate.test(x))) && (currentClientePredicate == null || (currentClientePredicate != null && currentClientePredicate.test(x))) &&
(currentDataConsPredicate == null || (currentDataConsPredicate != null && currentDataConsPredicate.test(x))) && (currentDataConsPredicate == null || (currentDataConsPredicate != null && currentDataConsPredicate.test(x))) &&
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate != null && currentAutomezzoPredicate.test(x))) (currentVettorePredicate == null || (currentVettorePredicate != null && currentVettorePredicate.test(x))) &&
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate != null && currentAutomezzoPredicate.test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();
@ -275,27 +304,47 @@ public class DialogVenditaFiltroAvanzato {
return Stream.of(currentFilteredOrderList).map(OrdineVenditaInevasoDTO::getTermCons).distinct().withoutNulls().toList(); return Stream.of(currentFilteredOrderList).map(OrdineVenditaInevasoDTO::getTermCons).distinct().withoutNulls().toList();
} }
private List<String> getAvailableAutomezzi() { private List<String> getAvailableVettori() {
if(currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null){ if(currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null && currentAutomezzoPredicate == null){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else { } else {
Stream<OrdineVenditaInevasoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdineVenditaInevasoDTO> tmpStream = Stream.of(currentOrderList)
.filter(x -> .filter(x ->
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate != null && currentNumOrdsPredicate.test(x))) && (currentNumOrdsPredicate == null || (currentNumOrdsPredicate != null && currentNumOrdsPredicate.test(x))) &&
(currentClientePredicate == null || (currentClientePredicate != null && currentClientePredicate.test(x))) && (currentClientePredicate == null || (currentClientePredicate != null && currentClientePredicate.test(x))) &&
(currentDataConsPredicate == null || (currentDataConsPredicate != null && currentDataConsPredicate.test(x))) && (currentDataConsPredicate == null || (currentDataConsPredicate != null && currentDataConsPredicate.test(x))) &&
(currentTermConsPredicate == null || (currentTermConsPredicate != null && currentTermConsPredicate.test(x))) (currentTermConsPredicate == null || (currentTermConsPredicate != null && currentTermConsPredicate.test(x))) &&
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate != null && currentAutomezzoPredicate .test(x)))
); );
currentFilteredOrderList = tmpStream.toList(); currentFilteredOrderList = tmpStream.toList();
} }
return Stream.of(currentFilteredOrderList).map(OrdineVenditaInevasoDTO::getCodAuto).distinct().withoutNulls().toList(); return Stream.of(currentFilteredOrderList).map(x -> x.getCodVvet() + " - " + x.getDescrizioneVettore()).distinct().withoutNulls().toList();
}
private List<String> getAvailableAutomezzi() {
if(currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null && currentVettorePredicate == null){
currentFilteredOrderList = currentOrderList;
} else {
Stream<OrdineVenditaInevasoDTO> tmpStream = Stream.of(currentOrderList)
.filter(x ->
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate != null && currentNumOrdsPredicate.test(x))) &&
(currentClientePredicate == null || (currentClientePredicate != null && currentClientePredicate.test(x))) &&
(currentDataConsPredicate == null || (currentDataConsPredicate != null && currentDataConsPredicate.test(x))) &&
(currentTermConsPredicate == null || (currentTermConsPredicate != null && currentTermConsPredicate.test(x))) &&
(currentVettorePredicate == null || (currentVettorePredicate != null && currentVettorePredicate.test(x)))
);
currentFilteredOrderList = tmpStream.toList();
}
return Stream.of(currentFilteredOrderList).map(OrdineVenditaInevasoDTO::getDescrizioneAuto).distinct().withoutNulls().toList();
} }
private void refreshList() { private void refreshList() {
if(currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null){ if(currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null && currentVettorePredicate == null && currentAutomezzoPredicate == null){
currentFilteredOrderList = currentOrderList; currentFilteredOrderList = currentOrderList;
} else { } else {
Stream<OrdineVenditaInevasoDTO> tmpStream = Stream.of(currentOrderList) Stream<OrdineVenditaInevasoDTO> tmpStream = Stream.of(currentOrderList)
@ -304,6 +353,7 @@ public class DialogVenditaFiltroAvanzato {
(currentClientePredicate == null || (currentClientePredicate != null && currentClientePredicate.test(x))) && (currentClientePredicate == null || (currentClientePredicate != null && currentClientePredicate.test(x))) &&
(currentDataConsPredicate == null || (currentDataConsPredicate != null && currentDataConsPredicate.test(x))) && (currentDataConsPredicate == null || (currentDataConsPredicate != null && currentDataConsPredicate.test(x))) &&
(currentTermConsPredicate == null || (currentTermConsPredicate != null && currentTermConsPredicate.test(x))) && (currentTermConsPredicate == null || (currentTermConsPredicate != null && currentTermConsPredicate.test(x))) &&
(currentVettorePredicate == null || (currentVettorePredicate != null && currentVettorePredicate.test(x))) &&
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate != null && currentAutomezzoPredicate.test(x))) (currentAutomezzoPredicate == null || (currentAutomezzoPredicate != null && currentAutomezzoPredicate.test(x)))
); );

View File

@ -10,6 +10,7 @@ public class DialogVenditaFiltroAvanzatoViewModel {
public BindableString cliente = new BindableString(); public BindableString cliente = new BindableString();
public BindableString dataConsegna = new BindableString(); public BindableString dataConsegna = new BindableString();
public BindableString terminiConsegna = new BindableString(); public BindableString terminiConsegna = new BindableString();
public BindableString vettore = new BindableString();
public BindableString automezzo = new BindableString(); public BindableString automezzo = new BindableString();
public Date dataConsegnaDate; public Date dataConsegnaDate;

View File

@ -101,6 +101,24 @@
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/hint_text">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_vettore"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textNoSuggestions"
android:hint="@string/carrier"
android:focusable="false"
app:binding="@{viewmodel.vettore}"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@ -150,6 +150,7 @@
<string name="ship_date">Data consegna</string> <string name="ship_date">Data consegna</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="carrier">Vettore</string>
<string name="no_items_found_message">Nessun articolo trovato</string> <string name="no_items_found_message">Nessun articolo trovato</string>
<string name="no_lu_found_message">Nessuna UL trovata</string> <string name="no_lu_found_message">Nessuna UL trovata</string>

View File

@ -161,6 +161,7 @@
<string name="ship_date">Ship date</string> <string name="ship_date">Ship 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="carrier">Carrier</string>
<string name="no_items_found_message">No items found</string> <string name="no_items_found_message">No items found</string>
<string name="no_lu_found_message">No LU found</string> <string name="no_lu_found_message">No LU found</string>