Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
2023-03-28 19:29:59 +02:00
14 changed files with 268 additions and 36 deletions

View File

@@ -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<SqlMtbColr> getDocumentRows(long idDocument);
}

View File

@@ -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");
}
}

View File

@@ -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()

View File

@@ -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");
}
}

View File

@@ -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());
}
}

View File

@@ -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<DialogAvailableItemListModel> mListaArts;
public DialogAvailableItemsView(List<DialogAvailableItemListModel> 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<DialogAvailableItemListModel> 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);
}
}

View File

@@ -31,7 +31,7 @@ public class DialogChooseArtFromListaArtsAdapter extends RecyclerView.Adapter<Di
}
public void bind(MtbAart mtbAart) {
mViewDataBinding.setMtbAart(mtbAart);
mViewDataBinding.setItem(mtbAart);
mViewDataBinding.executePendingBindings();
}
}

View File

@@ -59,13 +59,13 @@ public class DialogChooseArtFromListaArtsView extends BaseDialogFragment {
}
private void initRecyclerView(DialogChooseArtFromListaArtBinding binding, List<MtbAart> 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<MtbAart> 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);
}
}

View File

@@ -32,7 +32,7 @@ public class DialogChooseArtFromListaMtbColrAdapter extends RecyclerView.Adapter
}
public void bind(MtbAart mtbAart) {
mViewDataBinding.setMtbAart(mtbAart);
mViewDataBinding.setItem(mtbAart);
mViewDataBinding.executePendingBindings();
}
}

View File

@@ -55,18 +55,18 @@ public class DialogChooseArtFromListaMtbColrView {
}
private void initRecyclerView(DialogChooseArtFromListaArtBinding binding, List<MtbColr> 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<MtbColr> onItemClicked = (item, position) -> {