From e6ecebd49ab8536ec2c7072fe11f86e6a5de0db8 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 3 Jul 2023 17:59:30 +0200 Subject: [PATCH] Nuovi servizi in rettigica giacenze --- .../core/model/MtbAartWithFornitore.java | 15 ---- .../consumers/ColliMagazzinoRESTConsumer.java | 4 +- .../RettificaGiacenzeViewModel.java | 2 +- ...ArticoloByBarcodeOrCodMartResponseDTO.java | 60 +++++++++++++ ...oByCodArtFornOrDescrizioneResponseDTO.java | 28 ++++++ .../rest/RettificaGiacenzeRESTConsumer.java | 85 ++++++++++--------- .../RettificaGiacenzeRESTConsumerService.java | 14 +++ 7 files changed, 151 insertions(+), 57 deletions(-) delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/model/MtbAartWithFornitore.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/SearchArticoloByBarcodeOrCodMartResponseDTO.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/SearchArticoloByCodArtFornOrDescrizioneResponseDTO.java diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbAartWithFornitore.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbAartWithFornitore.java deleted file mode 100644 index e6b06b50..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbAartWithFornitore.java +++ /dev/null @@ -1,15 +0,0 @@ -package it.integry.integrywmsnative.core.model; - -public class MtbAartWithFornitore extends MtbAart { - - private String codArtFor; - - public String getCodArtFor() { - return codArtFor; - } - - public MtbAartWithFornitore setCodArtFor(String codArtFor) { - this.codArtFor = codArtFor; - return this; - } -} 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 aaf83cdf..de65aede 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 @@ -58,7 +58,9 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer { public void saveCollo(MtbColt mtbColtToSave, RunnableArgs onComplete, RunnableArgs onFailed) { MtbColt mtbColtToSaveClone = (MtbColt) mtbColtToSave.clone(); - mtbColtToSave.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); + mtbColtToSaveClone.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); + mtbColtToSaveClone.setOnlyPkMaster(false); + mtbColtToSaveClone.setMtbColr(new ObservableArrayList<>()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java index 4f91e780..b084a63a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java @@ -183,7 +183,7 @@ public class RettificaGiacenzeViewModel { mRettificaGiacenzeRESTConsumer.searchArtForn(codAlis, queryText, listaArts -> { this.sendOnLoadingEnded(); - List mtbAarts = Stream.of(listaArts).map(x -> (MtbAart) x).toList(); + List mtbAarts = Stream.of(listaArts).map(x -> (MtbAart) x.getMtbAart()).toList(); dispatchArts(mtbAarts); }, this::sendError); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/SearchArticoloByBarcodeOrCodMartResponseDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/SearchArticoloByBarcodeOrCodMartResponseDTO.java new file mode 100644 index 00000000..0df89be1 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/SearchArticoloByBarcodeOrCodMartResponseDTO.java @@ -0,0 +1,60 @@ +package it.integry.integrywmsnative.gest.rettifica_giacenze.dto; + +import java.math.BigDecimal; + +import it.integry.integrywmsnative.core.model.MtbAart; + +public class SearchArticoloByBarcodeOrCodMartResponseDTO { + + private MtbAart mtbAart; + private BigDecimal qtaEsistente; + private BigDecimal qtaImpegnata; + private BigDecimal numCnfEsistente; + private BigDecimal numCnfImpegnata; + + + public MtbAart getMtbAart() { + return mtbAart; + } + + public SearchArticoloByBarcodeOrCodMartResponseDTO setMtbAart(MtbAart mtbAart) { + this.mtbAart = mtbAart; + return this; + } + + public BigDecimal getQtaEsistente() { + return qtaEsistente; + } + + public SearchArticoloByBarcodeOrCodMartResponseDTO setQtaEsistente(BigDecimal qtaEsistente) { + this.qtaEsistente = qtaEsistente; + return this; + } + + public BigDecimal getQtaImpegnata() { + return qtaImpegnata; + } + + public SearchArticoloByBarcodeOrCodMartResponseDTO setQtaImpegnata(BigDecimal qtaImpegnata) { + this.qtaImpegnata = qtaImpegnata; + return this; + } + + public BigDecimal getNumCnfEsistente() { + return numCnfEsistente; + } + + public SearchArticoloByBarcodeOrCodMartResponseDTO setNumCnfEsistente(BigDecimal numCnfEsistente) { + this.numCnfEsistente = numCnfEsistente; + return this; + } + + public BigDecimal getNumCnfImpegnata() { + return numCnfImpegnata; + } + + public SearchArticoloByBarcodeOrCodMartResponseDTO setNumCnfImpegnata(BigDecimal numCnfImpegnata) { + this.numCnfImpegnata = numCnfImpegnata; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/SearchArticoloByCodArtFornOrDescrizioneResponseDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/SearchArticoloByCodArtFornOrDescrizioneResponseDTO.java new file mode 100644 index 00000000..aa460d45 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/SearchArticoloByCodArtFornOrDescrizioneResponseDTO.java @@ -0,0 +1,28 @@ +package it.integry.integrywmsnative.gest.rettifica_giacenze.dto; + +import it.integry.integrywmsnative.core.model.MtbAart; + +public class SearchArticoloByCodArtFornOrDescrizioneResponseDTO { + + private MtbAart mtbAart; + + private String codArtFor; + + public MtbAart getMtbAart() { + return mtbAart; + } + + public SearchArticoloByCodArtFornOrDescrizioneResponseDTO setMtbAart(MtbAart mtbAart) { + this.mtbAart = mtbAart; + return this; + } + + public String getCodArtFor() { + return codArtFor; + } + + public SearchArticoloByCodArtFornOrDescrizioneResponseDTO setCodArtFor(String codArtFor) { + this.codArtFor = codArtFor; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/rest/RettificaGiacenzeRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/rest/RettificaGiacenzeRESTConsumer.java index 366b0211..891d04bd 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/rest/RettificaGiacenzeRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/rest/RettificaGiacenzeRESTConsumer.java @@ -1,25 +1,26 @@ package it.integry.integrywmsnative.gest.rettifica_giacenze.rest; +import com.annimon.stream.Stream; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Collections; +import java.util.List; import javax.inject.Singleton; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbAart; -import it.integry.integrywmsnative.core.model.MtbAartWithFornitore; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer; import it.integry.integrywmsnative.core.rest.model.SaveDocFromPickingRequestDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; -import it.integry.integrywmsnative.core.settings.SettingsManager; -import it.integry.integrywmsnative.core.utility.UtilityDB; import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO; +import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.SearchArticoloByBarcodeOrCodMartResponseDTO; +import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.SearchArticoloByCodArtFornOrDescrizioneResponseDTO; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -45,49 +46,53 @@ public class RettificaGiacenzeRESTConsumer extends _BaseRESTConsumer { } - public void searchArtForn(String codAlis, String codArtForOrDescr, RunnableArgs> onComplete, RunnableArgs onFailed) { - String sql = "SELECT mtb_aart.*, mtb_lisa.cod_art_for from mtb_lisa, mtb_aart, mtb_part " + - " WHERE mtb_lisa.cod_alis = " + UtilityDB.valueToString(codAlis) + - " AND mtb_lisa.cod_mart = mtb_aart.cod_mart " + - " AND mtb_lisa.cod_mart = mtb_part.cod_mart " + - " AND mtb_part.cod_mdep = '" + SettingsManager.i().getUserSession().getDepo().getCodMdep() + "' " + - " AND (mtb_aart.descrizione_estesa LIKE '%" + codArtForOrDescr + "%' OR cod_art_for LIKE '%" + codArtForOrDescr + "%') " + - " ORDER BY ABS(mtb_part.qta_esistente) DESC, mtb_aart.descrizione_estesa"; + public void searchArtForn(String codAlis, String codArtForOrDescr, RunnableArgs> onComplete, RunnableArgs onError) { + final RettificaGiacenzeRESTConsumerService service = RESTBuilder.getService(RettificaGiacenzeRESTConsumerService.class); + service.searchByCodArtFornOrDescrizione(codAlis, codArtForOrDescr) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call>> call, + Response>> response) { + analyzeAnswer(response, "searchByCodArtFornOrDescrizione", onComplete, onError); + } + + @Override + public void onFailure(Call>> call, Throwable t) { + onError.run(new Exception(t)); + } + }); + - Type typeOfObjectsList = new TypeToken>() { - }.getType(); - mSystemRestConsumer.>processSql(sql, typeOfObjectsList, value -> { - if (onComplete != null) onComplete.run(value); - }, onFailed); } - public void searchArtInt(String codMartOrBarcodeOrDescr, RunnableArgs> onComplete, RunnableArgs onFailed) { - String sql = "SELECT DISTINCT mtb_aart.*," + - " qta_esistente, " + - " qta_imp_cli + qta_imp_lav AS qta_impegnata, " + - " num_esistente AS num_cnf_esistente, " + - " num_imp_cli + num_imp_lav AS num_cnf_impegnata " + - " FROM mtb_aart " + - " LEFT OUTER JOIN mvw_barcode on mtb_aart.cod_mart = mvw_barcode.cod_mart " + - " LEFT OUTER JOIN mtb_part mp on mtb_aart.cod_mart = mp.cod_mart " + - " AND mp.cod_mdep = '" + SettingsManager.i().getUserSession().getDepo().getCodMdep() + "'" + - " WHERE CASE" + - " WHEN LEN(mvw_barcode.cod_barre) > 13 THEN mvw_barcode.cod_barre " + - " ELSE Replicate('0', 13 - len(mvw_barcode.cod_barre))+ mvw_barcode.cod_barre " + - " END LIKE '%' + CASE " + - " WHEN LEN('" + codMartOrBarcodeOrDescr + "') > 13 THEN '" + codMartOrBarcodeOrDescr + "' " + - " ELSE Replicate('0', 13 - len('" + codMartOrBarcodeOrDescr + "')) + '" + codMartOrBarcodeOrDescr + "'" + - " END " + - "OR mtb_aart.cod_mart = '" + codMartOrBarcodeOrDescr + "' " + - "OR mtb_aart.descrizione_estesa LIKE '%" + codMartOrBarcodeOrDescr + "%'"; + public void searchArtInt(String codMartOrBarcodeOrDescr, RunnableArgs> onComplete, RunnableArgs onError) { + final RettificaGiacenzeRESTConsumerService service = RESTBuilder.getService(RettificaGiacenzeRESTConsumerService.class); + service.searchByCodMartOrBarcode(codMartOrBarcodeOrDescr) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call>> call, + Response>> response) { + analyzeAnswer(response, "searchByCodMartOrBarcode", data -> { - Type typeOfObjectsList = new TypeToken>() { - }.getType(); - mSystemRestConsumer.>processSql(sql, typeOfObjectsList, value -> { - if (onComplete != null) onComplete.run(value); - }, onFailed); + var listToReturn = Stream.of(data) + .map(x -> x.getMtbAart() + .setQtaEsistente(x.getQtaEsistente()) + .setQtaImpegnata(x.getQtaImpegnata()) + .setNumCnfEsistente(x.getNumCnfEsistente()) + .setNumCnfImpegnata(x.getNumCnfImpegnata())) + .toList(); + + onComplete.run(listToReturn); + }, onError); + } + + @Override + public void onFailure(Call>> call, Throwable t) { + onError.run(new Exception(t)); + } + }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/rest/RettificaGiacenzeRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/rest/RettificaGiacenzeRESTConsumerService.java index fd6ae1d7..9e08eea8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/rest/RettificaGiacenzeRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/rest/RettificaGiacenzeRESTConsumerService.java @@ -1,14 +1,28 @@ package it.integry.integrywmsnative.gest.rettifica_giacenze.rest; +import java.util.List; + import it.integry.integrywmsnative.core.rest.model.SaveDocFromPickingRequestDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.SearchArticoloByBarcodeOrCodMartResponseDTO; +import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.SearchArticoloByCodArtFornOrDescrizioneResponseDTO; import retrofit2.Call; import retrofit2.http.Body; +import retrofit2.http.GET; import retrofit2.http.POST; +import retrofit2.http.Query; public interface RettificaGiacenzeRESTConsumerService { + @GET("wms/articolo/searchByCodArtFornOrDescrizione") + Call>> searchByCodArtFornOrDescrizione( + @Query("codAlis") String codAlis, + @Query("codArtFornOrDescrizione") String codMartOrBarcode); + + @GET("wms/articolo/searchByCodMartOrBarcode") + Call>> searchByCodMartOrBarcode(@Query("codMartOrBarcode") String codMartOrBarcode); + @POST("saveDocFromPickingPvm") Call> saveDocFromPickingPvm(@Body SaveDocFromPickingRequestDTO saveDocFromPickingRequestDTO);