diff --git a/app/build.gradle b/app/build.gradle index 67bf86c4..c8215ef7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 344 - def appVersionName = '1.32.04' + def appVersionCode = 345 + def appVersionName = '1.32.05' signingConfigs { release { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumer.java index fe0669c8..422be652 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumer.java @@ -15,6 +15,8 @@ import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; @@ -137,6 +139,23 @@ public class ColliLavorazioneRESTConsumer extends _BaseRESTConsumer implements C }); } + public void editUDSRow(EditUDSRowRequestDTO editUDSRowRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + ColliLavorazioneRESTConsumerService colliLavorazioneRESTConsumerService = RESTBuilder.getService(ColliLavorazioneRESTConsumerService.class); + + colliLavorazioneRESTConsumerService.editUDSRow(editUDSRowRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "lavorazione/editUDSRow", data -> onComplete.run(data.getSavedMtbColr()), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + } + @Override public void deleteUDSRow(DeleteUDSRowRequestDTO deleteUDSRowRequestDTO, Runnable onComplete, RunnableArgs onFailed) { ColliLavorazioneRESTConsumerService colliLavorazioneRESTConsumerService = RESTBuilder.getService(ColliLavorazioneRESTConsumerService.class); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumerService.java index da8e7908..19bb2db4 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumerService.java @@ -8,6 +8,8 @@ import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; @@ -35,6 +37,9 @@ public interface ColliLavorazioneRESTConsumerService { @POST("wms/lavorazione/insertUDSRow") Call> insertUDSRow(@Body InsertUDSRowRequestDTO insertUDSRowRequestDTO); + @POST("wms/lavorazione/editUDSRow") + Call> editUDSRow(@Body EditUDSRowRequestDTO editUDSRowRequestDTO); + @POST("wms/lavorazione/deleteUDSRow") Call> deleteUDSRow(@Body DeleteUDSRowRequestDTO deleteUDSRowRequestDTO); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumer.java index 06408a31..79cbfffc 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumer.java @@ -15,6 +15,8 @@ import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; @@ -133,6 +135,23 @@ public class ColliSpedizioneRESTConsumer extends _BaseRESTConsumer implements Co }); } + public void editUDSRow(EditUDSRowRequestDTO editUDSRowRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + ColliSpedizioneRESTConsumerService colliSpedizioneRESTConsumerService = RESTBuilder.getService(ColliSpedizioneRESTConsumerService.class); + + colliSpedizioneRESTConsumerService.editUDSRow(editUDSRowRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "spedizione/editUDSRow", data -> onComplete.run(data.getSavedMtbColr()), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + } + public void deleteUDSRow(DeleteUDSRowRequestDTO deleteUDSRowRequestDTO, Runnable onComplete, RunnableArgs onFailed) { ColliSpedizioneRESTConsumerService colliSpedizioneRESTConsumerService = RESTBuilder.getService(ColliSpedizioneRESTConsumerService.class); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumerService.java index b324a596..900ec757 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumerService.java @@ -8,6 +8,8 @@ import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; @@ -35,6 +37,9 @@ public interface ColliSpedizioneRESTConsumerService { @POST("wms/spedizione/insertUDSRow") Call> insertUDSRow(@Body InsertUDSRowRequestDTO insertUDSRowRequestDTO); + @POST("wms/spedizione/editUDSRow") + Call> editUDSRow(@Body EditUDSRowRequestDTO editUDSRowRequestDTO); + @POST("wms/spedizione/deleteUDSRow") Call> deleteUDSRow(@Body DeleteUDSRowRequestDTO deleteUDSRowRequestDTO); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/interfaces/ColliScaricoRESTConsumerInterface.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/interfaces/ColliScaricoRESTConsumerInterface.java index c9be7035..ae355658 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/interfaces/ColliScaricoRESTConsumerInterface.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/interfaces/ColliScaricoRESTConsumerInterface.java @@ -9,6 +9,7 @@ import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSResponseDTO; import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; @@ -26,5 +27,7 @@ public interface ColliScaricoRESTConsumerInterface { void insertUDSRow(InsertUDSRowRequestDTO insertUDSRowRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed); + void editUDSRow(EditUDSRowRequestDTO editUDSRowRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed); + void deleteUDSRow(DeleteUDSRowRequestDTO deleteUDSRequestDTO, Runnable onComplete, RunnableArgs onFailed); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/EditUDSRowRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/EditUDSRowRequestDTO.java new file mode 100644 index 00000000..14c6ddb5 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/EditUDSRowRequestDTO.java @@ -0,0 +1,50 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import java.math.BigDecimal; + +import it.integry.integrywmsnative.core.model.MtbColr; + +public class EditUDSRowRequestDTO { + + private MtbColr sourceMtbColr; + private BigDecimal newQtaTot; + private BigDecimal newQtaCnf; + private BigDecimal newNumCnf; + + + public MtbColr getSourceMtbColr() { + return sourceMtbColr; + } + + public EditUDSRowRequestDTO setSourceMtbColr(MtbColr sourceMtbColr) { + this.sourceMtbColr = sourceMtbColr; + return this; + } + + public BigDecimal getNewQtaTot() { + return newQtaTot; + } + + public EditUDSRowRequestDTO setNewQtaTot(BigDecimal newQtaTot) { + this.newQtaTot = newQtaTot; + return this; + } + + public BigDecimal getNewQtaCnf() { + return newQtaCnf; + } + + public EditUDSRowRequestDTO setNewQtaCnf(BigDecimal newQtaCnf) { + this.newQtaCnf = newQtaCnf; + return this; + } + + public BigDecimal getNewNumCnf() { + return newNumCnf; + } + + public EditUDSRowRequestDTO setNewNumCnf(BigDecimal newNumCnf) { + this.newNumCnf = newNumCnf; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/EditUDSRowResponseDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/EditUDSRowResponseDTO.java new file mode 100644 index 00000000..c7439472 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/EditUDSRowResponseDTO.java @@ -0,0 +1,16 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import it.integry.integrywmsnative.core.model.MtbColr; + +public class EditUDSRowResponseDTO { + private MtbColr savedMtbColr; + + public MtbColr getSavedMtbColr() { + return savedMtbColr; + } + + public EditUDSRowResponseDTO setSavedMtbColr(MtbColr savedMtbColr) { + this.savedMtbColr = savedMtbColr; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java index 69d18995..2528f93b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java @@ -20,7 +20,6 @@ import it.integry.barcode_base_android_library.model.BarcodeScanDTO; import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.exception.AlreadyUsedAnonymousLabelException; import it.integry.integrywmsnative.core.exception.InvalidLUMultiGestioneException; -import it.integry.integrywmsnative.core.exception.InvalidOrderTypeException; import it.integry.integrywmsnative.core.exception.LUScanNotGrantedException; import it.integry.integrywmsnative.core.exception.NoArtsFoundException; import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException; @@ -126,18 +125,13 @@ public class AccettazionePickingViewModel { .distinctBy(x -> x) .toList(); - if (foundGestioni != null) { - - if (foundGestioni.size() == 1) { - if (isOrdTrasf && (foundGestioni.get(0) == GestioneEnum.PRODUZIONE || foundGestioni.get(0) == GestioneEnum.LAVORAZIONE)) { - defaultGestioneOfUL = GestioneEnum.ACQUISTO; - } else - defaultGestioneOfUL = foundGestioni.get(0) == GestioneEnum.PRODUZIONE ? GestioneEnum.LAVORAZIONE : foundGestioni.get(0); - } else { - this.sendError(new InvalidLUMultiGestioneException()); - } + if (foundGestioni.size() == 1) { + if (isOrdTrasf && (foundGestioni.get(0) == GestioneEnum.PRODUZIONE || foundGestioni.get(0) == GestioneEnum.LAVORAZIONE)) { + defaultGestioneOfUL = GestioneEnum.ACQUISTO; + } else + defaultGestioneOfUL = foundGestioni.get(0) == GestioneEnum.PRODUZIONE ? GestioneEnum.LAVORAZIONE : foundGestioni.get(0); } else { - this.sendError(new InvalidOrderTypeException()); + this.sendError(new InvalidLUMultiGestioneException()); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoViewModel.java index 512f9856..210f8e50 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoViewModel.java @@ -32,24 +32,19 @@ public class ProdOrdineProduzioneElencoViewModel { this.codMdep = codMdep; this.sendOnLoadingStarted(); - new Thread(() -> { - mProdOrdineProduzioneRESTConsumer.getOrdiniInevasi(codMdep, orderList -> { - this.mOrderList.setValue(orderList); + mProdOrdineProduzioneRESTConsumer.getOrdiniInevasi(codMdep, orderList -> { + this.mOrderList.setValue(orderList); - this.sendOnLoadingEnded(); - }, this::sendError); + this.sendOnLoadingEnded(); + }, this::sendError); - }).start(); } public void loadPicking(List selectedOrders) { this.sendOnLoadingStarted(); - - new Thread(() -> { - this.mProdOrdineProduzioneRESTConsumer.retrievePickingListNew(selectedOrders, sitArtOrds -> { this.sendOnOrdersDispatched(selectedOrders, sitArtOrds); @@ -57,8 +52,6 @@ public class ProdOrdineProduzioneElencoViewModel { }, this::sendError); - }).start(); - } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java index 6c8483fe..11f3e4fb 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java @@ -474,9 +474,7 @@ public class RettificaGiacenzeViewModel { this.sendLUPositionChangeRequest((shouldChangePosition, mtbDepoPosizione) -> { if (shouldChangePosition) { - this.savePosizione(mtbDepoPosizione, () -> { - onComplete.run(); - }); + this.savePosizione(mtbDepoPosizione, onComplete); } else { onComplete.run(); } @@ -484,7 +482,7 @@ public class RettificaGiacenzeViewModel { } private void createDoc(MtbColt mtbColt, Runnable onComplete) { - if (mtbColt.getGestioneEnum() != GestioneEnum.VENDITA && mtbColt.getSegno() != -1) { + if (!(mtbColt.getGestioneEnum() == GestioneEnum.VENDITA && mtbColt.getSegno() == -1)) { onComplete.run(); return; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java index 841456e4..d5334f0a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java @@ -69,6 +69,7 @@ import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestOrderDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; import it.integry.integrywmsnative.core.settings.SettingsManager; @@ -1221,18 +1222,6 @@ public class SpedizioneViewModel { public void saveNewRow(PickingObjectDTO pickingObjectDTO, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) { this.sendOnLoadingStarted(); - -// final MtbColr mtbColr = new MtbColr() -// .setCausale(mDefaultCausaleOfUL) -// .setCodMart(pickingObjectDTO.getMtbAart().getCodMart()) -// .setPartitaMag(partitaMag) -// .setDataScadPartita(dataScad) -// .setQtaCol(qtaTot) -// .setQtaCnf(qtaCnf) -// .setNumCnf(numCnf) -// .setDescrizione(pickingObjectDTO.getMtbAart().getDescrizioneEstesa()) -// .setDatetimeRow(UtilityDate.getDateInstance()); - //TODO: Al posto di prelevare la prima riga bisognerebbe controllare se c'è ne una che corrisponde con la partita richiesta final MtbColr mtbColrToDispatch = pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt() != null && @@ -1240,40 +1229,6 @@ public class SpedizioneViewModel { pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().size() > 0 ? pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null; - -// if (mtbColrToDispatch != null) { -// if (UtilityString.isNullOrEmpty(mCurrentMtbColt.getCodTcol())) -// mCurrentMtbColt.setCodTcol(UtilityString.empty2null(pickingObjectDTO.getTempPickData().getSourceMtbColt().getCodTcol())); -// -// mtbColr.setCodJcom(UtilityString.empty2null(mtbColrToDispatch.getCodJcom())) -// .setSerColloRif(UtilityString.empty2null(mtbColrToDispatch.getSerCollo())) -// .setNumColloRif(mtbColrToDispatch.getNumCollo()) -// .setGestioneRif(UtilityString.empty2null(mtbColrToDispatch.getGestione())) -// .setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS())); -// -// -// if (mtbColrToDispatch.getPesoNettoKg() != null) { -// //Proporzione -// BigDecimal pesoNettoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoNettoKg()), mtbColrToDispatch.getQtaCol()); -// mtbColr.setPesoNettoKg(pesoNettoKg); -// } -// -// if (mtbColrToDispatch.getPesoLordoKg() != null) { -// //Proporzione -// BigDecimal pesoLordoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoLordoKg()), mtbColrToDispatch.getQtaCol()); -// mtbColr.setPesoLordoKg(pesoLordoKg); -// } -// } -// -// 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()); - - boolean shouldPrint = !shouldCloseLU || mCurrentMtbColt.getMtbColr().size() != 0; //Se è l'unico articolo del collo (controllo se è uguale a 0 perché ancora non è stato aggiunto nella lista delle righe) @@ -1285,15 +1240,21 @@ public class SpedizioneViewModel { return; } + var clonedSourceMtbColr = (MtbColr) mtbColrToDispatch.clone(); + clonedSourceMtbColr.setMtbPartitaMag(null) + .setMtbAart(null); + + var clonedTargetMtbColt = (MtbColt) mCurrentMtbColt.clone(); + clonedTargetMtbColt.setMtbColr(null); var insertUDSRowRequestDto = new InsertUDSRowRequestDTO() - .setSourceMtbColr(mtbColrToDispatch) + .setSourceMtbColr(clonedSourceMtbColr) .setCodMart(pickingObjectDTO.getMtbAart().getCodMart()) .setQtaTot(qtaTot) .setQtaCnf(qtaCnf) .setNumCnf(numCnf) .setPartitaMag(partitaMag) - .setTargetMtbColt(mCurrentMtbColt); + .setTargetMtbColt(clonedTargetMtbColt); if (dataScad != null) insertUDSRowRequestDto @@ -1341,89 +1302,91 @@ public class SpedizioneViewModel { }, this::sendError); - -// boolean finalShouldPrint = shouldPrint; -// mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> { -// -// 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()); -// -// -// if (mEnableGiacenza) { -// MtbColr refMtbColr = new MtbColr() -// .setCodMart(mtbColr.getCodMart()) -// .setPartitaMag(mtbColr.getPartitaMag()) -// .setCodTagl(mtbColr.getCodTagl()) -// .setCodCol(mtbColr.getCodCol()); -// -// if (refMtbColt != null) { -// -// MtbColr originalRefMtbColr = refMtbColt.getMtbColr() != null && refMtbColt.getMtbColr().size() > 0 ? refMtbColt.getMtbColr().get(0) : null; -// -// if (originalRefMtbColr != null) { -// refMtbColr.setId(originalRefMtbColr.getId()); -// } -// -// refMtbColr.setNumCollo(refMtbColt.getNumCollo()) -// .setDataCollo(refMtbColt.getDataColloS()) -// .setSerCollo(refMtbColt.getSerCollo()) -// .setGestione(refMtbColt.getGestione()); -// } -// mtbColr.setRefMtbColr(refMtbColr); -// } -// -// pickingObjectDTO.getWithdrawMtbColrs().add(mtbColr); -// mCurrentMtbColt.getMtbColr().add(mtbColr); -// -// //Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei -// resetMatchedRows(); -// -// this.sendOnRowSaved(); -// this.sendOnLoadingEnded(); -// -// if (shouldCloseLU) requestCloseLU(finalShouldPrint); -// }, this::sendError); - } private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) { this.sendOnLoadingStarted(); - MtbColt mtbColt = new MtbColt().setNumCollo(mtbColrToUpdate.getNumCollo()).setDataCollo(mtbColrToUpdate.getDataColloS()).setSerCollo(mtbColrToUpdate.getSerCollo()).setGestione(mtbColrToUpdate.getGestione()).setMtbColr(new ObservableArrayList<>()); - mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); + MtbColr mtbColrClone = (MtbColr) mtbColrToUpdate.clone(); + mtbColrClone.setMtbAart(null) + .setMtbPartitaMag(null); - final MtbColr mtbColr = (MtbColr) mtbColrToUpdate.clone(); - mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT); - mtbColr.setRiga(null).setPesoLordoKg(null).setPesoNettoKg(null).setNumCnf(numCnf.subtract(mtbColrToUpdate.getNumCnf())).setQtaCnf(qtaCnf).setQtaCol(qtaTot.subtract(mtbColrToUpdate.getQtaCol())).setPartitaMag(partitaMag).setDataScadPartita(dataScad); + var editUDSRowRequest = new EditUDSRowRequestDTO() + .setSourceMtbColr(mtbColrClone) + .setNewNumCnf(numCnf) + .setNewQtaCnf(qtaCnf) + .setNewQtaTot(qtaTot); - mtbColt.getMtbColr().add(mtbColr); + this.mColliScaricoRESTConsumer.editUDSRow(editUDSRowRequest, savedMtbColr -> { + mtbColrToUpdate.setNumCnf(savedMtbColr.getNumCnf()) + .setQtaCnf(savedMtbColr.getQtaCnf()) + .setQtaCol(savedMtbColr.getQtaCol()); - this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> { - - mtbColr.setNumCnf(numCnf).setQtaCnf(qtaCnf).setQtaCol(qtaTot); - - Optional pickingObjectDTO = Stream.of(this.mPickingList.getValue()).filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToUpdate)).findSingle(); + Optional pickingObjectDTO = Stream.of(this.mPickingList.getValue()) + .filter(x -> Stream.of(x.getWithdrawMtbColrs()) + .anyMatch(y -> y == mtbColrToUpdate)).findSingle(); if (pickingObjectDTO.isPresent()) { pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToUpdate); - pickingObjectDTO.get().getWithdrawMtbColrs().add(mtbColr); + pickingObjectDTO.get().getWithdrawMtbColrs().add(mtbColrToUpdate); } this.mCurrentMtbColt.getMtbColr().remove(mtbColrToUpdate); - this.mCurrentMtbColt.getMtbColr().add(mtbColr); + this.mCurrentMtbColt.getMtbColr().add(mtbColrToUpdate); this.resetMatchedRows(); this.sendOnRowSaved(); this.sendOnLoadingEnded(); - }, this::sendError); + + + +// MtbColt mtbColt = new MtbColt() +// .setNumCollo(mtbColrToUpdate.getNumCollo()) +// .setDataCollo(mtbColrToUpdate.getDataColloS()) +// .setSerCollo(mtbColrToUpdate.getSerCollo()) +// .setGestione(mtbColrToUpdate.getGestione()) +// .setMtbColr(new ObservableArrayList<>()); +// mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); +// +// final MtbColr mtbColr = (MtbColr) mtbColrToUpdate.clone(); +// mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT); +// mtbColr.setRiga(null) +// .setPesoLordoKg(null) +// .setPesoNettoKg(null) +// .setNumCnf(numCnf.subtract(mtbColrToUpdate.getNumCnf())) +// .setQtaCnf(qtaCnf) +// .setQtaCol(qtaTot.subtract(mtbColrToUpdate.getQtaCol())) +// .setPartitaMag(partitaMag) +// .setDataScadPartita(dataScad); +// +// mtbColt.getMtbColr().add(mtbColr); +// +// this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> { +// +// mtbColr +// .setNumCnf(numCnf) +// .setQtaCnf(qtaCnf) +// .setQtaCol(qtaTot); +// +// Optional pickingObjectDTO = Stream.of(this.mPickingList.getValue()) +// .filter(x -> Stream.of(x.getWithdrawMtbColrs()) +// .anyMatch(y -> y == mtbColrToUpdate)).findSingle(); +// +// if (pickingObjectDTO.isPresent()) { +// pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToUpdate); +// pickingObjectDTO.get().getWithdrawMtbColrs().add(mtbColr); +// } +// +// this.mCurrentMtbColt.getMtbColr().remove(mtbColrToUpdate); +// this.mCurrentMtbColt.getMtbColr().add(mtbColr); +// +// this.resetMatchedRows(); +// this.sendOnRowSaved(); +// this.sendOnLoadingEnded(); +// +// }, this::sendError); } @@ -1511,8 +1474,11 @@ public class SpedizioneViewModel { private void closeLU(RunnableArgs> onComplete) { + var clonedLuToClose = (MtbColt) this.mCurrentMtbColt.clone(); + clonedLuToClose.setMtbColr(null); + var closeUDSRequestDto = new CloseUDSRequestDTO() - .setMtbColt(this.mCurrentMtbColt) + .setMtbColt(clonedLuToClose) //.setPrintSSCC(shouldPrint) .setOrderCodMdep(mTestateOrdini.get(0).getCodMdep()); diff --git a/build.gradle b/build.gradle index a0b87c43..a15287fb 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ buildscript { ext { kotlin_version = '1.8.0' - agp_version = '8.1.0-alpha07' + agp_version = '8.1.0-alpha08' } repositories {