From 44b9bc3fc1ff93501de31499091669966595a706 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Tue, 3 Sep 2024 10:19:07 +0200 Subject: [PATCH] Migliorato documento di reso quando effettuano le perdite --- .../rest/consumers/DocumentRESTConsumer.java | 4 +- .../DocumentiRESTConsumerService.java | 5 +- .../core/settings/DBSettingsModel.java | 12 ++++- .../core/settings/SettingsManager.java | 6 +++ .../DocInterniViewModel.java | 51 ++++++++++--------- .../dialog/DialogSelectDocInfoViewModel.java | 7 ++- 6 files changed, 54 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentRESTConsumer.java index fc6643db..10ebd3ea 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentRESTConsumer.java @@ -51,9 +51,9 @@ public class DocumentRESTConsumer extends _BaseRESTConsumer { }); } - public void checkFrumaDocument(String fornitore, String numDoc, String dataDoc, RunnableArgs onComplete, RunnableArgs onFailed) { + public void checkDocument(String fornitore, String numDoc, String dataDoc, String tipoDoc, RunnableArgs onComplete, RunnableArgs onFailed) { var inventarioRESTConsumerService = RESTBuilder.getService(DocumentiRESTConsumerService.class); - inventarioRESTConsumerService.checkFrumaDoc(fornitore, numDoc, dataDoc) + inventarioRESTConsumerService.checkDocument(fornitore, numDoc,tipoDoc, dataDoc) .enqueue(new Callback<>() { @Override public void onResponse(@NonNull Call> call, @NonNull Response> response) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java index bfd9d899..615efda1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java @@ -21,10 +21,11 @@ public interface DocumentiRESTConsumerService { @POST("createDocFromColli") Call> createDocFromColli(@Body LoadColliDTO listColli); - @GET("wms/documento/checkFruma") - Call> checkFrumaDoc( + @GET("wms/documento/checkDoc") + Call> checkDocument( @Query("fornitore") String fornitore, @Query("numDoc") String numDoc, + @Query("tipoDoc") String tipoDoc, @Query("dataDoc") String dataDoc); @GET("wms/documento/arts") 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 5f2448bb..aaec3140 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 @@ -76,13 +76,12 @@ public class DBSettingsModel { private boolean flagProduzioneShowInfo = false; private boolean flagAccettazioneBollaUseQtaOrd = true; private boolean flagWarningNewPartitaMag = false; - private boolean flagTracciamentoImballiCaricoEnabled = false; private boolean flagTracciamentoImballiScaricoEnabled = false; private boolean flagPickingLiberoEnableScanArt = false; private boolean flagAskDuplicateUDSSpedizione = false; - private boolean suggestDataScad = false; + private String docInterniRequestNumDoc; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -695,4 +694,13 @@ public class DBSettingsModel { this.suggestDataScad = suggestDataScad; return this; } + + public String getDocInterniRequestNumDoc() { + return docInterniRequestNumDoc; + } + + public DBSettingsModel setDocInterniRequestNumDoc(String docInterniRequestNumDoc) { + this.docInterniRequestNumDoc = docInterniRequestNumDoc; + 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 7a85f68a..af8b9d70 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 @@ -557,6 +557,12 @@ public class SettingsManager { dbSettingsModelIstance.setFlagTracciamentoImballiScaricoEnabled(!UtilityString.isNullOrEmpty(data)); })); + stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class) + .setGestName("PVM") + .setSection("DOC_INTERNI") + .setKeySection("REQUEST_NUM_DOC") + .setSetter(dbSettingsModelIstance::setDocInterniRequestNumDoc)); + String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java index ffcda8a5..f050a63c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java @@ -105,31 +105,34 @@ public class DocInterniViewModel { this.numDoc = selection.getNumDoc() != null ? selection.getNumDoc().toString() : null; this.note = selection.getNote(); - if (dtbTipi.getCodDtip().equalsIgnoreCase("FRUMA")) { - documentRESTConsumer.checkFrumaDocument( - fornitore.getCodAnag(), - numDoc, - UtilityDate.formatDate(dataDoc, "yyyy/MM/dd"), - data -> { - if (!data) { - this.sendWarning(UtilityResources.getString(R.string.no_doc_found_message), this::init); - } else { - action.run(); - this.sendOnLoadingStarted(); - fetchProducts(() -> { - fetchDocuments(this::sendOnLoadingEnded); - }); - } - }, - this::sendError - ); - } else { - action.run(); - this.sendOnLoadingStarted(); - fetchProducts(() -> { - fetchDocuments(this::sendOnLoadingEnded); - }); + String codAnag = null; + if (fornitore != null){ + codAnag = fornitore.getCodAnag(); } + + String codDtip = null; + if (dtbTipi != null){ + codDtip = dtbTipi.getCodDtip(); + } + + documentRESTConsumer.checkDocument( + codAnag, + numDoc, + UtilityDate.formatDate(dataDoc, "yyyy/MM/dd"), + codDtip, + data -> { + if (!data) { + this.sendWarning(UtilityResources.getString(R.string.no_doc_found_message), this::init); + } else { + action.run(); + this.sendOnLoadingStarted(); + fetchProducts(() -> { + fetchDocuments(this::sendOnLoadingEnded); + }); + } + }, + this::sendError + ); } public void fetchProducts(Runnable onComplete) { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java index 3edb1a81..ec74bfa4 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java @@ -3,10 +3,13 @@ package it.integry.integrywmsnative.gest.contab_doc_interni.dialog; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; +import java.util.Arrays; import java.util.Date; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; +import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.exception.DocumentRequiredException; import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.exception.FornitoreRequiredException; @@ -33,9 +36,11 @@ public class DialogSelectDocInfoViewModel extends ViewModel { private final MutableLiveData noteRequired = new MutableLiveData<>(false); public DialogSelectDocInfoViewModel() { + List requestNumDocList = Arrays.asList(SettingsManager.iDB().getDocInterniRequestNumDoc().split("\\|")); + tipoDoc.observeForever(val -> fornitoreRequired.postValue(val != null && (val.getGestioneDoc().equals("T") || val.getGestioneDoc().equals("A") || (val.getGestioneDoc().equals("P") && !val.getGestione().equals("L"))))); - tipoDoc.observeForever(val -> documentRequired.postValue(val != null && val.getGestioneDoc().equalsIgnoreCase("P") && !val.getGestione().equalsIgnoreCase("L"))); + tipoDoc.observeForever(val -> documentRequired.postValue(val != null && (val.getGestioneDoc().equalsIgnoreCase("P") && !val.getGestione().equalsIgnoreCase("L")) || requestNumDocList.contains(Objects.requireNonNull(val).getCodDtip()))); tipoDoc.observeForever(val -> noteRequired.postValue(val != null && val.getGestioneDoc().equals("P") && val.getGestione().equals("L"))); }