From 4cd791eead2ea9eb7b9a66dcb62941c7a0125347 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Mon, 20 Jan 2020 12:10:36 +0100 Subject: [PATCH 1/3] [FRUDIS - VERSAMENTO MERCE] - versamento merce su linea di produzione di colli misti --- .../core/rest/consumers/ColliMagazzinoRESTConsumer.java | 8 ++++---- .../viewmodel/ProdVersamentoMaterialViewModel.java | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java index 3996d1fc..15ed9978 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java @@ -246,10 +246,10 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer { } - if (sourceMtbColt.getMtbColr().size() != 1) { - onFailed.run(new Exception()); - return; - } +// if (sourceMtbColt.getMtbColr().size() != 1) { +// onFailed.run(new Exception()); +// return; +// } MtbColr original = sourceMtbColt.getMtbColr().get(0); MtbColr mtbColrClone = new MtbColr(); mtbColrClone diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java index 43d4dca2..00fb7ce3 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java @@ -125,9 +125,9 @@ public class ProdVersamentoMaterialViewModel { return; } else if (mtbColt.get().getMtbColr().size() > 1) { DialogSimpleMessageHelper.makeWarningDialog(mContext, - new SpannableString(Html.fromHtml("Il collo selezionato contiene più articoli, per versarli in produzione vanno separati in colli differenti.")), - null, this::openLU).show(); - return; + new SpannableString(Html.fromHtml("Il collo selezionato contiene più articoli, solo il primo verrà versato in questa sessione.
Per versare i colli restanti ripetere l'operazione di versamento.")), + null, null).show(); + } MesRESTConsumer.getOrdiniLavorazioneMateriale(mtbDepoPosizione.getPosizione(), getIdMaterialeFromCollo(mtbColt.get()), ordini -> richiediOrdiniPerVersamento(ordini, mtbDepoPosizione), e -> DialogSimpleMessageHelper.makeWarningDialog(mContext, new SpannableString(Html.fromHtml(e.getMessage())), From 28cb43613264e56388ed2c76b4dce473f18c848d Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Tue, 21 Jan 2020 10:21:21 +0100 Subject: [PATCH 2/3] Fix su calcolo num_cnf in Spedizione --- .../VenditaOrdineInevasoViewModel.java | 53 ++++++++++++++----- .../input_quantity/DialogInputQuantity.java | 2 +- 2 files changed, 40 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java index 38d94d17..8491eee7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java @@ -1071,19 +1071,25 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO (!SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() || (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() && ((x.getPartitaMag() == null && item.getPartitaMag() == null) || (x.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(item.getPartitaMag())))))) .toList(); - float qtaEvasaTotaleInMtbColr = 0; + BigDecimal qtaEvasaTotaleInMtbColr = BigDecimal.ZERO; + int numCnfTotaleInMtbColr = 0; + for (MtbColr mtbColr : filteredMtbColrs) { - qtaEvasaTotaleInMtbColr += mtbColr.getQtaCol().floatValue(); + qtaEvasaTotaleInMtbColr = qtaEvasaTotaleInMtbColr.add(mtbColr.getQtaCol()); + numCnfTotaleInMtbColr += mtbColr.getNumCnf().intValue(); } - float qtaEvasaTotale = qtaEvasaTotaleInMtbColr; - BigDecimal qtaDaEvadere = item.getQtaOrd().subtract(new BigDecimal(qtaEvasaTotale)); + BigDecimal qtaDaEvadere = item.getQtaOrd().subtract(qtaEvasaTotaleInMtbColr); if(qtaDaEvadere.floatValue() < 0) qtaDaEvadere = BigDecimal.ZERO; + int numCnfDaEvadere = item.getNumCnfOrd().intValue() - numCnfTotaleInMtbColr; + if(numCnfDaEvadere < 0) numCnfDaEvadere = 0; - AtomicBigDecimal qtaTest = new AtomicBigDecimal(); + + AtomicBigDecimal qtaColEvasaInCurrentUL = new AtomicBigDecimal(); + AtomicBigDecimal numCnfEvasaInCurrentUL = new AtomicBigDecimal(); Stream.of(item.getWithdrawRows()) .filter(x -> ((x.getNumColloRif() == null) || Objects.equals(x.getNumColloRif(), item.getNumCollo()) && @@ -1091,15 +1097,22 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO ((x.getSerColloRif() == null) || Objects.equals(x.getSerColloRif(), item.getSerCollo()))) && ((x.getGestioneRif() == null) || Objects.equals(x.getGestioneRif(), item.getGestione()))) .forEach(x -> { - qtaTest.addAndGet(x.getQtaCol()); + qtaColEvasaInCurrentUL.addAndGet(x.getQtaCol()); + numCnfEvasaInCurrentUL.addAndGet(x.getNumCnf()); }); - BigDecimal qtaDisponibile = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaDisponibileCollo()).subtract(qtaTest.get()); - BigDecimal qtaTot = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaCollo()).subtract(qtaTest.get()); + BigDecimal qtaDisponibile = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaDisponibileCollo()).subtract(qtaColEvasaInCurrentUL.get()); + BigDecimal qtaTot = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaCollo()).subtract(qtaColEvasaInCurrentUL.get()); + + BigDecimal numCnfDisponibile = (item.isDeactivated() ? item.getNumCnfOrd() : item.getNumCnfDisponibileCollo()).subtract(numCnfEvasaInCurrentUL.get()); + BigDecimal numCnfTot = (item.isDeactivated() ? item.getNumCnfOrd() : item.getNumCnfCollo()).subtract(numCnfEvasaInCurrentUL.get()); if(qtaDisponibile.floatValue() < 0) qtaDisponibile = BigDecimal.ZERO; if(qtaTot.floatValue() < 0) qtaTot = BigDecimal.ZERO; + if(numCnfDisponibile.floatValue() < 0) numCnfDisponibile = BigDecimal.ZERO; + if(numCnfTot.floatValue() < 0) numCnfTot = BigDecimal.ZERO; + DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO() .setBatchLot(item.getPartitaMag()) .setCodArtFor(item.getCodArtFor()) @@ -1108,7 +1121,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO .setQtaDaEvadere(qtaDaEvadere) .setQtaDisponibile(qtaDisponibile) .setQtaTot(qtaTot) - .setQtaEvasa(new BigDecimal(qtaEvasaTotale)) + .setQtaEvasa(qtaEvasaTotaleInMtbColr) .setCanPartitaMagBeChanged(item.isDeactivated()) .setMaxQta(qtaDisponibile); @@ -1150,16 +1163,28 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO // } } else { - dto.setQtaTot(qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && !tmpPickData.isEanPeso() ? qtaDaEvadere : tmpPickData.getQtaTot()); - dto.setMaxQta(tmpPickData.getQtaTot()); + if(SettingsManager.iDB().isFlagForceAllToColli()) { + + int numCnfColDaEvadere = numCnfDaEvadere < tmpPickData.getNumCnf().intValue() ? numCnfDaEvadere : tmpPickData.getNumCnf().intValue(); + dto.setNumCnf(numCnfColDaEvadere); + dto.setQtaCnf(tmpPickData.getQtaCnf()); + dto.setQtaTot(tmpPickData.getQtaCnf().multiply(new BigDecimal(numCnfColDaEvadere))); + dto.setQtaDaEvadere(tmpPickData.getQtaCnf().multiply(new BigDecimal(numCnfColDaEvadere))); - if(tmpPickData.getNumCnf() != null) { - dto.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf(), 3, RoundingMode.HALF_UP)); } else { - dto.setQtaCnf(tmpPickData.getQtaTot()); + dto.setQtaTot(qtaDaEvadere.compareTo(tmpPickData.getQtaTot()) < 0 && !tmpPickData.isEanPeso() ? qtaDaEvadere : tmpPickData.getQtaTot()); + dto.setMaxQta(tmpPickData.getQtaTot()); + + if(tmpPickData.getNumCnf() != null) { + dto.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf(), 3, RoundingMode.HALF_UP)); + } else { + dto.setQtaCnf(tmpPickData.getQtaTot()); + } } + + } if (tmpPickData.getQtaCnf() != null && useQtaDaEvadere) { diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java index dbf3cd3b..e6323b58 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java @@ -661,7 +661,7 @@ public class DialogInputQuantity { private void refreshQtaDescriptionText() { int numConf = (int) (currentQuantityDto.qtaDaEvadere.get() / currentQuantityDto.qtaCnf.get()); - float qtaTot = currentQuantityDto.qtaDaEvadere.get().floatValue(); + float qtaTot = currentQuantityDto.qtaDaEvadere.get(); float mod = qtaTot % numConf; From f5d2c85256b29279cae7057ee6bb871a963cb0a8 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Tue, 21 Jan 2020 10:22:33 +0100 Subject: [PATCH 3/3] -> v1.11.8 (127) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 50e9f2f1..091465aa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 126 - def appVersionName = '1.11.7' + def appVersionCode = 127 + def appVersionName = '1.11.8' signingConfigs { release {