From 7a00e8bd340a7f855d12753b9675763804277fde Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 27 May 2019 12:59:47 +0200 Subject: [PATCH] Refactoring icone. Refactoring posizioni. Implementata gestione degli EAN Peso in Spedizione. --- .idea/assetWizardSettings.xml | 4 +- .../consumers/ColliMagazzinoRESTConsumer.java | 21 - .../ColliMagazzinoRESTConsumerService.java | 3 - .../REST/consumers/PosizioneRESTonsumer.java | 41 -- .../REST/consumers/PosizioniRESTConsumer.java | 66 ++ .../PosizioniRESTConsumerService.java | 16 + .../core/model/MtbDepoPosizione.java | 16 +- .../core/settings/SettingsManager.java | 3 +- .../core/utility/UtilityNumber.java | 4 + .../core/utility/UtilityPosizione.java | 10 +- .../gest/main/MainFragment.java | 8 +- .../ProdRecuperoMaterialeViewModel.java | 34 +- .../views/InputQuantityToReturnDialog.java | 94 +++ .../VenditaOrdineInevasoViewModel.java | 29 +- .../viewmodel/VersamentoMerceViewModel.java | 4 +- .../DialogAskPositionOfLU.java | 2 +- .../DialogScanOrCreateLU.java | 25 +- app/src/main/res/drawable/app_round_icon.xml | 37 + .../main/res/drawable/integry_round_icon.png | Bin 39934 -> 0 bytes .../drawable/logo_integry_completo_1024w.png | Bin 12905 -> 0 bytes .../res/drawable/logo_integry_full_white.xml | 61 ++ app/src/main/res/layout/activity_splash.xml | 2 +- app/src/main/res/layout/app_bar_main.xml | 2 +- .../dialog_ask_position_of_lu__page2.xml | 1 + .../res/layout/dialog_ask_should_print.xml | 1 + ...log_choose_arts_from_lista_arts_layout.xml | 1 + .../dialog_input_quantity_to_return.xml | 184 +++++ .../dialog_note_aggiuntive_nuova_ul.xml | 1 + app/src/main/res/layout/dialog_yes_no.xml | 1 + app/src/main/res/layout/fragment_main.xml | 74 +- app/src/main/res/values-it/strings.xml | 2 + app/src/main/res/values/strings.xml | 2 + ext_sources/9DBDE980.png | Bin 0 -> 25904 bytes ...ogo Integry Vettoriale + Testo (WHITE).svg | 683 ++++++++++++++++++ ext_sources/RoundLogoWithText.svg | 87 ++- 35 files changed, 1365 insertions(+), 154 deletions(-) delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PosizioneRESTonsumer.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PosizioniRESTConsumer.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PosizioniRESTConsumerService.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/views/InputQuantityToReturnDialog.java create mode 100644 app/src/main/res/drawable/app_round_icon.xml delete mode 100644 app/src/main/res/drawable/integry_round_icon.png delete mode 100644 app/src/main/res/drawable/logo_integry_completo_1024w.png create mode 100644 app/src/main/res/drawable/logo_integry_full_white.xml create mode 100644 app/src/main/res/layout/dialog_input_quantity_to_return.xml create mode 100644 ext_sources/9DBDE980.png create mode 100644 ext_sources/Logo Integry Vettoriale + Testo (WHITE).svg 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 ae8b0cd1513c7d570e758e4b193fc67c917062d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39934 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 Tx4=6BA@JH~chI(!&W!sXE3+OV 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 0b5f77fe6f6568277c04555823afa297e55d5109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12905 zcma)ji9gie_y2tjgODxRA|gTv$(ER8sq9I%WFkrS>{;felI*=p_GO|hWyvndneUxGzdzvT@i4D>-Fwfy=bn4dz0b2ul&P`)USfU}eKkEE>~3j#m{oYOgdF)(9cglZwE|3_u4?;y3)jlP8w z72}ANVnsQkNf+qv!!PnW_y;78H`?^KO`6F=qsm9|DZhmMUS>}V#y5=Gb@z-M z@7XY~d2uClcdH741J3?A*3V0O9)TYK#d6RdBn%Vnfk$Wzf>!`TdsqQldmuv!kW(yj zQVH8)W6P~2`)U$5s8eSCzT;^sst^V)P*VT0u& zOZ(<9zoY_d%PwIJ$;}PvkS`mY^uBLM7We3QU3UlwKtJsP1+5<38zY?_&vhwz9%9_J zGZA!kP(=9C^x#@0bu9ncrCqm@;H#u397lH~zf^wl`3j%cI^J6w z%1sIZ&#l*^cj?@BbZg_}$8uC6-~`U<0oX#yrX#*{O08F_M;HW+yx7O^R$NS6R7^}Pm z?D+a&fWHyhDExB0=Ljp5CI244r`qk{pqe-*{FkB2;WbWA2T1a;;pC^Ju-Kvn z=FMy4H~lY3nKq@>A+qoIDcGYjkq&hq zZXI2ef9}8XQA-r4`c5GLe+mPtodkeSP><4=C52OCZEz}Rekz8Uw^YeUz6QZpr3eZDLKr%`McHeXwkT^;ln*IOxdYc}w>hgl;vv*MC z0(Gw^aQ{fh0L4U$9wn-`^0_fZb&SVl832-W7{M8r0LldNa4?s9XYB=}W%$m5)a4ukRarINFdRUNQh& zu`l@H!?p0)^R|B21=FKG=Y;mWDp9W75?dtOIqwCiz#i~h^+ESKJ6Uxi^Uh$3!7m-u zs3C3y6Q2pCbkmU;_xDowBGo@mY`5v*lP^PVEk{C3@7E6VlHBN!uEW@9M1t z^DfblI#6)>fWt2TM#Tu!lCvg^xYUDkzc;wFcwRlUww2j+o^nJFSs&&A=$bD`oL04o zSCOKmYwMAh((=@fj;Z1$M?}NxpfJxG0MqypKD(V0JnKWfS7I-AeDMIiGs#RdY?ti- zC|AG|StGlDHye$U1BAm{M%qgkCG?D+>SZtR0DzNF2UAti|NSO2%23ib>(5IX`XZ(k zB?s_i3kD!UCj?g29+*)T^xLLKd0s7OZ@RuGvzrHbZmsLg+xa23HXFo+nVWS#dxO1=h%jWh6-`79Mr+$W#lolP0*oUwf zU@C}^eA#j~g>RKm)#aS8l!ffi1m?|)M!wix3mIY{FLhXBbGmGPL+@cd;mZ0{3JdG+ zO}}_l_b=t}kFSoE1rZTy-R3D3*$g`YrK2UsW21{4JA|@!=>Euh- z-gtl!fE@w`_5RZRn<`slCevZ@K=54}qj_B%hAPdxlb*_}lcCMaAh^~N-uTJh=a+{V zJzsq=Jj=4g0bgerH}(1aU9A9v-(Ma~PiRK(yd2Hev!l)td6@+dr^cJ5zpjV+g9Gx9 za;?IfpJ~r&GLv5Gy@||V@IDYh(e+HsUSIg59e($Y_KU&HR%bc@+O>gvL-jKCd6#2) z1#pS!Xja~#j&3khRsHSm7Ch119M91zNl^38wK~Pc zz&fkh@heETbPqsV_JHadVX@xS!8}4*;j)$PRkD_4G)3bc^0q=1F5_cP;FkZcmD1;Z zpmkW#IG1i*DU5qp&F?CyOqagqx;GB;bqEX$`z*{qPY<@m&6Wu-MT)U7dCbeSaL3SL zfV==gx<2^dTmV0N!?dQJ_kKavLKaM)-TZ&l@-vXz+^yuEZHE)wRHNA5FzGSX0t1!S z$?ZHBP5rKSxBobt`tQjq7LfRSL6PTvmT%vb%l|e8ZN}c%?~2W^I*NDS;LI72fI4z| z59q6i{_nMbrDnE|EiUP~ty0$-I=u(#2VVvl3p&9|%@m$I(ZbCp$`m-~rgaY9QzRli zFtOEMA-6ZkihQm*U`}__%G^aXX#PZTpF2PMKA1;hngKc zB&cm9CvAP$ltxsLG=Ow19;Fx{9~AcIQe-}c8M3$a?Ohfh&Ho=&B^#O>v7hR!w`-m9 zvUd7-@!qZ`6ZZX70Ak(G34sN=KTBA_58R7l^RM!?4E#Bk!ZYu5zOinwg!hiG!5&a& zw)}`C{OM%@qkGN84qp;#uvuKKT5!ACv~Z)}?nF})csTD8YGZKop;z;DX)OJ?xdf~} zU7>E6{YaT(PdMrnj-wG&6g1L}^N=Ha)i4Uu_P!aqWN55om;yU7atbHCN} z=~6v%yq8;mk0DV&5)~-2zgCazob=3p1^_=$F?@QC$7rZsyhNB*y&GJl*2gp|>+hK(x%7)c5OBrokX2gXNb zDeT--`Sh28?4!+NfE&u6TQ(SURnIobj;Y@7-A}FldpF3gwK}K2Q&4w1Yu5};ANNbq z1R1E*t+@s(e`{1V7LeeqloT0(P1E&bkAZBh;<;I`a8Vg>AC9k}E=z;Zgr|T}P7bz~JLyL}534L3%iCs5m z1pFJj&ENjL`I|EUYklgFV-rL-kP`0*3nKUEQ=65He6EnZVG-$49xEuX>Lwq#@``3} zP_DiJM7z^ezjAYGA%w7)c(~4>TG9(@F*D?3Z>IWcbkTE2+e5BO-4M(@P#2iI(N$^Y7YJ0J!IOsY4t zyJ_?PR&`#v*Jl%;GG zqK>c*Jr}Cdb?h@2ZTchoy#&pJtBR80B9qP-%z-WnZB)^{oIvof^)9uqkH)ObHx2}s z)J^cA!j-ow632pRtRPL`?G8i#wnhIQxsl{N7mxqPRckeZ{+s1l{16xudE?qZvlqcD z-ysIzxi6!6HDYlW4g&~75}-|fi~K)nZP9^+fAhFffdU*nZvbiHge|1t$~a9^BM{T? z#tBlWG|H%6K@cJ}#s|L=nNBbQJsM{sZUW$13YB0+Qh?<+&ZeO;kw5z`*UkOoEdD}> z(XEV9z0H#q4S!@jgd1w=hzk;7i)neUU(Br65h%YB9D>^Y-QlRK%gcRvowC++Z$U_BrCM04o_+MOj4khu;2LwN z?kR(>1i7FCgs_?2`nf=fUs(n>1uD_1-a!OU(Q1Fm!hDc{zQ6I<2ur5=^0N`iA9Z&; zI)6=s-(}o*pe>wL&8xLELGTmq6q{c0ncgw0x1j@Kai)2Z_6;?S$3|J~8@dGlM5|-9 z*caZPx^=^bk=5adI(9Id?7&-QemAPu?J*#(F+Tcyf}(=szoO6Ag~ixETbAiED_vH( z^Z87DW3Y}S{p4&5I+U^zHXCA|p1g>Ge97m@g*QhX8(|gFe-(AN_QTRd7UAXQba-xH z-ru8B@<%CG)k}jr#q>K)o(OUQ#9iT(7Gq!R4*!yieN!*dj<}$DP?Gu}_;R-iSz1r1 z9)C8SHdTz=?Rsb2O$;FVdft}WdHPaUyWXs~YGb+d(!%tCOO3%l?&6uES0#89{s?N{ zuEK&T>Y2vDoL?JEe+~DF+#R{GN;NS1AjVC3_`z5sa_0Qus$>T6yi*IR)Ozqfb2`n| zx5pFnj?R|cX1UyQCek}Wa_3Mo`5w6T=MfNj`(Vfd`2Y+jlLI^F7>I}U^?ZWfOZ%(; z9r5KjJEzivw9Semxcd>ud;zJvA>IR=)9@LJTOyLVDH`MQn4B78u4m3Qq8DBi(v9^s zjlZ&L{{AwVUr1jidjC*RyR>F*7%#`^6aE^(56z4a^bf(RI-u!6>VUM~F2SOAOQi~3NYgS-659<7bWxiT#{q{(!mP|*yGh2CqIFP3bZzlB|7BWn9cj8p(>kXUQnYi{wG?f9z z4As}xI)pUW zV*lU-K&N*cJPx|5N8249lUi77^KoVh93$;{dTov#Jg@mO%Hzd~W2*y!9bxU;k@-aq z(QWY+^co_7c!Sp97zi|nM}k^I1rIPW?JbjwIfF@%YV>y)?}Kno5z2tepMFdsTD|XT zD`8A3@4$shKMeZS(}7l_-@!xnDkyN=Tc7s;baEUvuN1(5lK>oB8B{){(N#rx>to1? z^gU%k9YQVNJTIdI%NHUqE#*z?n0*k4cVEGh*BpD4cn@TxdCDf$M60chWLuMc>gy7v zzNsT9JxjrtIw4Rh5jMgbp*8Qe_0Y2X?tmy)R=F!LC*QCm`3O7R)^18uK%!(()tG$i zi$eg)s-ZVt4zyf|uG=2naH2llevQkoCOMmD`$m!6N^Kof_Z?7iOTGlp@>F zBMZA5>2uih!b1RUpYkZA^zGD3s1y8yeU|+lR~pg;2f4gfZt_D+CO@ZLa3WgVH|p|- zU7v5;;TJOB2W)cPRU5GRBL!;UO#$_4`6&w>+eD1Ywz5j8?AMAL`up$MIIoDf-6LpJ z`A1bY>EL}!(jVQ6$AVX>e$|M~U*zN6lZMlB%yEyIFioCmQ=z{_JepBQ{J~Uxzs`x> zfM=V+cJ8^<1se|GNs3x5IJaV=r_%lU!ix{;GFScKvIFw1eJqYuxieZH?m8(q5tF6n zW~lCl2h_Pxlbri<{~23u2GsM{5(?fFzGOOf1Ue(V1lW_r^H<0@bokVGuBO>z-pv9l z*~YTD)MW3a48DbY#l9ElUM7G(9d11{m8|1j+4s6p!$WJ_Pb-Z!?I_=FbApQv zqux$oB92@6;VH2EKJvGqxGgX7M}#r|mFi64lE?ls*OEgcAI?ecXzllsk(Xe(^Oofl zF9?)pxH2ne{bs_)!I-Df z*bX!rt(|urB520Ey=EsW1kE8=PDrU9;4h_c7_>yh8vD51{$oV^?|n zZ3Y_`_LM!hZ^g$xJ!hi@J0UKzEK@s6EXz;zvO%ijlxS5m8k)-q2f?CQkmT&Xt!1A2ehz^eb#5Db_~lmcC{#}gnE z+03d8fNLK_;uVGnDg{>CAUtx_$$;1&9KOC6dij!ETveb?43=lq>w|$L2)-$2k+Cgdcy6;1Q3rrU$*+5MACayvmGog!)6gpss-MwZlW(X*~b( z0bzJ}W(fhS3>$S&c^dB|N z^IY#gyk}D2v=@aY5$z?~!hjJsNBkdv6>WS*H&(rDa07aG0nnHbM@UBFN4m99__q8Y z86NqbSV{Q(X8ElX2;T)GA>c_{U-YTf4?gttw_c=c2Fj)H;?|%Zkgpwt=Q$i=PO`Cr z6EJK%0%IjEY1=Kw!Xd&=+w8a_V8sZ~Hw}lu4K80~2F~-`*D8iN`C5d8zajuGbBE2^ zs~A<-(rgB&qr0gLfWgw15tj=Qb-@GJ1%ntQ(bEeEGEUM3#n4SaqZ&SJ#biq3{fGe= zd(8m5SNhjIZK(H}OB!dOU}GxIfrn3vFW9i5p`$_PleQg8;q;RXn56ID0gg4xlzrWkHow*;KD%!Z(GF(f^DP`hR5Fb)O*xH zbbZjZI{kPSRR(;JZ-K?LKY-Y+$S9u@8-6oy!We%l;ib+T5WLM1DQ(9~$)WGv{~g*B z=X9F0b)N_R?)cdMR1|#mw>9|7$097mpTw&zXIjZ98poo?NCEV53{T7ueWyWyJSuL%qEwYkEAy@`QhB>bJs4>}H66^Ou!cbGWvZHvu^9}eH8toD@SWBi2~09fYQyv+pN&;3o5wn+${*nLzvnw4qMk; zKlnWlsSG>ePXEGmO8~?H;=wcYAhk*U)J4SY*yI^p-qH&pvSr2J#O0LEswwT;{OVx7 z=u*@n3@XvBp;UYe_fb&;RE|ny=4TbwZa;H%=W$mE&7MyQ$T`q+SM7&i@{bCAS&Q(e z7*wYCNomz51pB!QGw^YfS^vueEG?!;+V9{zkpi4(IkuEzNF(^qW48QIrx00}dPtSZ0# z1@=kDs1ng}u@M)li+kFavaW1vHW-HNH0!CL&O&WJB|dg9inE>PE#+4QZEL3DLX77V zU6^tE!f#f$&dPE56`hz0=#Z*5|yGJN5X5fyCdj7{dIi4;{>Ff$GB$?3PPQeU;`?8Pu7oUTMGx1zv%8AK`fFQAb`HMQCEYp9*GK4(K#AmtJ4uqcUuHJSI=@4Y0BdVt6A#08C>-v;^ zrQ`2JtA7fpL&Z_rJ60tJh&X;aw4*et4$%~!$IJvD5JFT|Z0;eG1%5~0HwHFSzR$6? z)mAX}O1Ofq4T-w=LA!HJ@15IqLo74jIe&R0re!$xt-sVhk|L|$&HU)if_Bq9Lvx#0 z(1{j%+bvgW*(3Jt>C5kUwF}SJv88IB$^I?gG;h$ zRm<2;YnlnRY;`!+vBf&XvY`?OUz88m8q8q25K}oJ;3T=A-m5VYC{(&M8`X04ldJcu zR}&t;l!a1dcaO)G&j9>^NQG9GgVNP>#B)3Vp6};<%)GbAai+~eD*+8ZuC9sZ9gPjr z_z}Pza|{!^ppiF`!a$O|e}(>)&wp+|hi!QOBDWMDDHc!uV8JLhRlEMoU1c>q+|zOM z@bOEa>+k`y8Zj8ewcqKf+|5)dw5c1k-j%LM=oD!RZcYo6tn{vZSQgx(?b zbTJnBmDriecW8v6c_KOqIL>xV((w8JBM2b?a$!tRuGd3gK^9Y6E2jeaOZ^BbEI?GJ=CBxDYUyaIhs% zhnL$a1G6Xb3#O`J;4(sT`KlDsc@Yprw9#9a*XoeUkX6%-hm_G&grQH?6xwU-b16sR zRlnroE)7f{DbsI$Ob$~Rd>Gh&gEiqs4G-mX4U_yGle##o4;cuqPY6jHNC>uo*g|O~ z_1ZzaT3vU_5*7)0`^1A2e|Tg92v<+jI<^GJ(!_Df(xtVM6A?7O_wSKTClk`xv@(IJ%4ubjxB`7nJf2h6#)`I1~_~3UcbG*KG%QY z%CPhuG!ql=v~NR!u=IlDcyvlsYw{Zt!TDF|?uWqImv-9%WbPe-^Gfi1Am;ZKdQXd@7laUP8KAU zy{GXt|H5;q^(nwsDOW(Da!!qxNmL!%l;K<%;k>#AS5L|xtn;fKjF0BCC>SV`4+r!Ht z5GCD$psoF+OdrFDYNCOAm^3G4bQJgTMA@iO<6HqypVv2zc1(;J+w& z3f!on-+{r?wUPIGZ(Zp)1i_BpuOZzz)`$>)7Oe?55haCBVGuVfl~E_c=%Gnqc=YWK zp)=~C$**kL7-q1@oXYIQBSyVo2hgCz(Y$mQ-lJpGA}(JZS!r;?LE(v7K4$0gGRzwR z24=Tu?)2Xu<*5X31b4jWBC6cF`_v_^CyH}^}L*{RXaCO+GmWFCkq3j;LF1ZNf(+sMaSM&FWwC+xyAz0 zYR~qIQFfPdduUE-)BDw%m0@<%}=O_%Xd@4J?7LvCs z{ChL;*=DnF9i0fg=igmKKO>Z^V`e+H^XxR%BwyGcc`cD8ekihfZaew#2ldVA^HUJo z@)fq_X?`G^4Teym*$xAzaxhGtJi|N#(BD;e+nUAejPDXkuCW8<5rJ2G_lC*&p7_37 z+m#Pvynxip=Ah7M*h+1LHdmj~k*$aGihDJ&(l9po?p)BvKD1_~^@2nA$bRa{GSQzA zt=9k=Vb$6&to5j9lS~T%3h5SDZG}bAv?N63y}kP561(}bnBeMh-*72kSt+vmpTuUY|>=}?VjJZFRK~atZl^oe*JrPuD{fAr_o34L3LSVm|URoZe7gq zus(X|Dg!tluspW;CzyS@KI+mR`wvyvjH_JR?CQCeD@#zh4d?C`O_CjDF4>#Ib%
F4zOeo*dt;b1{n_f|w{JAH z%U8YH->AEO-mmV>+qb1F)CxJMZ9C9C(WSS2xljSz$gya$-ABBbU-p$MQ744)X9){6 zEw?Bte45UHy2mP?XO!t%Na<;E-3#|URbF#6XLD&@7g_a+7h0~|9i@D2ey0TUE$)f% z^9>f*=~giS@sqQ~X0M7fQ;ztSuRUgVz4^9AOSp(R_~wcPQ1)_NC*bLG8DcOnI^3$6 zcxIc!9@mFOJ?E+icP?#KJKF69%6P!QH~4)Za~^~Knor1>YKW@7ZjKqt{^MBJZoX}} z3RmVdQf*iYmF zv6H?e?Q4>CNI~}^E|)_7{RSq9tqB@`%VCjue~z`+82SVndaR5ZF1pLFBzGH0dzJsZ zO!doPX$LpbrgHlTc)YWZ+ZkEF*XKRnN+3txNL6k*r_5-!Nl3ZjYBUFrxuNIb`|$XF zA0sI)z&b5C`0%(3@5$}Al1I)J<-DCri0bbjs2JHtab>%U&E!p*zBla(9`ps3IUGvC%Z3%KJR)e z5^1(+0`t!@Ojg1eiD5A8eq*Dtun0Oc+?=&|?xoht^M9S2xn5hY3685j*yvmGHc7%C z$-~S%LJHC+g!u;D_p}mVZ1R&w1f0&5_Npchdike|q3inLwl2zjbf94LIczrI$12!) zg*JR#vBP+SO$@b3g@^eXrrykoYH?$nyy0JBVTq+Kc zj%c9w%vC+PpI)9AHlFRo@kIR_nVI>9^V?wx72(D0i|K6@LH zw4@><9&#j(3t=S$B z-Gqs0AKXicOPVGg6Vo?c4&?y6s(#s5wV~HbRm-Uo^4S(4d!)8hd=9uq)WTF<$@>6r z<U4}lK1aP|_e!_tMc3eDZ%qV-aWUxlg5H~(-lXyMdb$@`>Bs*Ykunn@Tt z2-JKEpOV62mjhaxk|=*e;$eCWNO=PAA&d%J&UWbEUJc&hn*LAZ-3o_h!D?v95&6ik zxpV7hidl&Alg}?HM3dLFWAAQm^rcGnhh9F?0}&2w4gvvYtd%k0p;j#{a_xz_0|x4Q z4^liga$hY`tozRzCzn0GBMabkqXFLLNaOCp{(zp;TQ#WGR9IR2rx!5B%{^x?_vJ^O z6q3vmJmT~9{+EG4A*nE0vI-1Gku+e%Qu5}6vk0`1>>WPc-)049&UY+6%zfPJ=INU5 z;f<+pCT|YhR2vMQYdZ-0yY`e0A7;sk3AwTr#TR8}{oadz$(EMoT>3K}-l9){^=M!+DNMFOZJ5BV+UP%%*||cg>xPYVq{N}UidmhPHet_jsLRIbdEedBrraRCQ8oA> zE|)trrP?jfpmLNV62VSOzEj_Y3x&v|ADGcgVKeHfUYR*C2Z4Mjp58I}R z*(w2`c{QP9&FOi6`4)Opzazve&YV`?JD|(_%2|LT+w~|N={DZ=skC%H3@77GZ%&OT zo{xk+WH%fjIU46SZbkC>HJbRsaEafIp&ddrZuT%n8fJ!^!GJ8E{kbL9b(qEd(S=q0 zOFpGvs3E_OKuk?b&bJFVSBHtEOs|RSZ4YH~$5;J@IpxbuKE~g1{rkJ#Wk(wIG|2wY zVFtfz<4u2E>}P;^d?t)wNIedWks}N_IY8n}4m}Y5_Hxoe5EA9%Rk9BzrF?Q^2Ih5ham*?Tj63q$;fI)=b*C#! za>trq*+JnangCKp$?b)4y8zrq#m7N}w`8ioBN$7KAYlQx#R*KKBS(;39G>un4Z;3; zRU$?-Tc(34RrDZn_NqwNS_`_^+0Pz7;^32BPcWUg|DFYxVb*~Yr)ay52_G5o_cFHT zK^hi}nrFgd7a`?OdLWaD;ZH}FCaIsD@pvzJqZ&t4PS8( + + + + + + + + + + + + + + + + + + \ 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 0000000000000000000000000000000000000000..ab966c21f36ba471fedd3c09e24ed9c2cbd668f0 GIT binary patch literal 25904 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 U(8LA800@L+Zi6o|`}5xa0Zjxm_W%F@ literal 0 HcmV?d00001 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 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - -wms