From aa8a54547c2aa75c16c45a1f423b46ff3df9f591 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Wed, 10 Mar 2021 16:11:50 +0100 Subject: [PATCH] Implementato versamento in depositi diversi da quello dell'utente loggato --- .../consumers/ColliMagazzinoRESTConsumer.java | 4 ++- .../rest/consumers/PosizioniRESTConsumer.java | 29 ++++++++++++++++--- .../core/utility/UtilityBarcode.java | 9 ++++-- .../viewmodel/VersamentoMerceViewModel.java | 2 +- .../dialogs/base/DialogSimpleMessageView.java | 3 ++ 5 files changed, 39 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java index 052908a4..173231f7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java @@ -549,7 +549,9 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer { mtbColtToSaveClone.setMtbColr(new ObservableArrayList<>()); if (posizione == null) mtbColtToSaveClone.setPosizione(null); - else mtbColtToSaveClone.setPosizione(posizione.getPosizione()); + else mtbColtToSaveClone + .setPosizione(posizione.getPosizione()) + .setCodMdep(posizione.getCodMdep()); ColliMagazzinoRESTConsumer.saveColloStatic(mtbColtToSaveClone, mtbColt -> { if (onComplete != null) onComplete.run(); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PosizioniRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PosizioniRESTConsumer.java index d5fda18d..9964f933 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PosizioniRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PosizioniRESTConsumer.java @@ -8,12 +8,11 @@ import java.util.List; import javax.inject.Singleton; -import it.integry.integrywmsnative.core.rest.RESTBuilder; -import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbDepoPosizione; -import it.integry.integrywmsnative.core.settings.SettingsManager; +import it.integry.integrywmsnative.core.rest.RESTBuilder; +import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.utility.UtilityDB; import retrofit2.Call; import retrofit2.Callback; @@ -28,8 +27,30 @@ public class PosizioniRESTConsumer extends _BaseRESTConsumer{ this.mSystemRESTConsumer = systemRESTConsumer; } + public void getPosizioneFromString(String posizione, RunnableArgs onComplete, RunnableArgs onFailed) { + String sql = "SELECT TOP 1 mtb_depo_posizioni.*," + + " CASE WHEN jtb_fasi.cod_jfas IS NULL THEN 'N' ELSE 'S' END AS flag_linea_produzione " + + " FROM mtb_depo_posizioni " + + " LEFT OUTER JOIN jtb_fasi " + + " ON mtb_depo_posizioni.posizione = jtb_fasi.cod_jfas " + + " WHERE posizione = " + UtilityDB.valueToString(posizione); + + SystemRESTConsumer.processSqlStatic(sql, MtbDepoPosizione.class, new ISimpleOperationCallback() { + @Override + public void onSuccess(MtbDepoPosizione value) { + if(onComplete != null) onComplete.run(value); + } + + @Override + public void onFailed(Exception ex) { + if(onFailed != null) onFailed.run(ex); + } + }); + } + public static void getAvailablePosizioni(RunnableArgs> onComplete, RunnableArgs onFailed) { - String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); +// String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); + String codMdep = null; PosizioniRESTConsumerService posizioniRESTConsumerService = RESTBuilder.getService(PosizioniRESTConsumerService.class); posizioniRESTConsumerService.getAvailablePosizioni(codMdep).enqueue(new Callback>>() { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityBarcode.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityBarcode.java index 7d6c8bc4..1148410b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityBarcode.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityBarcode.java @@ -33,19 +33,24 @@ public class UtilityBarcode { } public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO) { + return isEtichettaPosizione(barcodeScanDTO, true); + } + + public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO, boolean enableCheckCodMdep) { + String currentCodMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); + String barcode = barcodeScanDTO.getStringValue(); boolean isPosizione = false; if(SettingsManager.iDB().getAvailablePosizioni() != null) { Stream tmpStream = Stream.of(SettingsManager.iDB().getAvailablePosizioni()) - .filter(x -> x.getPosizione().equalsIgnoreCase(barcode)); + .filter(x -> x.getPosizione().equalsIgnoreCase(barcode) && (!enableCheckCodMdep || currentCodMdep.equalsIgnoreCase(x.getCodMdep()))); if(tmpStream.count() > 0){ isPosizione = true; } } - return isPosizione; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java index 8c1ab989..f69551ea 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java @@ -97,7 +97,7 @@ public class VersamentoMerceViewModel { BarcodeManager.disable(); Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); - if (UtilityBarcode.isEtichettaPosizione(data)) { + if (UtilityBarcode.isEtichettaPosizione(data, false)) { progressDialog.show(); this.executeEtichettaPosizione(data, progressDialog); } else if (data.getType() == BarcodeType.EAN8 || data.getType() == BarcodeType.EAN13 || data.getType() == BarcodeType.UPCA) { diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java index 50edd5e8..3dc54c6b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java @@ -199,14 +199,17 @@ public class DialogSimpleMessageView extends BaseDialogFragment { } public void onPositiveClick() { + dismiss(); if(mOnPositiveClick != null) mOnPositiveClick.run(); } public void onNeutralClick() { + dismiss(); if(mOnNeutralClick != null) mOnNeutralClick.run(); } public void onNegativeClick() { + dismiss(); if(mOnNegativeClick != null) mOnNegativeClick.run(); }