diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/login/LoginActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/login/LoginActivity.java index c392074d..5ad1a31f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/login/LoginActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/login/LoginActivity.java @@ -6,6 +6,8 @@ import android.text.Html; import androidx.appcompat.app.AlertDialog; import androidx.databinding.DataBindingUtil; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import java.util.List; import javax.inject.Inject; @@ -91,7 +93,9 @@ public class LoginActivity extends BaseActivity implements LoginViewModel.Listen public void login() { if (validate(username.get(), codAzienda.get())) { loginButtonEnabled.set(false); - mViewmodel.login(codAzienda.get(), username.get(), password.get()); + mViewmodel.login(codAzienda.get(), username.get(), password.get(), () -> { + loginButtonEnabled.set(true); + }); } } @@ -118,7 +122,7 @@ public class LoginActivity extends BaseActivity implements LoginViewModel.Listen @Override public void requestProfileSelection(List availableProfiles, RunnableArgs onComplete) { // setup the alert builder - AlertDialog.Builder builder = new AlertDialog.Builder(this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); builder.setTitle(R.string.action_choose_profile_db); // add a list @@ -131,6 +135,10 @@ public class LoginActivity extends BaseActivity implements LoginViewModel.Listen onComplete.run(availableProfiles.get(which)); }); + builder.setOnCancelListener(dialog -> { + onComplete.run(null); + }); + // create and show the alert dialog AlertDialog dialog = builder.create(); dialog.show(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/login/viewmodel/LoginViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/login/viewmodel/LoginViewModel.java index 74d21fe2..a7f4c4c0 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/login/viewmodel/LoginViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/login/viewmodel/LoginViewModel.java @@ -40,7 +40,7 @@ public class LoginViewModel { } - public void login(String codAzienda, String username, String password) { + public void login(String codAzienda, String username, String password, Runnable onComplete) { this.sendOnLoadingStarted(); retrieveServerData(codAzienda, (protocol, host, port) -> { @@ -50,6 +50,12 @@ public class LoginViewModel { FirebaseInstallations.getInstance().getId().addOnCompleteListener(fid -> { retrieveAvailableProfiles(protocol, host, port, username, password, selectedProfile -> { + if(selectedProfile == null) { + this.sendOnLoadingEnded(); + onComplete.run(); + return; + } + SettingsManager.i().createUserSession(); authenticate(protocol, host, port, username, password, selectedProfile, fid.getResult(), fullName -> { @@ -66,6 +72,7 @@ public class LoginViewModel { loadDepo(() -> { SettingsManager.update(); this.sendOnLoginCompleted(fullName); + onComplete.run(); }); }); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoViewModel.java index c16355e2..37fbb550 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoViewModel.java @@ -2,11 +2,14 @@ package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione; import androidx.lifecycle.MutableLiveData; +import java.math.BigDecimal; import java.util.List; +import java.util.stream.Collectors; import javax.inject.Inject; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; +import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO; import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO; import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.rest.ProdOrdineProduzioneRESTConsumer; @@ -47,6 +50,12 @@ public class ProdOrdineProduzioneElencoViewModel { this.sendOnLoadingStarted(); this.mProdOrdineProduzioneRESTConsumer.retrievePickingListNew(selectedOrders, sitArtOrds -> { + sitArtOrds = sitArtOrds.stream() + .filter(x -> + UtilityBigDecimal.greaterThan(x.getNumCnfDaEvadere(), BigDecimal.ZERO) && + UtilityBigDecimal.greaterThan(x.getQtaDaEvadere(), BigDecimal.ZERO)) + .collect(Collectors.toList()); + this.sendOnOrdersDispatched(selectedOrders, sitArtOrds); this.sendOnLoadingEnded(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/rest/ProdOrdineProduzioneRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/rest/ProdOrdineProduzioneRESTConsumer.java index d0d33a8c..76ffab68 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/rest/ProdOrdineProduzioneRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/rest/ProdOrdineProduzioneRESTConsumer.java @@ -4,6 +4,7 @@ import androidx.annotation.NonNull; import com.annimon.stream.Stream; +import java.util.ArrayList; import java.util.List; import javax.inject.Singleton; @@ -57,7 +58,7 @@ public class ProdOrdineProduzioneRESTConsumer extends _BaseRESTConsumer { service.getArticoliFromOrdiniAccettazione(getPickingListDTOs).enqueue(new ManagedErrorCallback<>() { @Override public void onResponse(Call>> call, Response>> response) { - analyzeAnswer(response, "retrieveListaArticoliFromOrdiniProduzione", onComplete, onFailed); + analyzeAnswer(response, "retrieveListaArticoliFromOrdiniProduzione", data ->onComplete.run(data == null ? new ArrayList<>() : data), onFailed); } @Override