Modifiche stampa per tipo report

This commit is contained in:
Valerio Castellana 2022-04-27 18:43:23 +02:00
parent ddfde73f1e
commit 1a0af47613
9 changed files with 231 additions and 49 deletions

View File

@ -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;
}
}

View File

@ -6,11 +6,11 @@ import java.util.List;
import javax.inject.Singleton; import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.StbGestSetup; import it.integry.integrywmsnative.core.model.StbGestSetup;
import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.GestSetupDTO; import it.integry.integrywmsnative.core.rest.model.GestSetupDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityLogger;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
@ -35,18 +35,18 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer {
public void onFailure(Call<ServiceRESTResponse<GestSetupDTO>> call, Throwable t) { public void onFailure(Call<ServiceRESTResponse<GestSetupDTO>> call, Throwable t) {
Log.e("GestSetup", t.toString()); Log.e("GestSetup", t.toString());
// UtilityLogger.errorMe(new Exception(t)); // 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<Boolean> onComplete, RunnableArgs<Exception> onFailed) { public static void getBooleanValue(String gestName, String sectionName, String keySection, RunnableArgs<Boolean> onComplete, RunnableArgs<Exception> onFailed) {
getValueStatic(gestName, sectionName, keySection, value -> { getValueStatic(gestName, sectionName, keySection, value -> {
if(value != null){ if (value != null) {
onComplete.run("S".equalsIgnoreCase(value.value)); onComplete.run("S".equalsIgnoreCase(value.value));
} else onComplete.run(false); } else onComplete.run(false);
}, ex -> { }, 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<ServiceRESTResponse<GestSetupDTO>> call, Throwable t) { public void onFailure(Call<ServiceRESTResponse<GestSetupDTO>> call, Throwable t) {
Log.e("PrintCollo", t.toString()); Log.e("PrintCollo", t.toString());
UtilityLogger.errorMe(new Exception(t)); 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<Boolean> onComplete, RunnableArgs<Exception> onFailed) { public static void getBooleanValue(String gestName, String sectionName, String keySection, String codMdep, RunnableArgs<Boolean> onComplete, RunnableArgs<Exception> onFailed) {
getValueStatic(gestName, sectionName, keySection, codMdep, value -> { getValueStatic(gestName, sectionName, keySection, codMdep, value -> {
if(value != null){ if (value != null) {
onComplete.run("S".equalsIgnoreCase(value.value)); onComplete.run("S".equalsIgnoreCase(value.value));
} else onComplete.run(false); } else onComplete.run(false);
}, ex -> { }, ex -> {
if(onFailed != null) onFailed.run(ex); if (onFailed != null) onFailed.run(ex);
}); });
} }
public static void getValues(List<StbGestSetup> stbGestSetupList, RunnableArgs<List<StbGestSetup>> onComplete, RunnableArgs<Exception> onFailed) { public static void getValues(List<StbGestSetup> stbGestSetupList, RunnableArgs<List<StbGestSetup>> onComplete, RunnableArgs<Exception> onFailed) {
GestSetupRESTConsumerService service = RESTBuilder.getService(GestSetupRESTConsumerService.class); GestSetupRESTConsumerService service = RESTBuilder.getService(GestSetupRESTConsumerService.class);
service.getGestSetupValues(stbGestSetupList).enqueue(new Callback<ServiceRESTResponse<List<StbGestSetup>>>() { service.getGestSetupValues(stbGestSetupList).enqueue(new Callback<>() {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<List<StbGestSetup>>> call, Response<ServiceRESTResponse<List<StbGestSetup>>> response) { public void onResponse(Call<ServiceRESTResponse<List<StbGestSetup>>> call, Response<ServiceRESTResponse<List<StbGestSetup>>> response) {
analyzeAnswer(response, "GestSetup", onComplete, onFailed); analyzeAnswer(response, "GestSetup", onComplete, onFailed);
@ -89,7 +89,7 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer {
@Override @Override
public void onFailure(Call<ServiceRESTResponse<List<StbGestSetup>>> call, Throwable t) { public void onFailure(Call<ServiceRESTResponse<List<StbGestSetup>>> call, Throwable t) {
UtilityLogger.errorMe(new Exception(t)); UtilityLogger.errorMe(new Exception(t));
if(onFailed != null) onFailed.run(new Exception(t)); if (onFailed != null) onFailed.run(new Exception(t));
} }
}); });
} }

View File

@ -12,9 +12,11 @@ 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.MtbColt; 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.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.JasperDTO; import it.integry.integrywmsnative.core.rest.model.JasperDTO;
import it.integry.integrywmsnative.core.rest.model.JasperPairDTO; 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.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
@ -63,7 +65,7 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class); PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class);
Call<ServiceRESTResponse<Object>> callable = null; Call<ServiceRESTResponse<Object>> callable = null;
callable = printerService.printCollo(testataColloToPrint); callable = printerService.printCollo(testataColloToPrint);
callable.enqueue(new Callback<>() { callable.enqueue(new Callback<>() {
@Override @Override
@ -115,4 +117,43 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
}); });
} }
public void printReportType(ReportType reportType, String codMdep, String codAnag, HashMap<String, Object> params, Runnable onComplete, RunnableArgs<Exception> 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<ServiceRESTResponse<Object>> call, Response<ServiceRESTResponse<Object>> response) {
analyzeAnswer(response, "printReportType", 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));
}
});
}
public void printReportType(ReportType reportType, HashMap<String, Object> params, Runnable onComplete, RunnableArgs<Exception> onFailed) {
printReportType(reportType, null, null, params, onComplete, onFailed);
}
public void printReportType(ReportType reportType, String codMdep, HashMap<String, Object> params, Runnable onComplete, RunnableArgs<Exception> onFailed) {
printReportType(reportType, codMdep, null, params, onComplete, onFailed);
}
} }

View File

@ -4,6 +4,7 @@ import java.util.List;
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.ServiceRESTResponse; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.http.Body; import retrofit2.http.Body;
@ -26,6 +27,11 @@ public interface PrinterRESTConsumerService {
@Body JasperDTO jasperDTO @Body JasperDTO jasperDTO
); );
@POST("printReportType")
Call<ServiceRESTResponse<Object>> printReportType(
@Body ReportTypeDTO reportTypeDTO
);
@POST("wms/printEtichettaSSCC") @POST("wms/printEtichettaSSCC")
Call<ServiceRESTResponse<Object>> printCollo( Call<ServiceRESTResponse<Object>> printCollo(
@Body MtbColt mtbColtToPrint @Body MtbColt mtbColtToPrint

View File

@ -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<JasperPairDTO> params = new ArrayList<>();
public List<JasperPairDTO> getParams() {
return params;
}
public ReportTypeDTO setParams(List<JasperPairDTO> 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;
}
}

View File

@ -42,7 +42,8 @@ public class DBSettingsModel {
private boolean flagOrdinaArticoliOnScan; private boolean flagOrdinaArticoliOnScan;
private String docInterniCheckFornitore; private String docInterniCheckFornitore;
private String produzioneDefaultCodAnag; private String produzioneDefaultCodAnag;
private String reportNameSpedizionChiudiOrdine; private boolean flagPrintPackingListOnOrderClose;
private boolean flagPrintEtichetteOnOrderClose;
private int onNumCnfInputChanged = 1; private int onNumCnfInputChanged = 1;
private boolean flagAccettazioneUseQtaOrd = false; private boolean flagAccettazioneUseQtaOrd = false;
private boolean flagPickLiberoAllowEmptyDest = false; private boolean flagPickLiberoAllowEmptyDest = false;
@ -281,12 +282,21 @@ public class DBSettingsModel {
return this; return this;
} }
public String getReportNameSpedizionChiudiOrdine() { public boolean isFlagPrintPackingListOnOrderClose() {
return reportNameSpedizionChiudiOrdine; return flagPrintPackingListOnOrderClose;
} }
public DBSettingsModel setReportNameSpedizionChiudiOrdine(String reportNameSpedizionChiudiOrdine) { public DBSettingsModel setFlagPrintPackingListOnOrderClose(boolean flagPrintPackingListOnOrderClose) {
this.reportNameSpedizionChiudiOrdine = reportNameSpedizionChiudiOrdine; this.flagPrintPackingListOnOrderClose = flagPrintPackingListOnOrderClose;
return this;
}
public boolean isFlagPrintEtichetteOnOrderClose() {
return flagPrintEtichetteOnOrderClose;
}
public DBSettingsModel setFlagPrintEtichetteOnOrderClose(boolean flagPrintEtichetteOnOrderClose) {
this.flagPrintEtichetteOnOrderClose = flagPrintEtichetteOnOrderClose;
return this; return this;
} }

View File

@ -273,7 +273,11 @@ public class SettingsManager {
stbGestSetupList.add(new StbGestSetup() stbGestSetupList.add(new StbGestSetup()
.setGestName("PICKING") .setGestName("PICKING")
.setSection("SPEDIZIONE") .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() stbGestSetupList.add(new StbGestSetup()
.setGestName("PICKING") .setGestName("PICKING")
.setSection("SPEDIZIONE") .setSection("SPEDIZIONE")
@ -327,7 +331,8 @@ public class SettingsManager {
dbSettingsModelIstance.setFlagSpedizioneEnableManualPick(getValueFromList(list, "SPEDIZIONE", "ENABLE_MANUAL_PICK", Boolean.class)); dbSettingsModelIstance.setFlagSpedizioneEnableManualPick(getValueFromList(list, "SPEDIZIONE", "ENABLE_MANUAL_PICK", Boolean.class));
dbSettingsModelIstance.setFlagSpedizioneEnableFakeGiacenza(getValueFromList(list, "SPEDIZIONE", "ENABLE_FAKE_GIACENZA", 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.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.setFlagSpedizioneUseQtaOrd(getValueFromList(list, "SPEDIZIONE", "FLAG_USE_QTA_ORD", Boolean.class));
dbSettingsModelIstance.setFlagOrdinaNuoviArticoliInGriglia(getValueFromList(list, "ORDINI_A", "ORDINA_NUOVI_ARTICOLI", Boolean.class)); dbSettingsModelIstance.setFlagOrdinaNuoviArticoliInGriglia(getValueFromList(list, "ORDINI_A", "ORDINA_NUOVI_ARTICOLI", Boolean.class));
dbSettingsModelIstance.setDocInterniCheckFornitore(getValueFromList(list, "DOC_INTERNI", "CHECK_FORNITORE", String.class)); dbSettingsModelIstance.setDocInterniCheckFornitore(getValueFromList(list, "DOC_INTERNI", "CHECK_FORNITORE", String.class));
@ -344,8 +349,14 @@ public class SettingsManager {
if (onNumCnfInputChanged != null) { if (onNumCnfInputChanged != null) {
dbSettingsModelIstance.setOnNumCnfInputChanged(onNumCnfInputChanged); dbSettingsModelIstance.setOnNumCnfInputChanged(onNumCnfInputChanged);
} }
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
if (onComplete != null) onComplete.run(); 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); }, onFailed);
} }

View File

@ -192,9 +192,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
this.initBarcodeReader(); this.initBarcodeReader();
this.initRecyclerView(); this.initRecyclerView();
closeOrderButtonEnabled.set(SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose() || SettingsManager.iDB().isFlagPrintPackingListOnOrderClose());
String reportNameSpedizioneChiudiOrdine = SettingsManager.iDB().getReportNameSpedizionChiudiOrdine();
closeOrderButtonEnabled.set(!UtilityString.isNullOrEmpty(reportNameSpedizioneChiudiOrdine));
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
@ -204,7 +202,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
boolean shouldAskPesoLU = SettingsManager.iDB().isFlagAskPesoColloSpedizione(); boolean shouldAskPesoLU = SettingsManager.iDB().isFlagAskPesoColloSpedizione();
boolean useQtaOrd = SettingsManager.iDB().isFlagSpedizioneUseQtaOrd(); boolean useQtaOrd = SettingsManager.iDB().isFlagSpedizioneUseQtaOrd();
if (!mEnableFakeGiacenza) this.onLoadingStarted();
mViewmodel.init( mViewmodel.init(
codMdep, codMdep,
!mEnableFakeGiacenza, !mEnableFakeGiacenza,
@ -214,7 +211,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
mSitArtOrd, mSitArtOrd,
mTestateOrdini, mTestateOrdini,
mColliRegistrati, mColliRegistrati,
reportNameSpedizioneChiudiOrdine,
mGestioneCol, mSegnoCol, mDefaultCausaleUL, mGestioneCol, mSegnoCol, mDefaultCausaleUL,
mEnableQuantityReset, mEnableQuantityReset,
useQtaOrd); useQtaOrd);
@ -696,7 +692,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
this.addExtraItemsEnabled.set(false); this.addExtraItemsEnabled.set(false);
noLUPresent.set(true); noLUPresent.set(true);
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null); this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
closeOrderButtonEnabled.set(!UtilityString.isNullOrEmpty(SettingsManager.iDB().getReportNameSpedizionChiudiOrdine())); closeOrderButtonEnabled.set(SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose() || SettingsManager.iDB().isFlagPrintPackingListOnOrderClose());
if (this.mShouldCloseActivity) super.onBackPressed(); if (this.mShouldCloseActivity) super.onBackPressed();
} }

View File

@ -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.InvalidLUException;
import it.integry.integrywmsnative.core.exception.NoArtsFoundException; import it.integry.integrywmsnative.core.exception.NoArtsFoundException;
import it.integry.integrywmsnative.core.exception.NoLUFoundException; 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.NoResultFromBarcodeException;
import it.integry.integrywmsnative.core.exception.ScannedPositionNotExistException; import it.integry.integrywmsnative.core.exception.ScannedPositionNotExistException;
import it.integry.integrywmsnative.core.expansion.AtomicBigDecimal; 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.MtbPartitaMag;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; 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.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; 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.Ean13PesoModel;
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; 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.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
@ -91,7 +92,6 @@ public class SpedizioneViewModel {
private boolean mEnableCheckPartitaMag; private boolean mEnableCheckPartitaMag;
private boolean mCanOverflowOrderQuantity; private boolean mCanOverflowOrderQuantity;
private boolean mShouldAskPesoLU; private boolean mShouldAskPesoLU;
private String mReportNameSpedizioneChiudiOrdine;
private boolean mIsNewLU; private boolean mIsNewLU;
private boolean mEnableQuantityReset; private boolean mEnableQuantityReset;
private boolean mUseQtaOrd; private boolean mUseQtaOrd;
@ -133,7 +133,6 @@ public class SpedizioneViewModel {
List<SitArtOrdDTO> pickingList, List<SitArtOrdDTO> pickingList,
List<OrdineUscitaInevasoDTO> testateOrdini, List<OrdineUscitaInevasoDTO> testateOrdini,
List<MtbColt> colliRegistrati, List<MtbColt> colliRegistrati,
String reportNameSpedizioneChiudiOrdine,
GestioneEnum gestioneCol, GestioneEnum gestioneCol,
int segnoCol, int segnoCol,
Integer defaultCausaleUL, Integer defaultCausaleUL,
@ -148,7 +147,6 @@ public class SpedizioneViewModel {
this.mEnableCheckPartitaMag = enableCheckPartitaMag; this.mEnableCheckPartitaMag = enableCheckPartitaMag;
this.mCanOverflowOrderQuantity = canOverflowOrderQuantity; this.mCanOverflowOrderQuantity = canOverflowOrderQuantity;
this.mShouldAskPesoLU = shouldAskPesoLU; this.mShouldAskPesoLU = shouldAskPesoLU;
this.mReportNameSpedizioneChiudiOrdine = reportNameSpedizioneChiudiOrdine;
this.mDefaultCausaleOfUL = defaultCausaleUL; this.mDefaultCausaleOfUL = defaultCausaleUL;
this.mEnableQuantityReset = enableQuantityReset; this.mEnableQuantityReset = enableQuantityReset;
this.mUseQtaOrd = useQtaOrd; this.mUseQtaOrd = useQtaOrd;
@ -1854,48 +1852,77 @@ public class SpedizioneViewModel {
public void closeOrder() { public void closeOrder() {
this.sendOnLoadingStarted(); this.sendOnLoadingStarted();
Runnable onComplete = () -> this.sendOnLoadingEnded(); Runnable printEtichetteOrderRunnable = () -> {
if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
this.mPrinterRESTConsumer.getAvailablePrinters(mDefaultCodMdep, PrinterRESTConsumer.Type.PRIMARIA, printerList -> { cyclicPrintListEtichette(
this.mTestateOrdini.iterator(),
if (printerList == null || printerList.size() == 0) { this::sendOnLoadingEnded,
this.sendError(new NoPrintersFoundException()); ex -> this.sendLUPrintError(ex, this::sendOnLoadingEnded));
onComplete.run();
return;
} }
};
if (SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()) {
cyclicPrintPackingList( cyclicPrintPackingList(
this.mTestateOrdini.iterator(), 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<OrdineUscitaInevasoDTO> sourceTestateOrdineVenditaIterator, String printerName, Runnable onComplete, RunnableArgs<Exception> onAbort) { private void cyclicPrintPackingList(@NotNull Iterator<OrdineUscitaInevasoDTO> sourceTestateOrdineVenditaIterator, Runnable onComplete, RunnableArgs<Exception> onAbort) {
if (sourceTestateOrdineVenditaIterator.hasNext()) { if (sourceTestateOrdineVenditaIterator.hasNext()) {
singlePrintPackingList(sourceTestateOrdineVenditaIterator.next(), printerName, () -> { singlePrintPackingList(sourceTestateOrdineVenditaIterator.next(), () -> {
cyclicPrintPackingList(sourceTestateOrdineVenditaIterator, printerName, onComplete, onAbort); cyclicPrintPackingList(sourceTestateOrdineVenditaIterator, onComplete, onAbort);
}, onAbort); }, onAbort);
} else { } else {
onComplete.run(); onComplete.run();
} }
} }
private void singlePrintPackingList(OrdineUscitaInevasoDTO ordineUscitaInevasoDTO, String printerName, Runnable onComplete, RunnableArgs<Exception> onFailed) { private void cyclicPrintListEtichette(@NotNull Iterator<OrdineUscitaInevasoDTO> sourceTestateOrdineVenditaIterator, Runnable onComplete, RunnableArgs<Exception> onAbort) {
if (sourceTestateOrdineVenditaIterator.hasNext()) {
singlePrintListEtichette(sourceTestateOrdineVenditaIterator.next(), () -> {
cyclicPrintListEtichette(sourceTestateOrdineVenditaIterator, onComplete, onAbort);
}, onAbort);
} else {
onComplete.run();
}
}
private void singlePrintPackingList(OrdineUscitaInevasoDTO ordineUscitaInevasoDTO, Runnable onComplete, RunnableArgs<Exception> onFailed) {
HashMap<String, Object> params = new HashMap<>(); HashMap<String, Object> params = new HashMap<>();
params.put("gestione", ordineUscitaInevasoDTO.getGestione()); params.put("gestione", ordineUscitaInevasoDTO.getGestione());
params.put("num_ord", ordineUscitaInevasoDTO.getNumOrd()); params.put("num_ord", ordineUscitaInevasoDTO.getNumOrd());
params.put("data_ord", UtilityDate.formatDate(ordineUscitaInevasoDTO.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH)); params.put("data_ord", UtilityDate.formatDate(ordineUscitaInevasoDTO.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH));
this.mPrinterRESTConsumer.printReport( this.mPrinterRESTConsumer.printReportType(
printerName, ReportType.WMS_SPEDIZIONE_PACKING_LIST_ORD,
this.mReportNameSpedizioneChiudiOrdine, SettingsManager.i().getUserSession().getDepo().getCodMdep(),
ordineUscitaInevasoDTO.getCodAnagOrd(),
params,
onComplete,
onFailed);
}
private void singlePrintListEtichette(OrdineUscitaInevasoDTO ordineUscitaInevasoDTO, Runnable onComplete, RunnableArgs<Exception> onFailed) {
HashMap<String, Object> 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, params,
1,
onComplete, onComplete,
onFailed); onFailed);