diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
deleted file mode 100644
index a57d2db4..00000000
--- a/.idea/deploymentTargetDropDown.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColrDao.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColrDao.java
index f5d16abf..dcc17409 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColrDao.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColrDao.java
@@ -24,6 +24,6 @@ public interface MtbColrDao {
@Delete
void delete(SqlMtbColr mtbColr);
- @Query("SELECT * from mtb_colr where id_collo = :idDocument")
+ @Query("SELECT * FROM mtb_colr WHERE id_collo = :idDocument ORDER BY id DESC")
List getDocumentRows(long idDocument);
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java
index e58bd7b6..a1ab5ea4 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java
@@ -47,8 +47,9 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.ui.Document
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView;
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
+import it.integry.integrywmsnative.view.dialogs.available_items.DialogAvailableItemListModel;
+import it.integry.integrywmsnative.view.dialogs.available_items.DialogAvailableItemsView;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
-import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArtsView;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
@@ -231,7 +232,6 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
@Override
public void onEditRowRequest(SqlMtbColr row, boolean flagTracciabilita, boolean isUntMisDig) {
- this.onLoadingStarted();
MtbAart mtbAart = new MtbAart();
mtbAart.setBarCode(row.getCodBarre());
mtbAart.setDiacod(row.getCodBarre());
@@ -280,7 +280,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
this.onLoadingStarted();
this.viewModel.saveRow(row, resultDTO);
})
- .setOnAbort(this::onLoadingEnded)
+ .setOnAbort(() -> {})
.show(getSupportFragmentManager(), "tag");
}
@@ -370,16 +370,22 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
public void showInfoArtDialog() {
var listaMtbAart = Stream.of(this.viewModel.getProductsList())
- .map(x -> new MtbAart()
+ .map(x -> new DialogAvailableItemListModel()
.setCodMart(x.getCodMart())
- .setUntMis(x.getUntMis())
- .setDescrizione(x.getDescrizione())
- .setDescrizioneEstesa(x.getDescrizione())
- .setQtaCnf(x.getQtaCnf()))
+ .setDescrizioneEstesa(x.getDescrizione()))
.toList();
- new DialogChooseArtFromListaArtsView(false, listaMtbAart, null)
- .show(getSupportFragmentManager(), "tag");
+ for (var documentRow : viewModel.getDocumentRows()) {
+ var codMart = documentRow.getCodMart();
+
+ Stream.of(listaMtbAart)
+ .filter(x -> x.getCodMart().equalsIgnoreCase(codMart))
+ .forEach(x -> x.setAggiunto(true));
+ }
+
+
+ new DialogAvailableItemsView(listaMtbAart)
+ .show(getSupportFragmentManager(), "DialogAvailableInventarioItemsView");
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/ElencoInventariViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/ElencoInventariViewModel.java
index 9d0463d1..26587640 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/ElencoInventariViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/ElencoInventariViewModel.java
@@ -2,6 +2,8 @@ package it.integry.integrywmsnative.gest.inventario;
import androidx.lifecycle.LiveData;
+import com.annimon.stream.Stream;
+
import java.util.List;
import java.util.Objects;
@@ -65,8 +67,7 @@ public class ElencoInventariViewModel {
this.sendCreateInventarioRequest(inventoryId, zone);
} else {
- var matchedInventory = getInventarioList().getValue()
- .stream()
+ var matchedInventory = Stream.of(getInventarioList().getValue())
.filter(x -> Objects.equals(x.getIdInventario(), inventoryId) && UtilityString.equalsIgnoreCase(x.getZona(), zone) &&
!x.isSyncronized())
.findFirst()
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java
index 21aa5c88..a399dabb 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java
@@ -40,7 +40,8 @@ import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_row_
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
-import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArtsView;
+import it.integry.integrywmsnative.view.dialogs.available_items.DialogAvailableItemListModel;
+import it.integry.integrywmsnative.view.dialogs.available_items.DialogAvailableItemsView;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNoView;
@@ -238,9 +239,19 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn
public void showAvailableArts() {
var listaMtbAart = Stream.of(this.mViewModel.getAvailableArts())
.map(InventarioArtDTO::toMtbAart)
+ .map(DialogAvailableItemListModel::fromMtbAart)
.toList();
- new DialogChooseArtFromListaArtsView(false, listaMtbAart, null)
- .show(getSupportFragmentManager(), "tag");
+ for (var inventoryItem : mViewModel.currentInventarioRows.getValue()) {
+ var codMart = inventoryItem.getCodMart();
+
+ Stream.of(listaMtbAart)
+ .filter(x -> x.getCodMart().equalsIgnoreCase(codMart))
+ .forEach(x -> x.setAggiunto(true));
+ }
+
+
+ new DialogAvailableItemsView(listaMtbAart)
+ .show(getSupportFragmentManager(), "DialogAvailableInventarioItemsView");
}
}
\ No newline at end of file
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/available_items/DialogAvailableItemListModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/available_items/DialogAvailableItemListModel.java
new file mode 100644
index 00000000..f8b6220b
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/available_items/DialogAvailableItemListModel.java
@@ -0,0 +1,44 @@
+package it.integry.integrywmsnative.view.dialogs.available_items;
+
+import it.integry.integrywmsnative.core.model.MtbAart;
+
+public class DialogAvailableItemListModel {
+
+ private String codMart;
+ private String descrizioneEstesa;
+
+ private boolean aggiunto;
+
+ public boolean isAggiunto() {
+ return aggiunto;
+ }
+
+ public DialogAvailableItemListModel setAggiunto(boolean aggiunto) {
+ this.aggiunto = aggiunto;
+ return this;
+ }
+
+ public String getCodMart() {
+ return codMart;
+ }
+
+ public DialogAvailableItemListModel setCodMart(String codMart) {
+ this.codMart = codMart;
+ return this;
+ }
+
+ public String getDescrizioneEstesa() {
+ return descrizioneEstesa;
+ }
+
+ public DialogAvailableItemListModel setDescrizioneEstesa(String descrizioneEstesa) {
+ this.descrizioneEstesa = descrizioneEstesa;
+ return this;
+ }
+
+ public static DialogAvailableItemListModel fromMtbAart(MtbAart mtbAart) {
+ return new DialogAvailableItemListModel()
+ .setCodMart(mtbAart.getCodMart())
+ .setDescrizioneEstesa(mtbAart.getDescrizioneEstesa());
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/available_items/DialogAvailableItemsView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/available_items/DialogAvailableItemsView.java
new file mode 100644
index 00000000..5777b43a
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/available_items/DialogAvailableItemsView.java
@@ -0,0 +1,65 @@
+package it.integry.integrywmsnative.view.dialogs.available_items;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+import com.ravikoradiya.liveadapter.LiveAdapter;
+
+import java.util.List;
+
+import it.integry.integrywmsnative.BR;
+import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
+import it.integry.integrywmsnative.databinding.DialogChooseArtFromListaArtBinding;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
+
+public class DialogAvailableItemsView extends BaseDialogFragment {
+
+ private final List mListaArts;
+
+
+ public DialogAvailableItemsView(List listaArts) {
+ super();
+ this.mListaArts = listaArts;
+ }
+
+
+ @NonNull
+ @Override
+ public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+ var binding = DialogChooseArtFromListaArtBinding.inflate(LayoutInflater.from(requireContext()));
+
+ binding.titleText.setText(R.string.articoli_disponibili);
+
+ initRecyclerView(binding, mListaArts);
+
+ var alertDialog = new MaterialAlertDialogBuilder(requireContext())
+ .setView(binding.getRoot())
+ .setCancelable(false)
+ .create();
+
+ alertDialog.setCanceledOnTouchOutside(false);
+ alertDialog.setOnShowListener(this);
+ return alertDialog;
+ }
+
+ private void initRecyclerView(DialogChooseArtFromListaArtBinding binding, List dataset) {
+ binding.itemsList.setHasFixedSize(true);
+
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(requireContext(), SimpleDividerItemDecoration.VERTICAL);
+ itemDecorator.setDrawable(ContextCompat.getDrawable(requireContext(), R.drawable.divider));
+ binding.itemsList.addItemDecoration(itemDecorator);
+
+
+ new LiveAdapter(dataset, BR.item)
+ .map(DialogAvailableItemListModel.class, R.layout.dialog_available_intventario_items__item_model)
+ .into(binding.itemsList);
+ }
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArtsAdapter.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArtsAdapter.java
index 6fa91617..c522e3eb 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArtsAdapter.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArtsAdapter.java
@@ -31,7 +31,7 @@ public class DialogChooseArtFromListaArtsAdapter extends RecyclerView.Adapter dataset) {
- binding.dialogChooseArtFromListaArtMainList.setNestedScrollingEnabled(false);
- binding.dialogChooseArtFromListaArtMainList.setHasFixedSize(true);
- binding.dialogChooseArtFromListaArtMainList.setLayoutManager(new LinearLayoutManager(requireContext()));
+ binding.itemsList.setNestedScrollingEnabled(false);
+ binding.itemsList.setHasFixedSize(true);
+ binding.itemsList.setLayoutManager(new LinearLayoutManager(requireContext()));
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(requireContext(), SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(requireContext(), R.drawable.divider));
- binding.dialogChooseArtFromListaArtMainList.addItemDecoration(itemDecorator);
+ binding.itemsList.addItemDecoration(itemDecorator);
IRecyclerItemClicked onItemClickListener = (item, position) -> {
if (mOnItemChoosed != null) {
@@ -77,7 +77,7 @@ public class DialogChooseArtFromListaArtsView extends BaseDialogFragment {
DialogChooseArtFromListaArtsAdapter mCurrentAdapter = new DialogChooseArtFromListaArtsAdapter(
requireContext(), dataset, this.mEnableSelection ? onItemClickListener : null);
- binding.dialogChooseArtFromListaArtMainList.setAdapter(mCurrentAdapter);
+ binding.itemsList.setAdapter(mCurrentAdapter);
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrAdapter.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrAdapter.java
index 1253e88e..23f04d4d 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrAdapter.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrAdapter.java
@@ -32,7 +32,7 @@ public class DialogChooseArtFromListaMtbColrAdapter extends RecyclerView.Adapter
}
public void bind(MtbAart mtbAart) {
- mViewDataBinding.setMtbAart(mtbAart);
+ mViewDataBinding.setItem(mtbAart);
mViewDataBinding.executePendingBindings();
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrView.java
index fdfef0ce..e37c993a 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrView.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrView.java
@@ -55,18 +55,18 @@ public class DialogChooseArtFromListaMtbColrView {
}
private void initRecyclerView(DialogChooseArtFromListaArtBinding binding, List dataset) {
- binding.dialogChooseArtFromListaArtMainList.setNestedScrollingEnabled(false);
+ binding.itemsList.setNestedScrollingEnabled(false);
- binding.dialogChooseArtFromListaArtMainList.setHasFixedSize(true);
+ binding.itemsList.setHasFixedSize(true);
- binding.dialogChooseArtFromListaArtMainList.setLayoutManager(new LinearLayoutManager(currentContext));
+ binding.itemsList.setLayoutManager(new LinearLayoutManager(currentContext));
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(currentContext, SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(currentContext, R.drawable.divider));
- binding.dialogChooseArtFromListaArtMainList.addItemDecoration(itemDecorator);
+ binding.itemsList.addItemDecoration(itemDecorator);
currentAdapter = new DialogChooseArtFromListaMtbColrAdapter(currentContext, dataset, onItemClicked);
- binding.dialogChooseArtFromListaArtMainList.setAdapter(currentAdapter);
+ binding.itemsList.setAdapter(currentAdapter);
}
private IRecyclerItemClicked onItemClicked = (item, position) -> {
diff --git a/app/src/main/res/drawable/ic_verified_account__green_800.xml b/app/src/main/res/drawable/ic_verified_account__green_800.xml
new file mode 100644
index 00000000..9f4555a9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_verified_account__green_800.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/layout/dialog_available_intventario_items__item_model.xml b/app/src/main/res/layout/dialog_available_intventario_items__item_model.xml
new file mode 100644
index 00000000..9bbd4696
--- /dev/null
+++ b/app/src/main/res/layout/dialog_available_intventario_items__item_model.xml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_choose_art_from_lista_art.xml b/app/src/main/res/layout/dialog_choose_art_from_lista_art.xml
index 53f552c3..e865c3d2 100644
--- a/app/src/main/res/layout/dialog_choose_art_from_lista_art.xml
+++ b/app/src/main/res/layout/dialog_choose_art_from_lista_art.xml
@@ -35,9 +35,11 @@
diff --git a/app/src/main/res/layout/dialog_choose_art_from_lista_art__item_model.xml b/app/src/main/res/layout/dialog_choose_art_from_lista_art__item_model.xml
index 159d8ebf..691d124b 100644
--- a/app/src/main/res/layout/dialog_choose_art_from_lista_art__item_model.xml
+++ b/app/src/main/res/layout/dialog_choose_art_from_lista_art__item_model.xml
@@ -6,13 +6,11 @@
-
-
@@ -37,7 +35,7 @@
@@ -60,7 +58,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
- android:text="@{mtbAart.descrizioneEstesa}"
+ android:text="@{item.descrizioneEstesa}"
android:textColor="@android:color/black"
android:textSize="16sp"
tools:text="Descrizione lunga articolo" />