From 00fc3a59eba1f252af3242d303b27e82d6d0d2cb Mon Sep 17 00:00:00 2001 From: MarcoE Date: Wed, 15 Jan 2025 15:28:05 +0100 Subject: [PATCH] =?UTF-8?q?Aggiunta=20possibilit=C3=A0=20di=20variare=20l'?= =?UTF-8?q?ordinamento=20avanti=20elenco=20accettazione=20bolla?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/settings/DBSettingsModel.java | 9 +++ .../core/settings/SettingsManager.java | 5 ++ .../MainAccettazioneBollaElencoFragment.java | 56 +++++++++++-------- 3 files changed, 48 insertions(+), 22 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 ba237dd3..1606cc9c 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 @@ -85,6 +85,7 @@ public class DBSettingsModel { private String docInterniRequestNumDoc; private boolean flagEnableArtCreation; private List allowedCodMgrpForArtCreation; + private boolean flagAccettazioneGroupListForn = false; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -733,4 +734,12 @@ public class DBSettingsModel { this.flagPositionChangeRequest = flagPositionChangeRequest; return this; } + + public boolean isFlagAccettazioneGroupListForn() { + return flagAccettazioneGroupListForn; + } + + public void setFlagAccettazioneGroupListForn(boolean flagAccettazioneGroupListForn) { + this.flagAccettazioneGroupListForn = flagAccettazioneGroupListForn; + } } 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 5b59af13..1a4f4bd9 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 @@ -243,6 +243,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_GROUP_LIST_FORN") + .setSetter(dbSettingsModelIstance::setFlagAccettazioneGroupListForn)); stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class) .setGestName("PICKING") .setSection("ACCETTAZIONE") diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_elenco/MainAccettazioneBollaElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_elenco/MainAccettazioneBollaElencoFragment.java index ecb7bda6..187a9895 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_elenco/MainAccettazioneBollaElencoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_elenco/MainAccettazioneBollaElencoFragment.java @@ -25,6 +25,7 @@ import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.expansion.BaseFragment; import it.integry.integrywmsnative.core.interfaces.IScrollableFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment; +import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaBinding; import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO; @@ -166,7 +167,7 @@ public class MainAccettazioneBollaElencoFragment extends BaseFragment implements this.mBolleInevaseMutableData.clear(); - if(tmpList != null) + if (tmpList != null) this.mBolleInevaseMutableData.addAll(convertDataModelToListModel(tmpList)); } @@ -182,33 +183,44 @@ public class MainAccettazioneBollaElencoFragment extends BaseFragment implements } - - - private List convertDataModelToListModel(List dataList) { - if(dataList == null) - return null; + boolean group = !SettingsManager.iDB().isFlagAccettazioneGroupListForn(); + if (dataList == null) return null; - final Comparator comparer = Comparator.comparing(TestataBollaAccettazioneDTO::getListino) - .thenComparing(TestataBollaAccettazioneDTO::getRagSoc) - .thenComparing(TestataBollaAccettazioneDTO::getNumDoc); + Stream stream = Stream.of(dataList); - return Stream.of(dataList) - .sorted(comparer) - .map(x -> { - MainAccettazioneBolleElencoListModel listModel = new MainAccettazioneBolleElencoListModel(); + if (group) { + final Comparator comparer = Comparator.comparing(TestataBollaAccettazioneDTO::getListino) + .thenComparing(TestataBollaAccettazioneDTO::getRagSoc) + .thenComparing(TestataBollaAccettazioneDTO::getNumDoc); + stream = stream.sorted(comparer); + } else { + stream = stream.sortBy(x -> x.getRagSoc() + UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH)); + } - listModel.setOriginalModel(x); - listModel.setGroupTitle(x.getListino() + " - " + x.getRagSoc()); - listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumDoc(), UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))); + return stream.map(x -> { + MainAccettazioneBolleElencoListModel listModel = new MainAccettazioneBolleElencoListModel(); + listModel.setOriginalModel(x); - listModel.setSubDescription(x.getDescrizioneListino()); - listModel.setRightDescription(x.getCodAnag()); - listModel.setRightSubDescription(x.getCodJcom()); + if (group) + listModel.setGroupTitle(x.getListino() + " - " + x.getRagSoc()); + else + listModel.setGroupTitle(x.getRagSoc()); - return listModel; - }) - .toList(); + listModel.setDescription(String.format(getString(R.string.ord_acq_testata), + x.getNumDoc(), + UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))); + + if (group) + listModel.setSubDescription(x.getDescrizioneListino()); + else + listModel.setSubDescription(x.getListino() + " - " + x.getDescrizioneListino()); + + listModel.setRightDescription(x.getCodAnag()); + listModel.setRightSubDescription(x.getCodJcom()); + + return listModel; + }).toList(); }