Refactoring servizio di Picking libero e Versamento Merce
This commit is contained in:
@@ -52,6 +52,13 @@ public class MtbColr extends EntityBase {
|
||||
private BigDecimal pesoNettoKg;
|
||||
private BigDecimal pesoLordoKg;
|
||||
|
||||
private String barcodeUlIn;
|
||||
private String barcodeUlOut;
|
||||
private String codMdepIn;
|
||||
private String codMdepOut;
|
||||
private String posizioneIn;
|
||||
private String posizioneOut;
|
||||
|
||||
private MtbAart mtbAart;
|
||||
private MtbPartitaMag mtbPartitaMag;
|
||||
|
||||
@@ -109,6 +116,12 @@ public class MtbColr extends EntityBase {
|
||||
this.idRigaDoc = other.idRigaDoc;
|
||||
this.pesoNettoKg = other.pesoNettoKg;
|
||||
this.pesoLordoKg = other.pesoLordoKg;
|
||||
this.barcodeUlIn = other.barcodeUlIn;
|
||||
this.barcodeUlOut = other.barcodeUlOut;
|
||||
this.posizioneIn = other.posizioneIn;
|
||||
this.posizioneOut = other.posizioneOut;
|
||||
this.codMdepIn = other.codMdepIn;
|
||||
this.codMdepOut = other.codMdepOut;
|
||||
|
||||
// Deep copy degli oggetti complessi
|
||||
this.mtbAart = other.mtbAart != null ? new MtbAart(other.mtbAart) : null;
|
||||
@@ -566,4 +579,70 @@ public class MtbColr extends EntityBase {
|
||||
this.refMtbColr = refMtbColr;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDataCollo() {
|
||||
return dataCollo;
|
||||
}
|
||||
|
||||
public String getDataColloRif() {
|
||||
return dataColloRif;
|
||||
}
|
||||
|
||||
public String getDatetimeRow() {
|
||||
return datetimeRow;
|
||||
}
|
||||
|
||||
public String getBarcodeUlIn() {
|
||||
return barcodeUlIn;
|
||||
}
|
||||
|
||||
public MtbColr setBarcodeUlIn(String barcodeUlIn) {
|
||||
this.barcodeUlIn = barcodeUlIn;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getBarcodeUlOut() {
|
||||
return barcodeUlOut;
|
||||
}
|
||||
|
||||
public MtbColr setBarcodeUlOut(String barcodeUlOut) {
|
||||
this.barcodeUlOut = barcodeUlOut;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMdepIn() {
|
||||
return codMdepIn;
|
||||
}
|
||||
|
||||
public MtbColr setCodMdepIn(String codMdepIn) {
|
||||
this.codMdepIn = codMdepIn;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMdepOut() {
|
||||
return codMdepOut;
|
||||
}
|
||||
|
||||
public MtbColr setCodMdepOut(String codMdepOut) {
|
||||
this.codMdepOut = codMdepOut;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPosizioneIn() {
|
||||
return posizioneIn;
|
||||
}
|
||||
|
||||
public MtbColr setPosizioneIn(String posizioneIn) {
|
||||
this.posizioneIn = posizioneIn;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPosizioneOut() {
|
||||
return posizioneOut;
|
||||
}
|
||||
|
||||
public MtbColr setPosizioneOut(String posizioneOut) {
|
||||
this.posizioneOut = posizioneOut;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -642,9 +642,15 @@ public class MtbColt extends EntityBase {
|
||||
|
||||
@Override
|
||||
public EntityBase clone() {
|
||||
return clone(true);
|
||||
}
|
||||
|
||||
public MtbColt clone(boolean withMtbColr) {
|
||||
MtbColt mtbColt = (MtbColt) super.clone();
|
||||
mtbColt.setMtbColr(new ObservableArrayList<>());
|
||||
|
||||
if(!withMtbColr) return mtbColt;
|
||||
|
||||
this.getMtbColr().stream()
|
||||
.map(MtbColr::new) //Genera un clone
|
||||
.forEach(mtbColr -> {
|
||||
|
||||
@@ -7,14 +7,11 @@ import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
@@ -374,44 +371,6 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
||||
});
|
||||
}
|
||||
|
||||
public void getMultipleByTestate(List<MtbColt> testate, boolean onlyResiduo, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
ArrayList<MtbColt> resultMtbColt = new ArrayList<>();
|
||||
cyclicGetMultipleByTestate(testate.iterator(), onlyResiduo, resultMtbColt, () -> {
|
||||
onComplete.run(resultMtbColt);
|
||||
}, onFailed);
|
||||
}
|
||||
|
||||
private void cyclicGetMultipleByTestate(@NotNull Iterator<MtbColt> sourceMtbColts, boolean onlyResiduo, ArrayList<MtbColt> resultMtbColt, Runnable onComplete, RunnableArgs<Exception> onAbort) {
|
||||
if (sourceMtbColts.hasNext()) {
|
||||
getByTestata(sourceMtbColts.next(), onlyResiduo, false, mtbColt -> {
|
||||
resultMtbColt.add(mtbColt);
|
||||
cyclicGetMultipleByTestate(sourceMtbColts, onlyResiduo, resultMtbColt, onComplete, onAbort);
|
||||
}, onAbort);
|
||||
} else {
|
||||
onComplete.run();
|
||||
}
|
||||
}
|
||||
|
||||
public MtbColt getByChiaveColloSynchronized(GestioneEnum gestione, int numCollo, String dataCollo, String serCollo, boolean onlyResiduo, boolean throwExcIfNull) throws Exception {
|
||||
MtbColt mtbColtToRetrieve = new MtbColt()
|
||||
.setGestione(gestione)
|
||||
.setNumCollo(numCollo)
|
||||
.setDataCollo(dataCollo)
|
||||
.setSerCollo(serCollo);
|
||||
|
||||
return getByTestataSynchronized(mtbColtToRetrieve, onlyResiduo, throwExcIfNull);
|
||||
}
|
||||
|
||||
public void getByChiaveCollo(GestioneEnum gestione, int numCollo, String dataCollo, String serCollo, boolean onlyResiduo, boolean throwExcIfNull, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
MtbColt mtbColtToRetrieve = new MtbColt()
|
||||
.setGestione(gestione)
|
||||
.setNumCollo(numCollo)
|
||||
.setDataCollo(dataCollo)
|
||||
.setSerCollo(serCollo);
|
||||
|
||||
getByTestata(mtbColtToRetrieve, onlyResiduo, throwExcIfNull, onComplete, onFailed);
|
||||
}
|
||||
|
||||
public MtbColt getByTestataSynchronized(MtbColt testata, boolean onlyResiduo, boolean throwExcIfNull) throws Exception {
|
||||
testata.setMtbColr(new ObservableArrayList<>());
|
||||
|
||||
|
||||
@@ -318,9 +318,10 @@ public class AccettazioneBollaPickingViewModel {
|
||||
private void searchArtFromAnag(MtbAart mtbAart, PickDataDTO pickData, Runnable onComplete) {
|
||||
final List<PickingObjectDTO> pickingList = mPickingList.getValue();
|
||||
|
||||
List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList)
|
||||
.filter(x -> UtilityString.equalsIgnoreCase(mtbAart.getCodMart(), x.getSitBollaAccettazione().getCodMart()))
|
||||
.toList();
|
||||
List<PickingObjectDTO> matchPickingObject = pickingList == null ? new ArrayList<>() :
|
||||
pickingList.stream()
|
||||
.filter(x -> UtilityString.equalsIgnoreCase(mtbAart.getCodMart(), x.getSitBollaAccettazione().getCodMart()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
for (PickingObjectDTO pickingObjectDTO : matchPickingObject) {
|
||||
pickingObjectDTO.setTempPickData(pickData);
|
||||
@@ -333,10 +334,11 @@ public class AccettazioneBollaPickingViewModel {
|
||||
private void loadMatchedRows(List<PickingObjectDTO> matchedRows, MtbAart mtbAart, PickDataDTO pickDataDTO) {
|
||||
if (matchedRows == null || matchedRows.isEmpty()) {
|
||||
this.mArticoloRESTConsumer.findIfIsKit(mtbAart, mtbAartFind -> {
|
||||
if (mtbAartFind == null){
|
||||
if (mtbAartFind == null) {
|
||||
manageNoArtFound(mtbAart, pickDataDTO);
|
||||
} else {
|
||||
searchArtFromAnag(mtbAartFind, pickDataDTO, () -> {});
|
||||
searchArtFromAnag(mtbAartFind, pickDataDTO, () -> {
|
||||
});
|
||||
}
|
||||
}, this::sendError);
|
||||
} else if (matchedRows.size() == 1) {
|
||||
@@ -442,7 +444,7 @@ public class AccettazioneBollaPickingViewModel {
|
||||
dispatchBollaRow(pickingObjectDTO);
|
||||
}
|
||||
|
||||
public void dispatchBollaRow(final PickingObjectDTO pickingObjectDTO){
|
||||
public void dispatchBollaRow(final PickingObjectDTO pickingObjectDTO) {
|
||||
dispatchBollaRow(pickingObjectDTO, false);
|
||||
}
|
||||
|
||||
@@ -554,7 +556,7 @@ public class AccettazioneBollaPickingViewModel {
|
||||
UtilityBigDecimal.greaterThan(initialNumCnf, pickingObjectDTO.getMtbAart().getColliPedana())) {
|
||||
initialNumCnf = pickingObjectDTO.getMtbAart().getColliPedana();
|
||||
initialQtaTot = initialNumCnf.multiply(initialQtaCnf);
|
||||
} else if(UtilityBigDecimal.greaterThan(initialNumCnf, BigDecimal.ONE) && pickingObjectDTO.getMtbAart().isFlagQtaCnfFissaBoolean()) {
|
||||
} else if (UtilityBigDecimal.greaterThan(initialNumCnf, BigDecimal.ONE) && pickingObjectDTO.getMtbAart().isFlagQtaCnfFissaBoolean()) {
|
||||
initialNumCnf = BigDecimal.ONE;
|
||||
initialQtaTot = initialNumCnf.multiply(initialQtaCnf);
|
||||
}
|
||||
@@ -577,7 +579,7 @@ public class AccettazioneBollaPickingViewModel {
|
||||
}
|
||||
}
|
||||
|
||||
if (!longClick){
|
||||
if (!longClick) {
|
||||
this.sendOnItemDispatched(
|
||||
pickingObjectDTO,
|
||||
pickingObjectDTO.getMtbAart(),
|
||||
@@ -694,7 +696,7 @@ public class AccettazioneBollaPickingViewModel {
|
||||
mtbColrToEdit.getDataScadPartita(),
|
||||
true,
|
||||
pickedQuantityDTO -> {
|
||||
if(pickedQuantityDTO == null)
|
||||
if (pickedQuantityDTO == null)
|
||||
return;
|
||||
|
||||
this.saveEditedRow(mtbColrToEdit,
|
||||
@@ -809,7 +811,7 @@ public class AccettazioneBollaPickingViewModel {
|
||||
int listCount = pickingList != null ? pickingList.size() : 0;
|
||||
int anomalie = listCount > 0 ? listCount - mtbColr.size() : 0;
|
||||
|
||||
if (anomalie == 0){
|
||||
if (anomalie == 0) {
|
||||
closeUdc(closeUDCRequestDTO);
|
||||
} else {
|
||||
onConfirmAnomalie(anomalie, canBeClose -> {
|
||||
@@ -824,7 +826,7 @@ public class AccettazioneBollaPickingViewModel {
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
private void closeUdc(CloseUDCRequestDTO closeUDCRequestDTO){
|
||||
private void closeUdc(CloseUDCRequestDTO closeUDCRequestDTO) {
|
||||
mColliCaricoRESTConsumer.closeUDC(closeUDCRequestDTO, closeUDCResponse -> {
|
||||
|
||||
Runnable onVersamentoCompleted = () -> {
|
||||
@@ -1060,7 +1062,7 @@ public class AccettazioneBollaPickingViewModel {
|
||||
return this;
|
||||
}
|
||||
|
||||
private void onConfirmAnomalie(int anomalie, RunnableArgs<Boolean> onConfirm){
|
||||
private void onConfirmAnomalie(int anomalie, RunnableArgs<Boolean> onConfirm) {
|
||||
if (this.mListener != null) mListener.onConfirmAnomalie(anomalie, onConfirm);
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,9 @@ import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.Magazzin
|
||||
import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.MagazzinoAutomaticoPickItemsRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.DeleteULRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||
@@ -619,42 +621,25 @@ public class PickingLiberoViewModel {
|
||||
|
||||
|
||||
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) throws Exception {
|
||||
final MtbColr mtbColr = new MtbColr()
|
||||
.setCodMart(pickingObjectDTO.getMtbAart().getCodMart())
|
||||
.setPartitaMag(partitaMag)
|
||||
.setDataScadPartita(dataScad)
|
||||
.setQtaCol(qtaTot)
|
||||
.setQtaCnf(qtaCnf)
|
||||
.setNumCnf(numCnf)
|
||||
.setDescrizione(pickingObjectDTO.getMtbAart().getDescrizioneEstesa())
|
||||
.setDatetimeRow(UtilityDate.getDateInstance())
|
||||
.setCodJcom(this.mDefaultCommessa.getCodJcom());
|
||||
|
||||
mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||
|
||||
MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone();
|
||||
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE);
|
||||
|
||||
cloneMtbColt.setMtbColr(new ObservableArrayList<>());
|
||||
cloneMtbColt.getMtbColr().add((MtbColr) mtbColr.clone());
|
||||
|
||||
if (UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) {
|
||||
this.sendOnLoadingEnded();
|
||||
return;
|
||||
}
|
||||
|
||||
var value = mColliMagazzinoRESTConsumer.saveColloSynchronized(cloneMtbColt);
|
||||
var insertUdsRowRequest = new InsertUDSRowRequestDTO()
|
||||
.setCodMart(pickingObjectDTO.getMtbAart().getCodMart())
|
||||
.setPartitaMag(partitaMag)
|
||||
.setDataScad(dataScad)
|
||||
.setQtaTot(qtaTot)
|
||||
.setQtaCnf(qtaCnf)
|
||||
.setNumCnf(numCnf)
|
||||
.setCodJcom(this.mDefaultCommessa.getCodJcom())
|
||||
.setTargetMtbColt(mCurrentMtbColt.clone(false));
|
||||
|
||||
mtbColr
|
||||
.setDataCollo(value.getDataColloS())
|
||||
.setNumCollo(value.getNumCollo())
|
||||
.setGestione(value.getGestione())
|
||||
.setSerCollo(value.getSerCollo())
|
||||
.setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga())
|
||||
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
||||
.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||
MtbColr savedMtbColr = mColliScaricoRESTConsumer.insertUDSRowSynchronized(insertUdsRowRequest);
|
||||
savedMtbColr.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||
|
||||
mCurrentMtbColt.getMtbColr().add(mtbColr);
|
||||
mCurrentMtbColt.getMtbColr().add(savedMtbColr);
|
||||
|
||||
this.sendOnRowSaved();
|
||||
|
||||
@@ -670,11 +655,8 @@ public class PickingLiberoViewModel {
|
||||
!UtilityString.isNullOrEmpty(mtbColr.getDataColloRifS()) &&
|
||||
mtbColr.getNumColloRif() != null) {
|
||||
|
||||
MtbColt mtbColt = mColliMagazzinoRESTConsumer.getByChiaveColloSynchronized(
|
||||
mtbColr.getGestioneRifEnum(),
|
||||
mtbColr.getNumColloRif(),
|
||||
mtbColr.getDataColloRifS(),
|
||||
mtbColr.getSerColloRif(),
|
||||
MtbColt mtbColt = mColliMagazzinoRESTConsumer.getBySsccSynchronized(
|
||||
mtbColr.getBarcodeUlIn(),
|
||||
true,
|
||||
false);
|
||||
|
||||
@@ -807,21 +789,26 @@ public class PickingLiberoViewModel {
|
||||
if (shouldDelete) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
MtbColt mtbColt = new MtbColt()
|
||||
.setNumCollo(mtbColrToDelete.getNumCollo())
|
||||
.setDataCollo(mtbColrToDelete.getDataColloS())
|
||||
.setSerCollo(mtbColrToDelete.getSerCollo())
|
||||
.setGestione(mtbColrToDelete.getGestione())
|
||||
.setMtbColr(new ObservableArrayList<>());
|
||||
var deleteUdsRowRequest = new DeleteUDSRowRequestDTO()
|
||||
.setMtbColrToDelete(mtbColrToDelete);
|
||||
|
||||
mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
|
||||
mColliScaricoRESTConsumer.deleteUDSRowSynchronized(deleteUdsRowRequest);
|
||||
|
||||
MtbColr mtbColr = (MtbColr) mtbColrToDelete.clone();
|
||||
|
||||
mtbColr.setOperation(CommonModelConsts.OPERATION.DELETE);
|
||||
mtbColt.getMtbColr().add(mtbColr);
|
||||
|
||||
var value = this.mColliMagazzinoRESTConsumer.saveColloSynchronized(mtbColt);
|
||||
// MtbColt mtbColt = new MtbColt()
|
||||
// .setNumCollo(mtbColrToDelete.getNumCollo())
|
||||
// .setDataCollo(mtbColrToDelete.getDataColloS())
|
||||
// .setSerCollo(mtbColrToDelete.getSerCollo())
|
||||
// .setGestione(mtbColrToDelete.getGestione())
|
||||
// .setMtbColr(new ObservableArrayList<>());
|
||||
//
|
||||
// mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
|
||||
//
|
||||
// MtbColr mtbColr = (MtbColr) mtbColrToDelete.clone();
|
||||
//
|
||||
// mtbColr.setOperation(CommonModelConsts.OPERATION.DELETE);
|
||||
// mtbColt.getMtbColr().add(mtbColr);
|
||||
//
|
||||
// var value = this.mColliMagazzinoRESTConsumer.saveColloSynchronized(mtbColt);
|
||||
|
||||
handler.post(() -> {
|
||||
this.mCurrentMtbColt.getMtbColr().remove(mtbColrToDelete);
|
||||
|
||||
@@ -1442,7 +1442,7 @@ public class SpedizioneViewModel {
|
||||
private MtbColt loadRifULFromMtbColr(MtbColr mtbColr) throws Exception {
|
||||
//Se ho dei riferimenti ad una UL devo leggere la QTA ancora disponibile sulla Ul
|
||||
if (mtbColr != null && !UtilityString.isNullOrEmpty(mtbColr.getGestioneRif()) && !UtilityString.isNullOrEmpty(mtbColr.getSerColloRif()) && !UtilityString.isNullOrEmpty(mtbColr.getDataColloRifS()) && mtbColr.getNumColloRif() != null) {
|
||||
return mColliMagazzinoRESTConsumer.getByChiaveColloSynchronized(mtbColr.getGestioneRifEnum(), mtbColr.getNumColloRif(), mtbColr.getDataColloRifS(), mtbColr.getSerColloRif(), true, false);
|
||||
return mColliMagazzinoRESTConsumer.getBySsccSynchronized(mtbColr.getBarcodeUlOut(), true, false);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package it.integry.integrywmsnative.gest.versamento_merce;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||
@@ -11,11 +12,12 @@ import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||
public class VersamentoMerceModule {
|
||||
|
||||
@Provides
|
||||
VersamentoMerceViewModel providesVersamentoMerceViewModel(ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
VersamentoMerceViewModel providesVersamentoMerceViewModel(ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
|
||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
BarcodeRESTConsumer barcodeRESTConsumer,
|
||||
PosizioniRESTConsumer posizioniRESTConsumer,
|
||||
MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer) {
|
||||
return new VersamentoMerceViewModel(colliMagazzinoRESTConsumer, barcodeRESTConsumer, posizioniRESTConsumer, magazzinoAutomaticoRESTConsumer);
|
||||
return new VersamentoMerceViewModel(colliLavorazioneRESTConsumer, colliMagazzinoRESTConsumer, barcodeRESTConsumer, posizioniRESTConsumer, magazzinoAutomaticoRESTConsumer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import java.util.List;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||
import it.integry.integrywmsnative.core.CommonConst;
|
||||
import it.integry.integrywmsnative.core.exception.InvalidCodMdepException;
|
||||
import it.integry.integrywmsnative.core.exception.InvalidLUGestioneException;
|
||||
import it.integry.integrywmsnative.core.exception.NoArtsInLUException;
|
||||
@@ -28,10 +29,12 @@ import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.MagazzinoAutomaticoPutItemsRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCRequestDTO;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
@@ -45,13 +48,15 @@ public class VersamentoMerceViewModel {
|
||||
|
||||
private Listener mListener;
|
||||
|
||||
private final ColliLavorazioneRESTConsumer mColliLavorazioneRESTConsumer;
|
||||
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
|
||||
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
|
||||
private final PosizioniRESTConsumer mPosizioniRESTConsumer;
|
||||
private final MagazzinoAutomaticoRESTConsumer mMagazzinoAutomaticoRESTConsumer;
|
||||
|
||||
@Inject
|
||||
public VersamentoMerceViewModel(ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, MagazzinoAutomaticoRESTConsumer mMagazzinoAutomaticoRESTConsumer) {
|
||||
public VersamentoMerceViewModel(ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, MagazzinoAutomaticoRESTConsumer mMagazzinoAutomaticoRESTConsumer) {
|
||||
this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer;
|
||||
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
|
||||
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||
this.mPosizioniRESTConsumer = posizioniRESTConsumer;
|
||||
@@ -188,7 +193,18 @@ public class VersamentoMerceViewModel {
|
||||
this.sendError(new InvalidLUGestioneException(GestioneEnum.VENDITA));
|
||||
} else {
|
||||
if (mtbColt == null) {
|
||||
this.mColliMagazzinoRESTConsumer.createColloFromEtichettaAnonima(sscc, GestioneEnum.LAVORAZIONE, mtbColtAnonimo -> {
|
||||
int numCollo = -1;
|
||||
try {
|
||||
numCollo = UtilityBarcode.getNumColloFromULAnonima(sscc);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
var createUDCRequestDTO = new CreateUDCRequestDTO()
|
||||
.setNumCollo(numCollo)
|
||||
.setSerCollo(CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE)
|
||||
.setBarcodeUl(sscc);
|
||||
|
||||
this.mColliLavorazioneRESTConsumer.createUDC(createUDCRequestDTO, mtbColtAnonimo -> {
|
||||
pickMerceULtoUL(mtbColtAnonimo, onComplete);
|
||||
}, this::sendError);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user