bugfix ConcurrentModificationException in aggiunta articoli atumatica in nuovo ordine acquisto
This commit is contained in:
parent
2c521c5f96
commit
5e88833039
@ -10,7 +10,6 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableArrayList;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import com.ravikoradiya.liveadapter.LiveAdapter;
|
import com.ravikoradiya.liveadapter.LiveAdapter;
|
||||||
@ -34,7 +33,6 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|||||||
import it.integry.integrywmsnative.databinding.ActivityPvOrdineAcquistoEditBinding;
|
import it.integry.integrywmsnative.databinding.ActivityPvOrdineAcquistoEditBinding;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentPvArticoliOrdineAcquistoListSingleItemBinding;
|
import it.integry.integrywmsnative.databinding.FragmentPvArticoliOrdineAcquistoListSingleItemBinding;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.DialogEditArticoloView;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.DialogEditArticoloView;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.ui.OrdineAcquistoArtListModel;
|
|
||||||
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
|
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
|
||||||
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogAskAction;
|
import it.integry.integrywmsnative.view.dialogs.DialogAskAction;
|
||||||
@ -53,8 +51,6 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi
|
|||||||
@Inject
|
@Inject
|
||||||
PVOrdineAcquistoEditViewModel mViewModel;
|
PVOrdineAcquistoEditViewModel mViewModel;
|
||||||
|
|
||||||
private final ObservableArrayList<OrdineAcquistoArtListModel> mArticoliMutableData = new ObservableArrayList<>();
|
|
||||||
|
|
||||||
|
|
||||||
public static Intent newInstance(Context context, Ordine ordine) {
|
public static Intent newInstance(Context context, Ordine ordine) {
|
||||||
Intent myIntent = new Intent(context, PVOrdineAcquistoEditActivity.class);
|
Intent myIntent = new Intent(context, PVOrdineAcquistoEditActivity.class);
|
||||||
|
|||||||
@ -117,6 +117,27 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
this.mArticoli.postValue(newList);
|
this.mArticoli.postValue(newList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void saveArticoli(List<ArticoloOrdine> articoli) {
|
||||||
|
var newList = this.mArticoli.getValue();
|
||||||
|
if (newList == null) {
|
||||||
|
newList = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ArticoloOrdine articolo : articoli) {
|
||||||
|
setBgTint(articolo);
|
||||||
|
|
||||||
|
var alreadySavedItem = Stream.of(newList)
|
||||||
|
.filter(x -> Objects.equals(x.getCodMart(), articolo.getCodMart()))
|
||||||
|
.findFirst();
|
||||||
|
|
||||||
|
if (alreadySavedItem.isPresent()) newList.remove(alreadySavedItem.get());
|
||||||
|
newList.add(articolo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
this.mArticoli.postValue(newList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||||
this.checkArticolo(
|
this.checkArticolo(
|
||||||
@ -225,8 +246,7 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
});
|
});
|
||||||
if (!articoliToSave.isEmpty()) {
|
if (!articoliToSave.isEmpty()) {
|
||||||
mArticoliOrdineRepository.saveArticoliToOrdine(articoliToSave, () -> {
|
mArticoliOrdineRepository.saveArticoliToOrdine(articoliToSave, () -> {
|
||||||
Stream.of(articoliToSave).forEach(this::saveArticolo);
|
this.saveArticoli(articoliToSave);
|
||||||
|
|
||||||
this.sendOnLoadingEnded();
|
this.sendOnLoadingEnded();
|
||||||
|
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
|
|||||||
@ -53,9 +53,7 @@ public class OrdineAcquistoPvHelper {
|
|||||||
|
|
||||||
|
|
||||||
mGrigliaRepository.saveGriglia(griglia, id -> {
|
mGrigliaRepository.saveGriglia(griglia, id -> {
|
||||||
saveLisAToGriglia(dto.getGrigliaAcquistiChild(), griglia, grigliaResult -> {
|
saveLisAToGriglia(dto.getGrigliaAcquistiChild(), griglia, onSaved, onFail);
|
||||||
onSaved.run(grigliaResult);
|
|
||||||
}, onFail);
|
|
||||||
}, onFail);
|
}, onFail);
|
||||||
});
|
});
|
||||||
}, onFail);
|
}, onFail);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user