diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloOrdine.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloOrdine.java index d6f5dbaa..823f705f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloOrdine.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloOrdine.java @@ -94,6 +94,9 @@ public class ArticoloOrdine { @Ignore private int bgTint; + @Ignore + private boolean invalid = false; + public Integer getArticoloOrdineId() { return articoloOrdineId; @@ -300,4 +303,13 @@ public class ArticoloOrdine { this.ctMaxOrd = ctMaxOrd; return this; } + + public boolean isInvalid() { + return invalid; + } + + public ArticoloOrdine setInvalid(boolean invalid) { + this.invalid = invalid; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/ExpiredProductListException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/ExpiredProductListException.java new file mode 100644 index 00000000..10c7ac45 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/ExpiredProductListException.java @@ -0,0 +1,10 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public final class ExpiredProductListException extends Exception { + public ExpiredProductListException() { + super(UtilityResources.getString(R.string.expired_list_session)); + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidProductOrderedException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidProductOrderedException.java new file mode 100644 index 00000000..ae3c3beb --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/InvalidProductOrderedException.java @@ -0,0 +1,15 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public final class InvalidProductOrderedException extends Exception { + + public InvalidProductOrderedException() { + super(UtilityResources.getString(R.string.invalid_product_ordered)); + } + + public InvalidProductOrderedException(String product) { + super(UtilityResources.getString(R.string.invalid_product_ordered) + " (" + product + ")"); + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/MultipleResultFromBarcodeException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/MultipleResultFromBarcodeException.java new file mode 100644 index 00000000..081d3372 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/MultipleResultFromBarcodeException.java @@ -0,0 +1,15 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public final class MultipleResultFromBarcodeException extends Exception { + + public MultipleResultFromBarcodeException() { + super(UtilityResources.getString(R.string.multiple_results_from_barcode)); + } + + public MultipleResultFromBarcodeException(String barcode) { + super(UtilityResources.getString(R.string.multiple_results_from_barcode) + " (" + barcode + ")"); + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PVOrdiniAcquistoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PVOrdiniAcquistoRESTConsumer.java index 16459e4d..347fbda3 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PVOrdiniAcquistoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PVOrdiniAcquistoRESTConsumer.java @@ -12,6 +12,7 @@ import javax.inject.Singleton; import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; import it.integry.integrywmsnative.core.data_store.db.entity.Ordine; import it.integry.integrywmsnative.core.data_store.db.view_model.OrdiniAcquistoGrigliaDTO; +import it.integry.integrywmsnative.core.exception.InvalidProductOrderedException; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; @@ -90,6 +91,10 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer { int i = 0; for (ArticoloOrdine art : articoli) { i++; + if (art.isInvalid()) { + onFailed.run(new InvalidProductOrderedException(art.getCodMart())); + return; + } artRows.add(convertArtToDTO(art, i)); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java index 8b8a7001..a49ae8b1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java @@ -38,6 +38,7 @@ public class DBSettingsModel { private boolean flagSpedizioneUseQtaOrd; private boolean flagOrdinaNuoviArticoliInGriglia; private boolean flagOrdinaArticoliOnScan; + private boolean flagConsentiFuoriPianoLogistico; private String docInterniCheckFornitore; private String produzioneDefaultCodAnag; private boolean flagPrintPackingListOnOrderClose; @@ -416,4 +417,13 @@ public class DBSettingsModel { this.flagCanAddUnknownItemsInventario = flagCanAddUnknownItemsInventario; return this; } + + public boolean isFlagConsentiFuoriPianoLogistico() { + return flagConsentiFuoriPianoLogistico; + } + + public DBSettingsModel setFlagConsentiFuoriPianoLogistico(boolean flagConsentiFuoriPianoLogistico) { + this.flagConsentiFuoriPianoLogistico = flagConsentiFuoriPianoLogistico; + return this; + } } 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 5a71fd62..4e7cfc1b 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 @@ -305,6 +305,10 @@ public class SettingsManager { .setGestName("PVM") .setSection("ORDINI_A") .setKeySection("ORDINA_ARTICOLI_ON_SCAN")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PVM") + .setSection("ORDINI_A") + .setKeySection("FLAG_CONSENTI_ORIDNE_DA_GRIGLIA")); stbGestSetupList.add(new StbGestSetup() .setGestName("PVM") .setSection("DOC_INTERNI") @@ -381,6 +385,7 @@ public class SettingsManager { dbSettingsModelIstance.setFlagAccettazioneUseQtaOrd(getValueFromList(list, "ACCETTAZIONE", "FLAG_USE_QTA_ORD", Boolean.class)); dbSettingsModelIstance.setFlagPickLiberoAllowEmptyDest(getValueFromList(list, "PICKING_LIBERO", "FLAG_ALLOW_EMPTY_DEST", Boolean.class)); dbSettingsModelIstance.setFlagOrdinaArticoliOnScan(getValueFromList(list, "ORDINI_A", "ORDINA_ARTICOLI_ON_SCAN", Boolean.class)); + dbSettingsModelIstance.setFlagConsentiFuoriPianoLogistico(getValueFromList(list, "ORDINI_A", "FLAG_CONSENTI_ORIDNE_DA_GRIGLIA", Boolean.class)); dbSettingsModelIstance.setFlagPrintPackingListOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_PACKING_LIST_ON_CLOSE", Boolean.class)); dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", Boolean.class)); dbSettingsModelIstance.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class)); @@ -420,7 +425,7 @@ public class SettingsManager { .filter(x -> x.getSection().equalsIgnoreCase(section) && x.getKeySection().equalsIgnoreCase(keySectionName)) .findFirstOrElse(null); - if(value != null) { + if (value != null) { if (clazz == String.class) { return clazz.cast(value.getValue()); } else if (clazz == Boolean.class) { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java index b0682e60..d2c37f17 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java @@ -202,6 +202,16 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi onSuccess, this::onLoadingEnded).show(getSupportFragmentManager(), "confirmExceedingQtyOrder"); } + @Override + public void confirmCheckForUnlistedProduct(String barcode) { + DialogSimpleMessageView.makeInfoDialog(getText(R.string.info).toString(), + Html.fromHtml(getResources().getString(R.string.confirm_order_unlisted_item)), + null, + () -> { + this.mViewModel.loadArticolo(barcode); + }, this::onLoadingEnded).show(getSupportFragmentManager(), "confirmExceedingQtyOrder"); + } + @Override public int getColorFromResource(int resId) { return getResources().getColor(resId); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java index b90be94d..971360d3 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java @@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Calendar; import java.util.List; import java.util.stream.Collectors; @@ -22,7 +23,10 @@ import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGriglia import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository; import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository; import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloOrdinabileDTO; +import it.integry.integrywmsnative.core.exception.ArtNotFoundInGridException; import it.integry.integrywmsnative.core.exception.EmptyOrderException; +import it.integry.integrywmsnative.core.exception.ExpiredProductListException; +import it.integry.integrywmsnative.core.exception.MultipleResultFromBarcodeException; import it.integry.integrywmsnative.core.exception.NoArtsInGridException; import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException; import it.integry.integrywmsnative.core.expansion.RunnableArgs; @@ -31,6 +35,7 @@ import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsu import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityDate; +import it.integry.integrywmsnative.core.utility.UtilityString; public class PVOrdineAcquistoEditViewModel { @@ -58,6 +63,8 @@ public class PVOrdineAcquistoEditViewModel { private List mArticoliGriglia = new ArrayList<>(); private final MutableLiveData> mArticoli = new MutableLiveData<>(); + private Calendar dataInizioModifica; + public PVOrdineAcquistoEditViewModel(OrdineRepository ordineRepository, GrigliaRepository grigliaRepository, @@ -75,6 +82,14 @@ public class PVOrdineAcquistoEditViewModel { this.mCurrentOrdine = ordine; mArticoliGriglia.clear(); mArticoliGriglia.addAll(articoliGriglia); + + Calendar today = Calendar.getInstance(); + today.set(Calendar.MILLISECOND, 0); + today.set(Calendar.SECOND, 0); + today.set(Calendar.MINUTE, 0); + today.set(Calendar.HOUR_OF_DAY, 0); + + this.dataInizioModifica = today; this.refreshListArticoli(); } @@ -82,10 +97,21 @@ public class PVOrdineAcquistoEditViewModel { refreshListArticoli(null); } + public boolean checkOrderSessionValid() { + Calendar today = Calendar.getInstance(); + today.set(Calendar.MILLISECOND, 0); + today.set(Calendar.SECOND, 0); + today.set(Calendar.MINUTE, 0); + today.set(Calendar.HOUR_OF_DAY, 0); + + return today.after(this.dataInizioModifica); + } + public void refreshListArticoli(Runnable onSuccess) { this.sendOnLoadingStarted(); this.loadArticoli(mCurrentOrdine, articoli -> { articoli = Stream.of(articoli).map(this::completeDataArticoli).sorted((a, b) -> a.getDataIns().after(b.getDataIns()) ? -1 : 1).toList(); + this.mArticoli.postValue(articoli); this.sendOnLoadingEnded(); if (onSuccess != null) @@ -109,6 +135,8 @@ public class PVOrdineAcquistoEditViewModel { art.setFlagQtaMultipla(artGrid.getFlagQtaMultipla()); art.setCtMaxOrd(BigDecimal.valueOf(artGrid.getCtMaxOrd())); art.setSystemNote(artGrid.generateSystemNote()); + } else { + art.setInvalid(true); } return art; } @@ -135,7 +163,12 @@ public class PVOrdineAcquistoEditViewModel { ArticoloOrdinabileDTO articoloDTO = getArticoloFromBarcode(barcode); if (articoloDTO == null) { - throw new NoResultFromBarcodeException(barcode); + if (SettingsManager.iDB().isFlagConsentiFuoriPianoLogistico() && UtilityString.isNullOrEmpty(mCurrentOrdine.getCodAlis())) { + this.mListener.confirmCheckForUnlistedProduct(barcode); + return; + } else { + throw new NoResultFromBarcodeException(barcode); + } } this.addArticoloToOrdine( articoloDTO, @@ -168,7 +201,7 @@ public class PVOrdineAcquistoEditViewModel { }; if (isAutoOrderOnScan()) { - if (!UtilityBigDecimal.isNullOrZero(articolo.getCtMaxOrd()) && UtilityBigDecimal.greaterThan(BigDecimal.valueOf(articolo.getQtaOrd() + articolo.getQtaCnf()), articolo.getCtMaxOrd())) { + if (!UtilityBigDecimal.isNullOrZero(articolo.getCtMaxOrd()) && UtilityBigDecimal.greaterThan(BigDecimal.valueOf(articolo.getQtaOrd() + articolo.getQtaCnf()), articolo.getCtMaxOrd().multiply(BigDecimal.valueOf(articolo.getQtaCnf())))) { mListener.confirmExceedingQtyOrder(saveAction); } else { saveAction.run(); @@ -280,6 +313,10 @@ public class PVOrdineAcquistoEditViewModel { public void exportOrdine(Runnable onComplete) { this.sendOnLoadingStarted(); + if (!checkOrderSessionValid()) { + this.sendError(new ExpiredProductListException()); + return; + } if (mArticoli.getValue() == null) { this.sendError(new EmptyOrderException()); return; @@ -311,6 +348,40 @@ public class PVOrdineAcquistoEditViewModel { if (this.mListener != null) mListener.onError(ex); } + public void loadArticolo(String barcode) { + this.sendOnLoadingStarted(); + String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); + pvOrdiniAcquistoRESTConsumer.retrieveArticolo(null, codMdep, barcode, (grigliaDTO) -> { + if (grigliaDTO == null || grigliaDTO.getArticoli().isEmpty()) { + this.sendError(new ArtNotFoundInGridException()); + return; + } + if (grigliaDTO.getArticoli().size() > 1) { + this.sendError(new MultipleResultFromBarcodeException()); + return; + } + ArticoloOrdinabileDTO newArt = Stream.of(grigliaDTO.getArticoli()).findFirstOrElse(null); + if (newArt == null) { + this.sendError(new ArtNotFoundInGridException()); + return; + } + + ArticoloOrdinabileDTO existingArt = Stream.of(mArticoliGriglia).filter(x -> x.getCodMart().equalsIgnoreCase(newArt.getCodMart())).findFirstOrElse(null); + if (existingArt != null) { + List barcodes = existingArt.getBarcode(); + barcodes.addAll(newArt.getBarcode()); + barcodes = Stream.of(barcodes).distinct().toList(); + existingArt.setBarcode(barcodes); + } else { + mArticoliGriglia.add(newArt); + } + + this.processBarcode(barcode); + + + }, this::sendError); + } + public interface Listener extends ILoadingListener { void onItemDispatched(ArticoloOrdine articoloOrdine, Runnable onSuccess); @@ -319,6 +390,8 @@ public class PVOrdineAcquistoEditViewModel { int getColorFromResource(int resId); void onError(Exception ex); + + void confirmCheckForUnlistedProduct(String barcode); } public PVOrdineAcquistoEditViewModel setListener(Listener listener) { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java index 382c6634..a47e941b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java @@ -15,6 +15,7 @@ import androidx.databinding.DataBindingUtil; import androidx.recyclerview.widget.LinearLayoutManager; import java.util.ArrayList; +import java.util.Calendar; import java.util.List; import javax.inject.Inject; @@ -30,6 +31,7 @@ import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaReposito import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository; import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloOrdinabileDTO; import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper; +import it.integry.integrywmsnative.core.exception.ExpiredProductListException; import it.integry.integrywmsnative.core.expansion.BaseFragment; import it.integry.integrywmsnative.core.interfaces.IPoppableActivity; import it.integry.integrywmsnative.core.interfaces.IScrollableFragment; @@ -133,6 +135,13 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi private void setListaArticoli(List listArticoli) { mListArticoli.clear(); mListArticoli.addAll(listArticoli); + Calendar today = Calendar.getInstance(); + today.set(Calendar.MILLISECOND, 0); + today.set(Calendar.SECOND, 0); + today.set(Calendar.MINUTE, 0); + today.set(Calendar.HOUR_OF_DAY, 0); + + this.mPvOrdiniAcquistoGrigliaViewModel.setDataCaricamentoListino(today); mBinding.countArtLis.setText(String.valueOf(listArticoli.size())); } @@ -172,6 +181,10 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi } private void editOrdine(Ordine ordine) { + if (this.mPvOrdiniAcquistoGrigliaViewModel.checkProductListSessionInvalid()) { + this.onError(new ExpiredProductListException()); + return; + } requireActivity().startActivity(PVOrdineAcquistoEditActivity.newInstance(requireActivity(), ordine, mListArticoli)); } @@ -207,6 +220,10 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi } public void createNewOrder() { + if (this.mPvOrdiniAcquistoGrigliaViewModel.checkProductListSessionInvalid()) { + this.onError(new ExpiredProductListException()); + return; + } this.onLoadingStarted(); mPvOrdiniAcquistoGrigliaViewModel.createNewOrder(mGriglia, order -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaViewModel.java index 84426639..6c1d6842 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaViewModel.java @@ -1,5 +1,7 @@ package it.integry.integrywmsnative.gest.pv_ordini_acquisto; +import java.util.Calendar; + import javax.inject.Inject; import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; @@ -18,6 +20,8 @@ public class PVOrdiniAcquistoGrigliaViewModel { private final OrdineRepository ordineRepository; private final GrigliaRepository grigliaRepository; + private Calendar dataCaricamentoListino; + @Inject public PVOrdiniAcquistoGrigliaViewModel(PVOrdiniAcquistoRESTConsumer pvOrdiniAcquistoRESTConsumer, ArticoloGrigliaRepository articoloGrigliaRepository, @@ -45,4 +49,23 @@ public class PVOrdiniAcquistoGrigliaViewModel { ordineRepository.delete(ordine, onSuccess, onFail); } + public Calendar getDataCaricamentoListino() { + return dataCaricamentoListino; + } + + public PVOrdiniAcquistoGrigliaViewModel setDataCaricamentoListino(Calendar dataCaricamentoListino) { + this.dataCaricamentoListino = dataCaricamentoListino; + return this; + } + + + public boolean checkProductListSessionInvalid() { + Calendar today = Calendar.getInstance(); + today.set(Calendar.MILLISECOND, 0); + today.set(Calendar.SECOND, 0); + today.set(Calendar.MINUTE, 0); + today.set(Calendar.HOUR_OF_DAY, 0); + + return today.after(this.dataCaricamentoListino); + } } diff --git a/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml b/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml index 585543d8..ea53fd72 100644 --- a/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml +++ b/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml @@ -6,6 +6,8 @@ + + @@ -55,6 +57,17 @@ android:src="@drawable/ic_baseline_new_24" android:tint="@color/orange_600" /> + + @@ -95,6 +108,7 @@ android:layout_height="wrap_content" android:background="@drawable/badge_round_corner" android:backgroundTint="@{articolo.bgTint}" + android:visibility="@{articolo.invalid ? View.GONE : View.VISIBLE}" android:gravity="center" android:paddingLeft="6dp" android:paddingTop="2dp" diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 0764d670..917731b3 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -445,4 +445,7 @@ Qta massima ordinabile Quantità massima superata Vuoi cotinuare comunque con il salvataggio?]]>\ + Vuoi provare a cercarlo comunque nel sistema?]]> + L\'ordine presenta un articolo non valido per la lista selezionata! + \ No newline at end of file diff --git a/app/src/main/res/values/custom_colors.xml b/app/src/main/res/values/custom_colors.xml index 359eeedf..230b4313 100644 --- a/app/src/main/res/values/custom_colors.xml +++ b/app/src/main/res/values/custom_colors.xml @@ -26,12 +26,10 @@ #f5f5f5 - #E8F0FE #C9D5F0 - #1A1A73E8 #331A73E8 #4D1A73E8 @@ -85,7 +83,6 @@ #303F9F - #B3E5FC #81D4FA #4fc3f7 @@ -102,6 +99,7 @@ #EF6C00 + #EFB4B4 #ef9a9a #e57373 #EF5350 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index eb347c69..41b33558 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -452,4 +452,7 @@ Max orderable qty Max quantity exceeded Do you wish to continue?]]> + Do you want to search for it regardless?]]> + One or more ordered products are not available in the selected list! +