Fix su update posizione di Rettifica Giacenze

This commit is contained in:
Giuseppe Scorrano 2020-10-05 12:21:16 +02:00
parent 168002316b
commit e9cb9954f6
4 changed files with 43 additions and 65 deletions

View File

@ -86,7 +86,7 @@ public class MtbColt extends EntityBase {
private ObservableArrayList<MtbColr> mtbColr = new ObservableArrayList<>();
public ObservableArrayList<MtbColr> getMtbColr() {
return mtbColr;
return mtbColr == null ? new ObservableArrayList<>() : mtbColr;
}
public MtbColt setMtbColr(ObservableArrayList<MtbColr> mtbColr) {

View File

@ -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);

View File

@ -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);

View File

@ -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<Exception> onFailed) {
final Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
ColliMagazzinoRESTConsumer.changePosizione(mtbColt, mtbDepoPosizione, () -> {
progressDialog.dismiss();
onComplete.run();
}, ex -> {
progressDialog.dismiss();
onFailed.run(ex);
});
}
}