diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/DocFromPickingDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SaveDocFromPickingRequestDTO.java similarity index 61% rename from app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/DocFromPickingDTO.java rename to app/src/main/java/it/integry/integrywmsnative/core/rest/model/SaveDocFromPickingRequestDTO.java index 4041729a..372a3f1f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/DocFromPickingDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SaveDocFromPickingRequestDTO.java @@ -1,22 +1,29 @@ -package it.integry.integrywmsnative.gest.contab_doc_interni.dto; +package it.integry.integrywmsnative.core.rest.model; +import com.annimon.stream.Stream; + import java.math.BigDecimal; import java.util.Date; import java.util.List; -public class DocFromPickingDTO { - String codAnag, codVdes, tipoLista, noteDoc; - Date dataDoc; - Integer numDoc; - List colli; - List pedane; +import it.integry.integrywmsnative.core.model.MtbColt; + +public class SaveDocFromPickingRequestDTO { + private String codAnag; + private String codVdes; + private String tipoLista; + private String noteDoc; + private Date dataDoc; + private Integer numDoc; + private List colli; + private List pedane; public String getCodAnag() { return codAnag; } - public DocFromPickingDTO setCodAnag(String codAnag) { + public SaveDocFromPickingRequestDTO setCodAnag(String codAnag) { this.codAnag = codAnag; return this; } @@ -25,7 +32,7 @@ public class DocFromPickingDTO { return codVdes; } - public DocFromPickingDTO setCodVdes(String codVdes) { + public SaveDocFromPickingRequestDTO setCodVdes(String codVdes) { this.codVdes = codVdes; return this; } @@ -34,7 +41,7 @@ public class DocFromPickingDTO { return tipoLista; } - public DocFromPickingDTO setTipoLista(String tipoLista) { + public SaveDocFromPickingRequestDTO setTipoLista(String tipoLista) { this.tipoLista = tipoLista; return this; } @@ -43,7 +50,7 @@ public class DocFromPickingDTO { return noteDoc; } - public DocFromPickingDTO setNoteDoc(String noteDoc) { + public SaveDocFromPickingRequestDTO setNoteDoc(String noteDoc) { this.noteDoc = noteDoc; return this; } @@ -52,7 +59,7 @@ public class DocFromPickingDTO { return dataDoc; } - public DocFromPickingDTO setDataDoc(Date dataDoc) { + public SaveDocFromPickingRequestDTO setDataDoc(Date dataDoc) { this.dataDoc = dataDoc; return this; } @@ -61,7 +68,7 @@ public class DocFromPickingDTO { return numDoc; } - public DocFromPickingDTO setNumDoc(Integer numDoc) { + public SaveDocFromPickingRequestDTO setNumDoc(Integer numDoc) { this.numDoc = numDoc; return this; } @@ -70,11 +77,24 @@ public class DocFromPickingDTO { return colli; } - public DocFromPickingDTO setColli(List colli) { + public SaveDocFromPickingRequestDTO setColli(List colli) { this.colli = colli; return this; } + public SaveDocFromPickingRequestDTO setColliFromMtbColts(List colli) { + if(colli == null) return this; + + this.colli = Stream.of(colli) + .map(x -> new DatiCollo() + .setDataCollo(x.getDataColloD()) + .setSerCollo(x.getSerCollo()) + .setNumCollo(x.getNumCollo()) + .setGestione(x.getGestione())) + .toList(); + return this; + } + public List getPedane() { return pedane; } 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 bdf50c60..563bd31b 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 @@ -446,12 +446,16 @@ public class RettificaGiacenzeViewModel { if (shouldChangePosition) { this.savePosizione(mtbDepoPosizione, () -> { + this.createDoc(() -> { + this.mAnyEditDone = false; + postSaveBehaviour(onComplete); + }); + }); + } else { + this.createDoc(() -> { this.mAnyEditDone = false; postSaveBehaviour(onComplete); }); - } else { - this.mAnyEditDone = false; - postSaveBehaviour(onComplete); } }); @@ -470,6 +474,10 @@ public class RettificaGiacenzeViewModel { } + private void createDoc(Runnable onComplete) { + mRettificaGiacenzeRESTConsumer.saveDoc(this.mCurrentMtbColt, onComplete, this::sendError); + } + private void saveCausaleRettificaGiacenze(Runnable onComplete) { this.mColliMagazzinoRESTConsumer.confirmGiacenzaUL(mCurrentMtbColt, onComplete, this::sendError); } 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 fe77a742..d587b3c3 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 @@ -4,17 +4,26 @@ 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 retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; @Singleton public class RettificaGiacenzeRESTConsumer extends _BaseRESTConsumer { @@ -82,4 +91,25 @@ public class RettificaGiacenzeRESTConsumer extends _BaseRESTConsumer { }, onFailed); } + + public void saveDoc(MtbColt mtbColt, Runnable onComplete, RunnableArgs onError) { + + var request = new SaveDocFromPickingRequestDTO() + .setColliFromMtbColts(Collections.singletonList(mtbColt)); + + final RettificaGiacenzeRESTConsumerService service = RESTBuilder.getService(RettificaGiacenzeRESTConsumerService.class); + service.saveDocFromPickingPvm(request) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call>> call, Response>> response) { + analyzeListOfAnswers(response, "saveDocFromPickingPvm", data -> onComplete.run(), 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 new file mode 100644 index 00000000..837efa12 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/rest/RettificaGiacenzeRESTConsumerService.java @@ -0,0 +1,17 @@ +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 retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.POST; + +public interface RettificaGiacenzeRESTConsumerService { + + + @POST("saveDocFromPickingPvm") + Call>> saveDocFromPickingPvm(@Body SaveDocFromPickingRequestDTO saveDocFromPickingRequestDTO); + +}