diff --git a/.idea/runConfigurations/app_base.xml b/.idea/runConfigurations/app_base.xml
index ea7e0c82..ecabc4a7 100644
--- a/.idea/runConfigurations/app_base.xml
+++ b/.idea/runConfigurations/app_base.xml
@@ -14,8 +14,6 @@
-
-
@@ -42,7 +40,7 @@
-
+
diff --git a/.idea/runConfigurations/app_frudis.xml b/.idea/runConfigurations/app_frudis.xml
index b81d38bb..163ef97d 100644
--- a/.idea/runConfigurations/app_frudis.xml
+++ b/.idea/runConfigurations/app_frudis.xml
@@ -14,8 +14,6 @@
-
-
@@ -42,7 +40,7 @@
-
+
diff --git a/.idea/runConfigurations/app_ime.xml b/.idea/runConfigurations/app_ime.xml
index 49781a95..8aabbab4 100644
--- a/.idea/runConfigurations/app_ime.xml
+++ b/.idea/runConfigurations/app_ime.xml
@@ -14,8 +14,6 @@
-
-
@@ -42,7 +40,7 @@
-
+
diff --git a/.idea/runConfigurations/app_saporiveri.xml b/.idea/runConfigurations/app_saporiveri.xml
index 5db7ea6d..36db206d 100644
--- a/.idea/runConfigurations/app_saporiveri.xml
+++ b/.idea/runConfigurations/app_saporiveri.xml
@@ -14,8 +14,6 @@
-
-
@@ -42,7 +40,7 @@
-
+
diff --git a/.idea/runConfigurations/app_saporiveri_pv.xml b/.idea/runConfigurations/app_saporiveri_pv.xml
index 42c223ff..bc7e791b 100644
--- a/.idea/runConfigurations/app_saporiveri_pv.xml
+++ b/.idea/runConfigurations/app_saporiveri_pv.xml
@@ -14,8 +14,6 @@
-
-
@@ -42,7 +40,7 @@
-
+
diff --git a/.idea/runConfigurations/app_vglimenti.xml b/.idea/runConfigurations/app_vglimenti.xml
index a3b3823b..7aed918f 100644
--- a/.idea/runConfigurations/app_vglimenti.xml
+++ b/.idea/runConfigurations/app_vglimenti.xml
@@ -14,8 +14,6 @@
-
-
@@ -42,7 +40,7 @@
-
+
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java
index 73979625..be8a7417 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java
@@ -220,7 +220,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
});
}
- public static void createColliScaricoDaOrdineLavorazione(MtbColt sourceMtbColt, MtbDepoPosizione posizione, List ordini, RunnableArgs onComplete, RunnableArgs onFailed) {
+ public static void createColliScaricoDaOrdineLavorazione(MtbColt sourceMtbColt,MtbColr sourceMtbColr, MtbDepoPosizione posizione, List ordini, RunnableArgs onComplete, RunnableArgs onFailed) {
MtbColt newMtbColt = new MtbColt()
.initDefaultFields()
@@ -252,7 +252,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
// onFailed.run(new Exception());
// return;
// }
- MtbColr original = sourceMtbColt.getMtbColr().get(0);
+ MtbColr original = sourceMtbColr;
MtbColr mtbColrClone = new MtbColr();
mtbColrClone
.setNumCollo(null)
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/core/ChooseOrdsLavFromListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/core/ChooseOrdsLavFromListAdapter.java
index 94d0cce0..77e0c8de 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/core/ChooseOrdsLavFromListAdapter.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/core/ChooseOrdsLavFromListAdapter.java
@@ -40,10 +40,10 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter mDatasetPositions = new HashMap<>();
- public ChooseOrdsLavFromListAdapter(Context context, List myDataset, MtbColt mtbColt) throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
+ public ChooseOrdsLavFromListAdapter(Context context, List myDataset, MtbColt mtbColt, MtbColr mtbColr) throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
mContext = context;
mMtbColt = mtbColt;
- mMtbColr = mtbColt.getMtbColr().get(0);
+ mMtbColr = mtbColr;
if (myDataset != null) {
mDataset = Stream.of(myDataset)
.withoutNulls()
@@ -92,7 +92,7 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter mDataset = new ArrayList<>();
private ChooseOrdsLavFromListAdapter currentAdapter;
public ObservableField mtbColt = new ObservableField<>();
+ public MtbColr mMtbColr;
public void init(Activity context, FragmentProdVersamentoMaterialeBinding binding, ProdVersamentoMaterialHelper helper, Runnable onVersamentoCompleted) {
@@ -68,6 +73,7 @@ public class ProdVersamentoMaterialViewModel {
}
public void setMtbColr(MtbColr mtbColr) {
+ mMtbColr = mtbColr;
mBinding.descrArt.setText(mtbColr.getDescrizione());
mBinding.codArt.setText(mtbColr.getCodMart());
mBinding.batch.setText(mtbColr.getPartitaMag() + ((mtbColr.getRifPartitaMag() != null) ? " - "+ mtbColr.getRifPartitaMag().getDescrizione() : ""));
@@ -84,7 +90,6 @@ public class ProdVersamentoMaterialViewModel {
}
}
-
public void openLU() {
DialogScanOrCreateLU.make(mContext, false, false, true, false, (mtbColt, created) -> {
if (mtbColt == null) {
@@ -124,9 +129,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,
@@ -151,7 +160,6 @@ public class ProdVersamentoMaterialViewModel {
return UtilityString.isNullOrEmpty(articolo.getIdArtEqui()) ? articolo.getCodMart() : articolo.getIdArtEqui();
}
-
private void createColloScarico(MtbDepoPosizione mtbDepoPosizione) {
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
@@ -162,7 +170,6 @@ public class ProdVersamentoMaterialViewModel {
}), ex -> UtilityExceptions.defaultException(mContext, ex));
}
-
public void setMtbColt(MtbColt mtbColt) {
this.mtbColt.set(mtbColt);
this.setMtbColr(mtbColt.getMtbColr().get(0));
@@ -170,10 +177,11 @@ public class ProdVersamentoMaterialViewModel {
public void resetMtbColt() {
this.mtbColt.set(null);
+ this.mMtbColr = null;
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);
@@ -200,7 +208,7 @@ public class ProdVersamentoMaterialViewModel {
List ordLavs = currentAdapter.getSelectedItems();
if (ordLavs.size() > 0) {
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
- ColliMagazzinoRESTConsumer.createColliScaricoDaOrdineLavorazione(mtbColt.get(), mtbDepoPosizione, ordLavs, generatedMtbColt -> DialogCommon.showDataSaved(mContext, () -> {
+ ColliMagazzinoRESTConsumer.createColliScaricoDaOrdineLavorazione(mtbColt.get(), mMtbColr, mtbDepoPosizione, ordLavs, generatedMtbColt -> DialogCommon.showDataSaved(mContext, () -> {
progressDialog.dismiss();
mOnVersamentoCompleted.run();
}), ex -> UtilityExceptions.defaultException(mContext, ex));
@@ -216,8 +224,28 @@ public class ProdVersamentoMaterialViewModel {
mBinding.dialogChooseArtsFromListaArtMainList.setLayoutManager(new LinearLayoutManager(mContext));
- currentAdapter = new ChooseOrdsLavFromListAdapter(mContext, mDataset, mtbColt.get());
+ currentAdapter = new ChooseOrdsLavFromListAdapter(mContext, mDataset, mtbColt.get(), mMtbColr);
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());
+ }
}