diff --git a/app/build.gradle b/app/build.gradle index 7896bb75..1ed462a4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 500 - def appVersionName = '1.46.12' + def appVersionCode = 501 + def appVersionName = '1.46.13' signingConfigs { release { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbAart.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbAart.java index fca85348..5a0eb06c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbAart.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbAart.java @@ -97,6 +97,8 @@ public class MtbAart extends EntityBase { private List mtbUntMis; + private List mtbAartBarCode; + public enum UntMisRifPesoEnum { C, @@ -965,6 +967,13 @@ public class MtbAart extends EntityBase { return getMtbUntMis() != null && !getMtbUntMis().isEmpty() ? getMtbUntMis().get(0) : null; } + public List getMtbAartBarCode() { + return mtbAartBarCode; + } + + public void setMtbAartBarCode(List mtbAartBarCode) { + this.mtbAartBarCode = mtbAartBarCode; + } @Override public boolean equals(Object o) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbAartBarCode.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbAartBarCode.java new file mode 100644 index 00000000..b499fcbe --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbAartBarCode.java @@ -0,0 +1,55 @@ +package it.integry.integrywmsnative.core.model; + +import java.math.BigDecimal; + +public class MtbAartBarCode extends EntityBase { + private String codBarre; + private String codMart; + private BigDecimal qtaCnf; + private String flagPrimario; + private String tipoCodBarre; + + public MtbAartBarCode() { + this.type = "mtb_aart_bar_code"; + } + + public String getCodBarre() { + return codBarre; + } + + public void setCodBarre(String codBarre) { + this.codBarre = codBarre; + } + + public String getCodMart() { + return codMart; + } + + public void setCodMart(String codMart) { + this.codMart = codMart; + } + + public BigDecimal getQtaCnf() { + return qtaCnf; + } + + public void setQtaCnf(BigDecimal qtaCnf) { + this.qtaCnf = qtaCnf; + } + + public String getFlagPrimario() { + return flagPrimario; + } + + public void setFlagPrimario(String flagPrimario) { + this.flagPrimario = flagPrimario; + } + + public String getTipoCodBarre() { + return tipoCodBarre; + } + + public void setTipoCodBarre(String tipoCodBarre) { + this.tipoCodBarre = tipoCodBarre; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java index 8345cac7..da57df96 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java @@ -282,6 +282,7 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra .setPartitaMag(partitaMag) .setDataScad(dataScad) .setCanInputZeroQuantity(true) + .setCanOverflowOrderQuantity(true) .setCanLUBeClosed(false); if (!dialogInputQuantityV2View.isVisible()) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java index 7433c52b..690502bd 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java @@ -11,6 +11,7 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; @@ -24,6 +25,7 @@ import it.integry.integrywmsnative.core.data_store.db.respository_new.VerificaGi import it.integry.integrywmsnative.core.exception.NoArtsFoundException; import it.integry.integrywmsnative.core.mapper.VerificaGiacenzeMapper; import it.integry.integrywmsnative.core.model.MtbAart; +import it.integry.integrywmsnative.core.model.MtbAartBarCode; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GiacenzaPvRESTConsumer; import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel; @@ -116,7 +118,7 @@ public class VerificaGiacenzeViewModel { public void randomizeElements(int elementsCount) { - for(int i = 0; i < elementsCount; i++) { + for (int i = 0; i < elementsCount; i++) { var randomIndex = (int) (Math.random() * currentLoadedAnagrafiche.size()); var randomAnagrafica = currentLoadedAnagrafiche.get(randomIndex); @@ -168,7 +170,7 @@ public class VerificaGiacenzeViewModel { public void save() throws Exception { - if(currentVerificaRows.getValue().isEmpty()) { + if (currentVerificaRows.getValue().isEmpty()) { delete(); return; } @@ -280,10 +282,21 @@ public class VerificaGiacenzeViewModel { } public MtbAart searchAnagraficaByBarcode(String barcode) { - return currentLoadedAnagrafiche.parallelStream() - .filter(mtbAart -> barcode.equals(mtbAart.getBarCode())) + MtbAart mtbAart = currentLoadedAnagrafiche.parallelStream() + .filter(x -> barcode.equals(x.getBarCode())) .findFirst() .orElse(null); + + if (mtbAart == null) { + mtbAart = currentLoadedAnagrafiche.parallelStream() + .filter(x -> x.getMtbAartBarCode() != null && + x.getMtbAartBarCode().stream() + .anyMatch(y -> barcode.equals(y.getCodBarre()))) + .findFirst() + .orElse(null); + } + + return mtbAart; } public void insertRow(VerificaGiacenzeRowEntity rowEntity) {