From 7049552f16eab53cb0e931399669ce78c06fa6f7 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Thu, 15 Feb 2024 10:14:29 +0100 Subject: [PATCH] =?UTF-8?q?In=20accettazione=20aggiunta=20possibilit=C3=A0?= =?UTF-8?q?=20di=20far=20sparire=20le=20righe=20quando=20si=20evadono=20co?= =?UTF-8?q?mpletamente=20gli=20ordini?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/settings/DBSettingsModel.java | 10 +++++++ .../core/settings/SettingsManager.java | 5 ++++ .../AccettazioneOrdiniPickingActivity.java | 3 ++ .../AccettazioneOrdiniPickingViewModel.java | 29 +++++++++++++++++++ 4 files changed, 47 insertions(+) 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 4de94e89..76f8fb41 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 @@ -72,6 +72,7 @@ public class DBSettingsModel { private boolean flagAllowULRecoverAccettazioneBolla = true; private boolean flagOverflowQuantityWarning = false; private String viewPosizioni; + private boolean flagDeleteRowOnClose = false; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -586,4 +587,13 @@ public class DBSettingsModel { this.viewPosizioni = viewPosizioni; return this; } + + public boolean isFlagDeleteRowOnClose() { + return flagDeleteRowOnClose; + } + + public DBSettingsModel setFlagDeleteRowOnClose(boolean flagDeleteRowOnClose) { + this.flagDeleteRowOnClose = flagDeleteRowOnClose; + 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 e7840a70..bfbba78f 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 @@ -242,6 +242,11 @@ public class SettingsManager { .setSection("ACCETTAZIONE") .setKeySection("FLAG_AUTO_OPEN_NEW_UL") .setSetter(dbSettingsModelIstance::setFlagCanAutoOpenNewULAccettazione)); + stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class) + .setGestName("PICKING") + .setSection("ACCETTAZIONE") + .setKeySection("FLAG_DELETE_ROW_ON_CLOSE") + .setSetter(dbSettingsModelIstance::setFlagDeleteRowOnClose)); stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class) .setGestName("PICKING") .setSection("SPEDIZIONE") diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingActivity.java index c051a2b8..137c1bcc 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingActivity.java @@ -929,6 +929,9 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A noLUPresent.set(true); this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null); + + this.refreshList(); + if (this.mShouldCloseActivity) super.onBackPressed(); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingViewModel.java index 85095aec..128259c9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingViewModel.java @@ -782,11 +782,40 @@ public class AccettazioneOrdiniPickingViewModel { } private void postCloseOperations() { + this.calculateQtaDaEvadere(); this.mCurrentMtbColt = null; this.sendLUClosed(); this.sendOnLoadingEnded(); } + private void calculateQtaDaEvadere(){ + if (SettingsManager.iDB().isFlagDeleteRowOnClose()){ + for (PickingObjectDTO pickingObjectDTO : this.mPickingList.getValue()) { + List withdrawMtbColrs = pickingObjectDTO.getWithdrawMtbColrs(); + BigDecimal qtaEvasa = BigDecimal.ZERO; + BigDecimal numCnf = BigDecimal.ZERO; + + if (withdrawMtbColrs.size() > 0) { + qtaEvasa = Stream.of(withdrawMtbColrs) + .map(MtbColr::getQtaCol) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + numCnf = Stream.of(withdrawMtbColrs) + .map(MtbColr::getNumCnf) + .reduce(BigDecimal.ZERO, BigDecimal::add); + } + + BigDecimal qtaDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getQtaDaEvadere(); + pickingObjectDTO.getSitArtOrdDTO().setQtaDaEvadere(qtaDaEvadere.subtract(qtaEvasa)); + + BigDecimal numCnfDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getNumCnfDaEvadere(); + pickingObjectDTO.getSitArtOrdDTO().setNumCnfDaEvadere(numCnfDaEvadere.subtract(numCnf)); + + pickingObjectDTO.setWithdrawMtbColrs(new ArrayList<>()); + } + } + } + private void deleteLU(Runnable onComplete) { DeleteULRequestDTO deleteULRequestDTO = new DeleteULRequestDTO() .setMtbColt(this.mCurrentMtbColt);