From 641fb3964dbcca93d2a6aea5998783eca962149c Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 16 Oct 2020 15:32:15 +0200 Subject: [PATCH] Fix vari --- app/build.gradle | 1 + .../gest/spedizione/SpedizioneActivity.java | 56 +++++++++++++++++-- .../dialogs/DialogVenditaFiltroAvanzato.java | 4 +- .../DialogInputQuantityV2ViewModel.java | 2 +- 4 files changed, 56 insertions(+), 7 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 10a51d0c..d5ecf2e2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -97,6 +97,7 @@ dependencies { implementation 'com.google.firebase:firebase-perf' implementation 'com.google.firebase:firebase-crashlytics' implementation 'com.google.firebase:firebase-analytics' + implementation 'com.google.android.gms:play-services-basement:17.4.0' implementation 'androidx.appcompat:appcompat:1.2.0' 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 ad00fa29..13966557 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 @@ -426,8 +426,18 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo spedizioneListModels.add(spedizioneListModel); } else { + BigDecimal qtaColOrdCounter = x.getSitArtOrdDTO().getQtaOrd(); + BigDecimal numCnfOrdCounter = x.getSitArtOrdDTO().getNumCnfOrd(); + + for (MtbColt mtbColtToPick : x.getMtbColts()) { + if(UtilityBigDecimal.equalsTo(qtaColOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaColOrdCounter, BigDecimal.ZERO)) + break; + + if(UtilityBigDecimal.equalsTo(numCnfOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(numCnfOrdCounter, BigDecimal.ZERO)) + break; + SpedizioneListModel cloneModel = (SpedizioneListModel) spedizioneListModel.clone(); @@ -441,11 +451,49 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) { cloneModel.setUntMis("col"); - cloneModel.setQtaTot(mtbColrToDispatch != null ? mtbColrToDispatch.getNumCnf() : x.getSitArtOrdDTO().getNumCnfOrd()); - cloneModel.setQtaEvasa(numCnfWithdrawRows.getBigDecimalValue()); + + BigDecimal numCnfOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter); + + BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter); + if(UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) continue; + cloneModel.setQtaTot(qtaTot); + + numCnfOrdCounter = numCnfOrdCounter.subtract(numCnfOrdToSubstract); + + BigDecimal qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) + .filter(y -> y.getRefMtbColr() != null && + y.getRefMtbColr().getNumCollo().equals(mtbColrToDispatch.getNumCollo()) && + y.getRefMtbColr().getDataColloD().equals(mtbColrToDispatch.getDataColloD()) && + y.getRefMtbColr().getSerCollo().equals(mtbColrToDispatch.getSerCollo()) && + y.getRefMtbColr().getGestioneEnum().equals(mtbColrToDispatch.getGestioneEnum()) && + UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodMart(), mtbColrToDispatch.getCodMart()) && + UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodTagl(), mtbColrToDispatch.getCodTagl()) && + UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodCol(), mtbColrToDispatch.getCodCol())) + .map(MtbColr::getNumCnf) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + cloneModel.setQtaEvasa(qtaEvasa); } else { - cloneModel.setQtaTot(mtbColrToDispatch != null ? mtbColrToDispatch.getQtaCol() : x.getSitArtOrdDTO().getQtaOrd()); - cloneModel.setQtaEvasa(qtaColWithdrawRows.getBigDecimalValue()); + BigDecimal qtaOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter); + + BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter); + if(UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) continue; + cloneModel.setQtaTot(qtaTot); + qtaColOrdCounter = qtaColOrdCounter.subtract(qtaOrdToSubstract); + + BigDecimal qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) + .filter(y -> y.getRefMtbColr() != null && + y.getRefMtbColr().getNumCollo().equals(mtbColrToDispatch.getNumCollo()) && + y.getRefMtbColr().getDataColloD().equals(mtbColrToDispatch.getDataColloD()) && + y.getRefMtbColr().getSerCollo().equals(mtbColrToDispatch.getSerCollo()) && + y.getRefMtbColr().getGestioneEnum().equals(mtbColrToDispatch.getGestioneEnum()) && + UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodMart(), mtbColrToDispatch.getCodMart()) && + UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodTagl(), mtbColrToDispatch.getCodTagl()) && + UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodCol(), mtbColrToDispatch.getCodCol())) + .map(MtbColr::getQtaCol) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + cloneModel.setQtaEvasa(qtaEvasa); if (x.getMtbAart() != null) cloneModel.setUntMis(x.getMtbAart().getUntMis()); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java index e0630d3f..946a4566 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java @@ -473,10 +473,10 @@ public class DialogVenditaFiltroAvanzato { return Stream .of(currentFilteredOrderList) + .filter(x -> x.getIdViaggio() != null) + .sortBy(x -> -x.getIdViaggio()) .map(x -> x.getIdViaggio() != null ? x.getIdViaggio().toString() : null) - .withoutNulls() .distinct() - .sorted() .toList(); } 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 784898d7..d544eb4c 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 @@ -77,7 +77,7 @@ public class DialogInputQuantityV2ViewModel { this.internalQtaTot = totalQtaOrd; } - this.shouldAskDataScad = mtbAart.get().isFlagQtaCnfFissaBoolean() && mtbAart.get().getGgScadPartita() != null && mtbAart.get().getGgScadPartita() > 0; + this.shouldAskDataScad = mtbAart.get().isFlagTracciabilitaBoolean() && mtbAart.get().getGgScadPartita() != null && mtbAart.get().getGgScadPartita() > 0; this.shouldShowDataScad = this.internalDataScad != null; this.blockedNumCnf.set(false);