Merge branch 'develop' into feature/RefactoringGestioneColli

# Conflicts:
#	app/src/main/java/it/integry/integrywmsnative/core/data_recover/ColliDataRecoverDTO.java
#	app/src/main/java/it/integry/integrywmsnative/core/model/MtbColr.java
#	app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java
#	app/src/main/java/it/integry/integrywmsnative/core/model/MvwSitArtUdcDetInventario.java
#	app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java
#	app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java
#	app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java
#	app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java
#	app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/rest/ProdRientroMerceOrderDetailRESTConsumer.java
#	app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
This commit is contained in:
2025-11-24 13:15:26 +01:00
12 changed files with 63 additions and 79 deletions

View File

@@ -2,6 +2,7 @@ package it.integry.integrywmsnative.core.data_recover;
import com.google.gson.annotations.SerializedName;
import java.time.LocalDate;
import java.util.List;
import it.integry.integrywmsnative.core.model.MtbColt;
@@ -20,7 +21,7 @@ public class ColliDataRecoverDTO {
private String serCollo;
@SerializedName("dataCollo")
private String dataCollo;
private LocalDate dataCollo;
@SerializedName("gestioneCollo")
private String gestioneCollo;
@@ -58,11 +59,11 @@ public class ColliDataRecoverDTO {
return this;
}
public String getDataCollo() {
public LocalDate getDataCollo() {
return dataCollo;
}
public ColliDataRecoverDTO setDataCollo(String dataCollo) {
public ColliDataRecoverDTO setDataCollo(LocalDate dataCollo) {
this.dataCollo = dataCollo;
return this;
}

View File

@@ -2,7 +2,6 @@ package it.integry.integrywmsnative.core.data_recover;
import android.content.Context;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import com.google.android.gms.common.util.IOUtils;
import com.google.gson.Gson;
@@ -14,6 +13,7 @@ import java.io.InputStream;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Random;
import javax.inject.Inject;
@@ -65,9 +65,9 @@ public class ColliDataRecoverService {
}
private ColliDataRecoverDTO getIfExists(int id) {
Optional<ColliDataRecoverDTO> recoverDTOOptional = Stream.of(mtbColtsSessions)
Optional<ColliDataRecoverDTO> recoverDTOOptional = mtbColtsSessions.stream()
.filter(x -> x.getId() == id)
.findSingle();
.findFirst();
return recoverDTOOptional.isPresent() ? recoverDTOOptional.get() : null;
@@ -85,7 +85,7 @@ public class ColliDataRecoverService {
ColliDataRecoverDTO recoverDTO = new ColliDataRecoverDTO()
.setId(newId)
.setDataCollo(mtbColtSession.getDataColloS())
.setDataCollo(mtbColtSession.getDataColloLD())
.setNumCollo(mtbColtSession.getNumCollo())
.setSerCollo(mtbColtSession.getSerCollo())
.setGestioneCollo(mtbColtSession.getGestione())

View File

@@ -8,8 +8,6 @@ import java.time.LocalDateTime;
import java.util.Date;
import java.util.Objects;
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
import it.integry.integrywmsnative.core.model.key.DtbDocrKey;
import it.integry.integrywmsnative.core.model.key.DtbDoctKey;
import it.integry.integrywmsnative.core.model.key.MtbColrKey;
@@ -27,7 +25,7 @@ public class MtbColr extends EntityBase {
@SerializedName("numCollo")
private Integer numCollo;
@SerializedName("dataCollo")
private String dataCollo;
private LocalDate dataCollo;
@SerializedName("riga")
private Integer riga;
@SerializedName("rigaOrd")
@@ -51,7 +49,7 @@ public class MtbColr extends EntityBase {
@SerializedName("dataOrd")
private LocalDate dataOrd;
@SerializedName("dataColloRif")
private String dataColloRif;
private LocalDate dataColloRif;
@SerializedName("qtaCnf")
private BigDecimal qtaCnf;
@SerializedName("qtaCol")
@@ -266,29 +264,18 @@ public class MtbColr extends EntityBase {
return this;
}
public String getDataColloS() {
public LocalDate getDataColloLD() {
return dataCollo;
}
public Date getDataColloD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataColloS());
}
public LocalDate getDataColloLD() {
try {
return UtilityDate.recognizeLocalDate(getDataColloS());
} catch (DateNotRecognizedException | TimeNotRecognizedException e) {
throw new RuntimeException(e);
}
}
public MtbColr setDataCollo(String dataCollo) {
this.dataCollo = dataCollo;
this.dataCollo = UtilityDate.recognizeLocalDateWithExceptionHandler(dataCollo);
return this;
}
public MtbColr setDataCollo(Date dataCollo) {
setDataCollo(UtilityDate.formatDate(dataCollo, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIMES_SLASH));
public MtbColr setDataCollo(LocalDate dataCollo) {
this.dataCollo = dataCollo;
return this;
}
@@ -397,25 +384,24 @@ public class MtbColr extends EntityBase {
}
public String getDataColloRifS() {
return dataColloRif;
return dataColloRif != null ? UtilityDate.COMMONS_DATE_FORMATS.DATE_DMY_SLASHED_FORMATTER.format(dataColloRif) : null;
}
public Date getDataColloRifD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataColloRifS());
}
public MtbColr setDataColloRif(String dataColloRif) {
this.dataColloRif = dataColloRif;
return this;
public LocalDate getDataColloRifLD() {
return dataColloRif;
}
public MtbColr setDataColloRif(Date dataColloRif) {
this.dataColloRif = UtilityDate.formatDate(dataColloRif, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIMES_SLASH);
public MtbColr setDataColloRif(String dataColloRif) {
this.dataColloRif = UtilityDate.recognizeLocalDateWithExceptionHandler(dataColloRif);
return this;
}
public MtbColr setDataColloRif(LocalDate dataColloRif) {
this.dataColloRif = UtilityDate.formatDate(dataColloRif, UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH);
this.dataColloRif = dataColloRif;
return this;
}
@@ -666,11 +652,11 @@ public class MtbColr extends EntityBase {
return this;
}
public String getDataCollo() {
public LocalDate getDataCollo() {
return dataCollo;
}
public String getDataColloRif() {
public LocalDate getDataColloRif() {
return dataColloRif;
}

View File

@@ -26,7 +26,6 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityDB;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityString;
/**
@@ -37,7 +36,7 @@ public class MtbColt extends EntityBase {
@SerializedName("gestione")
private String gestione;
@SerializedName("dataCollo")
private String dataCollo;
private LocalDate dataCollo;
@SerializedName("serCollo")
private String serCollo;
@SerializedName("numCollo")
@@ -132,7 +131,7 @@ public class MtbColt extends EntityBase {
public MtbColt() {
type = "mtb_colt";
setDataCollo(UtilityDate.getDateInstance());
setDataCollo(LocalDate.now());
setSerCollo("/");
if (SettingsManager.i().isUserLoggedIn()) {
@@ -212,20 +211,13 @@ public class MtbColt extends EntityBase {
}
public String getDataColloHumanLong() {
Date dataColloD = null;
try {
dataColloD = getDataColloD();
} catch (Exception ex) {
UtilityLogger.error(ex);
}
if (dataColloD != null) {
return UtilityDate.formatDate(dataColloD, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN_LONG);
if (dataCollo != null) {
return UtilityDate.COMMONS_DATE_FORMATS.DATE_DMY_HUMAN_FORMATTER.format(dataCollo);
} else return null;
}
public String getDataColloS() {
return dataCollo;
return dataCollo != null ? UtilityDate.COMMONS_DATE_FORMATS.DATE_DMY_SLASHED_FORMATTER.format(dataCollo) : null;
}
public Date getDataColloD() {
@@ -233,21 +225,16 @@ public class MtbColt extends EntityBase {
}
public LocalDate getDataColloLD() {
return UtilityDate.recognizeLocalDateWithExceptionHandler(getDataColloS());
return dataCollo;
}
public MtbColt setDataCollo(String dataCollo) {
this.dataCollo = dataCollo;
return this;
}
public MtbColt setDataCollo(Date dataCollo) {
this.dataCollo = UtilityDate.formatDate(dataCollo, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIMES_SLASH);
this.dataCollo = UtilityDate.recognizeLocalDateWithExceptionHandler(dataCollo);
return this;
}
public MtbColt setDataCollo(LocalDate dataCollo) {
this.dataCollo = UtilityDate.formatDate(dataCollo, UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH);
this.dataCollo = dataCollo;
return this;
}

View File

@@ -8,7 +8,6 @@ import java.time.LocalDateTime;
import java.util.Date;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityString;
@@ -405,7 +404,7 @@ public class MvwSitArtUdcDetInventario {
return new MtbColr()
.setCodJcom(getCodJcom())
.setCodMart(getCodMart())
.setDataCollo(UtilityDate.toDate(getDataCollo()))
.setDataCollo(getDataCollo())
.setNumCollo(getNumCollo())
.setSerCollo(getSerCollo())
.setGestione(getGestione())

View File

@@ -146,11 +146,11 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
mtbColrClone
.setNumCollo(null)
.setDataCollo((String) null)
.setDataCollo((LocalDate) null)
.setRiga(null)
.setGestione(GestioneEnum.LAVORAZIONE)
.setDataColloRif(sourceMtbColt.getDataColloD())
.setDataColloRif(sourceMtbColt.getDataColloLD())
.setNumColloRif(sourceMtbColt.getNumCollo())
.setGestioneRif(sourceMtbColt.getGestione())
.setSerColloRif(sourceMtbColt.getSerCollo())
@@ -200,10 +200,10 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
MtbColr mtbColrClone = new MtbColr();
mtbColrClone
.setNumCollo(null)
.setDataCollo((String) null)
.setDataCollo((LocalDate) null)
.setRiga(null)
.setGestione(GestioneEnum.LAVORAZIONE)
.setDataColloRif(sourceMtbColt.getDataColloD())
.setDataColloRif(sourceMtbColt.getDataColloLD())
.setNumColloRif(sourceMtbColt.getNumCollo())
.setGestioneRif(sourceMtbColt.getGestione())
.setSerColloRif(sourceMtbColt.getSerCollo())
@@ -387,7 +387,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
mtbColr.setGestione(mtbColt.getGestione());
mtbColr.setSerCollo(mtbColt.getSerCollo());
mtbColr.setNumCollo(mtbColt.getNumCollo());
mtbColr.setDataCollo(mtbColt.getDataColloS());
mtbColr.setDataCollo(mtbColt.getDataColloLD());
}
}

View File

@@ -16,7 +16,6 @@ import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
import it.integry.integrywmsnative.core.utility.UtilityDate;
@Singleton
public class InventarioService {
@@ -48,7 +47,7 @@ public class InventarioService {
MtbColt mtbColt = new MtbColt();
mtbColt.setGestione(inventario.getGestione());
mtbColt.setDataCollo(UtilityDate.toDate(inventario.getDataCollo()));
mtbColt.setDataCollo(inventario.getDataCollo());
mtbColt.setSerCollo(inventario.getSerCollo());
mtbColt.setNumCollo(inventario.getNumCollo());
mtbColt.setSegno(inventario.getSegno());
@@ -71,7 +70,7 @@ public class InventarioService {
MtbColr mtbColr = new MtbColr();
mtbColr.setGestione(inventario.getGestione());
mtbColr.setDataCollo(UtilityDate.toDate(inventario.getDataCollo()));
mtbColr.setDataCollo(inventario.getDataCollo());
mtbColr.setSerCollo(inventario.getSerCollo());
mtbColr.setNumCollo(inventario.getNumCollo());
mtbColr.setCodMart(inventario.getCodMart());

View File

@@ -48,6 +48,19 @@ public class UtilityDate {
public static final String DM_HUMAN = "dd MMM";
public static final String DMY_HUMAN = "dd MMM yyyy";
public static final String DMY_HUMAN_LONG = "dd MMMM yyyy";
public static final DateTimeFormatter DATE_DMY_SLASHED_FORMATTER = DateTimeFormatter.ofPattern(DMY_SLASH)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATETIME_DMY_SLASHED_FORMATTER = DateTimeFormatter.ofPattern(DMY_TIME_SLASH)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATE_DMY_HUMAN_FORMATTER = DateTimeFormatter.ofPattern(DMY_HUMAN_LONG)
.withZone(ZoneId.systemDefault());
}
public static Date recognizeDateWithExceptionHandler(String dateString) {

View File

@@ -577,7 +577,7 @@ public class PickingLiberoViewModel {
MtbColt sourceMtbColt = new MtbColt()
.setNumCollo(mtbColr.getNumCollo())
.setGestione(mtbColr.getGestione())
.setDataCollo(mtbColr.getDataColloD())
.setDataCollo(mtbColr.getDataColloLD())
.setSerCollo(mtbColr.getSerCollo())
.setMtbColr(new ObservableArrayList<>());

View File

@@ -1,7 +1,5 @@
package it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail;
import android.util.Pair;
import androidx.lifecycle.MutableLiveData;
import com.google.gson.reflect.TypeToken;
@@ -12,9 +10,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicReference;
import javax.inject.Inject;
@@ -288,7 +284,7 @@ public class ProdRientroMerceOrderDetailViewModel {
Optional<MtbColr> mtbColtToRemove = Objects.requireNonNull(this.mtbColrsOfOrder.getValue()).stream()
.filter(x -> x.getNumCollo().equals(mtbColtToDelete.getNumCollo()) &&
x.getSerCollo().equalsIgnoreCase(mtbColtToDelete.getSerCollo()) &&
x.getDataColloD().compareTo(mtbColtToDelete.getDataColloD()) == 0 &&
x.getDataCollo().isEqual(mtbColtToDelete.getDataCollo()) &&
x.getGestione().equalsIgnoreCase(mtbColtToDelete.getGestione()))
.findFirst();
@@ -338,7 +334,7 @@ public class ProdRientroMerceOrderDetailViewModel {
put("gestione", mtbColr.getGestione());
put("ser_collo", mtbColr.getSerCollo());
put("num_collo", mtbColr.getNumCollo());
put("data_collo", UtilityDate.formatDate(mtbColr.getDataColloD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH));
put("data_collo", UtilityDate.formatDate(mtbColr.getDataCollo(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH));
}};
this.printerRESTConsumer.makeSynchronousPrintReportTypeRequest(

View File

@@ -377,7 +377,7 @@ public class RettificaGiacenzeViewModel {
mtbColr
.setQtaCol(BigDecimal.ZERO)
.setNumCnf(BigDecimal.ZERO)
.setDataCollo(mCurrentMtbColt.getDataColloS())
.setDataCollo(mCurrentMtbColt.getDataColloLD())
.setNumCollo(mCurrentMtbColt.getNumCollo())
.setGestione(mCurrentMtbColt.getGestione())
.setSerCollo(mCurrentMtbColt.getSerCollo())

View File

@@ -864,7 +864,7 @@ public class SpedizioneViewModel {
if (pickingObjectDTO.getMtbColts().stream()
.anyMatch(x ->
Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) &&
x.getDataColloS().equals(scannedUL.getDataColloS()) &&
x.getDataColloLD().isEqual(scannedUL.getDataColloLD()) &&
x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) &&
(scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE))) {
@@ -881,7 +881,10 @@ public class SpedizioneViewModel {
for (PickingObjectDTO pickingObject : pickingList) {
//Da verificare se il controllo per partita deve essere sempre effettuato
if (UtilityString.equalsIgnoreCase(x.getCodMart(), pickingObject.getSitArtOrdDTO().getCodMart()) && UtilityString.equalsIgnoreCase(x.getCodTagl(), pickingObject.getSitArtOrdDTO().getCodTagl()) && UtilityString.equalsIgnoreCase(x.getCodCol(), pickingObject.getSitArtOrdDTO().getCodCol()) && (!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), pickingObject.getSitArtOrdDTO().getPartitaMag()) || UtilityString.isNullOrEmpty(pickingObject.getSitArtOrdDTO().getPartitaMag()))) {
if (UtilityString.equalsIgnoreCase(x.getCodMart(), pickingObject.getSitArtOrdDTO().getCodMart()) &&
UtilityString.equalsIgnoreCase(x.getCodTagl(), pickingObject.getSitArtOrdDTO().getCodTagl()) &&
UtilityString.equalsIgnoreCase(x.getCodCol(), pickingObject.getSitArtOrdDTO().getCodCol()) &&
(!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), pickingObject.getSitArtOrdDTO().getPartitaMag()) || UtilityString.isNullOrEmpty(pickingObject.getSitArtOrdDTO().getPartitaMag()))) {
if (!matchPickingObject.contains(pickingObject)) {
matchPickingObject.add(pickingObject);
@@ -1630,7 +1633,7 @@ public class SpedizioneViewModel {
}
refMtbColr.setNumCollo(refMtbColt.getNumCollo())
.setDataCollo(refMtbColt.getDataColloS())
.setDataCollo(refMtbColt.getDataColloLD())
.setSerCollo(refMtbColt.getSerCollo())
.setGestione(refMtbColt.getGestione());
}
@@ -2104,7 +2107,7 @@ public class SpedizioneViewModel {
Optional<MtbColr> optionalMtbColrReference = pickingObjectDTO.getMtbColts().stream()
.filter(y -> withdrawMtbColr.getRefMtbColr() != null &&
withdrawMtbColr.getRefMtbColr().getNumCollo().equals(y.getNumCollo()) &&
withdrawMtbColr.getRefMtbColr().getDataColloD().equals(y.getDataColloD()) &&
withdrawMtbColr.getRefMtbColr().getDataColloLD().isEqual(y.getDataColloLD()) &&
withdrawMtbColr.getRefMtbColr().getSerCollo().equals(y.getSerCollo()) &&
withdrawMtbColr.getRefMtbColr().getGestioneEnum().equals(y.getGestioneEnum()) &&
UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodMart(), y.getMtbColr() != null && !y.getMtbColr().isEmpty() ? y.getMtbColr().get(0).getCodMart() : null) &&