From a385b01584043f09b76f6efe38e92627ee89e7f2 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Tue, 1 Jul 2025 15:40:02 +0200 Subject: [PATCH] In verifica giagenza gestito salvataggio online per ogni riga --- .../consumers/GiacenzaPvRESTConsumer.java | 35 ++++++++- .../GiacenzaPvRESTConsumerService.java | 18 ++++- .../model/pv/CloseVerificaRequestDTO.java | 27 +++++++ .../model/pv/DeleteRowVerificaRequestDTO.java | 37 +++++++++ .../pv/SaveNewRowVerificaRequestDTO.java | 38 +++++++++ .../model/pv/SaveNewVerificaRequestDTO.java | 15 ---- .../model/pv/UpdateRowVerificaRequestDTO.java | 38 +++++++++ .../VerificaGiacenzeFragment.java | 12 ++- .../VerificaGiacenzeModule.java | 6 +- .../VerificaGiacenzeViewModel.java | 77 +++++++++++++++---- .../res/layout/fragment_verifica_giacenze.xml | 2 +- 11 files changed, 262 insertions(+), 43 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/CloseVerificaRequestDTO.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/DeleteRowVerificaRequestDTO.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/SaveNewRowVerificaRequestDTO.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/SaveNewVerificaRequestDTO.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/UpdateRowVerificaRequestDTO.java diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaPvRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaPvRESTConsumer.java index e755444a..02a6b03a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaPvRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaPvRESTConsumer.java @@ -5,8 +5,11 @@ import java.util.List; import java.util.concurrent.ExecutorService; import it.integry.integrywmsnative.core.rest.RESTBuilder; +import it.integry.integrywmsnative.core.rest.model.pv.CloseVerificaRequestDTO; +import it.integry.integrywmsnative.core.rest.model.pv.DeleteRowVerificaRequestDTO; import it.integry.integrywmsnative.core.rest.model.pv.GiacenzaPvDTO; -import it.integry.integrywmsnative.core.rest.model.pv.SaveNewVerificaRequestDTO; +import it.integry.integrywmsnative.core.rest.model.pv.SaveNewRowVerificaRequestDTO; +import it.integry.integrywmsnative.core.rest.model.pv.UpdateRowVerificaRequestDTO; public class GiacenzaPvRESTConsumer extends _BaseRESTConsumer { @@ -30,12 +33,36 @@ public class GiacenzaPvRESTConsumer extends _BaseRESTConsumer { return giacenzeList != null ? giacenzeList : new ArrayList<>(); } - public void saveNewVerificaSynchronized(SaveNewVerificaRequestDTO saveNewVerificaRequest) throws Exception { + public void saveNewRowSynchronized(SaveNewRowVerificaRequestDTO saveNewRowVerificaRequest) throws Exception { GiacenzaPvRESTConsumerService giacenzaPvRESTConsumerService = restBuilder.getService(GiacenzaPvRESTConsumerService.class, 0); - var response = giacenzaPvRESTConsumerService.saveNewVerifica(saveNewVerificaRequest) + var response = giacenzaPvRESTConsumerService.saveNewRowVerifica(saveNewRowVerificaRequest) .execute(); - analyzeAnswer(response, "save-verifica-pv"); + analyzeAnswer(response, "save-row-verifica-pv"); + } + + public void updateRowSynchronized(UpdateRowVerificaRequestDTO updateRowVerificaRequest) throws Exception { + GiacenzaPvRESTConsumerService giacenzaPvRESTConsumerService = restBuilder.getService(GiacenzaPvRESTConsumerService.class, 0); + var response = giacenzaPvRESTConsumerService.updateRowVerifica(updateRowVerificaRequest) + .execute(); + + analyzeAnswer(response, "update-row-verifica-pv"); + } + + public void deleteRowSynchronized(DeleteRowVerificaRequestDTO deleteRowVerificaRequest) throws Exception { + GiacenzaPvRESTConsumerService giacenzaPvRESTConsumerService = restBuilder.getService(GiacenzaPvRESTConsumerService.class, 0); + var response = giacenzaPvRESTConsumerService.deleteRowVerifica(deleteRowVerificaRequest) + .execute(); + + analyzeAnswer(response, "delete-row-verifica-pv"); + } + + public void closeVerifica(CloseVerificaRequestDTO closeVerificaRequestDTO) throws Exception { + GiacenzaPvRESTConsumerService giacenzaPvRESTConsumerService = restBuilder.getService(GiacenzaPvRESTConsumerService.class, 0); + var response = giacenzaPvRESTConsumerService.closeVerifica(closeVerificaRequestDTO) + .execute(); + + analyzeAnswer(response, "close-verifica-pv"); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaPvRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaPvRESTConsumerService.java index c4ef0149..0d039c12 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaPvRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaPvRESTConsumerService.java @@ -3,8 +3,11 @@ package it.integry.integrywmsnative.core.rest.consumers; import java.util.List; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.core.rest.model.pv.CloseVerificaRequestDTO; +import it.integry.integrywmsnative.core.rest.model.pv.DeleteRowVerificaRequestDTO; import it.integry.integrywmsnative.core.rest.model.pv.GiacenzaPvDTO; -import it.integry.integrywmsnative.core.rest.model.pv.SaveNewVerificaRequestDTO; +import it.integry.integrywmsnative.core.rest.model.pv.SaveNewRowVerificaRequestDTO; +import it.integry.integrywmsnative.core.rest.model.pv.UpdateRowVerificaRequestDTO; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.GET; @@ -17,6 +20,15 @@ public interface GiacenzaPvRESTConsumerService { Call>> retrieve(@Query("codMdep") String codMdep); - @POST("wms/pv/verifica_giacenze/save_new_verifica") - Call> saveNewVerifica(@Body SaveNewVerificaRequestDTO saveNewVerificaRequest); + @POST("wms/pv/verifica_giacenze/save_new_row") + Call> saveNewRowVerifica(@Body SaveNewRowVerificaRequestDTO saveNewRowVerificaRequest); + + @POST("wms/pv/verifica_giacenze/update_row") + Call> updateRowVerifica(@Body UpdateRowVerificaRequestDTO updateRowVerificaRequest); + + @POST("wms/pv/verifica_giacenze/delete_row") + Call> deleteRowVerifica(@Body DeleteRowVerificaRequestDTO deleteRowVerificaRequest); + + @POST("wms/pv/verifica_giacenze/close_verifica") + Call> closeVerifica(@Body CloseVerificaRequestDTO closeVerificaRequest); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/CloseVerificaRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/CloseVerificaRequestDTO.java new file mode 100644 index 00000000..7ad60af1 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/CloseVerificaRequestDTO.java @@ -0,0 +1,27 @@ +package it.integry.integrywmsnative.core.rest.model.pv; + +import java.time.LocalDateTime; + +public class CloseVerificaRequestDTO { + + private String codMdep; + private LocalDateTime dataVerifica; + + public String getCodMdep() { + return codMdep; + } + + public CloseVerificaRequestDTO setCodMdep(String codMdep) { + this.codMdep = codMdep; + return this; + } + + public LocalDateTime getDataVerifica() { + return dataVerifica; + } + + public CloseVerificaRequestDTO setDataVerifica(LocalDateTime dataVerifica) { + this.dataVerifica = dataVerifica; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/DeleteRowVerificaRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/DeleteRowVerificaRequestDTO.java new file mode 100644 index 00000000..fde7b7e6 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/DeleteRowVerificaRequestDTO.java @@ -0,0 +1,37 @@ +package it.integry.integrywmsnative.core.rest.model.pv; + +import java.time.LocalDateTime; + +public class DeleteRowVerificaRequestDTO { + + private String codMdep; + private LocalDateTime dataVerifica; + private VerificaGiacenzeRowDTO row; + + public String getCodMdep() { + return codMdep; + } + + public DeleteRowVerificaRequestDTO setCodMdep(String codMdep) { + this.codMdep = codMdep; + return this; + } + + public LocalDateTime getDataVerifica() { + return dataVerifica; + } + + public DeleteRowVerificaRequestDTO setDataVerifica(LocalDateTime dataVerifica) { + this.dataVerifica = dataVerifica; + return this; + } + + public VerificaGiacenzeRowDTO getRow() { + return row; + } + + public DeleteRowVerificaRequestDTO setRow(VerificaGiacenzeRowDTO row) { + this.row = row; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/SaveNewRowVerificaRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/SaveNewRowVerificaRequestDTO.java new file mode 100644 index 00000000..71846386 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/SaveNewRowVerificaRequestDTO.java @@ -0,0 +1,38 @@ +package it.integry.integrywmsnative.core.rest.model.pv; + +import java.time.LocalDateTime; + +public class SaveNewRowVerificaRequestDTO { + + private String codMdep; + private LocalDateTime dataVerifica; + private VerificaGiacenzeRowDTO row; + + + public String getCodMdep() { + return codMdep; + } + + public SaveNewRowVerificaRequestDTO setCodMdep(String codMdep) { + this.codMdep = codMdep; + return this; + } + + public LocalDateTime getDataVerifica() { + return dataVerifica; + } + + public SaveNewRowVerificaRequestDTO setDataVerifica(LocalDateTime dataVerifica) { + this.dataVerifica = dataVerifica; + return this; + } + + public VerificaGiacenzeRowDTO getRow() { + return row; + } + + public SaveNewRowVerificaRequestDTO setRow(VerificaGiacenzeRowDTO row) { + this.row = row; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/SaveNewVerificaRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/SaveNewVerificaRequestDTO.java deleted file mode 100644 index 54e13263..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/SaveNewVerificaRequestDTO.java +++ /dev/null @@ -1,15 +0,0 @@ -package it.integry.integrywmsnative.core.rest.model.pv; - -public class SaveNewVerificaRequestDTO { - - private VerificaGiacenzeDTO data; - - public VerificaGiacenzeDTO getData() { - return data; - } - - public SaveNewVerificaRequestDTO setData(VerificaGiacenzeDTO data) { - this.data = data; - return this; - } -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/UpdateRowVerificaRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/UpdateRowVerificaRequestDTO.java new file mode 100644 index 00000000..838f7a1d --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/UpdateRowVerificaRequestDTO.java @@ -0,0 +1,38 @@ +package it.integry.integrywmsnative.core.rest.model.pv; + +import java.time.LocalDateTime; + +public class UpdateRowVerificaRequestDTO { + + private String codMdep; + private LocalDateTime dataVerifica; + private VerificaGiacenzeRowDTO row; + + + public String getCodMdep() { + return codMdep; + } + + public UpdateRowVerificaRequestDTO setCodMdep(String codMdep) { + this.codMdep = codMdep; + return this; + } + + public LocalDateTime getDataVerifica() { + return dataVerifica; + } + + public UpdateRowVerificaRequestDTO setDataVerifica(LocalDateTime dataVerifica) { + this.dataVerifica = dataVerifica; + return this; + } + + public VerificaGiacenzeRowDTO getRow() { + return row; + } + + public UpdateRowVerificaRequestDTO setRow(VerificaGiacenzeRowDTO row) { + this.row = row; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java index da57df96..927b8db1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java @@ -252,7 +252,13 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra @Override public void onItemDeleteRequest(VerificaGiacenzeRowEntity data) { - mViewModel.deleteRow(data); + executorService.execute(() -> { + try { + mViewModel.deleteRow(data); + } catch (Exception ex) { + onError(ex); + } + }); } @@ -317,12 +323,12 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra return result.get(); } - public void saveAndClose() { + public void Close() { this.onLoadingStarted(); executorService.execute(() -> { try { - mViewModel.save(); + mViewModel.close(); this.onLoadingEnded(); popMe(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeModule.java index 72d23a34..169f646a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeModule.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeModule.java @@ -8,7 +8,7 @@ import dagger.Module; import dagger.Provides; import it.integry.integrywmsnative.core.data_store.db.respository_new.VerificaGiacenzeRepository; import it.integry.integrywmsnative.core.data_store.db.respository_new.VerificaGiacenzeRowRepository; -import it.integry.integrywmsnative.core.mapper.VerificaGiacenzeMapper; +import it.integry.integrywmsnative.core.mapper.VerificaGiacenzeRowMapper; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GiacenzaPvRESTConsumer; @@ -16,8 +16,8 @@ import it.integry.integrywmsnative.core.rest.consumers.GiacenzaPvRESTConsumer; public class VerificaGiacenzeModule { @Provides - VerificaGiacenzeViewModel providesVerificaGiacenzeViewModel(ExecutorService executorService, Handler handler, VerificaGiacenzeMapper verificaGiacenzeMapper, VerificaGiacenzeRepository verificaGiacenzeRepository, VerificaGiacenzeRowRepository verificaGiacenzeRowRepository, GiacenzaPvRESTConsumer giacenzaPvRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) { - return new VerificaGiacenzeViewModel(executorService, handler, verificaGiacenzeMapper, giacenzaPvRESTConsumer, verificaGiacenzeRepository, verificaGiacenzeRowRepository, articoloRESTConsumer); + VerificaGiacenzeViewModel providesVerificaGiacenzeViewModel(ExecutorService executorService, Handler handler, VerificaGiacenzeRowMapper verificaGiacenzeRowMapper, VerificaGiacenzeRepository verificaGiacenzeRepository, VerificaGiacenzeRowRepository verificaGiacenzeRowRepository, GiacenzaPvRESTConsumer giacenzaPvRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) { + return new VerificaGiacenzeViewModel(executorService, handler, verificaGiacenzeRowMapper, giacenzaPvRESTConsumer, verificaGiacenzeRepository, verificaGiacenzeRowRepository, articoloRESTConsumer); } } \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java index 690502bd..33f11e77 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java @@ -11,7 +11,6 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Objects; -import java.util.Optional; import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; @@ -23,14 +22,18 @@ import it.integry.integrywmsnative.core.data_store.db.entity.VerificaGiacenzeRow import it.integry.integrywmsnative.core.data_store.db.respository_new.VerificaGiacenzeRepository; import it.integry.integrywmsnative.core.data_store.db.respository_new.VerificaGiacenzeRowRepository; import it.integry.integrywmsnative.core.exception.NoArtsFoundException; +import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.mapper.VerificaGiacenzeMapper; +import it.integry.integrywmsnative.core.mapper.VerificaGiacenzeRowMapper; import it.integry.integrywmsnative.core.model.MtbAart; -import it.integry.integrywmsnative.core.model.MtbAartBarCode; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GiacenzaPvRESTConsumer; import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel; +import it.integry.integrywmsnative.core.rest.model.pv.CloseVerificaRequestDTO; +import it.integry.integrywmsnative.core.rest.model.pv.DeleteRowVerificaRequestDTO; import it.integry.integrywmsnative.core.rest.model.pv.GiacenzaPvDTO; -import it.integry.integrywmsnative.core.rest.model.pv.SaveNewVerificaRequestDTO; +import it.integry.integrywmsnative.core.rest.model.pv.SaveNewRowVerificaRequestDTO; +import it.integry.integrywmsnative.core.rest.model.pv.UpdateRowVerificaRequestDTO; import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO; @@ -39,7 +42,7 @@ public class VerificaGiacenzeViewModel { private final ExecutorService executorService; private final Handler handler; - private final VerificaGiacenzeMapper verificaGiacenzeMapper; + private final VerificaGiacenzeRowMapper verificaGiacenzeRowMapper; private final GiacenzaPvRESTConsumer giacenzaPvRESTConsumer; private final VerificaGiacenzeRepository verificaGiacenzeRepository; private final VerificaGiacenzeRowRepository verificaGiacenzeRowRepository; @@ -56,14 +59,14 @@ public class VerificaGiacenzeViewModel { @Inject public VerificaGiacenzeViewModel(ExecutorService executorService, Handler handler, - VerificaGiacenzeMapper verificaGiacenzeMapper, + VerificaGiacenzeRowMapper verificaGiacenzeRowMapper, GiacenzaPvRESTConsumer giacenzaPvRESTConsumer, VerificaGiacenzeRepository verificaGiacenzeRepository, VerificaGiacenzeRowRepository verificaGiacenzeRowRepository, ArticoloRESTConsumer articoloRESTConsumer) { this.executorService = executorService; this.handler = handler; - this.verificaGiacenzeMapper = verificaGiacenzeMapper; + this.verificaGiacenzeRowMapper = verificaGiacenzeRowMapper; this.giacenzaPvRESTConsumer = giacenzaPvRESTConsumer; this.verificaGiacenzeRepository = verificaGiacenzeRepository; this.verificaGiacenzeRowRepository = verificaGiacenzeRowRepository; @@ -168,19 +171,17 @@ public class VerificaGiacenzeViewModel { return entity; } - - public void save() throws Exception { + public void close() throws Exception { if (currentVerificaRows.getValue().isEmpty()) { delete(); return; } - currentVerifica.getValue().setVerificaGiacenzeRowList(currentVerificaRows.getValue()); + CloseVerificaRequestDTO request = new CloseVerificaRequestDTO() + .setCodMdep(Objects.requireNonNull(currentVerifica.getValue()).getCodMdep()) + .setDataVerifica(Objects.requireNonNull(currentVerifica.getValue()).getData()); - SaveNewVerificaRequestDTO saveRequest = new SaveNewVerificaRequestDTO() - .setData(verificaGiacenzeMapper.mapRoomToRest(currentVerifica.getValue())); - - giacenzaPvRESTConsumer.saveNewVerificaSynchronized(saveRequest); + giacenzaPvRESTConsumer.closeVerifica(request); delete(); } @@ -300,6 +301,19 @@ public class VerificaGiacenzeViewModel { } public void insertRow(VerificaGiacenzeRowEntity rowEntity) { + this.sendOnLoadingStarted(); + + var saveRequest = new SaveNewRowVerificaRequestDTO() + .setCodMdep(Objects.requireNonNull(currentVerifica.getValue()).getCodMdep()) + .setDataVerifica(Objects.requireNonNull(currentVerifica.getValue()).getData()) + .setRow(verificaGiacenzeRowMapper.mapRoomToRest(rowEntity)); + + try { + giacenzaPvRESTConsumer.saveNewRowSynchronized(saveRequest); + } catch (Exception e) { + this.sendError(e); + } + verificaGiacenzeRowRepository.insert(rowEntity, insertedData -> { handler.post(() -> { currentVerificaRows.getValue().add(insertedData); @@ -309,6 +323,19 @@ public class VerificaGiacenzeViewModel { } public void updateRow(VerificaGiacenzeRowEntity rowEntity) { + this.sendOnLoadingStarted(); + + var updateRequest = new UpdateRowVerificaRequestDTO() + .setCodMdep(Objects.requireNonNull(currentVerifica.getValue()).getCodMdep()) + .setDataVerifica(Objects.requireNonNull(currentVerifica.getValue()).getData()) + .setRow(verificaGiacenzeRowMapper.mapRoomToRest(rowEntity)); + + try { + giacenzaPvRESTConsumer.updateRowSynchronized(updateRequest); + } catch (Exception e) { + this.sendError(e); + } + var indexInList = -1; List value = currentVerificaRows.getValue(); @@ -331,6 +358,19 @@ public class VerificaGiacenzeViewModel { } public void deleteRow(VerificaGiacenzeRowEntity rowEntity) { + this.sendOnLoadingStarted(); + + var deleteRequest = new DeleteRowVerificaRequestDTO() + .setCodMdep(Objects.requireNonNull(currentVerifica.getValue()).getCodMdep()) + .setDataVerifica(Objects.requireNonNull(currentVerifica.getValue()).getData()) + .setRow(verificaGiacenzeRowMapper.mapRoomToRest(rowEntity)); + + try { + giacenzaPvRESTConsumer.deleteRowSynchronized(deleteRequest); + } catch (Exception e) { + this.sendError(e); + } + verificaGiacenzeRowRepository.delete(rowEntity, () -> { handler.post(() -> { @@ -343,6 +383,7 @@ public class VerificaGiacenzeViewModel { private void notifyRowChanged() { currentVerificaRows.postValue(currentVerificaRows.getValue()); + this.sendOnLoadingEnded(); } private PickedQuantityDTO sendOnItemDispatched(MtbAart mtbAart, @@ -373,7 +414,15 @@ public class VerificaGiacenzeViewModel { this.listener.onError(ex); } - public interface Listener { + private void sendOnLoadingStarted() { + if (this.listener != null) listener.onLoadingStarted(); + } + + private void sendOnLoadingEnded() { + if (this.listener != null) listener.onLoadingEnded(); + } + + public interface Listener extends ILoadingListener { PickedQuantityDTO onItemDispatched(MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, diff --git a/app/src/main/res/layout/fragment_verifica_giacenze.xml b/app/src/main/res/layout/fragment_verifica_giacenze.xml index fb29e68b..5024a6c3 100644 --- a/app/src/main/res/layout/fragment_verifica_giacenze.xml +++ b/app/src/main/res/layout/fragment_verifica_giacenze.xml @@ -87,7 +87,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="16dp" - app:singleClick="@{() -> view.saveAndClose()}" + app:singleClick="@{() -> view.Close()}" app:srcCompat="@drawable/ic_round_check_24" app:visibilityWhenNotNull="@{viewModel.currentVerifica}" />