From b33d566abdf04ba2de6b539d88dde0810d20ae98 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Tue, 20 May 2025 15:25:48 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Implementato=20servizio=20di=20retrieve=20u?= =?UTF-8?q?ds=20gi=C3=A0=20registrate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/codeStyles/Project.xml | 35 ++++++++++ ...DCDTO.java => AlreadyRegisteredUlDTO.java} | 6 +- .../rest/consumers/DocumentRESTConsumer.java | 4 +- .../rest/consumers/OrdiniRESTConsumer.java | 60 ++++++---------- .../consumers/OrdiniRESTConsumerService.java | 5 ++ ...etrieveAlreadyRegisteredUdsRequestDTO.java | 29 ++++++++ ...trieveAlreadyRegisteredUdsResponseDTO.java | 19 +++++ .../AccettazioneBollaPickingActivity.java | 6 +- .../AccettazioneBollaPickingViewModel.java | 4 +- ...isteredULAccettazioneBollaResponseDTO.java | 8 +-- .../AccettazioneBollaPickingRESTConsumer.java | 4 +- .../AccettazioneOrdiniPickingActivity.java | 6 +- .../AccettazioneOrdiniPickingViewModel.java | 4 +- ...steredULAccettazioneOrdineResponseDTO.java | 8 +-- ...AccettazioneOrdiniPickingRESTConsumer.java | 4 +- .../ContenutoBancaleActivity.java | 10 +-- .../OrdiniUscitaElencoFragment.java | 5 +- .../OrdiniUscitaElencoViewModel.java | 9 ++- .../ProdFabbisognoLineeProdFragment.java | 1 - .../gest/spedizione/SpedizioneActivity.java | 43 ++++++++---- .../gest/spedizione/SpedizioneViewModel.java | 69 +++++++++++-------- 21 files changed, 218 insertions(+), 121 deletions(-) rename app/src/main/java/it/integry/integrywmsnative/core/model/dto/{AlreadyRegisteredUDCDTO.java => AlreadyRegisteredUlDTO.java} (71%) create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/RetrieveAlreadyRegisteredUdsRequestDTO.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/RetrieveAlreadyRegisteredUdsResponseDTO.java diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 88ea3aa1..c4f31a7d 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -1,5 +1,40 @@ + + + diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/dto/AlreadyRegisteredUDCDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/model/dto/AlreadyRegisteredUlDTO.java similarity index 71% rename from app/src/main/java/it/integry/integrywmsnative/core/model/dto/AlreadyRegisteredUDCDTO.java rename to app/src/main/java/it/integry/integrywmsnative/core/model/dto/AlreadyRegisteredUlDTO.java index dbe9acb0..7a6188d1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/dto/AlreadyRegisteredUDCDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/dto/AlreadyRegisteredUlDTO.java @@ -3,7 +3,7 @@ package it.integry.integrywmsnative.core.model.dto; import it.integry.integrywmsnative.core.model.MtbColt; -public class AlreadyRegisteredUDCDTO { +public class AlreadyRegisteredUlDTO { private MtbColt mtbColt; @@ -13,7 +13,7 @@ public class AlreadyRegisteredUDCDTO { return mtbColt; } - public AlreadyRegisteredUDCDTO setMtbColt(MtbColt mtbColt) { + public AlreadyRegisteredUlDTO setMtbColt(MtbColt mtbColt) { this.mtbColt = mtbColt; return this; } @@ -22,7 +22,7 @@ public class AlreadyRegisteredUDCDTO { return canBeRecovered; } - public AlreadyRegisteredUDCDTO setCanBeRecovered(boolean canBeRecovered) { + public AlreadyRegisteredUlDTO setCanBeRecovered(boolean canBeRecovered) { this.canBeRecovered = canBeRecovered; return this; } 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 4841f3ef..dd09148a 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 @@ -42,7 +42,9 @@ public class DocumentRESTConsumer extends _BaseRESTConsumer { public void createDocFromColli(LoadColliDTO loadColliDTO, RunnableArgs onComplete, RunnableArgs onFailed) { DocumentiRESTConsumerService documentiRESTConsumerService = restBuilder.getService(DocumentiRESTConsumerService.class); - documentiRESTConsumerService.createDocFromColli(loadColliDTO).enqueue(new ManagedErrorCallback<>() { + documentiRESTConsumerService + .createDocFromColli(loadColliDTO) + .enqueue(new ManagedErrorCallback<>() { @Override public void onResponse(Call> call, Response> response) { analyzeAnswer(response, "createDocFromColli", onComplete, onFailed); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java index c545f96e..c1c37aaa 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java @@ -4,11 +4,8 @@ import androidx.annotation.NonNull; import com.annimon.stream.Optional; import com.annimon.stream.Stream; -import com.google.gson.reflect.TypeToken; -import java.lang.reflect.Type; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Random; import java.util.concurrent.ExecutorService; @@ -21,6 +18,7 @@ import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbPartitaMag; import it.integry.integrywmsnative.core.model.OrdineInevasoDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.handler.ManagedErrorCallback; @@ -28,8 +26,7 @@ import it.integry.integrywmsnative.core.rest.model.GetPickingListDTO; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; -import it.integry.integrywmsnative.core.utility.UtilityDB; -import it.integry.integrywmsnative.core.utility.UtilityQuery; +import it.integry.integrywmsnative.core.rest.model.uds.RetrieveAlreadyRegisteredUdsRequestDTO; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; import retrofit2.Call; @@ -180,44 +177,27 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer { }); } - public void getBancaliGiaRegistrati(List orders, GestioneEnum gestione, int segno, RunnableArgs> onComplete, RunnableArgs onFailed) { - String whereCondGestione = ""; + public List getBancaliGiaRegistratiSynchronized(List orders, int segno) throws Exception { + OrdiniRESTConsumerService service = restBuilder.getService(OrdiniRESTConsumerService.class); - if (gestione != null) { - whereCondGestione = "mtb_colt.gestione = " + UtilityDB.valueToString(gestione.getText()) + " "; - } else { - whereCondGestione = "(mtb_colt.gestione = 'V' OR mtb_colt.gestione = 'L') "; - } + var request = new RetrieveAlreadyRegisteredUdsRequestDTO() + .setOrdini(orders) + .setSegno(segno); - String baseSql = "SELECT DISTINCT mtb_colt.* " + - "FROM mtb_colt " + - " INNER JOIN mtb_colr ON " + - " mtb_colt.gestione = mtb_colr.gestione " + - " AND mtb_colt.ser_collo = mtb_colr.ser_collo " + - " AND mtb_colt.data_collo = mtb_colr.data_collo " + - " AND mtb_colt.num_collo = mtb_colr.num_collo " + - " WHERE " + whereCondGestione + - " AND mtb_colt.segno = " + UtilityDB.valueToString(segno) + " " + - " AND mtb_colt.data_doc IS NULL AND "; + var response = service.retrieveAlreadyRegisteredUDS(request) + .execute(); + var data = analyzeAnswer(response, "getBancaliGiaRegistrati"); + return data == null ? new ArrayList<>() : data.getUdsList(); + } - List> whereCondMapList = new ArrayList<>(); - for (OrdineInevasoDTO ordineInevaso : orders) { - HashMap whereCondMap = new HashMap<>(); - whereCondMap.put("mtb_colr.data_ord", ordineInevaso.getDataOrdD()); - whereCondMap.put("mtb_colr.num_ord", ordineInevaso.getNumOrd()); - whereCondMap.put("mtb_colr.gestione", ordineInevaso.getGestione()); - - whereCondMapList.add(whereCondMap); - } - - baseSql += "(" + UtilityQuery.concatFieldListInWhereCond(whereCondMapList) + ")"; - - Type typeOfObjectsList = new TypeToken>() { - }.getType(); - this.mSystemRESTConsumer.>processSql(baseSql, typeOfObjectsList, value -> { - if (onComplete != null) onComplete.run(value); - }, ex -> { - if (onFailed != null) onFailed.run(ex); + public void getBancaliGiaRegistrati(List orders, int segno, RunnableArgs> onComplete, RunnableArgs onFailed) { + executorService.execute(() -> { + try { + var result = getBancaliGiaRegistratiSynchronized(orders, segno); + if (onComplete != null) onComplete.run(result); + } catch (Exception ex) { + if (onFailed != null) onFailed.run(ex); + } }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumerService.java index 3dfeebca..3a6fdf5b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumerService.java @@ -5,6 +5,8 @@ import java.util.List; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; +import it.integry.integrywmsnative.core.rest.model.uds.RetrieveAlreadyRegisteredUdsRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.RetrieveAlreadyRegisteredUdsResponseDTO; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; import it.integry.integrywmsnative.core.rest.model.GetPickingListDTO; import retrofit2.Call; @@ -23,4 +25,7 @@ public interface OrdiniRESTConsumerService { @GET("SM2GetOrdiniVenditaInevasi") Call>> getOrdiniInevasi(@Query("codMdep") String codMdep, @Query("gestione") String gestione); + + @POST("wms/spedizione/retrieveAlreadyRegisteredUDS") + Call> retrieveAlreadyRegisteredUDS(@Body RetrieveAlreadyRegisteredUdsRequestDTO request); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/RetrieveAlreadyRegisteredUdsRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/RetrieveAlreadyRegisteredUdsRequestDTO.java new file mode 100644 index 00000000..ee53dfac --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/RetrieveAlreadyRegisteredUdsRequestDTO.java @@ -0,0 +1,29 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import java.util.List; + +import it.integry.integrywmsnative.core.model.OrdineInevasoDTO; + +public class RetrieveAlreadyRegisteredUdsRequestDTO { + + private List ordini; + private int segno; + + public List getOrdini() { + return ordini; + } + + public RetrieveAlreadyRegisteredUdsRequestDTO setOrdini(List ordini) { + this.ordini = ordini; + return this; + } + + public int getSegno() { + return segno; + } + + public RetrieveAlreadyRegisteredUdsRequestDTO setSegno(int segno) { + this.segno = segno; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/RetrieveAlreadyRegisteredUdsResponseDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/RetrieveAlreadyRegisteredUdsResponseDTO.java new file mode 100644 index 00000000..a21659c5 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/RetrieveAlreadyRegisteredUdsResponseDTO.java @@ -0,0 +1,19 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import java.util.List; + +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; + +public class RetrieveAlreadyRegisteredUdsResponseDTO { + + private List udsList; + + public List getUdsList() { + return udsList; + } + + public RetrieveAlreadyRegisteredUdsResponseDTO setUdsList(List udsList) { + this.udsList = udsList; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java index 8ce4c81d..40c26bcb 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java @@ -42,7 +42,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.report.ReportManager; @@ -452,12 +452,12 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac dialog.show(); } - public void startListaBancaliRegistratiActivity(List mtbColts) { + public void startListaBancaliRegistratiActivity(List mtbColts) { Intent myIntent = ListaBancaliActivity.createIntent(this, Stream.of(mtbColts) - .map(AlreadyRegisteredUDCDTO::getMtbColt) + .map(AlreadyRegisteredUlDTO::getMtbColt) .toList(), input -> Stream.of(mtbColts) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java index 1c564213..a25de06c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java @@ -30,7 +30,7 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; @@ -160,7 +160,7 @@ public class AccettazioneBollaPickingViewModel { } - public void retrieveExistentLU(RunnableArgs> onComplete) { + public void retrieveExistentLU(RunnableArgs> onComplete) { this.sendOnLoadingStarted(); this.mAccettazioneBollaPickingRESTConsumer.retrieveAlreadyRegisteredUDC(this.mBolle, mtbColtList -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/dto/RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/dto/RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO.java index 699cecdd..a92424a8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/dto/RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/dto/RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO.java @@ -2,17 +2,17 @@ package it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto; import java.util.List; -import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; public class RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO { - private List udcList; + private List udcList; - public List getUdcList() { + public List getUdcList() { return udcList; } - public RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO setUdcList(List udcList) { + public RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO setUdcList(List udcList) { this.udcList = udcList; return this; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/rest/AccettazioneBollaPickingRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/rest/AccettazioneBollaPickingRESTConsumer.java index 34562424..5184f6af 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/rest/AccettazioneBollaPickingRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/rest/AccettazioneBollaPickingRESTConsumer.java @@ -9,7 +9,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer; import it.integry.integrywmsnative.core.rest.handler.ManagedErrorCallback; @@ -32,7 +32,7 @@ public class AccettazioneBollaPickingRESTConsumer extends _BaseRESTConsumer { } - public void retrieveAlreadyRegisteredUDC(List bolle, RunnableArgs> onComplete, RunnableArgs onFailed) { + public void retrieveAlreadyRegisteredUDC(List bolle, RunnableArgs> onComplete, RunnableArgs onFailed) { AccettazioneBollaPickingRESTConsumerService service = restBuilder.getService(AccettazioneBollaPickingRESTConsumerService.class); var request = new RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO() 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 403b0907..1c748ef4 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 @@ -45,7 +45,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.report.ReportManager; @@ -690,11 +690,11 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A dialog.show(); } - public void startListaBancaliRegistratiActivity(List mtbColts) { + public void startListaBancaliRegistratiActivity(List mtbColts) { Intent myIntent = ListaBancaliActivity.createIntent(this, - Stream.of(mtbColts).map(AlreadyRegisteredUDCDTO::getMtbColt).toList(), + Stream.of(mtbColts).map(AlreadyRegisteredUlDTO::getMtbColt).toList(), input -> Stream.of(mtbColts).filter(x -> x.getMtbColt() == input).findFirstOrElse(null).isCanBeRecovered(), 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 ca9d12d5..bfffb8af 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 @@ -32,7 +32,7 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; @@ -198,7 +198,7 @@ public class AccettazioneOrdiniPickingViewModel { return mPickingList; } - public void retrieveExistentLU(RunnableArgs> onComplete) { + public void retrieveExistentLU(RunnableArgs> onComplete) { this.sendOnLoadingStarted(); this.mAccettazioneOrdiniPickingRESTConsumer.getBancaliGiaRegistrati(this.mOrders, mtbColtList -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/dto/RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/dto/RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO.java index 314885f4..b875ee00 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/dto/RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/dto/RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO.java @@ -2,17 +2,17 @@ package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto; import java.util.List; -import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; public class RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO { - private List udcList; + private List udcList; - public List getUdcList() { + public List getUdcList() { return udcList; } - public RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO setUdcList(List udcList) { + public RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO setUdcList(List udcList) { this.udcList = udcList; return this; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/rest/AccettazioneOrdiniPickingRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/rest/AccettazioneOrdiniPickingRESTConsumer.java index d6aae114..261150ae 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/rest/AccettazioneOrdiniPickingRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/rest/AccettazioneOrdiniPickingRESTConsumer.java @@ -9,7 +9,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer; @@ -33,7 +33,7 @@ public class AccettazioneOrdiniPickingRESTConsumer extends _BaseRESTConsumer { this.systemRestConsumer = systemRESTConsumer; } - public void getBancaliGiaRegistrati(List ordiniToShow, RunnableArgs> onComplete, RunnableArgs onFailed) { + public void getBancaliGiaRegistrati(List ordiniToShow, RunnableArgs> onComplete, RunnableArgs onFailed) { AccettazioneOrdiniPickingRESTConsumerService service = restBuilder.getService(AccettazioneOrdiniPickingRESTConsumerService.class); var request = new RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO() diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java index bbb66d67..95a57a0b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java @@ -50,7 +50,7 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB public final ObservableField mtbColt = new ObservableField<>(); public final ObservableField descrizioneDepo = new ObservableField<>(); public ObservableField fabVisible = new ObservableField<>(true); - public ObservableField recoverFabMenuVisible = new ObservableField<>(false); + public Boolean recoverFabMenuVisible = false; private PopupMenu fabPopupMenu; private String mReportName; @@ -80,7 +80,7 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - boolean canRecoverUL = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL)); + recoverFabMenuVisible = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL)); mtbColt.set(DataCache.retrieveItem(getIntent().getStringExtra(Key.MtbColtKey))); mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName)); @@ -102,8 +102,6 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB mViewModel.setListener(this); mViewModel.init(mtbColt.get(), mReportName); - recoverFabMenuVisible.set(canRecoverUL); - this.initRecyclerView(); this.initColloInfo(); this.initFab(); @@ -144,6 +142,10 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB fabPopupMenu.getMenu().removeItem(R.id.delete_ul); } + if(!recoverFabMenuVisible) { + fabPopupMenu.getMenu().removeItem(R.id.recover_ul); + } + fabPopupMenu.setOnMenuItemClickListener(item -> { int itemId = item.getItemId(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java index 3c9c88d4..0da2e662 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java @@ -43,10 +43,10 @@ import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.model.JtbComt; import it.integry.integrywmsnative.core.model.MtbColr; -import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbDepo; import it.integry.integrywmsnative.core.model.MtbGrup; import it.integry.integrywmsnative.core.model.OrdineInevasoDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer; @@ -842,7 +842,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF } @Override - public void onOrdersDispatched(List orders, List sitArts, List alreadyRegisteredMtbColts) { + public void onOrdersDispatched(List orders, List sitArts, List alreadyRegisteredMtbColts) { List codMarts = Stream.of(sitArts) .distinctBy(SitArtOrdDTO::getCodMart) .map(SitArtOrdDTO::getCodMart) @@ -862,7 +862,6 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF () -> SpedizioneActivity.startActivity(getActivity(), sitArts, orders, - alreadyRegisteredMtbColts, mCurrentGestioneCol, mCurrentSegnoCol, MtbColr.Causale.DEFAULT, diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoViewModel.java index 8eb8f4ac..e96da40e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoViewModel.java @@ -23,9 +23,9 @@ import it.integry.integrywmsnative.core.exception.NoOrderFoundException; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.model.DtbOrdt; -import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbGrup; import it.integry.integrywmsnative.core.model.OrdineInevasoDTO; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; @@ -146,8 +146,7 @@ public class OrdiniUscitaElencoViewModel { List finalSitArts = sitArts; this.mOrdiniRESTConsumer.getBancaliGiaRegistrati( - Stream.of(selectedOrdersBase).map(x -> (OrdineInevasoDTO) x).toList(), - mCurrentGestioneCol, + selectedOrdersBase.stream().map(x -> (OrdineInevasoDTO) x).collect(Collectors.toList()), mCurrentSegnoCol, mtbColtList -> { this.sendOnOrdersDispatched(selectedOrdersBase, finalSitArts, mtbColtList); @@ -303,7 +302,7 @@ public class OrdiniUscitaElencoViewModel { if (this.mListener != null) mListener.onOrderFiltered(filteredOrders); } - private void sendOnOrdersDispatched(List orders, List sitArts, List alreadyRegisteredMtbColts) { + private void sendOnOrdersDispatched(List orders, List sitArts, List alreadyRegisteredMtbColts) { if (this.mListener != null) mListener.onOrdersDispatched(orders, sitArts, alreadyRegisteredMtbColts); } @@ -316,7 +315,7 @@ public class OrdiniUscitaElencoViewModel { void onOrderFiltered(List filteredOrders); - void onOrdersDispatched(List orders, List sitArts, List alreadyRegisteredMtbColts); + void onOrdersDispatched(List orders, List sitArts, List alreadyRegisteredMtbColts); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdFragment.java index 224dc1f9..86fcc1ed 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdFragment.java @@ -446,7 +446,6 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi SpedizioneActivity.startActivity(getActivity(), sitArtOrdDTOS, new ArrayList<>(), - new ArrayList<>(), GestioneEnum.LAVORAZIONE, +1, MtbColr.Causale.VERSAMENTO, 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 70b10dee..26934866 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 @@ -28,6 +28,7 @@ import java.util.List; import java.util.Objects; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; import javax.inject.Inject; @@ -50,8 +51,10 @@ import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbPartitaMag; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; +import it.integry.integrywmsnative.core.report.ReportManager; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; import it.integry.integrywmsnative.core.settings.SettingsManager; @@ -120,7 +123,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo private ArrayList mSitArtOrd; private ArrayList mTestateOrdini; - private ArrayList mColliRegistrati; + private ArrayList mColliRegistrati; private GestioneEnum mGestioneCol; private int mSegnoCol; private Integer mDefaultCausaleUL; @@ -135,7 +138,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo public static void startActivity(Context context, List ordini, List selectedOrders, - List mtbColtList, GestioneEnum gestioneCol, int segnoCol, Integer defaultCausaleUL, @@ -149,9 +151,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo String keyTestateOrdini = DataCache.addItem(selectedOrders); myIntent.putExtra("keyTestateOrdini", keyTestateOrdini); - String keyColliRegistrati = DataCache.addItem(mtbColtList); - myIntent.putExtra("keyColliRegistrati", keyColliRegistrati); - String keyGestioneCol = DataCache.addItem(gestioneCol); myIntent.putExtra("keyGestioneCol", keyGestioneCol); @@ -176,7 +175,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo mSitArtOrd = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList")); mTestateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini")); - mColliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati")); mGestioneCol = DataCache.retrieveItem(getIntent().getStringExtra("keyGestioneCol")); mSegnoCol = DataCache.retrieveItem(getIntent().getStringExtra("keySegnoCol")); mDefaultCausaleUL = DataCache.retrieveItem(getIntent().getStringExtra("keyDefaultCausaleCol")); @@ -229,7 +227,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo canOverflowOrderQuantity, mSitArtOrd, mTestateOrdini, - mColliRegistrati, mGestioneCol, mSegnoCol, mDefaultCausaleUL, mEnableQuantityReset, useQtaOrd, @@ -822,13 +819,35 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo } public void showCreatedUL() { - handler.post(() -> { - this.fabPopupMenu.dismiss(); + this.fabPopupMenu.dismiss(); - ArrayList createdMtbColts = this.mViewmodel.getCreatedMtbColts(); + executorService.execute(() -> { + try { + ArrayList createdMtbColts = this.mViewmodel.getCreatedMtbColts(); - Intent myIntent = ListaBancaliActivity.createIntent(this, createdMtbColts, true, false); - this.startActivityForResult(myIntent, PICK_UL_REQUEST); + handler.post(() -> { + Intent myIntent = ListaBancaliActivity.createIntent(this, + + createdMtbColts.stream() + .map(AlreadyRegisteredUlDTO::getMtbColt) + .collect(Collectors.toList()), + + input -> createdMtbColts.stream() + .filter(x -> x.getMtbColt().equals(input)) + .findFirst() + .map(AlreadyRegisteredUlDTO::isCanBeRecovered) + .orElse(false), + + false, + + ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO)); + + + this.startActivityForResult(myIntent, PICK_UL_REQUEST); + }); + } catch (Exception e) { + onError(e); + } }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java index 8ecdad6c..6c7646fc 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java @@ -50,6 +50,7 @@ import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbPartitaMag; import it.integry.integrywmsnative.core.model.VtbVett; +import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; @@ -107,7 +108,6 @@ public class SpedizioneViewModel { private List mTestateOrdini; private MutableLiveData> mPickingList = new MutableLiveData<>(); - private List mColliRegistrati = new ArrayList<>(); private List mPartitaMagList = new ArrayList<>(); private Listener mListener; @@ -187,12 +187,11 @@ public class SpedizioneViewModel { } - public void init(String codMdep, boolean enableGiacenza, boolean enableCheckPartitaMag, boolean shouldAskPesoLU, boolean canOverflowOrderQuantity, List pickingList, List testateOrdini, List colliRegistrati, GestioneEnum gestioneCol, int segnoCol, Integer defaultCausaleUL, boolean enableQuantityReset, boolean useQtaOrd, boolean useColliPedana) { + public void init(String codMdep, boolean enableGiacenza, boolean enableCheckPartitaMag, boolean shouldAskPesoLU, boolean canOverflowOrderQuantity, List pickingList, List testateOrdini, GestioneEnum gestioneCol, int segnoCol, Integer defaultCausaleUL, boolean enableQuantityReset, boolean useQtaOrd, boolean useColliPedana) { this.sendOnLoadingStarted(); this.mDefaultCodMdep = codMdep; this.mTestateOrdini = testateOrdini; - this.mColliRegistrati = colliRegistrati; this.mEnableGiacenza = enableGiacenza; this.mEnableCheckPartitaMag = enableCheckPartitaMag; this.mCanOverflowOrderQuantity = canOverflowOrderQuantity; @@ -1745,13 +1744,8 @@ public class SpedizioneViewModel { var positionedMtbColts = this.askPositionChange(filledMtbColts); - this.askPrint((shouldPrint && SettingsManager.iDB().isFlagPrintEtichetteOnLUClose()), positionedMtbColts); - positionedMtbColts.stream() - .filter(x -> !this.mColliRegistrati.contains(x)) - .forEach(x -> this.mColliRegistrati.add(x)); - postCloseOperations(positionedMtbColts); this.mIsNewLU = false; @@ -2192,8 +2186,8 @@ public class SpedizioneViewModel { return mPartitaMagList; } - public ArrayList getCreatedMtbColts() { - return (ArrayList) this.mColliRegistrati; + public ArrayList getCreatedMtbColts() throws Exception { + return (ArrayList) this.mOrdiniRestConsumerService.getBancaliGiaRegistratiSynchronized(mTestateOrdini, mDefaultSegnoCol); } public VtbVett getDefaultVettore() { @@ -2201,30 +2195,45 @@ public class SpedizioneViewModel { } void createDocs() { - var loadCollidto = new LoadColliDTO(); + executorService.execute(() -> { + List registeredUds = null; - var codAnag = mTestateOrdini.stream() - .map(OrdineUscitaInevasoDTO::getCodAnagOrd) - .filter(Objects::nonNull) - .distinct() - .findFirst() - .get(); + try { + var alreadyCreatedUds = getCreatedMtbColts(); + registeredUds = alreadyCreatedUds.stream() + .map(AlreadyRegisteredUlDTO::getMtbColt) + .collect(Collectors.toList()); + } catch (Exception e) { + sendError(e); + return; + } - var codVdes = mTestateOrdini.stream().map(OrdineUscitaInevasoDTO::getCodVdes) - .filter(Objects::nonNull) - .distinct() - .findFirst() - .get(); + var loadCollidto = new LoadColliDTO(); - loadCollidto.setColli(getCreatedMtbColts()); - loadCollidto.setCodDtip(SettingsManager.iDB().getCodDtipOrdTrasfV()); - loadCollidto.setCodMdep(mDefaultCodMdep); - loadCollidto.setCodAnag(codAnag); - loadCollidto.setCodVdes(codVdes); - loadCollidto.setSaveDoc(true); - loadCollidto.setGestione("L"); + var codAnag = mTestateOrdini.stream() + .map(OrdineUscitaInevasoDTO::getCodAnagOrd) + .filter(Objects::nonNull) + .distinct() + .findFirst() + .get(); - this.mDocumentRESTConsumer.createDocFromColli(loadCollidto, doc -> this.sendOnOrderClosed(), this::sendError); + var codVdes = mTestateOrdini.stream() + .map(OrdineUscitaInevasoDTO::getCodVdes) + .filter(Objects::nonNull) + .distinct() + .findFirst() + .get(); + + loadCollidto.setColli(registeredUds); + loadCollidto.setCodDtip(SettingsManager.iDB().getCodDtipOrdTrasfV()); + loadCollidto.setCodMdep(mDefaultCodMdep); + loadCollidto.setCodAnag(codAnag); + loadCollidto.setCodVdes(codVdes); + loadCollidto.setSaveDoc(true); + loadCollidto.setGestione("L"); + + this.mDocumentRESTConsumer.createDocFromColli(loadCollidto, doc -> this.sendOnOrderClosed(), this::sendError); + }); } private Integer sendInputDuplicate() { From afecc113640c9fa1d0d645d7687febcdbda6cc95 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 26 May 2025 09:43:55 +0200 Subject: [PATCH 2/2] -> v1.46.14 (502) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1ed462a4..3a0ac055 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 501 - def appVersionName = '1.46.13' + def appVersionCode = 502 + def appVersionName = '1.46.14' signingConfigs { release {