spostate stampe in chiusura ordine su servizio dedicato

This commit is contained in:
Valerio Castellana 2022-05-06 15:20:34 +02:00
parent 496387b5c6
commit d6979289e2
3 changed files with 48 additions and 20 deletions

View File

@ -11,6 +11,7 @@ import javax.inject.Singleton;
import it.integry.integrywmsnative.core.exception.NoPrintersFoundException; import it.integry.integrywmsnative.core.exception.NoPrintersFoundException;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.DtbOrdt;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.report.ReportType; import it.integry.integrywmsnative.core.report.ReportType;
import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.RESTBuilder;
@ -155,5 +156,26 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
printReportType(reportType, codMdep, null, params, onComplete, onFailed); printReportType(reportType, codMdep, null, params, onComplete, onFailed);
} }
public void printClosedOrders(List<DtbOrdt> closedOrders, String codMdep, Runnable onComplete, RunnableArgs<Exception> onFailed) {
PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class, 240);
Call<ServiceRESTResponse<Object>> callable = printerService.printClosedOrders(codMdep, closedOrders);
callable.enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<Object>> call, Response<ServiceRESTResponse<Object>> response) {
analyzeAnswer(response, "printCollo", data -> {
onComplete.run();
}, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<Object>> call, Throwable t) {
if (t.getMessage().contains("Printer not found")) {
onFailed.run(new NoPrintersFoundException());
} else onFailed.run(new Exception(t));
}
});
}
} }

View File

@ -2,6 +2,7 @@ package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.model.DtbOrdt;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.rest.model.JasperDTO; import it.integry.integrywmsnative.core.rest.model.JasperDTO;
import it.integry.integrywmsnative.core.rest.model.ReportTypeDTO; import it.integry.integrywmsnative.core.rest.model.ReportTypeDTO;
@ -37,4 +38,10 @@ public interface PrinterRESTConsumerService {
@Body MtbColt mtbColtToPrint @Body MtbColt mtbColtToPrint
); );
@POST("wms/printClosedOrders")
Call<ServiceRESTResponse<Object>> printClosedOrders(
@Query("codMdep") String codMdep,
@Body List<DtbOrdt> closedOrders
);
} }

View File

@ -36,6 +36,7 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILUBaseOp
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILUPrintListener; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILUPrintListener;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.core.model.CommonModelConsts; import it.integry.integrywmsnative.core.model.CommonModelConsts;
import it.integry.integrywmsnative.core.model.DtbOrdt;
import it.integry.integrywmsnative.core.model.FiltroOrdineDTO; import it.integry.integrywmsnative.core.model.FiltroOrdineDTO;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
@ -1851,29 +1852,27 @@ public class SpedizioneViewModel {
public void closeOrder() { public void closeOrder() {
this.sendOnLoadingStarted(); this.sendOnLoadingStarted();
if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose() || SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()) {
Runnable printEtichetteOrderRunnable = () -> { printClosedOrders(this.mTestateOrdini, this::sendOnLoadingEnded, ex -> this.sendLUPrintError(ex, this::sendOnLoadingEnded));
if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) { }
cyclicPrintListEtichette(
this.mTestateOrdini.iterator(),
this::sendOnLoadingEnded,
ex -> this.sendLUPrintError(ex, this::sendOnLoadingEnded));
}
};
if (SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()) {
cyclicPrintPackingList(
this.mTestateOrdini.iterator(),
printEtichetteOrderRunnable,
ex -> this.sendLUPrintError(ex, printEtichetteOrderRunnable));
} else {
printEtichetteOrderRunnable.run();
} }
private void printClosedOrders(List<OrdineUscitaInevasoDTO> listOrdiniInevasi, Runnable onSuccess, RunnableArgs<Exception> onAbort) {
HashMap<String, Object> params = new HashMap<>();
List<DtbOrdt> closedOrders = Stream.of(listOrdiniInevasi).map(ord -> {
DtbOrdt ordV = new DtbOrdt();
ordV.setDataOrd(ord.getDataOrdS())
.setNumOrd(ord.getNumOrd())
.setGestione(ord.getGestione())
.setCodAnag(ord.getCodAnagOrd());
return ordV;
}).toList();
this.mPrinterRESTConsumer.printClosedOrders(
closedOrders,
SettingsManager.i().getUserSession().getDepo().getCodMdep(),
onSuccess,
onAbort);
} }
private void cyclicPrintPackingList(@NotNull Iterator<OrdineUscitaInevasoDTO> sourceTestateOrdineVenditaIterator, Runnable onComplete, RunnableArgs<Exception> onAbort) { private void cyclicPrintPackingList(@NotNull Iterator<OrdineUscitaInevasoDTO> sourceTestateOrdineVenditaIterator, Runnable onComplete, RunnableArgs<Exception> onAbort) {