Gestite le date con Timezone fisso (Europe/Rome) in modo da avere tutte le date corrette. Implementata creazione collo per i resi da cliente.

This commit is contained in:
Giuseppe Scorrano 2019-08-02 17:52:26 +02:00
parent 24a0e17fd5
commit 30dd94ca80
31 changed files with 547 additions and 408 deletions

View File

@ -19,7 +19,7 @@
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"> android:usesCleartextTraffic="true">
<activity <activity
android:name=".gest.ultime_consegne_cliente_picking.UltimeConsegneClientePickingActivity" android:name=".gest.picking_resi.PickingResiActivity"
android:label="@string/activity_ultime_consegne_title" android:label="@string/activity_ultime_consegne_title"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/Light" /> android:theme="@style/Light" />

View File

@ -5,6 +5,8 @@ import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.utility.UtilityDate;
/** /**
* Created by GiuseppeS on 06/03/2018. * Created by GiuseppeS on 06/03/2018.
*/ */
@ -25,12 +27,7 @@ public class ServiceRESTResponse<T> {
} }
public Date getExecDate() { public Date getExecDate() {
try { return UtilityDate.recognizeDateWithExceptionHandler(execDate);
return new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(execDate);
} catch (Exception e) {
e.printStackTrace();
}
return null;
} }
public String getProfileDB() { public String getProfileDB() {

View File

@ -139,6 +139,8 @@ public class DtbDocr {
private int rigaKit; private int rigaKit;
private MtbAart mtbAart;
public String getCodAnag() { public String getCodAnag() {
return codAnag; return codAnag;
} }
@ -736,4 +738,13 @@ public class DtbDocr {
this.rigaKit = rigaKit; this.rigaKit = rigaKit;
return this; return this;
} }
public MtbAart getMtbAart() {
return mtbAart;
}
public DtbDocr setMtbAart(MtbAart mtbAart) {
this.mtbAart = mtbAart;
return this;
}
} }

View File

@ -4,6 +4,8 @@ import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import it.integry.integrywmsnative.core.utility.UtilityDate;
public class FiltroOrdineDTO { public class FiltroOrdineDTO {
private String gestioneOrd; private String gestioneOrd;
@ -24,9 +26,8 @@ public class FiltroOrdineDTO {
return dataOrd; return dataOrd;
} }
public Date getDataOrdD() throws ParseException { public Date getDataOrdD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return UtilityDate.recognizeDateWithExceptionHandler(getDataOrdS());
return sdf.parse(getDataOrdS());
} }
public FiltroOrdineDTO setDataOrd(String dataOrd) { public FiltroOrdineDTO setDataOrd(String dataOrd) {
@ -35,8 +36,7 @@ public class FiltroOrdineDTO {
} }
public FiltroOrdineDTO setDataOrd(Date dataOrd) { public FiltroOrdineDTO setDataOrd(Date dataOrd) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); this.dataOrd = UtilityDate.formatDate(dataOrd, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
this.dataOrd = sdf.format(dataOrd);
return this; return this;
} }
@ -44,13 +44,8 @@ public class FiltroOrdineDTO {
return dataCons; return dataCons;
} }
public Date getDataConsD() throws ParseException { public Date getDataConsD() {
try { return UtilityDate.recognizeDateWithExceptionHandler(getDataConsS());
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataConsS());
} catch (Exception ex) {
return null;
}
} }
public FiltroOrdineDTO setDataCons(String dataCons) { public FiltroOrdineDTO setDataCons(String dataCons) {
@ -60,8 +55,7 @@ public class FiltroOrdineDTO {
public FiltroOrdineDTO setDataCons(Date dataCons) { public FiltroOrdineDTO setDataCons(Date dataCons) {
if(dataCons != null) { if(dataCons != null) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); this.dataCons = UtilityDate.formatDate(dataCons, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
this.dataCons = sdf.format(dataCons);
} }
return this; return this;
} }

View File

@ -9,6 +9,7 @@ import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
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;
@ -266,13 +267,7 @@ public class MtbColr extends EntityBase implements Parcelable {
} }
public Date getDataColloD() { public Date getDataColloD() {
try{ return UtilityDate.recognizeDateWithExceptionHandler(getDataColloS());
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataColloS());
} catch (ParseException pex){
UtilityLogger.errorMe(pex);
return null;
}
} }
public MtbColr setDataCollo(String dataCollo) { public MtbColr setDataCollo(String dataCollo) {
@ -376,13 +371,7 @@ public class MtbColr extends EntityBase implements Parcelable {
} }
public Date getDataOrdD() { public Date getDataOrdD() {
try{ return UtilityDate.recognizeDateWithExceptionHandler(getDataOrdS());
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataOrdS());
} catch (ParseException pex){
UtilityLogger.errorMe(pex);
return null;
}
} }
public MtbColr setDataOrd(String dataOrd) { public MtbColr setDataOrd(String dataOrd) {
@ -391,8 +380,7 @@ public class MtbColr extends EntityBase implements Parcelable {
} }
public MtbColr setDataOrd(Date dataOrd) { public MtbColr setDataOrd(Date dataOrd) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); this.dataOrd = UtilityDate.formatDate(dataOrd, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
this.dataOrd = sdf.format(dataOrd);
return this; return this;
} }
@ -401,13 +389,7 @@ public class MtbColr extends EntityBase implements Parcelable {
} }
public Date getDataColloRifD() { public Date getDataColloRifD() {
try{ return UtilityDate.recognizeDateWithExceptionHandler(getDataColloRifS());
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataColloRifS());
} catch (ParseException pex){
UtilityLogger.errorMe(pex);
return null;
}
} }
public MtbColr setDataColloRif(String dataColloRif) { public MtbColr setDataColloRif(String dataColloRif) {
@ -416,8 +398,7 @@ public class MtbColr extends EntityBase implements Parcelable {
} }
public MtbColr setDataColloRif(Date dataColloRif) { public MtbColr setDataColloRif(Date dataColloRif) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); this.dataColloRif = UtilityDate.formatDate(dataColloRif, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
this.dataColloRif = sdf.format(dataColloRif);
return this; return this;
} }
@ -473,9 +454,8 @@ public class MtbColr extends EntityBase implements Parcelable {
return datetimeRow; return datetimeRow;
} }
public Date getDatetimeRowD() throws ParseException { public Date getDatetimeRowD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return UtilityDate.recognizeDateWithExceptionHandler(getDatetimeRowS());
return sdf.parse(getDatetimeRowS());
} }
public MtbColr setDatetimeRow(String datetimeRow) { public MtbColr setDatetimeRow(String datetimeRow) {
@ -484,8 +464,7 @@ public class MtbColr extends EntityBase implements Parcelable {
} }
public MtbColr setDatetimeRow(Date datetimeRow) { public MtbColr setDatetimeRow(Date datetimeRow) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); this.datetimeRow = UtilityDate.formatDate(datetimeRow, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
this.datetimeRow = sdf.format(datetimeRow);
return this; return this;
} }
@ -542,15 +521,7 @@ public class MtbColr extends EntityBase implements Parcelable {
} }
public Date getDataScadPartitaD() { public Date getDataScadPartitaD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return UtilityDate.recognizeDateWithExceptionHandler(getDataScadPartitaS());
try {
if(!UtilityString.isNullOrEmpty(getDataScadPartitaS()))
return sdf.parse(getDataScadPartitaS());
else return null;
} catch (Exception ex) {
UtilityLogger.errorMe(ex);
return null;
}
} }
public MtbColr setDataScadPartita(String dataScadPartita) { public MtbColr setDataScadPartita(String dataScadPartita) {
@ -559,10 +530,7 @@ public class MtbColr extends EntityBase implements Parcelable {
} }
public MtbColr setDataScadPartita(Date dataScadPartita) { public MtbColr setDataScadPartita(Date dataScadPartita) {
if(dataScadPartita != null) { this.dataScadPartita = UtilityDate.formatDate(dataScadPartita, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.dataScadPartita = sdf.format(dataScadPartita);
} else this.dataScadPartita = null;
return this; return this;
} }

View File

@ -4,6 +4,7 @@ import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityDate;
public class MtbCols extends EntityBase { public class MtbCols extends EntityBase {
@ -22,7 +23,7 @@ public class MtbCols extends EntityBase {
type = "mtb_cols"; type = "mtb_cols";
setCodMdep(SettingsManager.i().userSession.depo.getCodMdep()); setCodMdep(SettingsManager.i().userSession.depo.getCodMdep());
setModificatoDa(SettingsManager.i().user.fullname); setModificatoDa(SettingsManager.i().user.fullname);
setDataMove(new Date()); setDataMove(UtilityDate.getDateInstance());
} }
public String getDataCollo() { public String getDataCollo() {
@ -89,8 +90,7 @@ public class MtbCols extends EntityBase {
} }
public MtbCols setDataMove(Date dataMove) { public MtbCols setDataMove(Date dataMove) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); this.dataMove = UtilityDate.formatDate(dataMove, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
this.dataMove = sdf.format(dataMove);
return this; return this;
} }

View File

@ -76,8 +76,7 @@ public class MtbColt extends EntityBase {
Date dateOrd = UtilityDate.recognizeDate(this.dataOrd); Date dateOrd = UtilityDate.recognizeDate(this.dataOrd);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); String dateYMD = UtilityDate.formatDate(dateOrd, UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH);
String dateYMD = sdf.format(dateOrd);
this.filtroOrdini = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ROOT><FILTER><DTB_ORDT><GESTIONE type=\"V\">" + this.gestione + "</GESTIONE><DATA_ORD type=\"D\">" + dateYMD + "</DATA_ORD><NUM_ORD type=\"N\">" + this.numOrd + "</NUM_ORD></DTB_ORDT></FILTER></ROOT>"; this.filtroOrdini = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ROOT><FILTER><DTB_ORDT><GESTIONE type=\"V\">" + this.gestione + "</GESTIONE><DATA_ORD type=\"D\">" + dateYMD + "</DATA_ORD><NUM_ORD type=\"N\">" + this.numOrd + "</NUM_ORD></DTB_ORDT></FILTER></ROOT>";
} }
@ -97,14 +96,14 @@ public class MtbColt extends EntityBase {
public MtbColt(){ public MtbColt(){
type = "mtb_colt"; type = "mtb_colt";
setDataCollo(new Date()); setDataCollo(UtilityDate.getDateInstance());
setSerCollo("/"); setSerCollo("/");
} }
public void initDefaultFields() { public void initDefaultFields() {
setCodMdep(SettingsManager.i().userSession.depo.getCodMdep()); setCodMdep(SettingsManager.i().userSession.depo.getCodMdep());
setPreparatoDa(SettingsManager.i().user.fullname); setPreparatoDa(SettingsManager.i().user.fullname);
setOraInizPrep(new Date()); setOraInizPrep(UtilityDate.getDateInstance());
setCodAnag(SettingsManager.iDB().getDefaultCodAnag()); setCodAnag(SettingsManager.iDB().getDefaultCodAnag());
} }
@ -145,13 +144,7 @@ public class MtbColt extends EntityBase {
} }
public Date getDataColloD() { public Date getDataColloD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return UtilityDate.recognizeDateWithExceptionHandler(getDataColloS());
try {
return sdf.parse(getDataColloS());
} catch (ParseException e) {
UtilityLogger.errorMe(e);
return null;
}
} }
public MtbColt setDataCollo(String dataCollo) { public MtbColt setDataCollo(String dataCollo) {
@ -160,8 +153,7 @@ public class MtbColt extends EntityBase {
} }
public MtbColt setDataCollo(Date dataCollo) { public MtbColt setDataCollo(Date dataCollo) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); this.dataCollo = UtilityDate.formatDate(dataCollo, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
this.dataCollo = sdf.format(dataCollo);
return this; return this;
} }
@ -328,10 +320,7 @@ public class MtbColt extends EntityBase {
} }
public MtbColt setDataOrdD(Date dataOrd) { public MtbColt setDataOrdD(Date dataOrd) {
if(dataOrd != null) { this.dataOrd = UtilityDate.formatDate(dataOrd, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.dataOrd = sdf.format(dataOrd);
} else this.dataOrd = null;
return this; return this;
} }
@ -354,8 +343,7 @@ public class MtbColt extends EntityBase {
} }
public MtbColt setOraInizPrep(Date oraInizPrep) { public MtbColt setOraInizPrep(Date oraInizPrep) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); this.oraInizPrep = UtilityDate.formatDate(oraInizPrep, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
this.oraInizPrep = sdf.format(oraInizPrep);
return this; return this;
} }
@ -369,8 +357,7 @@ public class MtbColt extends EntityBase {
} }
public MtbColt setOraFinePrep(Date oraFinePrep) { public MtbColt setOraFinePrep(Date oraFinePrep) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); this.oraFinePrep = UtilityDate.formatDate(oraFinePrep, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
this.oraFinePrep = sdf.format(oraFinePrep);
return this; return this;
} }

View File

@ -16,7 +16,7 @@ public class UtilityBarcode {
} }
public static boolean isEtichettaAnonimaOfCurrentYear(String barcode) { public static boolean isEtichettaAnonimaOfCurrentYear(String barcode) {
Calendar calendar = Calendar.getInstance(); Calendar calendar = UtilityDate.getCalendarInstance();
int currentYear = calendar.get(Calendar.YEAR); int currentYear = calendar.get(Calendar.YEAR);
String fullYear = "20" + UtilityBarcode.getAnnoColloFromULAnonima(barcode); String fullYear = "20" + UtilityBarcode.getAnnoColloFromULAnonima(barcode);

View File

@ -7,7 +7,6 @@ public class UtilityDB {
public static String valueToString(Object value) { public static String valueToString(Object value) {
String valueString; String valueString;
SimpleDateFormat dateFormatFile = new SimpleDateFormat("yyyy-MM-dd");
if (value == null) { if (value == null) {
valueString = "NULL"; valueString = "NULL";
@ -22,7 +21,8 @@ public class UtilityDB {
valueString = "'" + valueString.replaceAll("'","''") + "'"; valueString = "'" + valueString.replaceAll("'","''") + "'";
} }
} else if (value instanceof Date){ } else if (value instanceof Date){
valueString = "'" + dateFormatFile.format(value) + "'";
valueString = "'" + UtilityDate.formatDate((Date) value, UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH) + "'";
} else if (value instanceof Integer) { } else if (value instanceof Integer) {
} else { } else {

View File

@ -2,7 +2,10 @@ package it.integry.integrywmsnative.core.utility;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.TimeZone;
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException; import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException; import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
@ -16,8 +19,9 @@ public class UtilityDate {
public static class COMMONS_DATE_FORMATS { public static class COMMONS_DATE_FORMATS {
public static final String DMY_SLASH = "dd/MM/yyyy"; public static final String DMY_SLASH = "dd/MM/yyyy";
public static final String YMD_SLASH = "yyyy/MM/dd"; public static final String YMD_SLASH = "yyyy/MM/dd";
public static final String DMY_TIME_SLASH = DMY_SLASH + " hh:mm"; public static final String YMD_DASH = "yyyy-MM-dd";
public static final String YMD_TIME_SLASH = YMD_SLASH + " hh:mm"; public static final String DMY_TIME_SLASH = DMY_SLASH + " hh:mm:ss";
public static final String YMD_TIME_SLASH = YMD_SLASH + " hh:mm:ss";
public static final String DM_HUMAN = "dd MMM"; public static final String DM_HUMAN = "dd MMM";
@ -74,11 +78,27 @@ public class UtilityDate {
format = new SimpleDateFormat(dateFormatString); format = new SimpleDateFormat(dateFormatString);
} }
format.setTimeZone(TimeZone.getTimeZone("Europe/Rome"));
return format.parse(dateString); return format.parse(dateString);
} }
public static String formatDate(Date dateToFormat, String format) { public static String formatDate(Date dateToFormat, String format) {
return new SimpleDateFormat(format).format(dateToFormat); if(dateToFormat != null) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.setTimeZone(TimeZone.getTimeZone("Europe/Rome"));
return sdf.format(dateToFormat);
}
else return null;
}
public static Date getDateInstance() {
return getCalendarInstance().getTime();
}
public static Calendar getCalendarInstance() {
return Calendar.getInstance(TimeZone.getTimeZone("Europe/Rome"));
} }
} }

View File

@ -55,8 +55,7 @@ public class UtilityLogger {
String currentAzienda = UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB) ? "" : SettingsManager.i().userSession.profileDB; String currentAzienda = UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB) ? "" : SettingsManager.i().userSession.profileDB;
message = message.replace("#azienda_nome#", currentAzienda); message = message.replace("#azienda_nome#", currentAzienda);
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss"); message = message.replace("#current_date#", UtilityDate.formatDate(UtilityDate.getDateInstance(), UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH));
message = message.replace("#current_date#", sdf.format(new Date()));
SystemRESTConsumer.sendErrorLogMail(message, onComplete, onFailed); SystemRESTConsumer.sendErrorLogMail(message, onComplete, onFailed);
} }

View File

@ -13,6 +13,7 @@ import java.util.List;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.utility.UtilityDate;
/** /**
* Created by GiuseppeS on 06/03/2018. * Created by GiuseppeS on 06/03/2018.
@ -138,17 +139,12 @@ public class OrdineAccettazioneDTO implements Parcelable {
return dataCons; return dataCons;
} }
public Date getDataOrd() { public String getDataOrdS() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return this.dataOrd;
Date dataOrd = null; }
try{ public Date getDataOrdD() {
dataOrd = sdf.parse(this.dataOrd); return UtilityDate.recognizeDateWithExceptionHandler(getDataOrdS());
} catch (Exception ex) {
Log.e("Parsing date", ex.getMessage());
}
return dataOrd;
} }

View File

@ -15,6 +15,7 @@ import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO; import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.dto.AccettazioneOrdineInevasoListViewModel; import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.dto.AccettazioneOrdineInevasoListViewModel;
@ -299,8 +300,6 @@ public class AccettazioneOrdineInevasoHelper {
BigDecimal currentQtaEvasa = item.getQtaRiservate().add(item.getQtaEvasa()); BigDecimal currentQtaEvasa = item.getQtaRiservate().add(item.getQtaEvasa());
if(mtbColrs != null) { if(mtbColrs != null) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
List<MtbColr> filteredMtbColrs = Stream.of(mtbColrs) List<MtbColr> filteredMtbColrs = Stream.of(mtbColrs)
.filter(x -> x.getNumOrd() != null) .filter(x -> x.getNumOrd() != null)
.filter( .filter(
@ -308,7 +307,7 @@ public class AccettazioneOrdineInevasoHelper {
(x.getCodJcom() != null && x.getCodJcom().equalsIgnoreCase(item.codJcom)) && (x.getCodJcom() != null && x.getCodJcom().equalsIgnoreCase(item.codJcom)) &&
x.getRigaOrd() == item.rigaOrd && x.getRigaOrd() == item.rigaOrd &&
x.getNumOrd() == item.numOrd && x.getNumOrd() == item.numOrd &&
x.getDataOrdS().equals(sdf.format(item.getDataOrd()))).toList(); x.getDataOrdS().equals(UtilityDate.formatDate(item.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH))).toList();
for (MtbColr mtbColr : filteredMtbColrs) { for (MtbColr mtbColr : filteredMtbColrs) {

View File

@ -203,7 +203,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
List<OrdineAccettazioneDTO.Riga> foundRows = Stream.of(groupedOrdini) List<OrdineAccettazioneDTO.Riga> foundRows = Stream.of(groupedOrdini)
.filter(x -> x.getNumOrd() == currentMtbColr.getNumOrd() && .filter(x -> x.getNumOrd() == currentMtbColr.getNumOrd() &&
x.getRigaOrd() == currentMtbColr.getRigaOrd()&& x.getRigaOrd() == currentMtbColr.getRigaOrd()&&
x.getDataOrd().equals(currentMtbColr.getDataOrdD())) x.getDataOrdD().equals(currentMtbColr.getDataOrdD()))
.toList(); .toList();
*/ */
@ -657,7 +657,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
MtbColt cloneMtbColt = (MtbColt) getColloRef().clone(); MtbColt cloneMtbColt = (MtbColt) getColloRef().clone();
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE); cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE);
cloneMtbColt.setOraFinePrep(new Date()); cloneMtbColt.setOraFinePrep(UtilityDate.getDateInstance());
ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() { ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() {
@ -792,7 +792,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
x.getMtbAart().getCodMart().equalsIgnoreCase(currentRow.getCodMart()) && x.getMtbAart().getCodMart().equalsIgnoreCase(currentRow.getCodMart()) &&
x.getCodJcom().equalsIgnoreCase(currentRow.getCodJcom()) && x.getCodJcom().equalsIgnoreCase(currentRow.getCodJcom()) &&
x.getRigaOrd() == currentRow.getRigaOrd() && x.getRigaOrd() == currentRow.getRigaOrd() &&
x.getDataOrd().equals(currentRow.getDataOrdD()) && x.getDataOrdD().equals(currentRow.getDataOrdD()) &&
x.getNumOrd() == currentRow.getNumOrd() x.getNumOrd() == currentRow.getNumOrd()
) )
.forEach(x -> x.setQtaRiservate(x.getQtaRiservate().add(currentRow.getQtaCol()))); .forEach(x -> x.setQtaRiservate(x.getQtaRiservate().add(currentRow.getQtaCol())));
@ -912,7 +912,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
.setQtaCol(quantityDTO.qtaTot.getBigDecimal()) .setQtaCol(quantityDTO.qtaTot.getBigDecimal())
.setDescrizione(item.getDescrizioneEstesa()) .setDescrizione(item.getDescrizioneEstesa())
.setNumOrd(item.getNumOrd()) .setNumOrd(item.getNumOrd())
.setDataOrd(item.getDataOrd()) .setDataOrd(item.getDataOrdD())
.setGestioneRif(gestioneRif) .setGestioneRif(gestioneRif)
.setCodJcom(item.getCodJcom()) .setCodJcom(item.getCodJcom())
.setRigaOrd(item.getRigaOrd()); .setRigaOrd(item.getRigaOrd());

View File

@ -545,7 +545,7 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
.setQtaCol(quantityDTO.qtaTot.getBigDecimal()) .setQtaCol(quantityDTO.qtaTot.getBigDecimal())
.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal()) .setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
.setNumCnf(quantityDTO.numCnf.getBigDecimal()) .setNumCnf(quantityDTO.numCnf.getBigDecimal())
.setDatetimeRow(new Date()); .setDatetimeRow(UtilityDate.getDateInstance());
onComplete.run(mtbColr); onComplete.run(mtbColr);
}, onAbort).show(); }, onAbort).show();
@ -688,7 +688,7 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
MtbColt cloneMtbColt = (MtbColt) this.mtbColt.get().clone(); MtbColt cloneMtbColt = (MtbColt) this.mtbColt.get().clone();
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE); cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE);
cloneMtbColt.setOraFinePrep(new Date()); cloneMtbColt.setOraFinePrep(UtilityDate.getDateInstance());
ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() { ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() {
@ -741,7 +741,7 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
mtbColrToDeleteClone mtbColrToDeleteClone
.setRiga(null) .setRiga(null)
.setDatetimeRow(new Date()) .setDatetimeRow(UtilityDate.getDateInstance())
.setQtaCol(mtbColrToDeleteClone.getQtaCol().multiply(new BigDecimal(-1))) .setQtaCol(mtbColrToDeleteClone.getQtaCol().multiply(new BigDecimal(-1)))
.setOperation(CommonModelConsts.OPERATION.DELETE); .setOperation(CommonModelConsts.OPERATION.DELETE);

View File

@ -0,0 +1,324 @@
package it.integry.integrywmsnative.gest.picking_resi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.SpannableString;
import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
import it.integry.integrywmsnative.core.model.CommonModelConsts;
import it.integry.integrywmsnative.core.model.DtbDocr;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.ActivityPickingResiBinding;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer;
import it.integry.integrywmsnative.gest.picking_resi.core.PickingResiListAdapter;
import it.integry.integrywmsnative.gest.vendita.rest.model.DocumentoResoDTO;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
public class PickingResiActivity extends AppCompatActivity {
private List<DocumentoResoDTO> mDocumentiResiList;
private List<DtbDocr> mDtbDocrList;
private HashMap<DtbDocr, List<MtbColr>> mWithdrawRows = new HashMap<>();
private ActivityPickingResiBinding mBinding;
public ObservableField<MtbColt> currentMtbColt = new ObservableField<>();
private int barcodeScannerIstanceID = -1;
private String mDefaultGestioneOfUL;
private String mDefaultCodAnagOfUL;
private String mDefaultCodMDepOfUL;
public static void startActivity(Context context, List<DocumentoResoDTO> documentoResoDTOList) {
String consegneCacheKey = DataCache.addItem(documentoResoDTOList);
Intent intent = new Intent(context, PickingResiActivity.class);
intent.putExtra("key", consegneCacheKey);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_picking_resi);
mBinding.setViewmodel(this);
mDocumentiResiList = DataCache.retrieveItem(getIntent().getStringExtra("key"));
this.initView();
}
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
return true;
}
@Override
public void onBackPressed() {
// if(mArticoliInColloBottomSheetViewModel.isExpanded()){
// mArticoliInColloBottomSheetViewModel.collapse();
// } else if(mVenditaOrdineInevasoViewModel.thereIsAnOpenedUL()) {
// mArticoliInColloBottomSheetViewModel.closeCurrentUL(() -> {
// BarcodeManager.removeCallback(barcodeScannerIstanceID);
// super.onBackPressed();
// });
//
// } else {
BarcodeManager.removeCallback(barcodeScannerIstanceID);
super.onBackPressed();
// }
}
private void initView() {
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
.setOnScanSuccessfull(this::onScanSuccessful)
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
setSupportActionBar(this.mBinding.toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
this.mBinding.elevatedToolbar.setRecyclerView(this.mBinding.mainList);
ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(this);
UltimeConsegneClienteRESTConsumer.loadDocRowFromConsegna(mDocumentiResiList, dtbDocrToPick -> {
progressDialog.dismiss();
this.mDtbDocrList = dtbDocrToPick;
try {
this.initDatiPicking();
} catch (Exception ex) {
this.showErrorDialog(ex.getMessage());
}
this.initList(dtbDocrToPick);
}, ex -> {
UtilityExceptions.defaultException(this, ex, progressDialog);
});
}
private void initList(List<DtbDocr> dtbDocrList) {
PickingResiListAdapter adapter = new PickingResiListAdapter(this, dtbDocrList);
adapter.setOnItemClicked(this::onOrdineRowDispatch);
this.mBinding.mainList.setLayoutManager(new LinearLayoutManager(this));
this.mBinding.mainList.setAdapter(adapter);
}
private void initDatiPicking() throws Exception {
List<String> foundGestioni = Stream.of(this.mDocumentiResiList)
.map(DocumentoResoDTO::getGestione)
.distinct()
.toList();
if(foundGestioni.size() > 1) {
throw new Exception("Sono stati caricati documenti con diverse gestioni");
} else mDefaultGestioneOfUL = foundGestioni.get(0);
List<String> foundCodAnags = Stream.of(this.mDocumentiResiList)
.map(DocumentoResoDTO::getCodAnag)
.distinct()
.toList();
if(foundCodAnags.size() > 1) {
throw new Exception("Sono stati caricati documenti con diversi codici anagrafici");
} else mDefaultCodAnagOfUL = foundCodAnags.get(0);
List<String> foundCodMdeps = Stream.of(this.mDocumentiResiList)
.map(DocumentoResoDTO::getCodMdep)
.distinct()
.toList();
if(foundCodMdeps.size() > 1) {
throw new Exception("Sono stati caricati documenti con diversi codici deposito");
} else mDefaultCodMDepOfUL = foundCodMdeps.get(0);
for (DtbDocr dtbDocr : mDtbDocrList) {
this.mWithdrawRows.put(dtbDocr, new ArrayList<>());
}
}
private void onScanSuccessful(BarcodeScanDTO data) {
}
public void createNewUL() {
this.createNewUL(null, null, null, false, true, null);
}
public void createNewUL(Integer customNumCollo, String customSerCollo, ProgressDialog progress, boolean disablePrint, boolean closeProgress, Runnable onComplete) {
this.mBinding.mainFab.close(true);
if (progress == null){
progress = UtilityProgress.createDefaultProgressDialog(this);
}
MtbColt mtbColt = new MtbColt();
mtbColt.initDefaultFields();
mtbColt .setGestione(mDefaultGestioneOfUL)
.setSegno(+1)
.setCodAnag(mDefaultCodAnagOfUL)
.setCodMdep(mDefaultCodMDepOfUL)
.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
if(customNumCollo != null) {
mtbColt.setNumCollo(customNumCollo);
}
if(!UtilityString.isNullOrEmpty(customSerCollo)) {
mtbColt.setSerCollo(customSerCollo);
}
ProgressDialog finalProgress = progress;
ColliMagazzinoRESTConsumer.saveCollo(mtbColt, value -> {
value.setDisablePrint(disablePrint);
setULToCurrentContext(value);
if(closeProgress) finalProgress.dismiss();
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
if(onComplete != null) onComplete.run();
}, ex -> {
UtilityExceptions.defaultException(this, ex, finalProgress);
});
}
private void setULToCurrentContext(MtbColt mtbColt){
if(mtbColt != null && mtbColt.getMtbColr() == null) {
mtbColt.setMtbColr(new ObservableArrayList<>());
}
this.currentMtbColt.set(mtbColt);
}
public void onOrdineRowDispatch(final DtbDocr item) {
if(currentMtbColt.get() != null){
List<MtbColr> currentMtbColrs = mWithdrawRows.get(item);
BigDecimal qtaEvasaTotaleInMtbColr = BigDecimal.ZERO;
for (MtbColr mtbColr : currentMtbColrs) {
qtaEvasaTotaleInMtbColr.add(mtbColr.getQtaCol());
}
BigDecimal qtaDaEvadere = item.getQtaDoc().subtract(qtaEvasaTotaleInMtbColr);
if(qtaDaEvadere.floatValue() < 0) qtaDaEvadere = BigDecimal.ZERO;
DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
.setBatchLot(item.getPartitaMag())
.setCodArtFor(item.getCodArtFor())
.setMtbAart(item.getMtbAart())
.setQtaDisponibile(qtaDaEvadere)
.setQtaTot(qtaDaEvadere)
.setQtaEvasa(qtaEvasaTotaleInMtbColr)
.setCanPartitaMagBeChanged(false)
.setMaxQta(qtaDaEvadere);
// if(item.getTempPickData() != null) {
// PickingObjectDTO.PickData tmpPickData = item.getTempPickData();
//
// if(!UtilityString.isNullOrEmpty(tmpPickData.getBatchLot())) {
// dto.setBatchLot(tmpPickData.getBatchLot());
// }
//
// if(tmpPickData.getDataScad() != null){
// dto.setDataScad(tmpPickData.getDataScad());
// dto.setShouldAskDataScad(true);
// }
//
// boolean useQtaDaEvadere;
//
// if(tmpPickData.getQtaTot() != null) {
// useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().isFlagQtaCnfFissa();
// if(useQtaDaEvadere){
// dto.setQtaTot(qtaDaEvadere);
// dto.setMaxQta(qtaDaEvadere);
// } else {
// dto.setQtaTot(tmpPickData.getQtaTot());
// dto.setMaxQta(tmpPickData.getQtaTot());
// dto.setQtaCnf(tmpPickData.getQtaTot());
// }
//
//
// if (tmpPickData.getQtaCnf() != null && useQtaDaEvadere) {
// dto.setQtaCnf(tmpPickData.getQtaCnf());
// }
// }
//
//
// if(dto.getQtaTot() != null && dto.getQtaTot().floatValue() > 0 && dto.getQtaCnf() != null && dto.getQtaCnf().floatValue() > 0) {
// dto.setNumCnf(dto.getQtaTot().divide(dto.getQtaCnf()).intValue());
// }
//
//
// dto.setCanPartitaMagBeChanged(false);
// dto.setCanDataScadBeChanged(false);
//
// }
DialogInputQuantity.makeBase(this, dto, false, (quantityDTO, closeUL) -> {
//onOrdineRowDispatched(item, quantityDTO, closeUL);
}, null).show();
}
}
private void showErrorDialog(String message) {
DialogSimpleMessageHelper.makeErrorDialog(
this,
new SpannableString(message),
null,
null).show();
}
}

View File

@ -1,20 +1,20 @@
package it.integry.integrywmsnative.gest.ultime_consegne_cliente_picking.core; package it.integry.integrywmsnative.gest.picking_resi.core;
import android.content.Context; import android.content.Context;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import com.google.android.gms.common.internal.service.Common;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter; import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.DtbDocr; import it.integry.integrywmsnative.core.model.DtbDocr;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityNumber; import it.integry.integrywmsnative.core.utility.UtilityNumber;
@ -22,14 +22,14 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.UltimeConsegneMainListItemBinding; import it.integry.integrywmsnative.databinding.UltimeConsegneMainListItemBinding;
import it.integry.integrywmsnative.databinding.UltimeConsegneMainListItemHeaderBinding; import it.integry.integrywmsnative.databinding.UltimeConsegneMainListItemHeaderBinding;
public class UltimeConsegneClientePickingListAdapter extends SectionedRecyclerViewAdapter<UltimeConsegneClientePickingListAdapter.SubheaderHolder, UltimeConsegneClientePickingListAdapter.SingleItemViewHolder> { public class PickingResiListAdapter extends SectionedRecyclerViewAdapter<PickingResiListAdapter.SubheaderHolder, PickingResiListAdapter.SingleItemViewHolder> {
private Context mContext; private Context mContext;
private List<DtbDocr> mDataset; private List<DtbDocr> mDataset;
private LayoutInflater mInflater;
private RunnableArgs<DtbDocr> mOnItemClicked;
static class SubheaderHolder extends RecyclerView.ViewHolder { static class SubheaderHolder extends RecyclerView.ViewHolder {
@ -53,14 +53,17 @@ public class UltimeConsegneClientePickingListAdapter extends SectionedRecyclerVi
} }
public UltimeConsegneClientePickingListAdapter(Context context, List<DtbDocr> data) { public PickingResiListAdapter(Context context, List<DtbDocr> data) {
this.mContext = context; this.mContext = context;
this.mInflater = LayoutInflater.from(context);
this.mDataset = Stream.of(data) this.mDataset = Stream.of(data)
.sortBy(x -> x.getNumDoc() + " " + x.getDataDocS() + " " + x.getCodDtip() + " " + x.getSerDoc() + " " + x.getCodAnag()) .sortBy(x -> x.getNumDoc() + " " + x.getDataDocS() + " " + x.getCodDtip() + " " + x.getSerDoc() + " " + x.getCodAnag())
.toList(); .toList();
} }
public void setOnItemClicked(RunnableArgs<DtbDocr> onItemClicked) {
this.mOnItemClicked = onItemClicked;
}
@Override @Override
public SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) { public SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
UltimeConsegneMainListItemBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.ultime_consegne_main_list__item, parent, false); UltimeConsegneMainListItemBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.ultime_consegne_main_list__item, parent, false);
@ -82,6 +85,10 @@ public class UltimeConsegneClientePickingListAdapter extends SectionedRecyclerVi
holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(dtbDocr.getQtaDoc())); holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(dtbDocr.getQtaDoc()));
holder.mBinding.descrizione.setText(UtilityString.isNullOrEmpty(dtbDocr.getDescrizioneEstesa()) ? dtbDocr.getDescrizioneEstesa() : dtbDocr.getDescrizione()); holder.mBinding.descrizione.setText(UtilityString.isNullOrEmpty(dtbDocr.getDescrizioneEstesa()) ? dtbDocr.getDescrizioneEstesa() : dtbDocr.getDescrizione());
holder.mBinding.getRoot().setOnClickListener(v -> {
if(this.mOnItemClicked != null) this.mOnItemClicked.run(dtbDocr);
});
} }
@Override @Override

View File

@ -623,7 +623,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
mtbColrToEditClone mtbColrToEditClone
.setRiga(null) .setRiga(null)
.setDatetimeRow(new Date()) .setDatetimeRow(UtilityDate.getDateInstance())
.setQtaCol(value.qtaTot.getBigDecimal().subtract(mtbColrToEditClone.getQtaCol())) .setQtaCol(value.qtaTot.getBigDecimal().subtract(mtbColrToEditClone.getQtaCol()))
.setOperation(CommonModelConsts.OPERATION.INSERT); .setOperation(CommonModelConsts.OPERATION.INSERT);
@ -658,7 +658,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
mtbColrToDeleteClone mtbColrToDeleteClone
.setRiga(null) .setRiga(null)
.setDatetimeRow(new Date()) .setDatetimeRow(UtilityDate.getDateInstance())
.setQtaCol(mtbColrToDeleteClone.getQtaCol().multiply(new BigDecimal(-1))) .setQtaCol(mtbColrToDeleteClone.getQtaCol().multiply(new BigDecimal(-1)))
.setOperation(CommonModelConsts.OPERATION.INSERT); .setOperation(CommonModelConsts.OPERATION.INSERT);

View File

@ -1,23 +1,25 @@
package it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest; package it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest;
import com.annimon.stream.Stream;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback; import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.DtbDocr; import it.integry.integrywmsnative.core.model.DtbDocr;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.utility.UtilityDB; import it.integry.integrywmsnative.core.utility.UtilityDB;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.gest.vendita.rest.model.DocumentoResoDTO;
import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO;
public class UltimeConsegneClienteRESTConsumer { public class UltimeConsegneClienteRESTConsumer {
public static void getUltimeConsegneClienti(String codMdep, String codAnag, String codMart, RunnableArgs<ArrayList<ConsegnaClienteDTO>> onComplete, RunnableArgs<Exception> onFailed) { public static void getUltimeConsegneClienti(String codMdep, String codAnag, String codMart, RunnableArgs<ArrayList<DocumentoResoDTO>> onComplete, RunnableArgs<Exception> onFailed) {
int numberOfConsegnePerCli = 10; int numberOfConsegnePerCli = 10;
int numberOfDayToAnalyze = 90; int numberOfDayToAnalyze = 90;
@ -35,10 +37,10 @@ public class UltimeConsegneClienteRESTConsumer {
" counter_consegna "; " counter_consegna ";
Type typeOfObjectsList = new TypeToken<ArrayList<ConsegnaClienteDTO>>() {}.getType(); Type typeOfObjectsList = new TypeToken<ArrayList<DocumentoResoDTO>>() {}.getType();
SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<ConsegnaClienteDTO>>() { SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<DocumentoResoDTO>>() {
@Override @Override
public void onSuccess(ArrayList<ConsegnaClienteDTO> value) { public void onSuccess(ArrayList<DocumentoResoDTO> value) {
if(onComplete != null) onComplete.run(value); if(onComplete != null) onComplete.run(value);
} }
@ -51,7 +53,7 @@ public class UltimeConsegneClienteRESTConsumer {
public static void loadDocRowFromConsegna(List<ConsegnaClienteDTO> consegne, RunnableArgs<ArrayList<DtbDocr>> onComplete, RunnableArgs<Exception> onFailed) { public static void loadDocRowFromConsegna(List<DocumentoResoDTO> consegne, RunnableArgs<ArrayList<DtbDocr>> onComplete, RunnableArgs<Exception> onFailed) {
StringBuilder sbWhereCond = new StringBuilder(); StringBuilder sbWhereCond = new StringBuilder();
for(int i = 0; i < consegne.size(); i++) { for(int i = 0; i < consegne.size(); i++) {
@ -81,8 +83,41 @@ public class UltimeConsegneClienteRESTConsumer {
Type typeOfObjectsList = new TypeToken<ArrayList<DtbDocr>>() {}.getType(); Type typeOfObjectsList = new TypeToken<ArrayList<DtbDocr>>() {}.getType();
SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<DtbDocr>>() { SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<DtbDocr>>() {
@Override @Override
public void onSuccess(ArrayList<DtbDocr> value) { public void onSuccess(ArrayList<DtbDocr> values) {
if(onComplete != null) onComplete.run(value);
if(values != null && values.size() > 0){
List<String> codMarts = Stream.of(values)
.map(DtbDocr::getCodMart)
.withoutNulls()
.distinct()
.toList();
ArticoloRESTConsumer.getByCodMart(codMarts, arts -> {
if(arts != null && arts.size() > 0) {
for (DtbDocr value : values) {
MtbAart foundMtbAart = null;
List<MtbAart> mtbAartStream = Stream.of(arts)
.filter(x -> x.getCodMart().equalsIgnoreCase(value.getCodMart())).toList();
if(mtbAartStream != null && mtbAartStream.size() > 0){
foundMtbAart = mtbAartStream.get(0);
}
value.setMtbAart(foundMtbAart);
}
if(onComplete != null) onComplete.run(values);
}
}, onFailed);
} else {
if(onComplete != null) onComplete.run(values);
}
} }
@Override @Override

View File

@ -15,15 +15,15 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteBinding; import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteBinding;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer; import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente_picking.UltimeConsegneClientePickingActivity; import it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity;
import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO; import it.integry.integrywmsnative.gest.vendita.rest.model.DocumentoResoDTO;
public class UltimeConsegneClienteViewModel { public class UltimeConsegneClienteViewModel {
private Context mContext; private Context mContext;
private FragmentMainUltimeConsegneClienteBinding mBinding; private FragmentMainUltimeConsegneClienteBinding mBinding;
private List<ConsegnaClienteDTO> mItems; private List<DocumentoResoDTO> mItems;
public UltimeConsegneClienteViewModel(Context context, FragmentMainUltimeConsegneClienteBinding binding) { public UltimeConsegneClienteViewModel(Context context, FragmentMainUltimeConsegneClienteBinding binding) {
this.mContext = context; this.mContext = context;
@ -56,7 +56,7 @@ public class UltimeConsegneClienteViewModel {
}); });
} }
private void initDataAdapter(ArrayList<ConsegnaClienteDTO> dataset) { private void initDataAdapter(ArrayList<DocumentoResoDTO> dataset) {
UltimeConsegneMainListAdapter adapter = new UltimeConsegneMainListAdapter(mContext, dataset); UltimeConsegneMainListAdapter adapter = new UltimeConsegneMainListAdapter(mContext, dataset);
adapter.setOnSelectionChanged(this::onSingleSelectionChanged); adapter.setOnSelectionChanged(this::onSingleSelectionChanged);
@ -68,8 +68,8 @@ public class UltimeConsegneClienteViewModel {
} }
private void onSingleSelectionChanged(ConsegnaClienteDTO dto) { private void onSingleSelectionChanged(DocumentoResoDTO dto) {
List<ConsegnaClienteDTO> selectedOrders = getSelectedItems(); List<DocumentoResoDTO> selectedOrders = getSelectedItems();
if(dto.isSelected()) { if(dto.isSelected()) {
Stream.of(selectedOrders) Stream.of(selectedOrders)
@ -85,17 +85,17 @@ public class UltimeConsegneClienteViewModel {
} }
} }
private List<ConsegnaClienteDTO> getSelectedItems() { private List<DocumentoResoDTO> getSelectedItems() {
return Stream.of(this.mItems) return Stream.of(this.mItems)
.filter(ConsegnaClienteDTO::isSelected) .filter(DocumentoResoDTO::isSelected)
.toList(); .toList();
} }
private void dispatchConsegne() { private void dispatchConsegne() {
List<ConsegnaClienteDTO> selectedConsegne = getSelectedItems(); List<DocumentoResoDTO> selectedConsegne = getSelectedItems();
UltimeConsegneClientePickingActivity.startActivity(mContext, selectedConsegne); PickingResiActivity.startActivity(mContext, selectedConsegne);
} }

View File

@ -17,7 +17,6 @@ import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
import java.util.TimeZone;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
@ -26,16 +25,16 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteListHeaderBinding; import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteListHeaderBinding;
import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteListSingleItemBinding; import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteListSingleItemBinding;
import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO; import it.integry.integrywmsnative.gest.vendita.rest.model.DocumentoResoDTO;
import it.integry.integrywmsnative.ui.fastscroll.SectionTitleProvider; import it.integry.integrywmsnative.ui.fastscroll.SectionTitleProvider;
public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<UltimeConsegneMainListAdapter.SubheaderHolder, UltimeConsegneMainListAdapter.SingleItemViewHolder> implements SectionTitleProvider { public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<UltimeConsegneMainListAdapter.SubheaderHolder, UltimeConsegneMainListAdapter.SingleItemViewHolder> implements SectionTitleProvider {
private Context mContext; private Context mContext;
private List<ConsegnaClienteDTO> mDataset; private List<DocumentoResoDTO> mDataset;
private ArrayList<String> mSectionTitleItems; private ArrayList<String> mSectionTitleItems;
private RunnableArgs<ConsegnaClienteDTO> mOnSelectionChanged; private RunnableArgs<DocumentoResoDTO> mOnSelectionChanged;
private TextDrawable.IShapeBuilder smallIconBuilder; private TextDrawable.IShapeBuilder smallIconBuilder;
private TextDrawable.IShapeBuilder mediumIconBuilder; private TextDrawable.IShapeBuilder mediumIconBuilder;
@ -71,19 +70,19 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<
public UltimeConsegneMainListAdapter(Context context, ArrayList<ConsegnaClienteDTO> dataset) { public UltimeConsegneMainListAdapter(Context context, ArrayList<DocumentoResoDTO> dataset) {
super(); super();
this.mContext = context; this.mContext = context;
this.mDataset = new ArrayList<>(); this.mDataset = new ArrayList<>();
this.mSectionTitleItems = new ArrayList<>(); this.mSectionTitleItems = new ArrayList<>();
this.mDataset = Stream.of(dataset) this.mDataset = Stream.of(dataset)
.sortBy(ConsegnaClienteDTO::getRagSoc) .sortBy(DocumentoResoDTO::getRagSoc)
.toList(); .toList();
Stream.of(mDataset) Stream.of(mDataset)
.map(ConsegnaClienteDTO::getRagSoc) .map(DocumentoResoDTO::getRagSoc)
.distinct() .distinct()
.forEach(x -> { .forEach(x -> {
this.mSectionTitleItems.add(String.valueOf(x.charAt(0))); this.mSectionTitleItems.add(String.valueOf(x.charAt(0)));
@ -142,7 +141,7 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<
@Override @Override
public void onBindItemViewHolder(final SingleItemViewHolder holder, final int position) { public void onBindItemViewHolder(final SingleItemViewHolder holder, final int position) {
final ConsegnaClienteDTO consegna = this.mDataset.get(position); final DocumentoResoDTO consegna = this.mDataset.get(position);
holder.mBinding.setConsegna(consegna); holder.mBinding.setConsegna(consegna);
@ -163,8 +162,8 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<
} }
try { try {
Calendar calendarNow = Calendar.getInstance(TimeZone.getDefault()); Calendar calendarNow = UtilityDate.getCalendarInstance();
Calendar calendarDataDoc = Calendar.getInstance(TimeZone.getDefault()); Calendar calendarDataDoc = UtilityDate.getCalendarInstance();
calendarDataDoc.setTime(consegna.getDataDocD()); calendarDataDoc.setTime(consegna.getDataDocD());
String dataDocString = ""; String dataDocString = "";
@ -214,7 +213,7 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<
} }
public void setOnSelectionChanged(RunnableArgs<ConsegnaClienteDTO> mSelectionChanged) { public void setOnSelectionChanged(RunnableArgs<DocumentoResoDTO> mSelectionChanged) {
this.mOnSelectionChanged = mSelectionChanged; this.mOnSelectionChanged = mSelectionChanged;
} }

View File

@ -1,194 +0,0 @@
package it.integry.integrywmsnative.gest.ultime_consegne_cliente_picking;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import com.tfb.fbtoast.FBToast;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.model.CommonModelConsts;
import it.integry.integrywmsnative.core.model.DtbDocr;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.ActivityUltimeConsegneClientePickingBinding;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente_picking.core.UltimeConsegneClientePickingListAdapter;
import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
public class UltimeConsegneClientePickingActivity extends AppCompatActivity {
private List<ConsegnaClienteDTO> consegneToPick;
private List<DtbDocr> mDtbDocrList;
private ActivityUltimeConsegneClientePickingBinding mBinding;
public ObservableField<MtbColt> currentMtbColt;
private int barcodeScannerIstanceID = -1;
public static void startActivity(Context context, List<ConsegnaClienteDTO> consegnaClienteDTOList) {
String consegneCacheKey = DataCache.addItem(consegnaClienteDTOList);
Intent intent = new Intent(context, UltimeConsegneClientePickingActivity.class);
intent.putExtra("key", consegneCacheKey);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_ultime_consegne_cliente_picking);
mBinding.setViewmodel(this);
consegneToPick = DataCache.retrieveItem(getIntent().getStringExtra("key"));
this.initView();
this.initDatiPicking();
}
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
return true;
}
@Override
public void onBackPressed() {
// if(mArticoliInColloBottomSheetViewModel.isExpanded()){
// mArticoliInColloBottomSheetViewModel.collapse();
// } else if(mVenditaOrdineInevasoViewModel.thereIsAnOpenedUL()) {
// mArticoliInColloBottomSheetViewModel.closeCurrentUL(() -> {
// BarcodeManager.removeCallback(barcodeScannerIstanceID);
// super.onBackPressed();
// });
//
// } else {
BarcodeManager.removeCallback(barcodeScannerIstanceID);
super.onBackPressed();
// }
}
private void initView() {
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
.setOnScanSuccessfull(this::onScanSuccessful)
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
setSupportActionBar(this.mBinding.toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
this.mBinding.elevatedToolbar.setRecyclerView(this.mBinding.mainList);
ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(this);
UltimeConsegneClienteRESTConsumer.loadDocRowFromConsegna(consegneToPick, dtbDocrToPick -> {
progressDialog.dismiss();
this.initList(dtbDocrToPick);
}, ex -> {
UtilityExceptions.defaultException(this, ex, progressDialog);
});
}
private void initList(List<DtbDocr> dtbDocrList) {
this.mDtbDocrList = dtbDocrList;
UltimeConsegneClientePickingListAdapter adapter = new UltimeConsegneClientePickingListAdapter(this, dtbDocrList);
this.mBinding.mainList.setLayoutManager(new LinearLayoutManager(this));
this.mBinding.mainList.setAdapter(adapter);
}
private void initDatiPicking() {
}
private void onScanSuccessful(BarcodeScanDTO data) {
}
public void createNewUL() {
this.createNewUL(null, null, null, false, true, null);
}
public void createNewUL(Integer customNumCollo, String customSerCollo, ProgressDialog progress, boolean disablePrint, boolean closeProgress, Runnable onComplete) {
this.mBinding.mainFab.close(true);
if (progress == null){
progress = UtilityProgress.createDefaultProgressDialog(this);
}
MtbColt mtbColt = new MtbColt();
mtbColt.initDefaultFields();
// mtbColt .setGestione(defaultGestioneOfUL)
// .setSegno(-1)
// .setRifOrd(defaultRifOrdOfUL)
// .setNumOrd(defaultNumOrdOfUL)
// .setDataOrdD(defaultDataOrdOfUL)
// .setCodAnag(defaultCodAnagOfUL)
// .setCodMdep(defaultCodMdepOfUL)
// .setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
//
// if(defaultGestioneOfUL == GestioneEnum.LAVORAZIONE) {
// mtbColt.setPosizione(defaultCodJFasOfUL);
// }
//
// if(customNumCollo != null) {
// mtbColt.setNumCollo(customNumCollo);
// }
//
// if(!UtilityString.isNullOrEmpty(customSerCollo)) {
// mtbColt.setSerCollo(customSerCollo);
// }
//
// mtbColt.generaFiltroOrdineFromDTO(defaultFiltroOrdine);
//
// ProgressDialog finalProgress = progress;
// ColliMagazzinoRESTConsumer.saveCollo(mtbColt, value -> {
//
// mtbColt
// .setNumCollo(value.getNumCollo())
// .setDataCollo(value.getDataColloS());
// mtbColtSessionID = ColliDataRecover.startNewSession(mtbColt);
//
// value
// .setDisablePrint(disablePrint)
// .setMtbColr(new ObservableArrayList<>());
//
// setULToCurrentContext(value);
//
// if(closeProgress) finalProgress.dismiss();
//
// FBToast.successToast(this, getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT);
//
// if(onComplete != null) onComplete.run();
//
// }, ex -> {
// UtilityExceptions.defaultException(mActivity, ex, finalProgress);
// });
}
}

View File

@ -134,7 +134,7 @@ public class DialogVenditaFiltroAvanzato {
IFiltroOrdiniVendita filtroOrdiniVendita = ClassRouter.getIstance(ClassRouter.PATH.FILTRO_ORDINI_VENDITA); IFiltroOrdiniVendita filtroOrdiniVendita = ClassRouter.getIstance(ClassRouter.PATH.FILTRO_ORDINI_VENDITA);
bindings.filledExposedDropdownDataCons.setOnClickListener(view -> { bindings.filledExposedDropdownDataCons.setOnClickListener(view -> {
Calendar c = Calendar.getInstance(); Calendar c = UtilityDate.getCalendarInstance();
if(viewModel.dataConsegnaDate != null) { if(viewModel.dataConsegnaDate != null) {
c.setTime(viewModel.dataConsegnaDate); c.setTime(viewModel.dataConsegnaDate);

View File

@ -10,6 +10,7 @@ import java.util.Date;
import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityLogger;
public class OrdineVenditaInevasoDTO implements Parcelable { public class OrdineVenditaInevasoDTO implements Parcelable {
@ -194,13 +195,7 @@ public class OrdineVenditaInevasoDTO implements Parcelable {
} }
public Date getDataOrdD() { public Date getDataOrdD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return UtilityDate.recognizeDateWithExceptionHandler(getDataOrdS());
try {
return sdf.parse(getDataOrdS());
} catch (ParseException e) {
UtilityLogger.errorMe(e);
return null;
}
} }
public OrdineVenditaInevasoDTO setData(String data) { public OrdineVenditaInevasoDTO setData(String data) {
@ -308,8 +303,7 @@ public class OrdineVenditaInevasoDTO implements Parcelable {
} }
public Date getDataInizTraspD() throws ParseException { public Date getDataInizTraspD() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return UtilityDate.recognizeDateWithExceptionHandler(getDataInizTraspS());
return sdf.parse(getDataInizTraspS());
} }
public OrdineVenditaInevasoDTO setDataInizTrasp(String dataInizTrasp) { public OrdineVenditaInevasoDTO setDataInizTrasp(String dataInizTrasp) {
@ -448,13 +442,7 @@ public class OrdineVenditaInevasoDTO implements Parcelable {
} }
public Date getDataConsD() { public Date getDataConsD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return UtilityDate.recognizeDateWithExceptionHandler(getDataConsS());
try {
return sdf.parse(getDataConsS());
} catch (ParseException e) {
UtilityLogger.errorMe(e);
return null;
}
} }
public OrdineVenditaInevasoDTO setDataCons(String dataCons) { public OrdineVenditaInevasoDTO setDataCons(String dataCons) {

View File

@ -288,13 +288,7 @@ public class PickingObjectDTO implements Parcelable {
} }
public Date getDataColloD() { public Date getDataColloD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return UtilityDate.recognizeDateWithExceptionHandler(getDataColloS());
try {
return sdf.parse(getDataColloS());
} catch (ParseException e) {
UtilityLogger.errorMe(e);
return null;
}
} }
public String getDataColloHuman() { public String getDataColloHuman() {
@ -346,9 +340,8 @@ public class PickingObjectDTO implements Parcelable {
return dataScad; return dataScad;
} }
public Date getDataScadD() throws ParseException { public Date getDataScadD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return UtilityDate.recognizeDateWithExceptionHandler(getDataScadS());
return sdf.parse(getDataScadS());
} }
public PickingObjectDTO setDataScad(String dataScad) { public PickingObjectDTO setDataScad(String dataScad) {

View File

@ -1,16 +1,11 @@
package it.integry.integrywmsnative.gest.vendita.rest.model; package it.integry.integrywmsnative.gest.vendita.rest.model;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
public class ConsegnaClienteDTO { public class DocumentoResoDTO {
private String codAnag; private String codAnag;
private int counterConsegna; private int counterConsegna;
@ -26,11 +21,13 @@ public class ConsegnaClienteDTO {
private String dataOrd; private String dataOrd;
private Integer numOrd; private Integer numOrd;
private String dataInizTrasp; private String dataInizTrasp;
private String gestione;
private String codMdep;
public BindableBoolean selected; public BindableBoolean selected;
public ConsegnaClienteDTO() { public DocumentoResoDTO() {
this.selected = new BindableBoolean(false); this.selected = new BindableBoolean(false);
} }
@ -39,7 +36,7 @@ public class ConsegnaClienteDTO {
return codAnag; return codAnag;
} }
public ConsegnaClienteDTO setCodAnag(String codAnag) { public DocumentoResoDTO setCodAnag(String codAnag) {
this.codAnag = codAnag; this.codAnag = codAnag;
return this; return this;
} }
@ -48,7 +45,7 @@ public class ConsegnaClienteDTO {
return counterConsegna; return counterConsegna;
} }
public ConsegnaClienteDTO setCounterConsegna(int counterConsegna) { public DocumentoResoDTO setCounterConsegna(int counterConsegna) {
this.counterConsegna = counterConsegna; this.counterConsegna = counterConsegna;
return this; return this;
} }
@ -57,7 +54,7 @@ public class ConsegnaClienteDTO {
return codDtip; return codDtip;
} }
public ConsegnaClienteDTO setCodDtip(String codDtip) { public DocumentoResoDTO setCodDtip(String codDtip) {
this.codDtip = codDtip; this.codDtip = codDtip;
return this; return this;
} }
@ -70,7 +67,7 @@ public class ConsegnaClienteDTO {
return UtilityDate.recognizeDateWithExceptionHandler(getDataDocS()); return UtilityDate.recognizeDateWithExceptionHandler(getDataDocS());
} }
public ConsegnaClienteDTO setDataDoc(String dataDoc) { public DocumentoResoDTO setDataDoc(String dataDoc) {
this.dataDoc = dataDoc; this.dataDoc = dataDoc;
return this; return this;
} }
@ -79,7 +76,7 @@ public class ConsegnaClienteDTO {
return serDoc; return serDoc;
} }
public ConsegnaClienteDTO setSerDoc(String serDoc) { public DocumentoResoDTO setSerDoc(String serDoc) {
this.serDoc = serDoc; this.serDoc = serDoc;
return this; return this;
} }
@ -88,7 +85,7 @@ public class ConsegnaClienteDTO {
return numDoc; return numDoc;
} }
public ConsegnaClienteDTO setNumDoc(int numDoc) { public DocumentoResoDTO setNumDoc(int numDoc) {
this.numDoc = numDoc; this.numDoc = numDoc;
return this; return this;
} }
@ -97,7 +94,7 @@ public class ConsegnaClienteDTO {
return destinatario; return destinatario;
} }
public ConsegnaClienteDTO setDestinatario(String destinatario) { public DocumentoResoDTO setDestinatario(String destinatario) {
this.destinatario = destinatario; this.destinatario = destinatario;
return this; return this;
} }
@ -106,7 +103,7 @@ public class ConsegnaClienteDTO {
return indirizzo; return indirizzo;
} }
public ConsegnaClienteDTO setIndirizzo(String indirizzo) { public DocumentoResoDTO setIndirizzo(String indirizzo) {
this.indirizzo = indirizzo; this.indirizzo = indirizzo;
return this; return this;
} }
@ -115,7 +112,7 @@ public class ConsegnaClienteDTO {
return ragSoc; return ragSoc;
} }
public ConsegnaClienteDTO setRagSoc(String ragSoc) { public DocumentoResoDTO setRagSoc(String ragSoc) {
this.ragSoc = ragSoc; this.ragSoc = ragSoc;
return this; return this;
} }
@ -124,7 +121,7 @@ public class ConsegnaClienteDTO {
return compilatoDa; return compilatoDa;
} }
public ConsegnaClienteDTO setCompilatoDa(String compilatoDa) { public DocumentoResoDTO setCompilatoDa(String compilatoDa) {
this.compilatoDa = compilatoDa; this.compilatoDa = compilatoDa;
return this; return this;
} }
@ -133,7 +130,7 @@ public class ConsegnaClienteDTO {
return rifOrd; return rifOrd;
} }
public ConsegnaClienteDTO setRifOrd(String rifOrd) { public DocumentoResoDTO setRifOrd(String rifOrd) {
this.rifOrd = rifOrd; this.rifOrd = rifOrd;
return this; return this;
} }
@ -147,7 +144,7 @@ public class ConsegnaClienteDTO {
} }
public ConsegnaClienteDTO setDataOrd(String dataOrd) { public DocumentoResoDTO setDataOrd(String dataOrd) {
this.dataOrd = dataOrd; this.dataOrd = dataOrd;
return this; return this;
} }
@ -156,7 +153,7 @@ public class ConsegnaClienteDTO {
return numOrd; return numOrd;
} }
public ConsegnaClienteDTO setNumOrd(Integer numOrd) { public DocumentoResoDTO setNumOrd(Integer numOrd) {
this.numOrd = numOrd; this.numOrd = numOrd;
return this; return this;
} }
@ -169,7 +166,7 @@ public class ConsegnaClienteDTO {
return UtilityDate.recognizeDateWithExceptionHandler(getDataInizTraspS()); return UtilityDate.recognizeDateWithExceptionHandler(getDataInizTraspS());
} }
public ConsegnaClienteDTO setDataInizTrasp(String dataInizTrasp) { public DocumentoResoDTO setDataInizTrasp(String dataInizTrasp) {
this.dataInizTrasp = dataInizTrasp; this.dataInizTrasp = dataInizTrasp;
return this; return this;
} }
@ -182,8 +179,26 @@ public class ConsegnaClienteDTO {
return this.selected.get(); return this.selected.get();
} }
public ConsegnaClienteDTO setSelected(boolean selected) { public DocumentoResoDTO setSelected(boolean selected) {
this.selected.set(selected); this.selected.set(selected);
return this; return this;
} }
public String getGestione() {
return gestione;
}
public DocumentoResoDTO setGestione(String gestione) {
this.gestione = gestione;
return this;
}
public String getCodMdep() {
return codMdep;
}
public DocumentoResoDTO setCodMdep(String codMdep) {
this.codMdep = codMdep;
return this;
}
} }

View File

@ -341,7 +341,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
// List<OrdineAccettazioneDTO.Riga> foundRows = Stream.of(groupedOrdini) // List<OrdineAccettazioneDTO.Riga> foundRows = Stream.of(groupedOrdini)
// .filter(x -> x.getNumOrd() == currentMtbColr.getNumOrd() && // .filter(x -> x.getNumOrd() == currentMtbColr.getNumOrd() &&
// x.getRigaOrd() == currentMtbColr.getRigaOrd()&& // x.getRigaOrd() == currentMtbColr.getRigaOrd()&&
// x.getDataOrd().equals(currentMtbColr.getDataOrdD())) // x.getDataOrdD().equals(currentMtbColr.getDataOrdD()))
// .toList(); // .toList();
// //
// if(foundRows != null && foundRows.size() > 0){ // if(foundRows != null && foundRows.size() > 0){
@ -903,7 +903,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone(); MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE); cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE);
cloneMtbColt.setOraFinePrep(new Date()); cloneMtbColt.setOraFinePrep(UtilityDate.getDateInstance());
ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() { ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() {
@ -1193,7 +1193,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal()) .setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
.setNumCnf(quantityDTO.numCnf.getBigDecimal()) .setNumCnf(quantityDTO.numCnf.getBigDecimal())
.setDescrizione(item.getDescrizioneEstesa()) .setDescrizione(item.getDescrizioneEstesa())
.setDatetimeRow(new Date()); .setDatetimeRow(UtilityDate.getDateInstance());
if(item.getTempPickData() != null && item.getTempPickData().getSourceMtbColt() != null) { if(item.getTempPickData() != null && item.getTempPickData().getSourceMtbColt() != null) {
MtbColt sourceMtbColt = item.getTempPickData().getSourceMtbColt(); MtbColt sourceMtbColt = item.getTempPickData().getSourceMtbColt();
@ -1337,7 +1337,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal()) .setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
.setNumCnf(quantityDTO.numCnf.getBigDecimal()) .setNumCnf(quantityDTO.numCnf.getBigDecimal())
.setDescrizione(item.getDescrizioneEstesa()) .setDescrizione(item.getDescrizioneEstesa())
.setDatetimeRow(new Date()); .setDatetimeRow(UtilityDate.getDateInstance());
mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);

View File

@ -30,6 +30,7 @@ import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.settings.SettingsManager; 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.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityPosizione; import it.integry.integrywmsnative.core.utility.UtilityPosizione;
import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
@ -364,7 +365,7 @@ public class VersamentoMerceViewModel {
.setQtaCol(quantityDTO.qtaTot.getBigDecimal()) .setQtaCol(quantityDTO.qtaTot.getBigDecimal())
.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal()) .setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
.setNumCnf(quantityDTO.numCnf.getBigDecimal()) .setNumCnf(quantityDTO.numCnf.getBigDecimal())
.setDatetimeRow(new Date()); .setDatetimeRow(UtilityDate.getDateInstance());
onComplete.run(mtbColr); onComplete.run(mtbColr);
}, onAbort).show(); }, onAbort).show();

View File

@ -367,7 +367,7 @@ public class DialogInputQuantity {
} }
if(quantityDTO.expireDate == null && dto.mtbAart.getGgScadPartita() != null && dto.mtbAart.getGgScadPartita() > 0) { if(quantityDTO.expireDate == null && dto.mtbAart.getGgScadPartita() != null && dto.mtbAart.getGgScadPartita() > 0) {
Calendar c = Calendar.getInstance(); Calendar c = UtilityDate.getCalendarInstance();
c.add(Calendar.DATE, dto.mtbAart.getGgScadPartita()); // number of days to add c.add(Calendar.DATE, dto.mtbAart.getGgScadPartita()); // number of days to add
quantityDTO.expireDate = c.getTime(); quantityDTO.expireDate = c.getTime();
@ -610,7 +610,7 @@ public class DialogInputQuantity {
Runnable onTextClicked = () -> { Runnable onTextClicked = () -> {
// Get Current Date // Get Current Date
Calendar c = Calendar.getInstance(); Calendar c = UtilityDate.getCalendarInstance();
if(quantityDTO.expireDate != null) { if(quantityDTO.expireDate != null) {
c.setTime(quantityDTO.expireDate); c.setTime(quantityDTO.expireDate);

View File

@ -5,7 +5,7 @@
<import type="android.view.View" /> <import type="android.view.View" />
<variable <variable
name="viewmodel" name="viewmodel"
type="it.integry.integrywmsnative.gest.ultime_consegne_cliente_picking.UltimeConsegneClientePickingActivity" /> type="it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
@ -13,7 +13,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/full_white" android:background="@color/full_white"
tools:context=".gest.ultime_consegne_cliente_picking.UltimeConsegneClientePickingActivity"> tools:context=".gest.picking_resi.PickingResiActivity">

View File

@ -5,7 +5,7 @@
<import type="it.integry.integrywmsnative.R" /> <import type="it.integry.integrywmsnative.R" />
<variable <variable
name="consegna" name="consegna"
type="it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO" /> type="it.integry.integrywmsnative.gest.vendita.rest.model.DocumentoResoDTO" />
</data> </data>
<LinearLayout <LinearLayout