[BUGFIX] Risolto problema di modifica/cancellazione riga in Accettazione

This commit is contained in:
Giuseppe Scorrano 2020-02-07 12:17:34 +01:00
parent 2e21982ea7
commit 38853e5514
3 changed files with 174 additions and 137 deletions

View File

@ -0,0 +1,28 @@
package it.integry.integrywmsnative.core.utility;
import java.math.BigDecimal;
public class UtilityBigDecimal {
public static boolean greaterThan(BigDecimal input, BigDecimal toCompareWith) {
if(input == null) return false;
if(toCompareWith == null) return false;
return input.compareTo(toCompareWith) > 0;
}
public static boolean equalsTo(BigDecimal input, BigDecimal toCompareWith) {
if(input == null) return false;
if(toCompareWith == null) return false;
return input.compareTo(toCompareWith) == 0;
}
public static boolean lowerThan(BigDecimal input, BigDecimal toCompareWith) {
if(input == null) return false;
if(toCompareWith == null) return false;
return input.compareTo(toCompareWith) < 0;
}
}

View File

@ -72,4 +72,10 @@ public class UtilityString {
return Html.fromHtml(String.format(UtilityResources.getString(stringId),params));
}
public static boolean equalsIgnoreCase(String val1, String val2) {
return (val1 == null && val2 == null) ||
(val1 != null && val1.equalsIgnoreCase(val2));
}
}

View File

@ -2,12 +2,15 @@ package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.viewmodel;
import android.app.Dialog;
import android.app.ProgressDialog;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.text.SpannableString;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast;
@ -36,6 +39,7 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
@ -230,8 +234,6 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
}
public RunnableArgs<BarcodeScanDTO> onScanSuccessfull = data -> {
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mActivity);
@ -326,7 +328,6 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
}
private void loadArticolo(String barcodeProd, Ean128Model ean128Model, Dialog progressDialog) {
if (barcodeProd.length() == 14) {
// barcodeProd = UtilityBarcode.convertITF14toNeutral(barcodeProd);
@ -448,7 +449,8 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
GestSetupRESTConsumer.getValue("PICKING", "SETUP", "DEFAULT_POSIZIONE_COLLI_ACCETTAZIONE", defaultPosAccettazioneDTO -> {
String defaultPosAccettazione = "";
if(defaultPosAccettazioneDTO != null && !UtilityString.isNullOrEmpty(defaultPosAccettazioneDTO.value)) defaultPosAccettazione = defaultPosAccettazioneDTO.value;
if (defaultPosAccettazioneDTO != null && !UtilityString.isNullOrEmpty(defaultPosAccettazioneDTO.value))
defaultPosAccettazione = defaultPosAccettazioneDTO.value;
MtbColt mtbColt = new MtbColt();
mtbColt
@ -699,7 +701,6 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
}
private void postCloseOperations(Runnable onComplete) {
MtbColt mtbColt = (MtbColt) getColloRef().clone();
@ -777,7 +778,6 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
float qtaEvasa = item.qtaRiservate + qtaEvasaInMtbColr;
BigDecimal qtaDaEvadere;
BigDecimal totalQtaDaEvadere = item.getQtaOrd().subtract(new BigDecimal(qtaEvasa)).subtract(item.getQtaEvasa());
@ -908,7 +908,6 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
}
private MtbColt getColloRef() {
return mArticoliInColloBottomSheetViewModel.mtbColt.get();
}
@ -919,33 +918,37 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
private void onRowEdited(MtbColr oldValue, MtbColr newValue) {
if(getColloRef() != null) {
Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity);
MtbColr mtbColrToEditOfAccettazione = Stream.of(getColloRef().getMtbColr())
.filter(x -> x.getQtaCol().compareTo(oldValue.getQtaCol()) == 0 &&
x.getCodMart().equalsIgnoreCase(oldValue.getCodMart()) &&
x.getPartitaMag().equalsIgnoreCase(oldValue.getPartitaMag()) &&
x.getCodJcom().equalsIgnoreCase(oldValue.getCodJcom()))
.findFirst()
.get();
mtbColrToEditOfAccettazione
.setQtaCol(newValue.getQtaCol());
ColliMagazzinoRESTConsumer.updateRiga(mtbColrToEditOfAccettazione, () -> {
progress.dismiss();
// if (getColloRef() != null) {
//
// Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity);
//
// Optional<MtbColr> optionalMtbColrToEditOfAccettazione = Stream.of(getColloRef().getMtbColr())
// .filter(x -> UtilityBigDecimal.equalsTo(x.getQtaCol(), oldValue.getQtaCol()) &&
// UtilityString.equalsIgnoreCase(x.getCodMart(), oldValue.getCodMart()) &&
// UtilityString.equalsIgnoreCase(x.getPartitaMag(), oldValue.getPartitaMag()) &&
// UtilityString.equalsIgnoreCase(x.getCodJcom(), oldValue.getCodJcom()))
// .findFirst();
//
// if(optionalMtbColrToEditOfAccettazione.isPresent()) {
// MtbColr mtbColrToEditOfAccettazione = optionalMtbColrToEditOfAccettazione.get();
//
// mtbColrToEditOfAccettazione
// .setQtaCol(newValue.getQtaCol());
//
// ColliMagazzinoRESTConsumer.updateRiga(mtbColrToEditOfAccettazione, () -> {
// progress.dismiss();
// this.refreshOrderBy(false);
// }, ex -> {
// UtilityExceptions.defaultException(mActivity, ex, progress);
// this.refreshOrderBy(false);
// });
//
// }
//
// } else {
//
this.refreshOrderBy(false);
}, ex -> {
UtilityExceptions.defaultException(mActivity, ex, progress);
this.refreshOrderBy(false);
});
} else {
this.refreshOrderBy(false);
}
// }
}