From 08c99aaac020a4af2428bc91e6fe3f15ca0c3ec8 Mon Sep 17 00:00:00 2001 From: Giuseppe Scorrano Date: Mon, 22 Oct 2018 11:52:12 +0200 Subject: [PATCH] Implementata lettura deposito durante il Login. --- .idea/caches/build_file_checksums.ser | Bin 603 -> 608 bytes app/build.gradle | 2 + .../core/REST/HttpInterceptor.java | 4 +- .../core/REST/model/AvailableCodMdepsDTO.java | 8 ++ .../core/settings/SettingsManager.java | 6 +- .../core/settings/SettingsModel.java | 5 +- .../MainAccettazioneFragment.java | 21 ++-- .../accettazione/core/AccettazioneHelper.java | 2 +- .../AccettazioneOnOrdineInevasoViewModel.java | 2 +- .../gest/login/viewmodel/LoginViewModel.java | 93 +++++++++++------- 10 files changed, 87 insertions(+), 56 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index bbe04ee506a414e80fac1983b2b9e8d837f5ab0b..b416463188b09fc2367761146c5a9fc6ea95e05b 100644 GIT binary patch delta 80 zcmV-W0I&bs1mFaam;{>FM2nG}cMw={35z54x4=(B@`d`XS}T(y0WK3PLpoelb7gXK mTt{hjb7gRFWmA)10eTQ`J92cs{EW_{1Vb~KWS|9;=>c+bk0I3n delta 75 zcmV-R0JQ($1lt6Vm;{mHLt~MgcMyNdBfrv-i3vwESO}GhE-#ZK0WJ ordini) { progress.dismiss(); + AtomicInteger artsCounter = new AtomicInteger(); + + Stream.of(ordini).forEach(x -> { + artsCounter.addAndGet((int) Stream.of(x.ordini).filter(y -> y.qtaDaEvadere > 0).count()); + }); - Arrays.stream(ordini). - int artsCounter = Coollection.from(ordini).where("qtaDaEvadere", Coollection.greaterThan(0)).all().size(); List ordersKeys = new ArrayList<>(); for(OrdineAccettazioneDTO ordine : ordini){ @@ -264,7 +265,7 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb getText(R.string.orders).toString(), Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, ordersKeys.size()), ordersKeys.size()) + "

" + - "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, artsCounter)), + "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, artsCounter.get())), null, (dialogInterface, i) -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/AccettazioneHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/AccettazioneHelper.java index cad806a4..b5d1a1a9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/AccettazioneHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/AccettazioneHelper.java @@ -35,7 +35,7 @@ public class AccettazioneHelper { } public void loadOrdini(final ILoadOrdiniCallback callback){ - String codMdep = SettingsManager.i().userSession.codMdep; + String codMdep = SettingsManager.i().userSession.depo.getCodMdep(); OrdiniAccettazioneRESTConsumerService service = RESTBuilder.getService(OrdiniAccettazioneRESTConsumerService.class); service.listOrdiniInevasi(codMdep).enqueue(new Callback>>() { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOnOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOnOrdineInevasoViewModel.java index c542d2e6..2ef88919 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOnOrdineInevasoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOnOrdineInevasoViewModel.java @@ -174,7 +174,7 @@ public class AccettazioneOnOrdineInevasoViewModel implements IOnColloClosedCallb MtbColt mtbColt = new MtbColt(); mtbColt .setDataCollo(new Date()) .setGestione(GestioneEnum.ACQUISTO) - .setCodMdep(SettingsManager.i().userSession.codMdep) + .setCodMdep(SettingsManager.i().userSession.depo.getCodMdep()) .setPreparatoDa(SettingsManager.i().user.username) .setOraInizPrep(new Date()) .setAnnotazioni(noteString) 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 f8fb55e6..d43af2d9 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 @@ -16,6 +16,8 @@ import it.integry.integrywmsnative.MainActivity; import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback; import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback; +import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer; +import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO; import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.di.BindableString; import it.integry.integrywmsnative.core.settings.SettingsManager; @@ -111,20 +113,22 @@ public class LoginViewModel { if(value1){ //Is online loginHelper.doLogin(host, port, new ISimpleOperationCallback() { @Override - public void onSuccess(final LoginDTO value1) { + public void onSuccess(final LoginDTO loginDTO) { + + SettingsManager.iDB().setAvailableProfiles(loginDTO.availableProfiles); - SettingsManager.iDB().setAvailableProfiles(value1.availableProfiles); mActivity.runOnUiThread(() -> onLoginSuccess( "Benvenuto", - Html.fromHtml("Ciao " + value1.full_name + ", la Integry le augura di svolgere al meglio il suo lavoro"), - host, port, value1.availableProfiles)); + Html.fromHtml("Ciao " + loginDTO.full_name + ", la Integry le augura di svolgere al meglio il suo lavoro"), + host, port, loginDTO.availableProfiles)); + } @Override public void onFailed(final Exception ex) { - onLoginFailed(new SpannableString(ex.getMessage().toString())); + onLoginFailed(new SpannableString(ex.getMessage())); } }); @@ -146,40 +150,55 @@ public class LoginViewModel { } - private void onLoginFailed(final Spanned message){ - mProgress.dismiss(); - loginButtonEnabled.set(true); - mActivity.runOnUiThread(new Runnable() { + private void loadDepo(Runnable onComplete) { + + SettingsManager.i().user.username = username.get(); + SettingsManager.i().user.password = password.get(); + + SystemRESTConsumer.getAvailableCodMdeps(new ISimpleOperationCallback>() { @Override - public void run() { - DialogSimpleMessageHelper.makeErrorDialog( - mActivity, - message, - null, - null).show(); + public void onSuccess(List availableCodMdeps) { + SettingsManager.iDB().setAvailableCodMdep(availableCodMdeps); + + if(availableCodMdeps == null || availableCodMdeps.size() == 0) { + onLoginFailed(Html.fromHtml(String.format(mActivity.getText(R.string.no_codmdep_available).toString()))); + return; + } + + SettingsManager.i().userSession.depo = availableCodMdeps.get(0); + + + if(onComplete != null) onComplete.run(); + } + + @Override + public void onFailed(Exception ex) { + //BOH + onLoginFailed(new SpannableString(ex.getMessage())); } }); } + private void onLoginFailed(final Spanned message){ + mProgress.dismiss(); + loginButtonEnabled.set(true); + mActivity.runOnUiThread(() -> DialogSimpleMessageHelper.makeErrorDialog( + mActivity, + message, + null, + null).show()); + } + + private void onLoginSuccess(final String title, final Spanned message, final String host, final int port, final List availableProfiles){ mProgress.dismiss(); - mActivity.runOnUiThread(new Runnable() { - @Override - public void run() { - DialogSimpleMessageHelper.makeSuccessDialog( - mActivity, - title, - message, - null, - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - showProfileDBSelectionDialog(host, port, availableProfiles); - } - }).show(); - } - }); + mActivity.runOnUiThread(() -> DialogSimpleMessageHelper.makeSuccessDialog( + mActivity, + title, + message, + null, + (dialogInterface, i) -> showProfileDBSelectionDialog(host, port, availableProfiles)).show()); } private void showProfileDBSelectionDialog(final String host, final int port, final List availableProfiles){ @@ -190,13 +209,12 @@ public class LoginViewModel { // add a list String[] profiles = new String[availableProfiles.size()]; profiles = availableProfiles.toArray(profiles); - builder.setItems(profiles, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - SettingsManager.i().userSession.profileDB = availableProfiles.get(which); + builder.setItems(profiles, (dialog, which) -> { + SettingsManager.i().userSession.profileDB = availableProfiles.get(which); + loadDepo(() -> { onLoginCompleted(host, port); - } + }); }); // create and show the alert dialog @@ -207,11 +225,10 @@ public class LoginViewModel { public void onLoginCompleted(String host, int port) { loginButtonEnabled.set(true); + SettingsManager.i().server.codAzienda = codAzienda.get(); SettingsManager.i().server.host = host; SettingsManager.i().server.port = port; - SettingsManager.i().user.username = username.get(); - SettingsManager.i().user.password = password.get(); SettingsManager.update();