diff --git a/app/build.gradle b/app/build.gradle index bed773e3..dc4823cd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 365 - def appVersionName = '1.32.25' + def appVersionCode = 369 + def appVersionName = '1.32.29' signingConfigs { release { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MvwSitArtUdcDetInventario.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MvwSitArtUdcDetInventario.java index 314671ef..acfd8b69 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/MvwSitArtUdcDetInventario.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MvwSitArtUdcDetInventario.java @@ -39,7 +39,6 @@ public class MvwSitArtUdcDetInventario { private String codJfas; private MtbAart mtbAart; - public String getGestione() { return gestione; } @@ -283,7 +282,6 @@ public class MvwSitArtUdcDetInventario { return this; } - public MtbColr toMtbColr() { return new MtbColr() .setCodJcom(getCodJcom()) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java index ff400509..040b0f2d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java @@ -6,6 +6,7 @@ import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -14,6 +15,7 @@ import javax.inject.Singleton; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbGrup; +import it.integry.integrywmsnative.core.model.MtbUntMis; import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; @@ -58,6 +60,8 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer { public static void getByCodMartsStatic(List codMartToFind, RunnableArgs> onComplete, RunnableArgs onFailed) { String joinedCods = Stream.of(codMartToFind) + .withoutNulls() + .distinct() .collect(Collectors.joining(",")); @@ -131,8 +135,55 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer { Type typeOfObjectsList = new TypeToken>() { }.getType(); - this.systemRESTConsumer.processSql("SELECT * FROM mtb_grup " + whereCond, typeOfObjectsList, onComplete, onFailed); + this.systemRESTConsumer.processSql("SELECT * FROM mtb_grup " + whereCond, typeOfObjectsList, onComplete, onFailed); } + + public void getUntMisArts(List inputUntMis, RunnableArgs> onComplete, RunnableArgs onFailed) { + List> whereCondList = Stream.of(inputUntMis) + .distinct() + .withoutNulls() + .map(x -> { + HashMap data = new HashMap<>(); + data.put("unt_mis", x); + return data; + }) + .toList(); + + var whereCond = whereCondList.isEmpty() ? "" : " WHERE " + UtilityQuery.concatFieldListInWhereCond(whereCondList); + + Type typeOfObjectsList = new TypeToken>() { + }.getType(); + this.systemRESTConsumer.processSql("SELECT * FROM mtb_unt_mis " + whereCond, typeOfObjectsList, onComplete, onFailed); + } + + public void fillMtbAartsWithMtbUntMis(List inputMtbAart, RunnableArgs> onComplete, RunnableArgs onFailed) { + var inputUntMis = new ArrayList(); + + if (inputMtbAart != null && !inputMtbAart.isEmpty()) { + inputUntMis.addAll(Stream.of(inputMtbAart) + .map(MtbAart::getUntMis) + .withoutNulls() + .distinct() + .toList()); + } + + if (inputUntMis.isEmpty()) { + onComplete.run(inputMtbAart); + return; + } + + getUntMisArts(inputUntMis, mtbUntMiss -> { + for (var item : inputMtbAart) { + var mtbUntMis = Stream.of(mtbUntMiss).filter(x -> x.getUntMis().equalsIgnoreCase(item.getUntMis())) + .findFirstOrElse(null); + + if (mtbUntMis != null) + item.setMtbUntMis(Collections.singletonList(mtbUntMis)); + } + + onComplete.run(inputMtbAart); + }, onFailed); + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaRESTConsumer.java index 3995fff5..d0a00e42 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaRESTConsumer.java @@ -3,6 +3,7 @@ package it.integry.integrywmsnative.core.rest.consumers; import com.annimon.stream.Optional; import com.annimon.stream.Stream; +import java.util.ArrayList; import java.util.List; import javax.inject.Singleton; @@ -13,6 +14,7 @@ import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.core.rest.model.giacenza.InstantItemSituationIncomingItemDto; import it.integry.integrywmsnative.core.rest.model.giacenza.InstantItemSituationResponseDto; import it.integry.integrywmsnative.core.utility.UtilityString; import retrofit2.Call; @@ -120,7 +122,10 @@ public class GiacenzaRESTConsumer extends _BaseRESTConsumer { .enqueue(new Callback<>() { @Override public void onResponse(Call> call, Response> response) { - analyzeAnswer(response, "getInstantItemSituation", onComplete, onFailed); + analyzeAnswer(response, "getInstantItemSituation", data -> { + + fillInstantItemSituationWithMtbAarts(data, onComplete, onFailed); + }, onFailed); } @Override @@ -130,5 +135,54 @@ public class GiacenzaRESTConsumer extends _BaseRESTConsumer { }); } + private void fillInstantItemSituationWithMtbAarts(InstantItemSituationResponseDto data, RunnableArgs onComplete, RunnableArgs onFailed) { + var inputCodMarts = new ArrayList(); + + if (data.getIncomingItems() != null && !data.getIncomingItems().isEmpty()) { + inputCodMarts.addAll(Stream.of(data.getIncomingItems()) + .map(InstantItemSituationIncomingItemDto::getCodMart) + .toList()); + } + + if (data.getAvailableItems() != null && !data.getAvailableItems().isEmpty()) { + inputCodMarts.addAll(Stream.of(data.getAvailableItems()) + .map(MvwSitArtUdcDetInventario::getCodMart) + .toList()); + } + + if (inputCodMarts.isEmpty()) { + onComplete.run(data); + return; + } + + mArticoloRESTConsumer.getByCodMarts(inputCodMarts, mtbAarts -> { + + mArticoloRESTConsumer.fillMtbAartsWithMtbUntMis(mtbAarts, newMtbAarts -> { + if (data.getIncomingItems() != null && !data.getIncomingItems().isEmpty()) { + for (var item : data.getIncomingItems()) { + var mtbAart = Stream.of(newMtbAarts).filter(x -> x.getCodMart().equalsIgnoreCase(item.getCodMart())) + .findFirstOrElse(null); + + if (mtbAart != null) + item.setMtbAart(mtbAart); + } + } + + if (data.getAvailableItems() != null && !data.getAvailableItems().isEmpty()) { + for (var item : data.getAvailableItems()) { + var mtbAart = Stream.of(newMtbAarts).filter(x -> x.getCodMart().equalsIgnoreCase(item.getCodMart())) + .findFirstOrElse(null); + + if (mtbAart != null) + item.setMtbAart(mtbAart); + } + } + + onComplete.run(data); + }, onFailed); + + }, onFailed); + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java index 4ccc6c0d..03262225 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java @@ -61,7 +61,10 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer { .filter(x -> !UtilityString.isNullOrEmpty(x.getPartitaMag())) .forEach(x -> { - if (!Stream.of(batchLotsToSearch).anyMatch(batchLotToSearch -> batchLotToSearch.getCodMart().equalsIgnoreCase(x.getCodMart()) && batchLotToSearch.getPartitaMag().equalsIgnoreCase(x.getPartitaMag()))) { + if (!Stream.of(batchLotsToSearch) + .anyMatch(batchLotToSearch -> + batchLotToSearch.getCodMart().equalsIgnoreCase(x.getCodMart()) && + batchLotToSearch.getPartitaMag().equalsIgnoreCase(x.getPartitaMag()))) { MtbPartitaMag mtbPartitaMag = new MtbPartitaMag() .setCodMart(x.getCodMart()) .setPartitaMag(x.getPartitaMag()); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java index 3d367c2d..1ced7e90 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java @@ -28,6 +28,7 @@ public class SitArtOrdDTO { private String descrizioneMsfa; private String untord; private BigDecimal qtaOmg; + private BigDecimal qtaArrivo; private final HashMap extraInfo = new HashMap<>(); @@ -232,4 +233,13 @@ public class SitArtOrdDTO { this.qtaOmg = qtaOmg; return this; } + + public BigDecimal getQtaArrivo() { + return qtaArrivo; + } + + public SitArtOrdDTO setQtaArrivo(BigDecimal qtaArrivo) { + this.qtaArrivo = qtaArrivo; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/giacenza/InstantItemSituationIncomingItemDto.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/giacenza/InstantItemSituationIncomingItemDto.java index 7ad902ee..88c5bd3e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/giacenza/InstantItemSituationIncomingItemDto.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/giacenza/InstantItemSituationIncomingItemDto.java @@ -3,6 +3,8 @@ package it.integry.integrywmsnative.core.rest.model.giacenza; import java.math.BigDecimal; import java.time.LocalDate; +import it.integry.integrywmsnative.core.model.MtbAart; + public class InstantItemSituationIncomingItemDto { private BigDecimal qtaOrd; @@ -21,6 +23,7 @@ public class InstantItemSituationIncomingItemDto { private String codJcom; private String codMdep; private String untMis; + private MtbAart mtbAart; public BigDecimal getQtaOrd() { return qtaOrd; @@ -85,4 +88,13 @@ public class InstantItemSituationIncomingItemDto { public String getUntMis() { return untMis; } + + public MtbAart getMtbAart() { + return mtbAart; + } + + public InstantItemSituationIncomingItemDto setMtbAart(MtbAart mtbAart) { + this.mtbAart = mtbAart; + return this; + } } 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 a8d66c0d..4fa8bc04 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 @@ -43,6 +43,7 @@ public class DBSettingsModel { private String produzioneDefaultCodAnag; private boolean flagPrintPackingListOnOrderClose; private boolean flagPrintEtichetteOnOrderClose; + private boolean flagPrintEtichetteOnLUClose; private int onNumCnfInputChanged = 1; private int onQtaTotInputChanged = 1; private boolean flagAccettazioneUseQtaOrd = false; @@ -57,6 +58,8 @@ public class DBSettingsModel { private boolean flagCanCreateInventario = true; private boolean flagCanAddUnknownItemsInventario = true; private boolean flagShouldAskToCreateOrUpdateRowInventario = false; + private String commessaMagazzino; + private boolean flagGeneraDocumentoSpedizione = false; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -283,6 +286,15 @@ public class DBSettingsModel { return this; } + public boolean isFlagPrintEtichetteOnLUClose() { + return flagPrintEtichetteOnLUClose; + } + + public DBSettingsModel setFlagPrintEtichetteOnLUClose(boolean flagPrintEtichetteOnLUClose) { + this.flagPrintEtichetteOnLUClose = flagPrintEtichetteOnLUClose; + return this; + } + public int getOnNumCnfInputChanged() { return onNumCnfInputChanged; } @@ -436,4 +448,22 @@ public class DBSettingsModel { this.flagConsentiFuoriPianoLogistico = flagConsentiFuoriPianoLogistico; return this; } + + public String getCommessaMagazzino() { + return commessaMagazzino; + } + + public DBSettingsModel setCommessaMagazzino(String commessaMagazzino) { + this.commessaMagazzino = commessaMagazzino; + return this; + } + + public boolean isFlagGeneraDocumentoSpedizione() { + return flagGeneraDocumentoSpedizione; + } + + public DBSettingsModel setFlagGeneraDocumentoSpedizione(boolean flagGeneraDocumentoSpedizione) { + this.flagGeneraDocumentoSpedizione = flagGeneraDocumentoSpedizione; + 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 a65aa78f..a38d4acf 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 @@ -15,6 +15,7 @@ import java.util.List; import javax.inject.Singleton; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.StbGestSetup; import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO; @@ -331,6 +332,10 @@ public class SettingsManager { .setGestName("PICKING") .setSection("SPEDIZIONE") .setKeySection("FLAG_PRINT_ETICHETTE_ON_CLOSE")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("FLAG_PRINT_ETICHETTE_ON_LU_CLOSE")); stbGestSetupList.add(new StbGestSetup() .setGestName("PICKING") .setSection("SPEDIZIONE") @@ -367,6 +372,14 @@ public class SettingsManager { .setGestName("PICKING") .setSection("INVENTARIO") .setKeySection("FLAG_SHOULD_ASK_TO_CREATE_OR_UPDATE_ROW")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SETUP") + .setKeySection("COMMESSA_MAGAZZINO")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("GENERA_DOC")); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> { @@ -394,6 +407,7 @@ public class SettingsManager { 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.setFlagPrintEtichetteOnLUClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_LU_CLOSE", Boolean.class, true)); dbSettingsModelIstance.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class)); dbSettingsModelIstance.setFilterFornitoreProd(getValueFromList(list, "PRODUZIONE", "FILTER_FORNTIORE_PROD", String.class)); dbSettingsModelIstance.setCodDtipOrdTrasfV(getValueFromList(list, "SPEDIZIONE", "COD_DTIP_ORD_TRASF", String.class)); @@ -403,6 +417,8 @@ public class SettingsManager { dbSettingsModelIstance.setFlagCanCreateInventario(getValueFromList(list, "INVENTARIO", "FLAG_CAN_CREATE_INVENTARIO", Boolean.class, Boolean.TRUE)); dbSettingsModelIstance.setFlagCanAddUnknownItemsInventario(getValueFromList(list, "INVENTARIO", "FLAG_CAN_ADD_UNKNOWN_ITEMS", Boolean.class, Boolean.TRUE)); dbSettingsModelIstance.setFlagShouldAskToCreateOrUpdateRowInventario(getValueFromList(list, "INVENTARIO", "FLAG_SHOULD_ASK_TO_CREATE_OR_UPDATE_ROW", Boolean.class, Boolean.FALSE)); + dbSettingsModelIstance.setCommessaMagazzino(getValueFromList(list, "SETUP", "COMMESSA_MAGAZZINO", String.class, CommonConst.Config.COMMESSA_MAG)); + dbSettingsModelIstance.setFlagGeneraDocumentoSpedizione(getValueFromList(list, "SPEDIZIONE", "GENERA_DOC", Boolean.class, Boolean.FALSE)); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); if (notePerdita != null) @@ -440,7 +456,7 @@ public class SettingsManager { } else if (clazz == Integer.class && value.getValue() != null) { return clazz.cast(Integer.parseInt(value.getValue())); } - } else if(defaultValue == null) { + } else if (defaultValue == null) { if (clazz == Boolean.class) { return clazz.cast(Boolean.FALSE); } else if (clazz == Integer.class) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UntMisUtils.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UntMisUtils.java new file mode 100644 index 00000000..289b2cce --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UntMisUtils.java @@ -0,0 +1,12 @@ +package it.integry.integrywmsnative.core.utility; + +import it.integry.integrywmsnative.core.model.MtbAart; +import it.integry.integrywmsnative.core.settings.SettingsManager; + +public class UntMisUtils { + + public static boolean shouldBeShowInColli(MtbAart mtbAart) { + return SettingsManager.iDB().isFlagForceAllToColli() || (mtbAart == null || !mtbAart.isFlagQtaCnfFissaBoolean()); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java index 8911f876..67352e9d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java @@ -290,7 +290,7 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(), Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter) + "

" + - "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, (int) artsCounter)), + "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.ordered_articles, (int) artsCounter)), null, () -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java index 1b27890f..d5979ce7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java @@ -797,7 +797,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF listModel.setSubDescription(x.getRifOrd()); - if(x.getDataConsD() != null) { + if (x.getDataConsD() != null) { String testataDataConsString = String.format(getString(R.string.ord_ven_testata_data_cons), UtilityDate.formatDate(x.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); listModel.setRightDescription(testataDataConsString); } @@ -861,7 +861,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(), Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, orders.size()), orders.size()) + "
" + - "" + codMarts.size() + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, codMarts.size()) + "" + codMarts.size() + " " + getActivity().getResources().getQuantityString(R.plurals.ordered_articles, codMarts.size()) + "
" + "" + alreadyRegisteredUL + " " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)), null, diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java index 756afb0c..03d7ea0e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java @@ -356,7 +356,7 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(), Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter) + "

" + - "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, (int) artsCounter)), + "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.ordered_articles, (int) artsCounter)), null, () -> { 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 5fc16190..df9ce635 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 @@ -10,7 +10,6 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.List; -import java.util.stream.Collectors; import javax.inject.Inject; @@ -240,7 +239,6 @@ public class PVOrdineAcquistoEditViewModel { articolo.setFlagQtaMultipla(art.getFlagQtaMultipla()); articolo.setQtaMinOrdinabile(art.getQtaMinOrdinabile()); articolo.setMerceDaRic(art.getMerceDaRic()); - articolo.setQtaCnf(art.getQtaCnf()); articolo.setUntMis(art.getUntMis()); articolo.setDescrizione(art.getDescrizione()); articolo.setDataIns(UtilityDate.getDateInstance()); @@ -250,7 +248,8 @@ public class PVOrdineAcquistoEditViewModel { articolo.setQtaProposta(art.getQtaProposta()); articolo.setNewNoPromo(art.isNewNoPromo()); articolo.setSystemNote(art.generateSystemNote()); - articolo.setQtaOrd(art.getQtaOrd()); + articolo.setQtaCnf(art.getQtaCnf() > 0f ? art.getQtaCnf() : 1); + articolo.setQtaOrd(art.getQtaOrd() > 0f ? art.getQtaOrd() : art.getQtaCnf()); articolo.setCodAlis(art.getCodAlis()); articolo.setCtMaxOrd(BigDecimal.valueOf(art.getCtMaxOrd())); @@ -279,9 +278,9 @@ public class PVOrdineAcquistoEditViewModel { } private List getNewArticoli() { - return mArticoliGriglia.stream() + return Stream.of(mArticoliGriglia) .filter(x -> x.getQtaOrd() > 0f) - .collect(Collectors.toList()); + .toList(); } public void orderNewProducts() { 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 c0159b5d..c2f844f9 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 @@ -14,9 +14,15 @@ import androidx.core.content.ContextCompat; import androidx.databinding.DataBindingUtil; import androidx.recyclerview.widget.LinearLayoutManager; +import com.annimon.stream.Collectors; +import com.annimon.stream.Stream; + +import org.apache.commons.lang3.StringUtils; + import java.util.ArrayList; import java.util.Calendar; import java.util.List; +import java.util.Map; import javax.inject.Inject; @@ -109,6 +115,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi } else { setGriglia(griglia); setListaArticoli(listArticoli); + this.onGrigliaRetrieved(); } }).show(requireActivity().getSupportFragmentManager(), "tag"); @@ -119,6 +126,33 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi titleText.setText(context.getText(R.string.pv_elenco_ordiniA_title_fragment).toString()); } + private void onGrigliaRetrieved() { + if (UtilityString.isNullOrEmpty(mGriglia.getCodAlis())) { + + Map downloadedGrids = Stream.of(mListArticoli).collect(Collectors.groupingBy(ArticoloOrdinabileDTO::getCodAlis, Collectors.counting())); + if (downloadedGrids != null && !downloadedGrids.isEmpty()) { + + List gridsDetails = Stream.of(downloadedGrids) + .map((el) -> "" + el.getKey() + ": " + el.getValue() + " " + getResources().getQuantityString(R.plurals.available_articles, el.getValue().intValue())) + .toList(); + + + DialogSimpleMessageView.makeInfoDialog(getText(R.string.grid_details).toString(), + Html.fromHtml( + String.format(getResources().getQuantityString(R.plurals.loaded_grids_message, (int) downloadedGrids.size()), downloadedGrids.size()) + + "

" + + StringUtils.join(gridsDetails, "
")), + null, + this::fetchOrders) + .show(requireActivity().getSupportFragmentManager(), "downloadedGridDetails"); + } else { + fetchOrders(); + } + } else { + fetchOrders(); + } + } + private void setGriglia(Griglia griglia) { mGriglia = griglia; mBinding.fabNewOrder.setVisibility(View.VISIBLE); @@ -129,7 +163,6 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi mBinding.descrLis.setText(griglia.getDescrLisa()); } mBinding.descrDepo.setText(griglia.getDescrDepo()); - fetchOrders(); } private void setListaArticoli(List listArticoli) { @@ -161,7 +194,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi mBinding.ordiniAEmptyView.setVisibility(ordini == null || ordini.size() <= 0 ? View.VISIBLE : View.GONE); refreshRenderedOrdini(ordini); mAdapter.updateItems(mRenderedOrderList); - if (mRenderedOrderList.size() <= 0 && mRedirectToNewOrder) { + if (mRenderedOrderList.isEmpty() && mRedirectToNewOrder) { createNewOrder(); } else { mRedirectToNewOrder = false; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java index 8470117d..a749d2e9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java @@ -217,7 +217,8 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr mViewModel.init( SettingsManager.i().getUser().getFullname(), SettingsManager.i().getUserSession().getDepo().getCodMdep(), - mCurrentGestione); + mCurrentGestione, + SettingsManager.iDB().isFlagGeneraDocumentoSpedizione()); } @Override diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java index 11f3e4fb..4f91e780 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java @@ -57,6 +57,7 @@ public class RettificaGiacenzeViewModel { private String mCurrentUser; private String mCurrentCodMdep; private boolean mIsCreatedLU; + private boolean generaDocIfVendita; private boolean mAnyEditDone = false; @@ -74,10 +75,11 @@ public class RettificaGiacenzeViewModel { } - public void init(String currentUser, String currentCodMdep, GestioneEnum defaultGestione) { + public void init(String currentUser, String currentCodMdep, GestioneEnum defaultGestione, boolean generaDocIfVendita) { this.mCurrentUser = currentUser; this.mCurrentCodMdep = currentCodMdep; this.mDefaultGestione = defaultGestione; + this.generaDocIfVendita = generaDocIfVendita; this.sendOnLoadingStarted(); @@ -352,7 +354,6 @@ public class RettificaGiacenzeViewModel { mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); -// if (!mIsCreatedLU && mCurrentMtbColt.isDocumentPresent()) { mtbColr .setQtaCol(BigDecimal.ZERO) .setNumCnf(BigDecimal.ZERO) @@ -382,39 +383,6 @@ public class RettificaGiacenzeViewModel { if (shouldCloseLU) closeLU(true, null); }, this::sendError); -// } else { -// mtbColr -// .setQtaCol(qtaTot) -// .setQtaCnf(qtaCnf) -// .setNumCnf(numCnf); -// -// MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone(); -// cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); -// -// cloneMtbColt.setMtbColr(new ObservableArrayList<>()); -// -// cloneMtbColt.getMtbColr().add(mtbColr); -// -// mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> { -// mtbColr -// .setDataCollo(value.getDataColloS()) -// .setNumCollo(value.getNumCollo()) -// .setGestione(value.getGestione()) -// .setSerCollo(value.getSerCollo()) -// .setRiga(value.getMtbColr().get(0).getRiga()) -// .setUntMis(pickingObjectDTO.getMtbAart().getUntMis()) -// .setMtbAart(pickingObjectDTO.getMtbAart()); -// -// mCurrentMtbColt.getMtbColr().add(mtbColr); -// -// this.mAnyEditDone = true; -// -// this.sendOnRowSaved(); -// this.sendOnLoadingEnded(); -// -// if (shouldCloseLU) closeLU(true, null); -// }, this::sendError); -// } } @@ -482,7 +450,7 @@ public class RettificaGiacenzeViewModel { } private void createDoc(MtbColt mtbColt, Runnable onComplete) { - if (!(mtbColt.getGestioneEnum() == GestioneEnum.VENDITA && mtbColt.getSegno() == -1)) { + if (!(mtbColt.getGestioneEnum() == GestioneEnum.VENDITA && mtbColt.getSegno() == -1) || !generaDocIfVendita) { onComplete.run(); return; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index c932a287..ff260ee8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java @@ -46,6 +46,7 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; import it.integry.integrywmsnative.core.settings.SettingsManager; +import it.integry.integrywmsnative.core.utility.UntMisUtils; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityExceptions; @@ -175,7 +176,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo setSupportActionBar(mBindings.toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); - + mFlagShowCodForn = SettingsManager.iDB().isShowCodFornSpedizione(); mDivideByGrpMerc = SettingsManager.iDB().isGroupShippingByCommodityGroup(); @@ -337,12 +338,11 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo qtaColWithdrawRows.addAndGet(row.getQtaCol()); }); - spedizioneListModel.setBadge2(x.getSitArtOrdDTO().getCodJcom()); - if (!anyLUPresent) { spedizioneListModel.setGroupTitle(!mEnableFakeGiacenza ? getString(R.string.picking_not_available) : ""); + spedizioneListModel.setBadge2(getCommessa(x.getSitArtOrdDTO().getCodJcom())); - if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) { + if (UntMisUtils.shouldBeShowInColli(x.getMtbAart())) { spedizioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col)); spedizioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd()); spedizioneListModel.setQtaEvasa(numCnfWithdrawRows.getBigDecimalValue()); @@ -378,15 +378,19 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo cloneModel.setGroupTitle(String.format("%s: %s", getString(R.string.position_text), UtilityString.isNullOrEmpty(mtbColtToPick.getPosizione()) ? "N.A." : mtbColtToPick.getPosizione())); MtbColr mtbColrToDispatch = mtbColtToPick.getMtbColr() != null && mtbColtToPick.getMtbColr().size() > 0 ? mtbColtToPick.getMtbColr().get(0) : null; - if (mtbColrToDispatch != null && !UtilityString.isNullOrEmpty(mtbColrToDispatch.getPartitaMag())) { - cloneModel.setSubDescrizione1(String.format(getString(R.string.batch_lot_text), mtbColrToDispatch.getPartitaMag())); - cloneModel.setBadge2(mtbColrToDispatch.getCodJcom()); + if (mtbColrToDispatch != null) { + if(!UtilityString.isNullOrEmpty(mtbColrToDispatch.getPartitaMag())) + cloneModel.setSubDescrizione1(String.format(getString(R.string.batch_lot_text), mtbColrToDispatch.getPartitaMag())); + + if (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getCodJcom())) { + cloneModel.setBadge2(getCommessa(mtbColrToDispatch.getCodJcom())); + } } cloneModel.setSourceMtbColr(mtbColrToDispatch); - cloneModel.setSubDescrizione2(String.format(getString(R.string.lu_number_data_text), mtbColtToPick.getNumCollo(), UtilityDate.formatDate(mtbColtToPick.getDataColloD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))); - if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) { + + if (UntMisUtils.shouldBeShowInColli(x.getMtbAart())) { cloneModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col)); BigDecimal numCnfOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter); @@ -514,9 +518,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo spedizioneListModel.setGroupTitle(groupTitle); if (!anyLUPresent) { - spedizioneListModel.setBadge2(x.getSitArtOrdDTO().getCodJcom()); + spedizioneListModel.setBadge2(getCommessa(x.getSitArtOrdDTO().getCodJcom())); - if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) { + if (UntMisUtils.shouldBeShowInColli(x.getMtbAart())) { spedizioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col)); spedizioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd()); spedizioneListModel.setQtaEvasa(numCnfWithdrawRows.getBigDecimalValue()); @@ -547,9 +551,11 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo MtbColr mtbColrToDispatch = mtbColtToPick.getMtbColr() != null && mtbColtToPick.getMtbColr().size() > 0 ? mtbColtToPick.getMtbColr().get(0) : null; - if (mtbColrToDispatch != null && !UtilityString.isNullOrEmpty(mtbColrToDispatch.getPartitaMag())) { - cloneModel.setSubDescrizione1(String.format(getString(R.string.batch_lot_text), mtbColrToDispatch.getPartitaMag())); - cloneModel.setBadge2(mtbColrToDispatch.getCodJcom()); + if (mtbColrToDispatch != null) { + if (!UtilityString.isNullOrEmpty(mtbColrToDispatch.getPartitaMag())) + cloneModel.setSubDescrizione1(String.format(getString(R.string.batch_lot_text), mtbColrToDispatch.getPartitaMag())); + + cloneModel.setBadge2(getCommessa(mtbColrToDispatch.getCodJcom())); } cloneModel.setSourceMtbColr(mtbColrToDispatch); @@ -632,6 +638,19 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo return sortedList; } + private String getCommessa(String codJcom) { + var commessaMagazzino = SettingsManager.iDB().getCommessaMagazzino(); + + if(UtilityString.isNullOrEmpty(commessaMagazzino)) { + return UtilityString.isNull(codJcom, "Magazzino").toUpperCase(); + } else { + if(commessaMagazzino.equalsIgnoreCase(codJcom) || codJcom == null) + return "Magazzino".toUpperCase(); + else + return codJcom.toUpperCase(); + } + } + private boolean isThereAnyItemToPick(List dataList) { return Stream.of(dataList) .anyMatch(x -> !x.isHidden()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java index a74b762b..f59ed2f5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java @@ -652,7 +652,12 @@ public class SpedizioneViewModel { if (mEnableGiacenza) { Stream.of(pickingList).forEach(pickingObjectDTO -> { - if (Stream.of(pickingObjectDTO.getMtbColts()).anyMatch(x -> Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) && x.getDataColloS().equals(scannedUL.getDataColloS()) && x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) && (scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE))) { + if (Stream.of(pickingObjectDTO.getMtbColts()) + .anyMatch(x -> + Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) && + x.getDataColloS().equals(scannedUL.getDataColloS()) && + x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) && + (scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE))) { matchPickingObject.add(pickingObjectDTO); } @@ -679,7 +684,13 @@ public class SpedizioneViewModel { ObservableArrayList cloneMtbColrs = (ObservableArrayList) cloneMtbColt.getMtbColr().clone(); - Stream.of(cloneMtbColt.getMtbColr()).filter(x -> !(UtilityString.equalsIgnoreCase(x.getCodMart(), matchedObject.getSitArtOrdDTO().getCodMart()) && UtilityString.equalsIgnoreCase(x.getCodTagl(), matchedObject.getSitArtOrdDTO().getCodTagl()) && UtilityString.equalsIgnoreCase(x.getCodCol(), matchedObject.getSitArtOrdDTO().getCodCol()) && (!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), matchedObject.getSitArtOrdDTO().getPartitaMag()) || UtilityString.isNullOrEmpty(matchedObject.getSitArtOrdDTO().getPartitaMag())))).forEach(cloneMtbColrs::remove); + Stream.of(cloneMtbColt.getMtbColr()) + .filter(x -> !(UtilityString.equalsIgnoreCase(x.getCodMart(), matchedObject.getSitArtOrdDTO().getCodMart()) && + UtilityString.equalsIgnoreCase(x.getCodTagl(), matchedObject.getSitArtOrdDTO().getCodTagl()) && + UtilityString.equalsIgnoreCase(x.getCodCol(), matchedObject.getSitArtOrdDTO().getCodCol()) && + (!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), matchedObject.getSitArtOrdDTO().getPartitaMag()) || + UtilityString.isNullOrEmpty(matchedObject.getSitArtOrdDTO().getPartitaMag())))) + .forEach(cloneMtbColrs::remove); cloneMtbColt.setMtbColr(cloneMtbColrs); @@ -1404,7 +1415,7 @@ public class SpedizioneViewModel { filledMtbColts, positionedMtbColts -> { - this.askPrint(shouldPrint, positionedMtbColts, () -> { + this.askPrint((shouldPrint && SettingsManager.iDB().isFlagPrintEtichetteOnLUClose()), positionedMtbColts, () -> { Stream.of(positionedMtbColts) .filter(x -> !this.mColliRegistrati.contains(x)) .forEach(x -> this.mColliRegistrati.add(x)); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java index 9fab765f..b30cf2a6 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java @@ -483,7 +483,8 @@ public class DialogInputQuantityV2ViewModel { return false; } - if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd)) { + if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd) && + !this.mtbAart.get().isFlagQtaCnfFissaBoolean()) { this.mListener.onError(new OverflowNumCnfOrderedQuantityException()); return false; @@ -495,7 +496,8 @@ public class DialogInputQuantityV2ViewModel { return false; } - if (UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfAvailable)) { + if (UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfAvailable) && + !this.mtbAart.get().isFlagQtaCnfFissaBoolean()) { this.mListener.onError(new OverflowNumCnfAvailableQuantityException()); return false; diff --git a/app/src/main/res/layout/dialog_info_situazione_articolo_available_list_item.xml b/app/src/main/res/layout/dialog_info_situazione_articolo_available_list_item.xml index 50ae192c..396ec500 100644 --- a/app/src/main/res/layout/dialog_info_situazione_articolo_available_list_item.xml +++ b/app/src/main/res/layout/dialog_info_situazione_articolo_available_list_item.xml @@ -10,6 +10,7 @@ + @@ -206,6 +207,34 @@ android:visibility="@{item.qtaCol != null ? View.VISIBLE : View.GONE}"> + + + + + diff --git a/app/src/main/res/layout/dialog_info_situazione_articolo_incoming_list_item.xml b/app/src/main/res/layout/dialog_info_situazione_articolo_incoming_list_item.xml index c8dbf76c..4b2232a9 100644 --- a/app/src/main/res/layout/dialog_info_situazione_articolo_incoming_list_item.xml +++ b/app/src/main/res/layout/dialog_info_situazione_articolo_incoming_list_item.xml @@ -7,10 +7,15 @@ + + + + + @@ -21,16 +26,16 @@ + android:paddingVertical="8dp"> + android:orientation="vertical"> - + + + + + + diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ec5ef2bd..4a4955f5 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -91,6 +91,10 @@ articoli + articolo disponibile + articoli disponibili + + articolo ordinato articoli ordinati @@ -102,6 +106,10 @@ %d ordine]]> %d ordini]]> + + %d griglia]]> + %d griglie]]> + @string/piece pezzi @@ -450,4 +458,5 @@ L\'ordine presenta uno o più articoli non validi per la lista selezionata! Sei sicuro di voler continuare?]]> + Griglie disponibili \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9072d54c..333837f1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -9,9 +9,15 @@ + item available + items available + + + ordered item ordered items + already registered LU already registered LUs @@ -21,6 +27,10 @@ %d order selected]]> %d orders selected]]> + + %d grid downloaded]]> + %d grids downloaded]]> + @string/piece pieces @@ -457,4 +467,5 @@ One or more ordered products are not available in the selected list! Do you wish to continue?]]> + Available grids diff --git a/build.gradle b/build.gradle index 0c93ba8e..f95f6121 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ buildscript { ext { kotlin_version = '1.8.0' - agp_version = '8.1.0-alpha10' + agp_version = '8.1.0-alpha11' } repositories {