diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java
index 16d82803..033eb7b8 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java
@@ -11,14 +11,18 @@ import android.widget.Toast;
import androidx.databinding.ObservableField;
import androidx.recyclerview.widget.LinearLayoutManager;
+import org.jetbrains.annotations.NotNull;
+
import java.text.ParseException;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr;
@@ -124,9 +128,13 @@ public class ProdVersamentoMaterialViewModel {
null, this::openLU).show();
return;
} else if (mtbColt.get().getMtbColr().size() > 1) {
+
DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml("Il collo selezionato contiene più articoli, solo il primo verrà versato in questa sessione.
Per versare i colli restanti ripetere l'operazione di versamento.")),
- null, null).show();
+ null, () -> {
+ cyclicGetOrdiniLavByCollo(mtbColt.get().getMtbColr().iterator(), mtbDepoPosizione);
+ }).show();
+ return;
}
MesRESTConsumer.getOrdiniLavorazioneMateriale(mtbDepoPosizione.getPosizione(), getIdMaterialeFromCollo(mtbColt.get()), ordini -> richiediOrdiniPerVersamento(ordini, mtbDepoPosizione), e -> DialogSimpleMessageHelper.makeWarningDialog(mContext,
@@ -173,7 +181,7 @@ public class ProdVersamentoMaterialViewModel {
openLU();
}
- public void richiediOrdiniPerVersamento(List ordini, MtbDepoPosizione mtbDepoPosizione) {
+ private void richiediOrdiniPerVersamento(List ordini, MtbDepoPosizione mtbDepoPosizione) {
if (ordini == null || ordini.size() <= 0) {
mBinding.positiveFab.setVisibility(View.GONE);
@@ -220,4 +228,24 @@ public class ProdVersamentoMaterialViewModel {
mBinding.dialogChooseArtsFromListaArtMainList.setAdapter(currentAdapter);
}
+ private void cyclicGetOrdiniLavByCollo(@NotNull Iterator righeCollo, MtbDepoPosizione mtbDepoPosizione) {
+ MtbColr colr = righeCollo.next();
+ setMtbColr(colr);
+ MtbAart articolo = colr.getMtbAart();
+
+ MesRESTConsumer.getOrdiniLavorazioneMateriale(mtbDepoPosizione.getPosizione(), UtilityString.isNullOrEmpty(articolo.getIdArtEqui()) ? articolo.getCodMart() : articolo.getIdArtEqui(), ordini -> {
+ if (ordini == null || ordini.isEmpty()) {
+ if (righeCollo.hasNext()) {
+ cyclicGetOrdiniLavByCollo(righeCollo, mtbDepoPosizione);
+ } else {
+ richiediOrdiniPerVersamento(ordini, mtbDepoPosizione);
+ }
+ } else {
+ richiediOrdiniPerVersamento(ordini, mtbDepoPosizione);
+ }
+ }
+ , e -> DialogSimpleMessageHelper.makeWarningDialog(mContext,
+ new SpannableString(Html.fromHtml(e.getMessage())),
+ null, this::openLU).show());
+ }
}