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 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - -wms