From 1a0af4761322778bc1211d0fdb5734ef33b0f877 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Wed, 27 Apr 2022 18:43:23 +0200 Subject: [PATCH 1/3] Modifiche stampa per tipo report --- .../core/report/ReportType.java | 40 ++++++++++ .../rest/consumers/GestSetupRESTConsumer.java | 18 ++--- .../rest/consumers/PrinterRESTConsumer.java | 43 ++++++++++- .../consumers/PrinterRESTConsumerService.java | 6 ++ .../core/rest/model/ReportTypeDTO.java | 51 +++++++++++++ .../core/settings/DBSettingsModel.java | 20 +++-- .../core/settings/SettingsManager.java | 19 ++++- .../gest/spedizione/SpedizioneActivity.java | 8 +- .../gest/spedizione/SpedizioneViewModel.java | 75 +++++++++++++------ 9 files changed, 231 insertions(+), 49 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/report/ReportType.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/rest/model/ReportTypeDTO.java diff --git a/app/src/main/java/it/integry/integrywmsnative/core/report/ReportType.java b/app/src/main/java/it/integry/integrywmsnative/core/report/ReportType.java new file mode 100644 index 00000000..3800524f --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/report/ReportType.java @@ -0,0 +1,40 @@ +package it.integry.integrywmsnative.core.report; + +import com.google.gson.annotations.SerializedName; + +public enum ReportType { + + @SerializedName("0") + ETICHETTA_SSCC_ACCETTAZIONE(0), + @SerializedName("1") + ETICHETTA_SSCC_LAVORAZIONE(1), + @SerializedName("2") + ETICHETTA_SSCC_SPEDIZIONE(2), + @SerializedName("3") + WMS_SPEDIZIONE_ETICHETTE_SSCC_ORD(3), + @SerializedName("4") + WMS_SPEDIZIONE_PACKING_LIST_ORD(4), + @SerializedName("5") + STAMPA_LISTINI_VENDITA(5); + + private final int value; + + ReportType(int value) { + this.value = value; + } + + public static ReportType from(Object value) { + int castValue = (int) value; + for (ReportType b : ReportType.values()) { + if (b.value == castValue) + return b; + } + return null; + } + + + public int getValue() { + return this.value; + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java index 23fd711d..384c6d0d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java @@ -6,11 +6,11 @@ import java.util.List; import javax.inject.Singleton; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.StbGestSetup; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.GestSetupDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; -import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.utility.UtilityLogger; import retrofit2.Call; import retrofit2.Callback; @@ -35,18 +35,18 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer { public void onFailure(Call> call, Throwable t) { Log.e("GestSetup", t.toString()); // UtilityLogger.errorMe(new Exception(t)); - if(onFailed != null) onFailed.run(new Exception(t)); + if (onFailed != null) onFailed.run(new Exception(t)); } }); } public static void getBooleanValue(String gestName, String sectionName, String keySection, RunnableArgs onComplete, RunnableArgs onFailed) { getValueStatic(gestName, sectionName, keySection, value -> { - if(value != null){ + if (value != null) { onComplete.run("S".equalsIgnoreCase(value.value)); } else onComplete.run(false); }, ex -> { - if(onFailed != null) onFailed.run(ex); + if (onFailed != null) onFailed.run(ex); }); } @@ -62,25 +62,25 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer { public void onFailure(Call> call, Throwable t) { Log.e("PrintCollo", t.toString()); UtilityLogger.errorMe(new Exception(t)); - if(onFailed != null) onFailed.run(new Exception(t)); + if (onFailed != null) onFailed.run(new Exception(t)); } }); } public static void getBooleanValue(String gestName, String sectionName, String keySection, String codMdep, RunnableArgs onComplete, RunnableArgs onFailed) { getValueStatic(gestName, sectionName, keySection, codMdep, value -> { - if(value != null){ + if (value != null) { onComplete.run("S".equalsIgnoreCase(value.value)); } else onComplete.run(false); }, ex -> { - if(onFailed != null) onFailed.run(ex); + if (onFailed != null) onFailed.run(ex); }); } public static void getValues(List stbGestSetupList, RunnableArgs> onComplete, RunnableArgs onFailed) { GestSetupRESTConsumerService service = RESTBuilder.getService(GestSetupRESTConsumerService.class); - service.getGestSetupValues(stbGestSetupList).enqueue(new Callback>>() { + service.getGestSetupValues(stbGestSetupList).enqueue(new Callback<>() { @Override public void onResponse(Call>> call, Response>> response) { analyzeAnswer(response, "GestSetup", onComplete, onFailed); @@ -89,7 +89,7 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer { @Override public void onFailure(Call>> call, Throwable t) { UtilityLogger.errorMe(new Exception(t)); - if(onFailed != null) onFailed.run(new Exception(t)); + if (onFailed != null) onFailed.run(new Exception(t)); } }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java index 85bda60e..038c879e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java @@ -12,9 +12,11 @@ import javax.inject.Singleton; import it.integry.integrywmsnative.core.exception.NoPrintersFoundException; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.report.ReportType; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.JasperDTO; import it.integry.integrywmsnative.core.rest.model.JasperPairDTO; +import it.integry.integrywmsnative.core.rest.model.ReportTypeDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityString; @@ -63,7 +65,7 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer { PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class); Call> callable = null; - callable = printerService.printCollo(testataColloToPrint); + callable = printerService.printCollo(testataColloToPrint); callable.enqueue(new Callback<>() { @Override @@ -115,4 +117,43 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer { }); } + public void printReportType(ReportType reportType, String codMdep, String codAnag, HashMap params, Runnable onComplete, RunnableArgs onFailed) { + + ReportTypeDTO reportTypeDTO = new ReportTypeDTO(); + reportTypeDTO.setReportType(reportType); + reportTypeDTO.setCodAnag(codAnag); + reportTypeDTO.setCodMdep(codMdep); + + Stream.of(params) + .forEach(x -> reportTypeDTO.getParams().add(new JasperPairDTO(x.getKey(), x.getValue()))); + + PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class); + printerService + .printReportType(reportTypeDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "printReportType", data -> { + onComplete.run(); + }, onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + if (t.getMessage().contains("Printer not found")) { + onFailed.run(new NoPrintersFoundException()); + } else onFailed.run(new Exception(t)); + } + }); + } + + public void printReportType(ReportType reportType, HashMap params, Runnable onComplete, RunnableArgs onFailed) { + printReportType(reportType, null, null, params, onComplete, onFailed); + } + + public void printReportType(ReportType reportType, String codMdep, HashMap params, Runnable onComplete, RunnableArgs onFailed) { + printReportType(reportType, codMdep, null, params, onComplete, onFailed); + } + + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumerService.java index ebde3247..833c3adf 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumerService.java @@ -4,6 +4,7 @@ import java.util.List; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.rest.model.JasperDTO; +import it.integry.integrywmsnative.core.rest.model.ReportTypeDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import retrofit2.Call; import retrofit2.http.Body; @@ -26,6 +27,11 @@ public interface PrinterRESTConsumerService { @Body JasperDTO jasperDTO ); + @POST("printReportType") + Call> printReportType( + @Body ReportTypeDTO reportTypeDTO + ); + @POST("wms/printEtichettaSSCC") Call> printCollo( @Body MtbColt mtbColtToPrint diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/ReportTypeDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/ReportTypeDTO.java new file mode 100644 index 00000000..88f74a88 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/ReportTypeDTO.java @@ -0,0 +1,51 @@ +package it.integry.integrywmsnative.core.rest.model; + +import java.util.ArrayList; +import java.util.List; + +import it.integry.integrywmsnative.core.report.ReportType; + +public class ReportTypeDTO { + + + private ReportType reportType; + private String codAnag; + private String codMdep; + private List params = new ArrayList<>(); + + public List getParams() { + return params; + } + + public ReportTypeDTO setParams(List params) { + this.params = params; + return this; + } + + public ReportType getReportType() { + return reportType; + } + + public ReportTypeDTO setReportType(ReportType reportType) { + this.reportType = reportType; + return this; + } + + public String getCodAnag() { + return codAnag; + } + + public ReportTypeDTO setCodAnag(String codAnag) { + this.codAnag = codAnag; + return this; + } + + public String getCodMdep() { + return codMdep; + } + + public ReportTypeDTO setCodMdep(String codMdep) { + this.codMdep = codMdep; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java index 520cbb78..b36c11e2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java @@ -42,7 +42,8 @@ public class DBSettingsModel { private boolean flagOrdinaArticoliOnScan; private String docInterniCheckFornitore; private String produzioneDefaultCodAnag; - private String reportNameSpedizionChiudiOrdine; + private boolean flagPrintPackingListOnOrderClose; + private boolean flagPrintEtichetteOnOrderClose; private int onNumCnfInputChanged = 1; private boolean flagAccettazioneUseQtaOrd = false; private boolean flagPickLiberoAllowEmptyDest = false; @@ -281,12 +282,21 @@ public class DBSettingsModel { return this; } - public String getReportNameSpedizionChiudiOrdine() { - return reportNameSpedizionChiudiOrdine; + public boolean isFlagPrintPackingListOnOrderClose() { + return flagPrintPackingListOnOrderClose; } - public DBSettingsModel setReportNameSpedizionChiudiOrdine(String reportNameSpedizionChiudiOrdine) { - this.reportNameSpedizionChiudiOrdine = reportNameSpedizionChiudiOrdine; + public DBSettingsModel setFlagPrintPackingListOnOrderClose(boolean flagPrintPackingListOnOrderClose) { + this.flagPrintPackingListOnOrderClose = flagPrintPackingListOnOrderClose; + return this; + } + + public boolean isFlagPrintEtichetteOnOrderClose() { + return flagPrintEtichetteOnOrderClose; + } + + public DBSettingsModel setFlagPrintEtichetteOnOrderClose(boolean flagPrintEtichetteOnOrderClose) { + this.flagPrintEtichetteOnOrderClose = flagPrintEtichetteOnOrderClose; return this; } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java index 89e1eb08..d0a41ab6 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java @@ -273,7 +273,11 @@ public class SettingsManager { stbGestSetupList.add(new StbGestSetup() .setGestName("PICKING") .setSection("SPEDIZIONE") - .setKeySection("REPORT_PACKING_LIST")); + .setKeySection("FLAG_PRINT_PACKING_LIST_ON_CLOSE")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("FLAG_PRINT_ETICHETTE_ON_CLOSE")); stbGestSetupList.add(new StbGestSetup() .setGestName("PICKING") .setSection("SPEDIZIONE") @@ -327,7 +331,8 @@ public class SettingsManager { dbSettingsModelIstance.setFlagSpedizioneEnableManualPick(getValueFromList(list, "SPEDIZIONE", "ENABLE_MANUAL_PICK", Boolean.class)); dbSettingsModelIstance.setFlagSpedizioneEnableFakeGiacenza(getValueFromList(list, "SPEDIZIONE", "ENABLE_FAKE_GIACENZA", Boolean.class)); dbSettingsModelIstance.setFlagSpedizioneCanSelectMultipleOrders(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_SELECT_MULTIPLE_ORDERS", Boolean.class)); - dbSettingsModelIstance.setReportNameSpedizionChiudiOrdine(getValueFromList(list, "SPEDIZIONE", "REPORT_PACKING_LIST", String.class)); +// dbSettingsModelIstance.setFlagPrintPackingListOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_PACKING_LIST_ON_CLOSE", Boolean.class)); +// dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", Boolean.class)); dbSettingsModelIstance.setFlagSpedizioneUseQtaOrd(getValueFromList(list, "SPEDIZIONE", "FLAG_USE_QTA_ORD", Boolean.class)); dbSettingsModelIstance.setFlagOrdinaNuoviArticoliInGriglia(getValueFromList(list, "ORDINI_A", "ORDINA_NUOVI_ARTICOLI", Boolean.class)); dbSettingsModelIstance.setDocInterniCheckFornitore(getValueFromList(list, "DOC_INTERNI", "CHECK_FORNITORE", String.class)); @@ -344,8 +349,14 @@ public class SettingsManager { if (onNumCnfInputChanged != null) { dbSettingsModelIstance.setOnNumCnfInputChanged(onNumCnfInputChanged); } - - if (onComplete != null) onComplete.run(); + String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); + GestSetupRESTConsumer.getBooleanValue("PICKING", "SPEDIZIONE", "FLAG_PRINT_PACKING_LIST_ON_CLOSE", codMdep, (value) -> { + dbSettingsModelIstance.setFlagPrintPackingListOnOrderClose(value); + GestSetupRESTConsumer.getBooleanValue("PICKING", "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", codMdep, (gestSetupDTO) -> { + dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(value); + if (onComplete != null) onComplete.run(); + }, onFailed); + }, onFailed); }, onFailed); } 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 db6cf599..ebf9b083 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 @@ -192,9 +192,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo this.initBarcodeReader(); this.initRecyclerView(); - - String reportNameSpedizioneChiudiOrdine = SettingsManager.iDB().getReportNameSpedizionChiudiOrdine(); - closeOrderButtonEnabled.set(!UtilityString.isNullOrEmpty(reportNameSpedizioneChiudiOrdine)); + closeOrderButtonEnabled.set(SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose() || SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); @@ -204,7 +202,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo boolean shouldAskPesoLU = SettingsManager.iDB().isFlagAskPesoColloSpedizione(); boolean useQtaOrd = SettingsManager.iDB().isFlagSpedizioneUseQtaOrd(); - if (!mEnableFakeGiacenza) this.onLoadingStarted(); mViewmodel.init( codMdep, !mEnableFakeGiacenza, @@ -214,7 +211,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo mSitArtOrd, mTestateOrdini, mColliRegistrati, - reportNameSpedizioneChiudiOrdine, mGestioneCol, mSegnoCol, mDefaultCausaleUL, mEnableQuantityReset, useQtaOrd); @@ -696,7 +692,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo this.addExtraItemsEnabled.set(false); noLUPresent.set(true); this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null); - closeOrderButtonEnabled.set(!UtilityString.isNullOrEmpty(SettingsManager.iDB().getReportNameSpedizionChiudiOrdine())); + closeOrderButtonEnabled.set(SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose() || SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()); if (this.mShouldCloseActivity) super.onBackPressed(); } 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 913728d6..489b59c4 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 @@ -26,7 +26,6 @@ import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; import it.integry.integrywmsnative.core.exception.InvalidLUException; import it.integry.integrywmsnative.core.exception.NoArtsFoundException; import it.integry.integrywmsnative.core.exception.NoLUFoundException; -import it.integry.integrywmsnative.core.exception.NoPrintersFoundException; import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException; import it.integry.integrywmsnative.core.exception.ScannedPositionNotExistException; import it.integry.integrywmsnative.core.expansion.AtomicBigDecimal; @@ -45,6 +44,7 @@ import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbPartitaMag; import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; +import it.integry.integrywmsnative.core.report.ReportType; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; @@ -55,6 +55,7 @@ import it.integry.integrywmsnative.core.rest.model.Ean128Model; import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; +import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityDate; @@ -91,7 +92,6 @@ public class SpedizioneViewModel { private boolean mEnableCheckPartitaMag; private boolean mCanOverflowOrderQuantity; private boolean mShouldAskPesoLU; - private String mReportNameSpedizioneChiudiOrdine; private boolean mIsNewLU; private boolean mEnableQuantityReset; private boolean mUseQtaOrd; @@ -133,7 +133,6 @@ public class SpedizioneViewModel { List pickingList, List testateOrdini, List colliRegistrati, - String reportNameSpedizioneChiudiOrdine, GestioneEnum gestioneCol, int segnoCol, Integer defaultCausaleUL, @@ -148,7 +147,6 @@ public class SpedizioneViewModel { this.mEnableCheckPartitaMag = enableCheckPartitaMag; this.mCanOverflowOrderQuantity = canOverflowOrderQuantity; this.mShouldAskPesoLU = shouldAskPesoLU; - this.mReportNameSpedizioneChiudiOrdine = reportNameSpedizioneChiudiOrdine; this.mDefaultCausaleOfUL = defaultCausaleUL; this.mEnableQuantityReset = enableQuantityReset; this.mUseQtaOrd = useQtaOrd; @@ -1854,48 +1852,77 @@ public class SpedizioneViewModel { public void closeOrder() { this.sendOnLoadingStarted(); - Runnable onComplete = () -> this.sendOnLoadingEnded(); - - this.mPrinterRESTConsumer.getAvailablePrinters(mDefaultCodMdep, PrinterRESTConsumer.Type.PRIMARIA, printerList -> { - - if (printerList == null || printerList.size() == 0) { - this.sendError(new NoPrintersFoundException()); - onComplete.run(); - return; + Runnable printEtichetteOrderRunnable = () -> { + if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) { + cyclicPrintListEtichette( + this.mTestateOrdini.iterator(), + this::sendOnLoadingEnded, + ex -> this.sendLUPrintError(ex, this::sendOnLoadingEnded)); } + }; + + if (SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()) { cyclicPrintPackingList( this.mTestateOrdini.iterator(), - printerList.get(0), - onComplete, - ex -> this.sendLUPrintError(ex, onComplete)); - }, this::sendError); + printEtichetteOrderRunnable, + ex -> this.sendLUPrintError(ex, printEtichetteOrderRunnable)); + } else { + printEtichetteOrderRunnable.run(); + } + } - private void cyclicPrintPackingList(@NotNull Iterator sourceTestateOrdineVenditaIterator, String printerName, Runnable onComplete, RunnableArgs onAbort) { + private void cyclicPrintPackingList(@NotNull Iterator sourceTestateOrdineVenditaIterator, Runnable onComplete, RunnableArgs onAbort) { if (sourceTestateOrdineVenditaIterator.hasNext()) { - singlePrintPackingList(sourceTestateOrdineVenditaIterator.next(), printerName, () -> { - cyclicPrintPackingList(sourceTestateOrdineVenditaIterator, printerName, onComplete, onAbort); + singlePrintPackingList(sourceTestateOrdineVenditaIterator.next(), () -> { + cyclicPrintPackingList(sourceTestateOrdineVenditaIterator, onComplete, onAbort); }, onAbort); } else { onComplete.run(); } } - private void singlePrintPackingList(OrdineUscitaInevasoDTO ordineUscitaInevasoDTO, String printerName, Runnable onComplete, RunnableArgs onFailed) { + private void cyclicPrintListEtichette(@NotNull Iterator sourceTestateOrdineVenditaIterator, Runnable onComplete, RunnableArgs onAbort) { + if (sourceTestateOrdineVenditaIterator.hasNext()) { + singlePrintListEtichette(sourceTestateOrdineVenditaIterator.next(), () -> { + cyclicPrintListEtichette(sourceTestateOrdineVenditaIterator, onComplete, onAbort); + }, onAbort); + } else { + onComplete.run(); + } + } + + private void singlePrintPackingList(OrdineUscitaInevasoDTO ordineUscitaInevasoDTO, Runnable onComplete, RunnableArgs onFailed) { HashMap params = new HashMap<>(); params.put("gestione", ordineUscitaInevasoDTO.getGestione()); params.put("num_ord", ordineUscitaInevasoDTO.getNumOrd()); params.put("data_ord", UtilityDate.formatDate(ordineUscitaInevasoDTO.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH)); - this.mPrinterRESTConsumer.printReport( - printerName, - this.mReportNameSpedizioneChiudiOrdine, + this.mPrinterRESTConsumer.printReportType( + ReportType.WMS_SPEDIZIONE_PACKING_LIST_ORD, + SettingsManager.i().getUserSession().getDepo().getCodMdep(), + ordineUscitaInevasoDTO.getCodAnagOrd(), + params, + onComplete, + onFailed); + + } + + private void singlePrintListEtichette(OrdineUscitaInevasoDTO ordineUscitaInevasoDTO, Runnable onComplete, RunnableArgs onFailed) { + HashMap params = new HashMap<>(); + params.put("gestione", ordineUscitaInevasoDTO.getGestione()); + params.put("num_ord", ordineUscitaInevasoDTO.getNumOrd()); + params.put("data_ord", UtilityDate.formatDate(ordineUscitaInevasoDTO.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH)); + + this.mPrinterRESTConsumer.printReportType( + ReportType.WMS_SPEDIZIONE_ETICHETTE_SSCC_ORD, + SettingsManager.i().getUserSession().getDepo().getCodMdep(), + ordineUscitaInevasoDTO.getCodAnagOrd(), params, - 1, onComplete, onFailed); From 0d021e6bada3f39c6554165b526a146f5c1e9261 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Tue, 3 May 2022 10:31:38 +0200 Subject: [PATCH 2/3] aggiunto controllo su mtbColrRif null in picking libero --- .../gest/picking_libero/PickingLiberoViewModel.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java index 92e8382e..49dff4bd 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java @@ -213,7 +213,7 @@ public class PickingLiberoViewModel { if (posizione != null && posizione.isFlagMonoCollo()) { this.executePosizione(posizione, articolo, onComplete); - } else if(mDefaultGestione == GestioneEnum.VENDITA){ + } else if (mDefaultGestione == GestioneEnum.VENDITA) { this.dispatchArt(articolo, ean128Model); onComplete.run(); } else { @@ -626,7 +626,7 @@ public class PickingLiberoViewModel { UtilityString.equalsIgnoreCase(x.getCodCol(), mtbColrToUpdate.getCodCol()) && UtilityString.equalsIgnoreCase(x.getCodTagl(), mtbColrToUpdate.getCodTagl()) && UtilityString.equalsIgnoreCase(x.getPartitaMag(), mtbColrToUpdate.getPartitaMag())) - .single(); + .findFirstOrElse(null); } From 4f140d0d589b327743d12760aa23774ada16527b Mon Sep 17 00:00:00 2001 From: ValerioC Date: Tue, 3 May 2022 10:49:07 +0200 Subject: [PATCH 3/3] -> v1.26.0 (283) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a8839861..297c3a8f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 282 - def appVersionName = '1.25.5' + def appVersionCode = 283 + def appVersionName = '1.26.0' signingConfigs { release {