From 96bd5d516c95c437b317ff57f8514af790d9bade Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 31 Mar 2023 09:38:56 +0200 Subject: [PATCH 01/10] Aggiunta qta in arrivo nella retrieve della situazione ordini --- .../core/rest/consumers/OrdiniRESTConsumer.java | 5 ++++- .../integrywmsnative/core/rest/model/SitArtOrdDTO.java | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) 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; + } } From e90bd46a42c93694799231cdd0c2c099f023dcc2 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 3 Apr 2023 10:19:56 +0200 Subject: [PATCH 02/10] Implementata gestione delle qta in arrivo durante la preparazione della merce in spedizione. Sistemata gestione popup informativo in spedizione. --- .../core/model/MvwSitArtUdcDetInventario.java | 9 ++++ .../rest/consumers/ArticoloRESTConsumer.java | 21 +++++++- .../rest/consumers/GiacenzaRESTConsumer.java | 51 ++++++++++++++++++- .../InstantItemSituationIncomingItemDto.java | 12 +++++ .../core/settings/DBSettingsModel.java | 10 ++++ .../core/settings/SettingsManager.java | 6 +++ .../gest/spedizione/SpedizioneActivity.java | 40 +++++++++++---- .../gest/spedizione/SpedizioneViewModel.java | 15 +++++- ...situazione_articolo_incoming_list_item.xml | 2 +- 9 files changed, 150 insertions(+), 16 deletions(-) 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..4dce7962 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 @@ -38,6 +38,7 @@ public class MvwSitArtUdcDetInventario { private BigDecimal pesoLordoKg; private String codJfas; private MtbAart mtbAart; + private MtbUntMis mtbUntMis; public String getGestione() { @@ -283,6 +284,14 @@ public class MvwSitArtUdcDetInventario { return this; } + public MtbUntMis getMtbUntMis() { + return mtbUntMis; + } + + public MvwSitArtUdcDetInventario setMtbUntMis(MtbUntMis mtbUntMis) { + this.mtbUntMis = mtbUntMis; + return this; + } public MtbColr toMtbColr() { return new MtbColr() 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..6f7db1a9 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 @@ -14,6 +14,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; @@ -131,8 +132,26 @@ 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); + } } 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..6dbc3090 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,54 @@ 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 -> { + + var inputUntMis = new ArrayList(); + + if (data.getIncomingItems() != null && !data.getIncomingItems().isEmpty()) { + inputUntMis.addAll(Stream.of(data.getIncomingItems()) + .map(InstantItemSituationIncomingItemDto::getUntMis) + .toList()); + } + + if (data.getAvailableItems() != null && !data.getAvailableItems().isEmpty()) { + inputUntMis.addAll(Stream.of(data.getAvailableItems()) + .map(MvwSitArtUdcDetInventario::getUntMis) + .toList()); + } + + if (inputUntMis.isEmpty()) { + onComplete.run(data); + return; + } + + mArticoloRESTConsumer.getUntMisArts(inputUntMis, mtbUntMiss -> { + + if (data.getIncomingItems() != null && !data.getIncomingItems().isEmpty()) { + for (var item : data.getIncomingItems()){ + var mtbUntMis = Stream.of(mtbUntMiss).filter(x -> x.getUntMis().equalsIgnoreCase(item.getUntMis())) + .findFirstOrElse(null); + + if(mtbUntMis != null) + item.setMtbUntMis(mtbUntMis); + } + } + + if (data.getAvailableItems() != null && !data.getAvailableItems().isEmpty()) { + for (var item : data.getAvailableItems()){ + var mtbUntMis = Stream.of(mtbUntMiss).filter(x -> x.getUntMis().equalsIgnoreCase(item.getUntMis())) + .findFirstOrElse(null); + + if(mtbUntMis != null) + item.setMtbUntMis(mtbUntMis); + } + } + + onComplete.run(data); + }, onFailed); + + + }, onFailed); } @Override 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..b05d05bf 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.MtbUntMis; + public class InstantItemSituationIncomingItemDto { private BigDecimal qtaOrd; @@ -21,6 +23,7 @@ public class InstantItemSituationIncomingItemDto { private String codJcom; private String codMdep; private String untMis; + private MtbUntMis mtbUntMis; public BigDecimal getQtaOrd() { return qtaOrd; @@ -85,4 +88,13 @@ public class InstantItemSituationIncomingItemDto { public String getUntMis() { return untMis; } + + public MtbUntMis getMtbUntMis() { + return mtbUntMis; + } + + public InstantItemSituationIncomingItemDto setMtbUntMis(MtbUntMis mtbUntMis) { + this.mtbUntMis = mtbUntMis; + 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..360bf8bf 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 @@ -57,6 +57,7 @@ public class DBSettingsModel { private boolean flagCanCreateInventario = true; private boolean flagCanAddUnknownItemsInventario = true; private boolean flagShouldAskToCreateOrUpdateRowInventario = false; + private String commessaMagazzino; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -436,4 +437,13 @@ public class DBSettingsModel { this.flagConsentiFuoriPianoLogistico = flagConsentiFuoriPianoLogistico; return this; } + + public String getCommessaMagazzino() { + return commessaMagazzino; + } + + public DBSettingsModel setCommessaMagazzino(String commessaMagazzino) { + this.commessaMagazzino = commessaMagazzino; + 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..d8e40df3 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; @@ -367,6 +368,10 @@ 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")); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> { @@ -403,6 +408,7 @@ 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)); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); if (notePerdita != null) 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..53d0f760 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 @@ -175,7 +175,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo setSupportActionBar(mBindings.toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); - + mFlagShowCodForn = SettingsManager.iDB().isShowCodFornSpedizione(); mDivideByGrpMerc = SettingsManager.iDB().isGroupShippingByCommodityGroup(); @@ -337,10 +337,9 @@ 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())) { spedizioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col)); @@ -378,14 +377,18 @@ 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())) { cloneModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col)); @@ -514,7 +517,7 @@ 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())) { spedizioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col)); @@ -547,9 +550,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 +637,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..ec2d7989 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); 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..7d50bfc7 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 @@ -74,7 +74,7 @@ android:layout_height="wrap_content" android:backgroundTint="@color/colorPrimary" android:gravity="center" - android:text="@{UtilityNumber.decimalToString(item.qtaOrd, 2)}" + android:text="@{UtilityNumber.decimalToString(item.qtaOrd, item.mtbUntMis.cifreDec.intValue())}" android:textAllCaps="true" android:textColor="@android:color/white" android:textStyle="bold" From cbd772bf7e01f60830ced80c6d2959f80b867af2 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 3 Apr 2023 10:20:27 +0200 Subject: [PATCH 03/10] -> v1.32.26 (366) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index bed773e3..5820f46d 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 = 366 + def appVersionName = '1.32.26' signingConfigs { release { From 400f1440dbab18303ea73f57bb31cbcb207a2ec3 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 3 Apr 2023 14:09:31 +0200 Subject: [PATCH 04/10] =?UTF-8?q?Completata=20gestione=20delle=20unit?= =?UTF-8?q?=C3=A0=20di=20misura=20in=20colli=20nel=20popup=20informativo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/model/MvwSitArtUdcDetInventario.java | 11 --- .../rest/consumers/ArticoloRESTConsumer.java | 32 +++++++ .../rest/consumers/GiacenzaRESTConsumer.java | 95 ++++++++++--------- .../InstantItemSituationIncomingItemDto.java | 12 +-- .../core/utility/UntMisUtils.java | 12 +++ .../gest/spedizione/SpedizioneActivity.java | 7 +- ...ituazione_articolo_available_list_item.xml | 31 ++++++ ...situazione_articolo_incoming_list_item.xml | 51 ++++++++-- 8 files changed, 178 insertions(+), 73 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/utility/UntMisUtils.java 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 4dce7962..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 @@ -38,8 +38,6 @@ public class MvwSitArtUdcDetInventario { private BigDecimal pesoLordoKg; private String codJfas; private MtbAart mtbAart; - private MtbUntMis mtbUntMis; - public String getGestione() { return gestione; @@ -284,15 +282,6 @@ public class MvwSitArtUdcDetInventario { return this; } - public MtbUntMis getMtbUntMis() { - return mtbUntMis; - } - - public MvwSitArtUdcDetInventario setMtbUntMis(MtbUntMis mtbUntMis) { - this.mtbUntMis = mtbUntMis; - 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 6f7db1a9..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; @@ -59,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(",")); @@ -154,4 +157,33 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer { }.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 6dbc3090..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 @@ -124,51 +124,7 @@ public class GiacenzaRESTConsumer extends _BaseRESTConsumer { public void onResponse(Call> call, Response> response) { analyzeAnswer(response, "getInstantItemSituation", data -> { - var inputUntMis = new ArrayList(); - - if (data.getIncomingItems() != null && !data.getIncomingItems().isEmpty()) { - inputUntMis.addAll(Stream.of(data.getIncomingItems()) - .map(InstantItemSituationIncomingItemDto::getUntMis) - .toList()); - } - - if (data.getAvailableItems() != null && !data.getAvailableItems().isEmpty()) { - inputUntMis.addAll(Stream.of(data.getAvailableItems()) - .map(MvwSitArtUdcDetInventario::getUntMis) - .toList()); - } - - if (inputUntMis.isEmpty()) { - onComplete.run(data); - return; - } - - mArticoloRESTConsumer.getUntMisArts(inputUntMis, mtbUntMiss -> { - - if (data.getIncomingItems() != null && !data.getIncomingItems().isEmpty()) { - for (var item : data.getIncomingItems()){ - var mtbUntMis = Stream.of(mtbUntMiss).filter(x -> x.getUntMis().equalsIgnoreCase(item.getUntMis())) - .findFirstOrElse(null); - - if(mtbUntMis != null) - item.setMtbUntMis(mtbUntMis); - } - } - - if (data.getAvailableItems() != null && !data.getAvailableItems().isEmpty()) { - for (var item : data.getAvailableItems()){ - var mtbUntMis = Stream.of(mtbUntMiss).filter(x -> x.getUntMis().equalsIgnoreCase(item.getUntMis())) - .findFirstOrElse(null); - - if(mtbUntMis != null) - item.setMtbUntMis(mtbUntMis); - } - } - - onComplete.run(data); - }, onFailed); - - + fillInstantItemSituationWithMtbAarts(data, onComplete, onFailed); }, onFailed); } @@ -179,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/model/giacenza/InstantItemSituationIncomingItemDto.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/giacenza/InstantItemSituationIncomingItemDto.java index b05d05bf..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,7 +3,7 @@ package it.integry.integrywmsnative.core.rest.model.giacenza; import java.math.BigDecimal; import java.time.LocalDate; -import it.integry.integrywmsnative.core.model.MtbUntMis; +import it.integry.integrywmsnative.core.model.MtbAart; public class InstantItemSituationIncomingItemDto { @@ -23,7 +23,7 @@ public class InstantItemSituationIncomingItemDto { private String codJcom; private String codMdep; private String untMis; - private MtbUntMis mtbUntMis; + private MtbAart mtbAart; public BigDecimal getQtaOrd() { return qtaOrd; @@ -89,12 +89,12 @@ public class InstantItemSituationIncomingItemDto { return untMis; } - public MtbUntMis getMtbUntMis() { - return mtbUntMis; + public MtbAart getMtbAart() { + return mtbAart; } - public InstantItemSituationIncomingItemDto setMtbUntMis(MtbUntMis mtbUntMis) { - this.mtbUntMis = mtbUntMis; + public InstantItemSituationIncomingItemDto setMtbAart(MtbAart mtbAart) { + this.mtbAart = mtbAart; return this; } } 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/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index 53d0f760..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; @@ -341,7 +342,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo 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()); @@ -389,7 +390,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo 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); @@ -519,7 +520,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo if (!anyLUPresent) { 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()); 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 7d50bfc7..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"> - + + + + + + From fc8469bf071b64953b1d1fedd285eae6a301db67 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 3 Apr 2023 14:15:52 +0200 Subject: [PATCH 05/10] -> v1.32.27 (367) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5820f46d..27e7f5ee 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 366 - def appVersionName = '1.32.26' + def appVersionCode = 367 + def appVersionName = '1.32.27' signingConfigs { release { From cfbb27a67b6620f8c314727a0ac926fc105bc4d8 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 3 Apr 2023 18:03:23 +0200 Subject: [PATCH 06/10] =?UTF-8?q?Abilitato=20controllo=20del=20num=5Fcnf?= =?UTF-8?q?=20solo=20se=20l'articolo=20non=20=C3=A8=20a=20qta=5Fcnf=20fiss?= =?UTF-8?q?a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../input_quantity_v2/DialogInputQuantityV2ViewModel.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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; From c6bbde2b6742c2459c65576c7f8fd8754b044af5 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Tue, 4 Apr 2023 10:35:57 +0200 Subject: [PATCH 07/10] Implementato in Rettifica Giacenze il controllo della setup che determina la creazione dei documenti in Spedizione --- .../core/settings/DBSettingsModel.java | 10 +++++ .../core/settings/SettingsManager.java | 5 +++ .../RettificaGiacenzeFragment.java | 3 +- .../RettificaGiacenzeViewModel.java | 40 ++----------------- 4 files changed, 21 insertions(+), 37 deletions(-) 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 360bf8bf..09204f60 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 @@ -58,6 +58,7 @@ public class DBSettingsModel { private boolean flagCanAddUnknownItemsInventario = true; private boolean flagShouldAskToCreateOrUpdateRowInventario = false; private String commessaMagazzino; + private boolean flagGeneraDocumentoSpedizione = false; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -446,4 +447,13 @@ public class DBSettingsModel { 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 d8e40df3..49055621 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 @@ -372,6 +372,10 @@ public class SettingsManager { .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 -> { @@ -409,6 +413,7 @@ public class SettingsManager { 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) 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; } From b02e12d76e566682f38c24d87a0d73ba4fad205e Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Tue, 4 Apr 2023 10:36:46 +0200 Subject: [PATCH 08/10] -> v1.32.28 (368) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 27e7f5ee..3f99e774 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 367 - def appVersionName = '1.32.27' + def appVersionCode = 368 + def appVersionName = '1.32.28' signingConfigs { release { From 0ae6bbcd96b65075252ee1a8dfe083e1c5738777 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Thu, 13 Apr 2023 19:11:11 +0200 Subject: [PATCH 09/10] CARELLI - aggiunto dettaglio griglie in ordini acquisto CARELLI - impostata qta default in inserimento qta da ordinare ad 1 ct in ordini di acquisto CARELLI - aggiunto flag stampa in chiusura ul spedizione --- .../core/settings/DBSettingsModel.java | 10 +++++ .../core/settings/SettingsManager.java | 7 +++- .../MainAccettazioneFragment.java | 2 +- .../OrdiniUscitaElencoFragment.java | 4 +- .../ProdOrdineProduzioneElencoFragment.java | 2 +- .../PVOrdineAcquistoEditViewModel.java | 9 ++--- .../PVOrdiniAcquistoGrigliaFragment.java | 37 ++++++++++++++++++- .../gest/spedizione/SpedizioneViewModel.java | 2 +- app/src/main/res/values-it/strings.xml | 9 +++++ app/src/main/res/values/strings.xml | 11 ++++++ build.gradle | 2 +- 11 files changed, 81 insertions(+), 14 deletions(-) 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 09204f60..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; @@ -285,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; } 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 49055621..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 @@ -332,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") @@ -403,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)); @@ -451,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/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/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java index ec2d7989..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 @@ -1415,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/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 { From 2e39754c203c533a89d7e95a3dd8c116fc45030c Mon Sep 17 00:00:00 2001 From: ValerioC Date: Thu, 13 Apr 2023 19:12:29 +0200 Subject: [PATCH 10/10] -> v1.32.29 (369) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3f99e774..dc4823cd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 368 - def appVersionName = '1.32.28' + def appVersionCode = 369 + def appVersionName = '1.32.29' signingConfigs { release {