From e9cb9954f6cc7bffcbaf38621706fe130397ae70 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 5 Oct 2020 12:21:16 +0200 Subject: [PATCH] Fix su update posizione di Rettifica Giacenze --- .../integrywmsnative/core/model/MtbColt.java | 2 +- .../RettificaGiacenzeViewModel.java | 2 +- .../gest/spedizione/SpedizioneActivity.java | 29 ++++++- .../DialogAskPositionOfLU.java | 75 ++++--------------- 4 files changed, 43 insertions(+), 65 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java index 9ec32850..de86c225 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java @@ -86,7 +86,7 @@ public class MtbColt extends EntityBase { private ObservableArrayList mtbColr = new ObservableArrayList<>(); public ObservableArrayList getMtbColr() { - return mtbColr; + return mtbColr == null ? new ObservableArrayList<>() : mtbColr; } public MtbColt setMtbColr(ObservableArrayList mtbColr) { 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 2c6d3fe8..7716d498 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 @@ -447,7 +447,7 @@ public class RettificaGiacenzeViewModel { private void savePosizione(MtbDepoPosizione mtbDepoPosizione, Runnable onComplete) { MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone(); - cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); + cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE); cloneMtbColt.setMtbColr(null); cloneMtbColt.setPosizione(mtbDepoPosizione != null ? mtbDepoPosizione.getPosizione() : CommonModelConsts.ENTITY_NULL_STRING); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index 498725d9..af6b9f61 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java @@ -268,13 +268,16 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo } else { BigDecimal qtaColOrdCounter = x.getSitArtOrdDTO().getQtaOrd(); -// qtaColOrdCounter = qtaColOrdCounter.add(qtaColWithdrawRows.getBigDecimalValue()); + BigDecimal numCnfOrdCounter = x.getSitArtOrdDTO().getNumCnfOrd(); for (MtbColt mtbColtToPick : x.getMtbColts()) { if(UtilityBigDecimal.equalsTo(qtaColOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaColOrdCounter, BigDecimal.ZERO)) break; + if(UtilityBigDecimal.equalsTo(numCnfOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(numCnfOrdCounter, BigDecimal.ZERO)) + break; + SpedizioneListModel cloneModel = (SpedizioneListModel) spedizioneListModel.clone(); cloneModel.setGroupTitle(String.format("%s: %s", getString(R.string.position_text), UtilityString.isNullOrEmpty(mtbColtToPick.getPosizione()) ? "N.A." : mtbColtToPick.getPosizione())); @@ -289,8 +292,28 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) { cloneModel.setUntMis("col"); - cloneModel.setQtaTot(mtbColrToDispatch != null ? mtbColrToDispatch.getNumCnf() : x.getSitArtOrdDTO().getNumCnfOrd()); - cloneModel.setQtaEvasa(numCnfWithdrawRows.getBigDecimalValue()); +// cloneModel.setQtaTot(mtbColrToDispatch != null ? mtbColrToDispatch.getNumCnf() : x.getSitArtOrdDTO().getNumCnfOrd()); +// cloneModel.setQtaEvasa(numCnfWithdrawRows.getBigDecimalValue()); + + BigDecimal numCnfOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter); + + cloneModel.setQtaTot(UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter)); + numCnfOrdCounter = numCnfOrdCounter.subtract(numCnfOrdToSubstract); + + BigDecimal qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) + .filter(y -> y.getRefMtbColr() != null && + y.getRefMtbColr().getNumCollo().equals(mtbColrToDispatch.getNumCollo()) && + y.getRefMtbColr().getDataColloD().equals(mtbColrToDispatch.getDataColloD()) && + y.getRefMtbColr().getSerCollo().equals(mtbColrToDispatch.getSerCollo()) && + y.getRefMtbColr().getGestioneEnum().equals(mtbColrToDispatch.getGestioneEnum()) && + UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodMart(), mtbColrToDispatch.getCodMart()) && + UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodTagl(), mtbColrToDispatch.getCodTagl()) && + UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodCol(), mtbColrToDispatch.getCodCol())) + .map(MtbColr::getNumCnf) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + cloneModel.setQtaEvasa(qtaEvasa); + } else { BigDecimal qtaOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java index 1a9ae416..44f2f38e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java @@ -2,11 +2,6 @@ package it.integry.integrywmsnative.view.dialogs.ask_position_of_lu; import android.app.Dialog; import android.content.Context; - -import androidx.appcompat.widget.AppCompatTextView; -import androidx.databinding.DataBindingUtil; -import com.google.android.material.textfield.TextInputLayout; - import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.text.Editable; @@ -14,11 +9,16 @@ import android.text.TextWatcher; import android.view.LayoutInflater; import android.widget.TextView; +import androidx.appcompat.widget.AppCompatTextView; +import androidx.databinding.DataBindingUtil; + +import com.google.android.material.textfield.TextInputLayout; + import java.util.ArrayList; import java.util.List; +import it.integry.barcode_base_android_library.model.BarcodeScanDTO; 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.expansion.RunnableArgs; @@ -29,10 +29,8 @@ import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityDialog; import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityPosizione; -import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.databinding.DialogAskPositionOfLuBinding; import it.integry.integrywmsnative.view.dialogs.DialogConsts; -import it.integry.barcode_base_android_library.model.BarcodeScanDTO; public class DialogAskPositionOfLU { @@ -143,6 +141,8 @@ public class DialogAskPositionOfLU { if(!completedFlow) onComplete.run(DialogConsts.Results.ABORT, null); }); + BarcodeManager.enable(); + } @@ -162,23 +162,11 @@ public class DialogAskPositionOfLU { askLivello(); BarcodeManager.enable(); } else { - if(mtbColt != null) { - updatePosizione(foundPosizione, () -> { - completedFlow = true; - BarcodeManager.enable(); - if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione); - }, ex -> { - completedFlow = true; - BarcodeManager.enable(); - onFailed.run(ex); - }); - } else { - completedFlow = true; - if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione); + completedFlow = true; + if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione); - mDialog.dismiss(); - BarcodeManager.enable(); - } + mDialog.dismiss(); + BarcodeManager.enable(); } } else { @@ -200,25 +188,9 @@ public class DialogAskPositionOfLU { if(foundPosizione != null) { resetLevelError(); - if(mtbColt != null) { - Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); - - ColliMagazzinoRESTConsumer.changePosizione(mtbColt, foundPosizione, () -> { - progressDialog.dismiss(); - completedFlow = true; - if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione); - mDialog.dismiss(); - }, ex -> { - UtilityExceptions.defaultException(mContext, ex, progressDialog); - completedFlow = true; - if(onFailed != null) onFailed.run(ex); - mDialog.dismiss(); - }); - } else { - completedFlow = true; - if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione); - mDialog.dismiss(); - } + completedFlow = true; + if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione); + mDialog.dismiss(); } else { setLevelError(mContext.getResources().getString(R.string.not_valid)); @@ -251,21 +223,4 @@ public class DialogAskPositionOfLU { mDialog.dismiss(); } - private void updatePosizione(MtbDepoPosizione mtbDepoPosizione, Runnable onComplete, RunnableArgs onFailed) { - - final Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); - - ColliMagazzinoRESTConsumer.changePosizione(mtbColt, mtbDepoPosizione, () -> { - progressDialog.dismiss(); - onComplete.run(); - }, ex -> { - progressDialog.dismiss(); - onFailed.run(ex); - }); - - } - - - - }