diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index 57990cbb..4e3f1957 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -147,8 +147,8 @@
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 c47cd018..4f023a8b 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
@@ -33,27 +33,6 @@ import retrofit2.Response;
public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
-
- public static void getAvailablePosizioni(RunnableArgs> onComplete, RunnableArgs onFailed) {
- String codMdep = SettingsManager.i().userSession.depo.getCodMdep();
-
- ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
- colliMagazzinoRESTConsumerService.getAvailablePosizioni(codMdep).enqueue(new Callback>>() {
- @Override
- public void onResponse(Call>> call, Response>> response) {
- analyzeAnswer(response, "getAvailablePosizioni", (m) -> {
- onComplete.run(response.body().getDto());
- }, onFailed);
- }
-
- @Override
- public void onFailure(Call>> call, Throwable t) {
- onFailed.run(new Exception(t));
- }
- });
- }
-
-
public static void saveCollo(MtbColt mtbColtToSave, final ISimpleOperationCallback callback){
EntityRESTConsumer.processEntity(mtbColtToSave, callback, MtbColt.class);
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/ColliMagazzinoRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/ColliMagazzinoRESTConsumerService.java
index 571a9399..7fb6d6d5 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/ColliMagazzinoRESTConsumerService.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/ColliMagazzinoRESTConsumerService.java
@@ -17,9 +17,6 @@ import retrofit2.http.Query;
public interface ColliMagazzinoRESTConsumerService {
- @GET("getAvailablePosizioni")
- Call>> getAvailablePosizioni(@Query("codMdep") String codMdep);
-
@POST("SM2DistribuzioneRigheCollo")
Call> distribuisciCollo(@Body DistribuzioneColloDTO distribuzioneCollo);
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PosizioneRESTonsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PosizioneRESTonsumer.java
deleted file mode 100644
index cc970746..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PosizioneRESTonsumer.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package it.integry.integrywmsnative.core.REST.consumers;
-
-import com.annimon.stream.Stream;
-import com.google.gson.reflect.TypeToken;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.List;
-
-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.utility.UtilityDB;
-
-public class PosizioneRESTonsumer extends _BaseRESTConsumer {
-
-
-
- public static void getBancaliInPosizione(MtbDepoPosizione mtbDepoPosizione, RunnableArgs> onComplete, RunnableArgs onFailed) {
-
-
- String sql = "SELECT * FROM mtb_colt WHERE cod_mdep = " + UtilityDB.valueToString(mtbDepoPosizione.getCodMdep()) + " AND posizione = " + UtilityDB.valueToString(mtbDepoPosizione.getPosizione());
-
-
- Type typeOfObjectsList = new TypeToken>() {}.getType();
- SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback>() {
- @Override
- public void onSuccess(List value) {
- if(onComplete != null) onComplete.run(value);
- }
-
- @Override
- public void onFailed(Exception ex) {
- if(onFailed != null) onFailed.run(ex);
- }
- });
-
- }
-
-
-}
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
new file mode 100644
index 00000000..ac8c503d
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PosizioniRESTConsumer.java
@@ -0,0 +1,66 @@
+package it.integry.integrywmsnative.core.REST.consumers;
+
+import com.google.gson.reflect.TypeToken;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+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.utility.UtilityDB;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+
+public class PosizioniRESTConsumer extends _BaseRESTConsumer{
+
+
+ public static void getAvailablePosizioni(RunnableArgs> onComplete, RunnableArgs onFailed) {
+ String codMdep = SettingsManager.i().userSession.depo.getCodMdep();
+
+ PosizioniRESTConsumerService posizioniRESTConsumerService = RESTBuilder.getService(PosizioniRESTConsumerService.class);
+ posizioniRESTConsumerService.getAvailablePosizioni(codMdep).enqueue(new Callback>>() {
+ @Override
+ public void onResponse(Call>> call, Response>> response) {
+ analyzeAnswer(response, "getAvailablePosizioni", (m) -> {
+ onComplete.run(response.body().getDto());
+ }, onFailed);
+ }
+
+ @Override
+ public void onFailure(Call>> call, Throwable t) {
+ onFailed.run(new Exception(t));
+ }
+ });
+ }
+
+
+
+ public static void getBancaliInPosizione(MtbDepoPosizione mtbDepoPosizione, RunnableArgs> onComplete, RunnableArgs onFailed) {
+
+
+ String sql = "SELECT * FROM mtb_colt WHERE cod_mdep = " + UtilityDB.valueToString(mtbDepoPosizione.getCodMdep()) + " AND posizione = " + UtilityDB.valueToString(mtbDepoPosizione.getPosizione());
+
+
+ Type typeOfObjectsList = new TypeToken>() {}.getType();
+ SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback>() {
+ @Override
+ public void onSuccess(List value) {
+ if(onComplete != null) onComplete.run(value);
+ }
+
+ @Override
+ public void onFailed(Exception ex) {
+ if(onFailed != null) onFailed.run(ex);
+ }
+ });
+
+ }
+
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PosizioniRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PosizioniRESTConsumerService.java
new file mode 100644
index 00000000..4406a07f
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PosizioniRESTConsumerService.java
@@ -0,0 +1,16 @@
+package it.integry.integrywmsnative.core.REST.consumers;
+
+import java.util.List;
+
+import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
+import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
+import retrofit2.Call;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface PosizioniRESTConsumerService {
+
+ @GET("getAvailablePosizioni")
+ Call>> getAvailablePosizioni(@Query("codMdep") String codMdep);
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java
index 73c5d4d8..ce851164 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java
@@ -9,6 +9,7 @@ public class MtbDepoPosizione {
private String posizione;
private String descrizione;
private String flagMonoCollo;
+ private String flagLineaProduzione;
@@ -60,6 +61,19 @@ public class MtbDepoPosizione {
}
public boolean isFlagMonoCollo() {
- return flagMonoCollo.equalsIgnoreCase("S");
+ return "S".equalsIgnoreCase(flagMonoCollo);
+ }
+
+ public String getFlagLineaProduzione() {
+ return flagLineaProduzione;
+ }
+
+ public MtbDepoPosizione setFlagLineaProduzione(String flagLineaProduzione) {
+ this.flagLineaProduzione = flagLineaProduzione;
+ return this;
+ }
+
+ public boolean isFlagLineaProduzione() {
+ return "S".equalsIgnoreCase(flagLineaProduzione);
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java
index f1bd6fa3..04fdaffa 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java
@@ -11,6 +11,7 @@ import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
+import it.integry.integrywmsnative.core.REST.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
@@ -161,7 +162,7 @@ public class SettingsManager {
private static void loadAvailablePosizioni(Runnable onComplete, RunnableArgs onFailed) {
- ColliMagazzinoRESTConsumer.getAvailablePosizioni(availablePosizioni -> {
+ PosizioniRESTConsumer.getAvailablePosizioni(availablePosizioni -> {
dbSettingsModelIstance.setAvailablePosizioni(availablePosizioni);
if(onComplete != null) onComplete.run();
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityNumber.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityNumber.java
index 76165a6f..e5c0d2fd 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityNumber.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityNumber.java
@@ -63,4 +63,8 @@ public class UtilityNumber {
return decimalPlaces;
}
+ public static String normalizeStringNumber(String numberString) {
+ return numberString.replaceAll(",", ".");
+ }
+
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityPosizione.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityPosizione.java
index 8212bf8b..67974ed9 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityPosizione.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityPosizione.java
@@ -12,13 +12,11 @@ public class UtilityPosizione {
public static boolean isPosizioneWithLivello(MtbDepoPosizione mtbDepoPosizione) {
//TODO: Review this check
-
-
if(mtbDepoPosizione != null) {
char LChar = mtbDepoPosizione.getPosizione().charAt(mtbDepoPosizione.getPosizione().length()-2);
- if(LChar == 'L' && mtbDepoPosizione.getPosizione().length() > 2) {
+ if(LChar == 'L' && !mtbDepoPosizione.isFlagLineaProduzione()) {
return true;
} else return false;
}
@@ -26,6 +24,12 @@ public class UtilityPosizione {
return false;
}
+ public static boolean isLineaProduzione(String posizione) {
+ MtbDepoPosizione mtbDepoPosizione = getFromCache(posizione);
+
+ return mtbDepoPosizione != null && mtbDepoPosizione.isFlagLineaProduzione();
+ }
+
public static MtbDepoPosizione getFromCache(String posizione) {
List tmpList = Stream.of(SettingsManager.iDB().getAvailablePosizioni())
.filter(x -> x.getPosizione().equalsIgnoreCase(posizione)).toList();
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java
index fb983b44..2ad9dae4 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java
@@ -229,10 +229,10 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
((MainActivity) getActivity()).setItem(R.id.nav_prod_versamento_materiale);
}
-// @OnClick(R.id.fast_button_prod_recupero_materiale)
-// public void onClickProdRecuperoMateriale(View view) {
-// ((MainActivity) getActivity()).setItem(R.id.nav_prod_recupero_materiale);
-// }
+ @OnClick(R.id.fast_button_prod_recupero_materiale)
+ public void onClickProdRecuperoMateriale(View view) {
+ ((MainActivity) getActivity()).setItem(R.id.nav_prod_recupero_materiale);
+ }
@Override
public void setScrollToolbar(ElevatedToolbar toolbar) {
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/viewmodel/ProdRecuperoMaterialeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/viewmodel/ProdRecuperoMaterialeViewModel.java
index 270e6002..71dcde70 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/viewmodel/ProdRecuperoMaterialeViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/viewmodel/ProdRecuperoMaterialeViewModel.java
@@ -7,13 +7,18 @@ import android.text.SpannableString;
import androidx.databinding.ObservableField;
+import java.math.BigDecimal;
+
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
+import it.integry.integrywmsnative.core.utility.UtilityPosizione;
+import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentProdRecuperoMaterialeBinding;
import it.integry.integrywmsnative.gest.prod_recupero_materiale.core.ProdRecuperoMaterialeHelper;
+import it.integry.integrywmsnative.gest.prod_recupero_materiale.views.InputQuantityToReturnDialog;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
@@ -38,20 +43,29 @@ public class ProdRecuperoMaterialeViewModel {
}
public void openLU() {
- DialogScanOrCreateLU.make(mContext, true, mtbColt -> {
+ DialogScanOrCreateLU.make(mContext, true, false, mtbColt -> {
if(mtbColt == null) {
((IPoppableActivity)mContext).pop();
} else if((mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColt.getSegno().equals(-1)){
- if(mtbColt.getMtbColr() == null || mtbColt.getMtbColr().size() == 0) {
- DialogSimpleMessageHelper.makeWarningDialog(mContext,
- new SpannableString(Html.fromHtml("E' stata scansionata una UL già vuota")),
- null, this::openLU).show();
+ if (!UtilityString.isNullOrEmpty(mtbColt.getPosizione()) && UtilityPosizione.isLineaProduzione(mtbColt.getPosizione())) {
+
+ if(mtbColt.getMtbColr() == null || mtbColt.getMtbColr().size() == 0) {
+ DialogSimpleMessageHelper.makeWarningDialog(mContext,
+ new SpannableString(Html.fromHtml("E' stata scansionata una UL già vuota")),
+ null, this::openLU).show();
+
+ } else {
+ setMtbColt(mtbColt);
+ chooseQuantityToReturn();
+ }
} else {
- setMtbColt(mtbColt);
-// choosePosition();
+ DialogSimpleMessageHelper.makeWarningDialog(mContext,
+ new SpannableString(Html.fromHtml("Sono accettate solamente UL di provenienti da una linea di lavoro")),
+ null, this::openLU).show();
}
+
} else {
DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml("Sono accettate solamente UL di Lavorazione di SCARICO")),
@@ -61,6 +75,12 @@ public class ProdRecuperoMaterialeViewModel {
}
+ private void chooseQuantityToReturn() {
+ InputQuantityToReturnDialog.make(mContext, mtbColt.get().getMtbColr().get(0).getMtbAart(), BigDecimal.ZERO, BigDecimal.ONE, data -> {
+
+ }).show();
+ }
+
public void setMtbColt(MtbColt mtbColt) {
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/views/InputQuantityToReturnDialog.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/views/InputQuantityToReturnDialog.java
new file mode 100644
index 00000000..85aa887b
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/views/InputQuantityToReturnDialog.java
@@ -0,0 +1,94 @@
+package it.integry.integrywmsnative.gest.prod_recupero_materiale.views;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.view.LayoutInflater;
+
+import androidx.databinding.DataBindingUtil;
+
+import java.math.BigDecimal;
+
+import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+import it.integry.integrywmsnative.core.model.MtbAart;
+import it.integry.integrywmsnative.databinding.DialogInputQuantityToReturnBinding;
+
+public class InputQuantityToReturnDialog {
+
+
+ private Dialog currentDialog;
+
+ public static Dialog make(final Context context, MtbAart mtbAart, BigDecimal minQuantity, BigDecimal maxQuantity, RunnableArgs onDialogDismiss) {
+ return new InputQuantityToReturnDialog(context, mtbAart, minQuantity, maxQuantity, onDialogDismiss).currentDialog;
+ }
+
+ private InputQuantityToReturnDialog(Context context, MtbAart mtbAart, BigDecimal minQuantity, BigDecimal maxQuantity, RunnableArgs onDialogDismiss) {
+ LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ DialogInputQuantityToReturnBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_input_quantity_to_return, null, false);
+
+ currentDialog = new Dialog(context);
+ currentDialog.setContentView(bindings.getRoot());
+
+ currentDialog.setCanceledOnTouchOutside(false);
+ currentDialog.setCancelable(false);
+ currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+
+ InputQuantityToReturnViewModel viewModel = new InputQuantityToReturnViewModel();
+ viewModel.setMtbAart(mtbAart)
+ .setMinQuantity(minQuantity)
+ .setMaxQuantity(maxQuantity);
+
+ bindings.setMViewModel(viewModel);
+
+ bindings.buttonConfirm.setOnClickListener(v -> {
+ currentDialog.dismiss();
+ onDialogDismiss.run(BigDecimal.ZERO);
+ });
+
+ bindings.buttonAbort.setOnClickListener(v -> {
+ currentDialog.dismiss();
+ onDialogDismiss.run(BigDecimal.ZERO);
+ });
+
+ }
+
+
+
+ public class InputQuantityToReturnViewModel {
+
+ public MtbAart mtbAart;
+ public BigDecimal minQuantity;
+ public BigDecimal maxQuantity;
+
+ public MtbAart getMtbAart() {
+ return mtbAart;
+ }
+
+ public InputQuantityToReturnViewModel setMtbAart(MtbAart mtbAart) {
+ this.mtbAart = mtbAart;
+ return this;
+ }
+
+ public BigDecimal getMinQuantity() {
+ return minQuantity;
+ }
+
+ public InputQuantityToReturnViewModel setMinQuantity(BigDecimal minQuantity) {
+ this.minQuantity = minQuantity;
+ return this;
+ }
+
+ public BigDecimal getMaxQuantity() {
+ return maxQuantity;
+ }
+
+ public InputQuantityToReturnViewModel setMaxQuantity(BigDecimal maxQuantity) {
+ this.maxQuantity = maxQuantity;
+ return this;
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
index cc02c916..cd2fe99c 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
@@ -24,8 +24,9 @@ import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
-import it.integry.integrywmsnative.core.REST.consumers.PosizioneRESTonsumer;
+import it.integry.integrywmsnative.core.REST.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
+import it.integry.integrywmsnative.core.REST.model.Ean13PesoModel;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.class_router.ClassRouter;
import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita;
@@ -350,6 +351,12 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
this.createNewUL(null, null, progressDialog, false, false, () -> {
this.executeEtichettaEan128(data, progressDialog);
});
+ } else if(UtilityBarcode.isEanPeso(data)) {
+
+ //Creo una nuova ul e cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
+ this.createNewUL(null, null, progressDialog, false, false, () -> {
+ this.executeEtichettaEanPeso(data, progressDialog);
+ });
} else {
this.createNewUL(null, null, progressDialog, false, false, () -> {
this.loadArticolo(data.getStringValue(), null, progressDialog);
@@ -366,6 +373,11 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
this.executeEtichettaEan128(data, progressDialog);
+ } else if(UtilityBarcode.isEanPeso(data)) {
+ //Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
+ this.executeEtichettaEanPeso(data, progressDialog);
+
+
} else if(UtilityBarcode.isEtichettaPosizione(data)) {
//Cerco l'UL presente all'interno della posizione
this.executeEtichettaPosizione(data.getStringValue(), progressDialog);
@@ -422,7 +434,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
if(foundPosizione.isFlagMonoCollo()) {
- PosizioneRESTonsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> {
+ PosizioniRESTConsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> {
if(mtbColtList == null || mtbColtList.size() == 0 || mtbColtList.size() > 1) {
@@ -529,6 +541,19 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
});
}
+
+ private void executeEtichettaEanPeso(BarcodeScanDTO barcodeScanDTO, ProgressDialog progressDialog) {
+
+ try {
+ Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue());
+
+ this.loadArticolo(ean13PesoModel.getPrecode(), PickingObjectDTO.PickData.fromEan128(ean13PesoModel.toEan128()), progressDialog);
+ } catch (Exception ex) {
+ UtilityExceptions.defaultException(mActivity, ex, progressDialog);
+ BarcodeManager.enable();
+ }
+ }
+
private void loadArticolo(String barcodeProd, PickingObjectDTO.PickData pickData, ProgressDialog progressDialog) {
if(barcodeProd.length() == 14) {
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
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 5a49ee8c..2e588dcc 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
@@ -19,7 +19,7 @@ import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
-import it.integry.integrywmsnative.core.REST.consumers.PosizioneRESTonsumer;
+import it.integry.integrywmsnative.core.REST.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
@@ -117,7 +117,7 @@ public class VersamentoMerceViewModel {
if(foundPosizione.isFlagMonoCollo()) {
- PosizioneRESTonsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> {
+ PosizioniRESTConsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> {
if(mtbColtList == null || mtbColtList.size() == 0){
progressDialog.dismiss();
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java
index 39cc842b..9ec8f50b 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java
@@ -149,7 +149,7 @@ public class DialogAskPositionOfLU {
currentMtbDepoPosizione = foundPosizione;
- if (UtilityPosizione.isPosizioneWithLivello(foundPosizione)) {
+ if (!currentMtbDepoPosizione.isFlagLineaProduzione() && UtilityPosizione.isPosizioneWithLivello(foundPosizione)) {
askLivello();
BarcodeManager.enable();
} else {
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java
index bd64ba2b..7ad91b65 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java
@@ -4,7 +4,6 @@ import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import androidx.databinding.DataBindingUtil;
-import androidx.appcompat.app.AlertDialog;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
@@ -17,7 +16,7 @@ import com.annimon.stream.Stream;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
-import it.integry.integrywmsnative.core.REST.consumers.PosizioneRESTonsumer;
+import it.integry.integrywmsnative.core.REST.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
@@ -46,17 +45,25 @@ public class DialogScanOrCreateLU {
private MtbColt currentMtbColt;
+ private boolean mShouldCheckResiduo = false;
+
+
public static Dialog make(final Context context, RunnableArgs onDialogDismiss) {
- return new DialogScanOrCreateLU(context, false, onDialogDismiss).mDialog;
+ return new DialogScanOrCreateLU(context, false, true, onDialogDismiss).mDialog;
}
public static Dialog make(final Context context, boolean disableCreation, RunnableArgs onDialogDismiss) {
- return new DialogScanOrCreateLU(context, disableCreation, onDialogDismiss).mDialog;
+ return new DialogScanOrCreateLU(context, disableCreation, true, onDialogDismiss).mDialog;
}
- private DialogScanOrCreateLU(Context context, boolean disableCreation, RunnableArgs onDialogDismiss) {
+ public static Dialog make(final Context context, boolean disableCreation, boolean checkResiduo, RunnableArgs onDialogDismiss) {
+ return new DialogScanOrCreateLU(context, disableCreation, checkResiduo, onDialogDismiss).mDialog;
+ }
+
+ private DialogScanOrCreateLU(Context context, boolean disableCreation, boolean checkResiduo, RunnableArgs onDialogDismiss) {
mOnDialogDismiss = null;
currentMtbColt = null;
+ mShouldCheckResiduo = checkResiduo;
currentContext = context;
@@ -133,14 +140,14 @@ public class DialogScanOrCreateLU {
.filter(x -> x.getPosizione().equalsIgnoreCase(barcodeScanDTO.getStringValue()))
.single();
- PosizioneRESTonsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> {
+ PosizioniRESTConsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> {
if(mtbColtList == null || mtbColtList.size() == 0){
progressDialog.dismiss();
BarcodeManager.enable();
showNoULFound();
} else if (mtbColtList.size() == 1) {
- ColliMagazzinoRESTConsumer.getByTestata(mtbColtList.get(0), true, false, mtbColt -> {
+ ColliMagazzinoRESTConsumer.getByTestata(mtbColtList.get(0), mShouldCheckResiduo, false, mtbColt -> {
sendMtbColt(mtbColt, progressDialog);
}, ex -> {
UtilityExceptions.defaultException(currentContext, ex, progressDialog);
@@ -164,7 +171,7 @@ public class DialogScanOrCreateLU {
private void executeEtichettaAnonima(BarcodeScanDTO barcodeScanDTO, ProgressDialog progressDialog) {
- ColliMagazzinoRESTConsumer.getBySSCC(barcodeScanDTO.getStringValue(), true, false, mtbColt -> {
+ ColliMagazzinoRESTConsumer.getBySSCC(barcodeScanDTO.getStringValue(), mShouldCheckResiduo, false, mtbColt -> {
if(mtbColt == null) {
@@ -198,7 +205,7 @@ public class DialogScanOrCreateLU {
if(ean128Model != null && !UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
- ColliMagazzinoRESTConsumer.getBySSCC(ean128Model.Sscc, true, false, mtbColt -> {
+ ColliMagazzinoRESTConsumer.getBySSCC(ean128Model.Sscc, mShouldCheckResiduo, false, mtbColt -> {
if(mtbColt != null) {
diff --git a/app/src/main/res/drawable/app_round_icon.xml b/app/src/main/res/drawable/app_round_icon.xml
new file mode 100644
index 00000000..193dc28f
--- /dev/null
+++ b/app/src/main/res/drawable/app_round_icon.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/integry_round_icon.png b/app/src/main/res/drawable/integry_round_icon.png
deleted file mode 100644
index ae8b0cd1..00000000
Binary files a/app/src/main/res/drawable/integry_round_icon.png and /dev/null differ
diff --git a/app/src/main/res/drawable/logo_integry_completo_1024w.png b/app/src/main/res/drawable/logo_integry_completo_1024w.png
deleted file mode 100644
index 0b5f77fe..00000000
Binary files a/app/src/main/res/drawable/logo_integry_completo_1024w.png and /dev/null differ
diff --git a/app/src/main/res/drawable/logo_integry_full_white.xml b/app/src/main/res/drawable/logo_integry_full_white.xml
new file mode 100644
index 00000000..4e803657
--- /dev/null
+++ b/app/src/main/res/drawable/logo_integry_full_white.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml
index bc02239c..8298420d 100644
--- a/app/src/main/res/layout/activity_splash.xml
+++ b/app/src/main/res/layout/activity_splash.xml
@@ -11,7 +11,7 @@
android:id="@+id/imageView"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:src="@drawable/logo_integry_completo_1024w"
+ android:src="@drawable/logo_integry_full_white"
android:adjustViewBounds="true"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml
index 0398c667..43498c44 100644
--- a/app/src/main/res/layout/app_bar_main.xml
+++ b/app/src/main/res/layout/app_bar_main.xml
@@ -35,7 +35,7 @@
diff --git a/app/src/main/res/layout/dialog_ask_should_print.xml b/app/src/main/res/layout/dialog_ask_should_print.xml
index e819a4dd..89f20f30 100644
--- a/app/src/main/res/layout/dialog_ask_should_print.xml
+++ b/app/src/main/res/layout/dialog_ask_should_print.xml
@@ -77,6 +77,7 @@
style="@style/Button.PrimaryOutline"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
+ app:strokeColor="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
diff --git a/app/src/main/res/layout/dialog_choose_arts_from_lista_arts_layout.xml b/app/src/main/res/layout/dialog_choose_arts_from_lista_arts_layout.xml
index fc9915cf..ec1489a2 100644
--- a/app/src/main/res/layout/dialog_choose_arts_from_lista_arts_layout.xml
+++ b/app/src/main/res/layout/dialog_choose_arts_from_lista_arts_layout.xml
@@ -69,6 +69,7 @@
android:layout_marginTop="8dp"
style="@style/Button.DangerOutline"
app:icon="@drawable/ic_clear_24dp"
+ app:strokeColor="@color/red_400"
android:layout_gravity="center_horizontal"
android:visibility="@{filterStatus.get() ? View.VISIBLE : View.GONE}"
android:text="@string/remove_filter_button"/>
diff --git a/app/src/main/res/layout/dialog_input_quantity_to_return.xml b/app/src/main/res/layout/dialog_input_quantity_to_return.xml
new file mode 100644
index 00000000..77844bc5
--- /dev/null
+++ b/app/src/main/res/layout/dialog_input_quantity_to_return.xml
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_note_aggiuntive_nuova_ul.xml b/app/src/main/res/layout/dialog_note_aggiuntive_nuova_ul.xml
index 8468bd05..ff997e8d 100644
--- a/app/src/main/res/layout/dialog_note_aggiuntive_nuova_ul.xml
+++ b/app/src/main/res/layout/dialog_note_aggiuntive_nuova_ul.xml
@@ -105,6 +105,7 @@
android:layout_height="wrap_content"
style="@style/Button.PrimaryOutline"
app:icon="@drawable/ic_clear_24dp"
+ app:strokeColor="@color/colorPrimary"
android:layout_marginEnd="8dp"
android:text="@string/abort"/>
diff --git a/app/src/main/res/layout/dialog_yes_no.xml b/app/src/main/res/layout/dialog_yes_no.xml
index 230d60b8..f17b5a42 100644
--- a/app/src/main/res/layout/dialog_yes_no.xml
+++ b/app/src/main/res/layout/dialog_yes_no.xml
@@ -77,6 +77,7 @@
style="@style/Button.PrimaryOutline"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
+ app:strokeColor="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
index b6334cfa..3fdfe622 100644
--- a/app/src/main/res/layout/fragment_main.xml
+++ b/app/src/main/res/layout/fragment_main.xml
@@ -540,50 +540,50 @@
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
+
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index f7239101..8d529636 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -38,6 +38,7 @@
Filtra
Ordina
Crea nuova UL
+ Inserisci quantità
Mostra UL già create
Recupera UL
Stampa UL
@@ -96,6 +97,7 @@
Creazione UL
+ Quantità
Qtà
Ord
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 4be0075b..539f68fd 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -40,6 +40,7 @@
Filter
Order
Create new LU
+ Insert quantity
Show already created LU
Recover LU
Print LU
@@ -97,6 +98,7 @@
LU Creation
+ Quantity
Qty
Ord
diff --git a/ext_sources/9DBDE980.png b/ext_sources/9DBDE980.png
new file mode 100644
index 00000000..ab966c21
Binary files /dev/null and b/ext_sources/9DBDE980.png differ
diff --git a/ext_sources/Logo Integry Vettoriale + Testo (WHITE).svg b/ext_sources/Logo Integry Vettoriale + Testo (WHITE).svg
new file mode 100644
index 00000000..6070b71c
--- /dev/null
+++ b/ext_sources/Logo Integry Vettoriale + Testo (WHITE).svg
@@ -0,0 +1,683 @@
+
+
+
diff --git a/ext_sources/RoundLogoWithText.svg b/ext_sources/RoundLogoWithText.svg
index d003ed18..efa9fca6 100644
--- a/ext_sources/RoundLogoWithText.svg
+++ b/ext_sources/RoundLogoWithText.svg
@@ -3,25 +3,76 @@