Finish v1.26.2(285)

This commit is contained in:
Valerio Castellana 2022-05-11 09:49:57 +02:00
commit 0c9e607c33
10 changed files with 95 additions and 31 deletions

View File

@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 284 def appVersionCode = 285
def appVersionName = '1.26.1' def appVersionName = '1.26.2'
signingConfigs { signingConfigs {
release { release {

View File

@ -19,7 +19,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr; import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt; import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
@Database(entities = {ArticoloGriglia.class, Griglia.class, Ordine.class, ArticoloOrdine.class, SqlMtbColt.class, SqlMtbColr.class}, version = 8, exportSchema = false) @Database(entities = {ArticoloGriglia.class, Griglia.class, Ordine.class, ArticoloOrdine.class, SqlMtbColt.class, SqlMtbColr.class}, version = 9, exportSchema = false)
@TypeConverters({ @TypeConverters({
DateConverter.class, DateConverter.class,
BigDecimalConverter.class BigDecimalConverter.class

View File

@ -6,7 +6,10 @@ import androidx.room.ForeignKey;
import androidx.room.Index; import androidx.room.Index;
import androidx.room.PrimaryKey; import androidx.room.PrimaryKey;
import org.json.JSONObject;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.HashMap;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
@ -202,6 +205,14 @@ public class ArticoloGriglia {
this.newNoPromo = newNoPromo; this.newNoPromo = newNoPromo;
} }
public String generateSystemNote() {
HashMap<String, String> pairs = new HashMap<>();
pairs.put("qta_proposta", String.valueOf(qtaProposta));
pairs.put("giacenza", String.valueOf(giacenza));
return new JSONObject(pairs).toString();
}
public ArticoloOrdine convertToArticoloOrdine(Ordine ordine) { public ArticoloOrdine convertToArticoloOrdine(Ordine ordine) {
ArticoloOrdine articolo = new ArticoloOrdine(); ArticoloOrdine articolo = new ArticoloOrdine();
@ -222,6 +233,7 @@ public class ArticoloGriglia {
articolo.setQtaPrevistaVendita(BigDecimal.valueOf(this.getQtaPrevistaVendita())); articolo.setQtaPrevistaVendita(BigDecimal.valueOf(this.getQtaPrevistaVendita()));
articolo.setQtaProposta(BigDecimal.valueOf(this.getQtaProposta())); articolo.setQtaProposta(BigDecimal.valueOf(this.getQtaProposta()));
articolo.setNewNoPromo(this.isNewNoPromo()); articolo.setNewNoPromo(this.isNewNoPromo());
articolo.setSystemNote(generateSystemNote());
articolo.setQtaOrd(0); articolo.setQtaOrd(0);

View File

@ -70,6 +70,9 @@ public class ArticoloOrdine {
@ColumnInfo(name = "new_no_promo") @ColumnInfo(name = "new_no_promo")
private boolean newNoPromo; private boolean newNoPromo;
@ColumnInfo(name = "system_note")
private String systemNote;
@Ignore @Ignore
private int ggScadenza = 0; private int ggScadenza = 0;
@ -266,4 +269,12 @@ public class ArticoloOrdine {
this.bgTint = bgTint; this.bgTint = bgTint;
return this; return this;
} }
public String getSystemNote() {
return systemNote;
}
public void setSystemNote(String systemNote) {
this.systemNote = systemNote;
}
} }

View File

@ -136,7 +136,6 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
}); });
} }
private ArtDTO convertArtToDTO(ArticoloOrdine art, int rigaOrd) { private ArtDTO convertArtToDTO(ArticoloOrdine art, int rigaOrd) {
@ -147,6 +146,7 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
dto.setDescrizione(art.getDescrizione()); dto.setDescrizione(art.getDescrizione());
dto.setDataInsD(art.getDataIns()); dto.setDataInsD(art.getDataIns());
dto.setUntMis(art.getUntMis()); dto.setUntMis(art.getUntMis());
dto.setSystemNote(art.getSystemNote());
dto.setQta(BigDecimal.valueOf(art.getQtaOrd())); dto.setQta(BigDecimal.valueOf(art.getQtaOrd()));
dto.setQtaCnf(BigDecimal.valueOf(art.getQtaCnf())); dto.setQtaCnf(BigDecimal.valueOf(art.getQtaCnf()));
dto.setColli(BigDecimal.ZERO); dto.setColli(BigDecimal.ZERO);

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

@ -163,6 +163,7 @@ public class PVOrdineAcquistoEditViewModel {
articolo.setMerceDaRic(artGrid.getMerceDaRic()); articolo.setMerceDaRic(artGrid.getMerceDaRic());
articolo.setNewNoPromo(artGrid.isNewNoPromo()); articolo.setNewNoPromo(artGrid.isNewNoPromo());
articolo.setFlagQtaMultipla(artGrid.getFlagQtaMultipla()); articolo.setFlagQtaMultipla(artGrid.getFlagQtaMultipla());
articolo.setSystemNote(artGrid.generateSystemNote());
onSuccess.run(articolo); onSuccess.run(articolo);
} else { } else {

View File

@ -28,6 +28,8 @@ public class ArtDTO {
private String dataScad; private String dataScad;
private String systemNote;
public Integer getRigaOrd() { public Integer getRigaOrd() {
return rigaOrd; return rigaOrd;
} }
@ -63,6 +65,7 @@ public class ArtDTO {
public String getDataIns() { public String getDataIns() {
return dataIns; return dataIns;
} }
public Date getDataInsD() { public Date getDataInsD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataIns()); return UtilityDate.recognizeDateWithExceptionHandler(getDataIns());
} }
@ -70,6 +73,7 @@ public class ArtDTO {
public void setDataIns(String dataIns) { public void setDataIns(String dataIns) {
this.dataIns = dataIns; this.dataIns = dataIns;
} }
public void setDataInsD(Date dataIns) { public void setDataInsD(Date dataIns) {
setDataIns(UtilityDate.formatDate(dataIns, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH)); setDataIns(UtilityDate.formatDate(dataIns, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH));
} }
@ -122,6 +126,7 @@ public class ArtDTO {
public void setDataScad(String dataScad) { public void setDataScad(String dataScad) {
this.dataScad = dataScad; this.dataScad = dataScad;
} }
public Date getDataScadD() { public Date getDataScadD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataScad()); return UtilityDate.recognizeDateWithExceptionHandler(getDataScad());
} }
@ -130,5 +135,12 @@ public class ArtDTO {
setDataScad(UtilityDate.formatDate(dataScad, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH)); setDataScad(UtilityDate.formatDate(dataScad, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH));
} }
public String getSystemNote() {
return systemNote;
}
public ArtDTO setSystemNote(String systemNote) {
this.systemNote = systemNote;
return this;
}
} }

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) {