Creata nuova Activity e nuovo adapter

This commit is contained in:
Giuseppe Scorrano 2020-02-20 12:37:53 +01:00
parent a7a80038fe
commit 42ea19a7b0
23 changed files with 1065 additions and 52 deletions

View File

@ -18,6 +18,7 @@
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
<activity android:name=".gest.spedizione_new.SpedizioneActivity"></activity>
<activity android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity" />
<activity
android:name=".gest.picking_resi.PickingResiActivity"
@ -41,7 +42,7 @@
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing" />
<activity
android:name=".gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity"
android:name=".gest.spedizione.VenditaOrdineInevasoActivity"
android:screenOrientation="portrait"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing" />

View File

@ -27,6 +27,8 @@ import java.text.DecimalFormatSymbols;
import java.util.Locale;
import androidx.databinding.Observable;
import androidx.lifecycle.MutableLiveData;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.R;
@ -234,25 +236,6 @@ public class Converters {
}
@BindingAdapter("visibility")
public static void bindCheckbox(LinearLayout view, final BindableBoolean bindableBoolean) {
if (view.getTag(R.id.bound_observable) != bindableBoolean) {
view.setTag(R.id.bound_observable, bindableBoolean);
//view.setOnCheckedChangeListener((compoundButton, b) -> bindableBoolean.set(b));
}
bindableBoolean.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
view.setVisibility(bindableBoolean.get() ? View.VISIBLE : View.GONE);
}
});
view.setVisibility(bindableBoolean.get() ? View.VISIBLE : View.GONE);
}
@BindingAdapter("visibility")
public static void bindView(View view, final BindableBoolean bindableBoolean) {
if (view.getTag(R.id.bound_observable) != bindableBoolean) {

View File

@ -0,0 +1,35 @@
package it.integry.integrywmsnative.core.expansion;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableList;
public interface OnListGeneralChangedCallback extends ObservableList.OnListChangedCallback {
@Override
public void onChanged(ObservableList sender) {
}
@Override
public void onItemRangeChanged(ObservableList sender, int positionStart, int itemCount) {
}
@Override
public void onItemRangeInserted(ObservableList sender, int positionStart, int itemCount) {
}
@Override
public void onItemRangeMoved(ObservableList sender, int fromPosition, int toPosition, int itemCount) {
}
@Override
public void onItemRangeRemoved(ObservableList sender, int positionStart, int itemCount) {
}
}

View File

@ -39,7 +39,7 @@ import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdin
import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdineLavorazioneListAdapter;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;

View File

@ -1,16 +1,14 @@
package it.integry.integrywmsnative.gest.vendita_ordine_inevaso;
package it.integry.integrywmsnative.gest.spedizione;
import android.app.Dialog;
import android.content.Intent;
import androidx.databinding.DataBindingUtil;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import java.util.ArrayList;
import it.integry.integrywmsnative.BuildConfig;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
@ -19,15 +17,13 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.ActivityVenditaOrdineInevasoBinding;
import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding;
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.viewmodel.VenditaOrdineInevasoViewModel;
import it.integry.integrywmsnative.gest.spedizione.viewmodel.VenditaOrdineInevasoViewModel;
import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
public class VenditaOrdineInevasoActivity extends BaseActivity {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core;
package it.integry.integrywmsnative.gest.spedizione.core;
import android.content.Context;
import androidx.databinding.ObservableArrayList;
@ -23,9 +23,8 @@ import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core.interfaces.IOnOrdineVenditaRowDispatched;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.dto.VenditaOrdineInevasoListViewModel;
import it.integry.integrywmsnative.gest.spedizione.core.interfaces.IOnOrdineVenditaRowDispatched;
import it.integry.integrywmsnative.gest.spedizione.dto.VenditaOrdineInevasoListViewModel;
public class MainListOrdineVenditaInevasoAdapter extends RecyclerView.Adapter<MainListOrdineVenditaInevasoAdapter.ViewHolder> {

View File

@ -0,0 +1,18 @@
package it.integry.integrywmsnative.gest.spedizione.core;
import androidx.databinding.ObservableArrayList;
import java.util.List;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
public class SpedizioneHelper {
private ObservableArrayList<PickingObjectDTO> mPickingObjectDtoList;
public SpedizioneHelper(List<PickingObjectDTO> pickingObjectDTOList) {
this.mPickingObjectDtoList = new ObservableArrayList<>();
this.mPickingObjectDtoList.addAll(pickingObjectDTOList);
}
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core;
package it.integry.integrywmsnative.gest.spedizione.core;
import android.content.Context;
import androidx.databinding.ObservableArrayList;
@ -16,11 +16,9 @@ import it.integry.integrywmsnative.core.class_router.ClassRouter;
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.dto.VenditaOrdineInevasoListViewModel;
import it.integry.integrywmsnative.gest.spedizione.dto.VenditaOrdineInevasoListViewModel;
public class VenditaOrdineInevasoHelper {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core.interfaces;
package it.integry.integrywmsnative.gest.spedizione.core.interfaces;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.dto;
package it.integry.integrywmsnative.gest.spedizione.dto;
import com.annimon.stream.Stream;

View File

@ -0,0 +1,4 @@
package it.integry.integrywmsnative.gest.spedizione.rest;
public interface OrdineVenditaInevasoRESTConsumerService {
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.viewmodel;
package it.integry.integrywmsnative.gest.spedizione.viewmodel;
import android.app.Dialog;
@ -57,10 +57,10 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.ActivityVenditaOrdineInevasoBinding;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core.VenditaOrdineInevasoHelper;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core.MainListOrdineVenditaInevasoAdapter;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.core.interfaces.IOnOrdineVenditaRowDispatched;
import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.gest.spedizione.core.VenditaOrdineInevasoHelper;
import it.integry.integrywmsnative.gest.spedizione.core.MainListOrdineVenditaInevasoAdapter;
import it.integry.integrywmsnative.gest.spedizione.core.interfaces.IOnOrdineVenditaRowDispatched;
import it.integry.integrywmsnative.view.bottomsheet.interfaces.IOnColloClosedCallback;
import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;

View File

@ -0,0 +1,80 @@
package it.integry.integrywmsnative.gest.spedizione_new;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.os.Bundle;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
import it.integry.integrywmsnative.core.class_router.ClassRouter;
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListAdapter;
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
public class SpedizioneActivity extends AppCompatActivity {
private ActivitySpedizioneBinding mBindings;
private SpedizioneViewModel mViewmodel;
private ObservableArrayList<List<SpedizioneListModel>> mSpedizioneMutableData = new ObservableArrayList();
private boolean mFlashShowCodForn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ArrayList<PickingObjectDTO> pickingList = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList"));
ArrayList<OrdineVenditaInevasoDTO> testateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini"));
ArrayList<MtbColt> colliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
mFlashShowCodForn = customConfiguration.getConfig(BaseCustomConfiguration.Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE);
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione);
mViewmodel = new ViewModelProvider(this).get(SpedizioneViewModel.class);
mBindings.setLifecycleOwner(this);
mBindings.setSpedizioneViewModel(mViewmodel);
this.initRecyclerView();
mViewmodel.setDataset(pickingList);
}
private void initRecyclerView() {
this.mViewmodel.uiModel.observe(this, updatedData -> {
this.mSpedizioneMutableData.postValue(convertDataModelToListModel(updatedData));
});
SpedizioneListAdapter spedizioneListAdapter = new SpedizioneListAdapter(this, mSpedizioneMutableData);
this.mBindings.spedizionePickingList.setAdapter(spedizioneListAdapter);
this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this));
}
private List<SpedizioneListModel> convertDataModelToListModel(List<PickingObjectDTO> dataList) {
List<SpedizioneListModel> listToReturn = new ArrayList<>();
return listToReturn;
}
}

View File

@ -0,0 +1,48 @@
package it.integry.integrywmsnative.gest.spedizione_new;
import android.util.Log;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
import java.util.List;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
public class SpedizioneViewModel extends ViewModel {
public BindableBoolean addExtraItemsEnabled = new BindableBoolean(false);
public BindableBoolean anyItemToPick = new BindableBoolean(false);
public BindableBoolean anyLUOpened = new BindableBoolean(false);
public MutableLiveData<List<PickingObjectDTO>> uiModel = new MutableLiveData<>();
public SpedizioneViewModel() {
Log.d("Test", "Test");
}
public void setDataset(List<PickingObjectDTO> dataset) {
this.uiModel.postValue(dataset);
}
public void startManualSearch() {
}
public void removeListFilter() {
}
public void createNewUL() {
}
public void showCreatedUL() {
}
}

View File

@ -0,0 +1,258 @@
package it.integry.integrywmsnative.gest.spedizione_new.core;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableList;
import androidx.lifecycle.MutableLiveData;
import androidx.recyclerview.widget.RecyclerView;
import com.annimon.stream.Stream;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
import it.integry.integrywmsnative.core.class_router.ClassRouter;
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding;
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupItemBinding;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<SpedizioneListAdapter.SubheaderHolder, SpedizioneListAdapter.SingleItemViewHolder> {
private Context mContext;
private List<SpedizioneListModel> mDataset = new ArrayList<>();
static class SubheaderHolder extends RecyclerView.ViewHolder {
SpedizioneMainListGroupHeaderBinding mBinding;
SubheaderHolder(SpedizioneMainListGroupHeaderBinding binding) {
super(binding.getRoot());
this.mBinding = binding;
}
}
static class SingleItemViewHolder extends RecyclerView.ViewHolder {
SpedizioneMainListGroupItemBinding mBinding;
SingleItemViewHolder(SpedizioneMainListGroupItemBinding binding) {
super(binding.getRoot());
this.mBinding = binding;
}
}
public SpedizioneListAdapter(AppCompatActivity context, ObservableArrayList<List<SpedizioneListModel>> mutableDataSet) {
this.mContext = context;
mutableDataSet.addOnListChangedCallback(new ObservableList.OnListChangedCallback<ObservableList<List<SpedizioneListModel>>>() {
@Override
public void onChanged(ObservableList<List<SpedizioneListModel>> sender) {
}
@Override
public void onItemRangeChanged(ObservableList<List<SpedizioneListModel>> sender, int positionStart, int itemCount) {
}
@Override
public void onItemRangeInserted(ObservableList<List<SpedizioneListModel>> sender, int positionStart, int itemCount) {
}
@Override
public void onItemRangeMoved(ObservableList<List<SpedizioneListModel>> sender, int fromPosition, int toPosition, int itemCount) {
}
@Override
public void onItemRangeRemoved(ObservableList<List<SpedizioneListModel>> sender, int positionStart, int itemCount) {
}
});
mutableDataSet.observe(context, updatedDataSet -> {
this.mDataset.clear();
this.mDataset.addAll(updatedDataSet);
notifyDataSetChanged();
notifyDataChanged();
});
}
@Override
public SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
SpedizioneMainListGroupHeaderBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.spedizione_main_list__group_header, parent, false);
return new SubheaderHolder(binding);
}
@Override
public SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
SpedizioneMainListGroupItemBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.spedizione_main_list__group_item, parent, false);
return new SingleItemViewHolder(binding);
}
@Override
public void onBindSubheaderViewHolder(SubheaderHolder subheaderHolder, int nextItemPosition) {
SpedizioneListModel pickingObjectDTO = this.mDataset.get(nextItemPosition);
subheaderHolder.mBinding.spedizioneGroupTitle.setText(pickingObjectDTO.getGroupTitle());
// if (pickingObjectDTO.isDeactivated()) {
// subheaderHolder.mBinding.spedizioneGroupTitle.setText(mContext.getText(R.string.picking_not_available));
// } else {
// subheaderHolder.mBinding.spedizioneGroupTitle.setText(String.format("%s: %s", mContext.getText(R.string.position_text), UtilityString.isNullOrEmpty(pickingObjectDTO.getPosizione()) ? "N.A." : pickingObjectDTO.getPosizione()));
// }
}
@Override
public void onBindItemViewHolder(final SpedizioneListAdapter.SingleItemViewHolder holder, final int position) {
SpedizioneListModel pickingObjectDTO = this.mDataset.get(position);
holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE);
holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1);
holder.mBinding.badge1.setBackground(mContext.getResources().getDrawable(!pickingObjectDTO.isActive() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner));
holder.mBinding.qtaEvasa.setTextColor(mContext.getResources().getColor(!pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700));
// BigDecimal qtaEvasa = BigDecimal.ZERO;
//
// if (SettingsManager.iDB().isFlagForceAllToColli()) {
// for (MtbColr withdrawRow : pickingObjectDTO.getWithdrawRows()) {
// qtaEvasa = qtaEvasa.add(withdrawRow.getNumCnf());
// }
// } else {
// for (MtbColr withdrawRow : pickingObjectDTO.getWithdrawRows()) {
// qtaEvasa = qtaEvasa.add(withdrawRow.getQtaCol());
// }
// }
holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaEvasa()));
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
// String descrizioneString = pickingObjectDTO.getDescrizione();
// int descrizioneColor = Color.BLACK;
//
//
// if (UtilityString.isNullOrEmpty(descrizioneString)) {
// holder.mBinding.descrizione.setText(mContext.getString(R.string.no_description));
// holder.mBinding.descrizione.setTextColor(Color.BLACK);
// } else {
// holder.mBinding.descrizione.setText(descrizioneString);
// holder.mBinding.descrizione.setTextColor(Color.GRAY);
// }
//
//
// if (UtilityString.isNullOrEmpty(descrizioneString)) {
// descrizioneString = mContext.getString(R.string.no_description);
// descrizioneColor = Color.GRAY;
// } else if (descrizioneString.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) {
// descrizioneString = mContext.getString(R.string.stock);
// }
//
// holder.mBinding.descrizione.setText(descrizioneString);
// holder.mBinding.descrizione.setTextColor(descrizioneColor);
// String badge1 = "";
//
// if (mFlashShowCodForn) {
// badge1 += !UtilityString.isNullOrEmpty(pickingObjectDTO.getCodAlis()) ? (pickingObjectDTO.getCodAlis() + " - ") : "";
// badge1 += (!UtilityString.isNullOrEmpty(pickingObjectDTO.getCodArtFor()) ? pickingObjectDTO.getCodArtFor() : pickingObjectDTO.getCodMart());
// } else {
// badge1 += pickingObjectDTO.getCodMart();
// }
holder.mBinding.badge1.setText(pickingObjectDTO.getBadge1());
// holder.mBinding.badge2.setText(UtilityString.isNullOrEmpty(pickingObjectDTO.getCodJcom()) ? null : pickingObjectDTO.getCodJcom());
holder.mBinding.badge2.setText(pickingObjectDTO.getBadge2());
holder.mBinding.badge2.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getBadge2()) ? View.GONE : View.VISIBLE);
holder.mBinding.subdescrizione1.setText(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione1()) ? null : Html.fromHtml(pickingObjectDTO.getSubDescrizione1()));
holder.mBinding.subdescrizione1.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione1()) ? View.GONE : View.VISIBLE);
holder.mBinding.subdescrizione2.setText(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione2()) ? null : Html.fromHtml(pickingObjectDTO.getSubDescrizione2()));
holder.mBinding.subdescrizione2.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione2()) ? View.GONE : View.VISIBLE);
// if (!UtilityString.isNullOrEmpty(pickingObjectDTO.getPartitaMag())) {
// holder.mBinding.subdescrizione1.setText(pickingObjectDTO.getPartitaMag());
// holder.mBinding.subdescrizione1.setVisibility(View.VISIBLE);
// } else {
// holder.mBinding.subdescrizione1.setText(null);
// holder.mBinding.subdescrizione1.setVisibility(View.GONE);
// }
//
// if (pickingObjectDTO.getNumCollo() != null) {
// String description2 = String.format(mContext.getResources().getText(R.string.lu_number_data_text).toString(), pickingObjectDTO.getNumCollo(), pickingObjectDTO.getDataColloHuman());
// holder.mBinding.subdescrizione2.setText(Html.fromHtml(description2));
// holder.mBinding.subdescrizione2.setVisibility(View.VISIBLE);
// } else {
// holder.mBinding.subdescrizione2.setText(null);
// holder.mBinding.subdescrizione2.setVisibility(View.GONE);
// }
// if (SettingsManager.iDB().isFlagForceAllToColli() || (pickingObjectDTO.getMtbAart() == null || !pickingObjectDTO.getMtbAart().isFlagQtaCnfFissa())) {
// holder.mBinding.untMis.setText("col");
// holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getNumCollo() != null ? pickingObjectDTO.getNumCnfCollo() : pickingObjectDTO.getNumCnfOrd()));
// } else {
// holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getNumCollo() != null ? pickingObjectDTO.getQtaCollo() : pickingObjectDTO.getQtaOrd()));
// if (pickingObjectDTO.getMtbAart() != null)
// holder.mBinding.untMis.setText(pickingObjectDTO.getMtbAart().getUntMis());
// }
holder.mBinding.untMis.setText(pickingObjectDTO.getUntMis());
holder.mBinding.untMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getUntMis()) ? View.GONE : View.VISIBLE);
}
@Override
public boolean onPlaceSubheaderBetweenItems(int position) {
if (getItemSize() == 1) return true;
else if (getItemSize() > 1) {
SpedizioneListModel compare1 = this.mDataset.get(position);
SpedizioneListModel compare2 = this.mDataset.get(position + 1);
if (UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle())) {
return false;
}
}
return true;
}
@Override
public int getItemSize() {
return mDataset.size();
}
}

View File

@ -0,0 +1,120 @@
package it.integry.integrywmsnative.gest.spedizione_new.core;
import java.math.BigDecimal;
public class SpedizioneListModel {
private String groupTitle;
private String badge1;
private String badge2;
private String descrizione;
private boolean descrizionePresente;
private String subDescrizione1;
private String subDescrizione2;
private BigDecimal qtaEvasa;
private BigDecimal qtaTot;
private String untMis;
private boolean active;
public String getGroupTitle() {
return groupTitle;
}
public SpedizioneListModel setGroupTitle(String groupTitle) {
this.groupTitle = groupTitle;
return this;
}
public String getBadge1() {
return badge1;
}
public SpedizioneListModel setBadge1(String badge1) {
this.badge1 = badge1;
return this;
}
public String getBadge2() {
return badge2;
}
public SpedizioneListModel setBadge2(String badge2) {
this.badge2 = badge2;
return this;
}
public String getDescrizione() {
return descrizione;
}
public SpedizioneListModel setDescrizione(String descrizione) {
this.descrizione = descrizione;
return this;
}
public boolean isDescrizionePresente() {
return descrizionePresente;
}
public SpedizioneListModel setDescrizionePresente(boolean descrizionePresente) {
this.descrizionePresente = descrizionePresente;
return this;
}
public String getSubDescrizione1() {
return subDescrizione1;
}
public SpedizioneListModel setSubDescrizione1(String subDescrizione1) {
this.subDescrizione1 = subDescrizione1;
return this;
}
public String getSubDescrizione2() {
return subDescrizione2;
}
public SpedizioneListModel setSubDescrizione2(String subDescrizione2) {
this.subDescrizione2 = subDescrizione2;
return this;
}
public BigDecimal getQtaEvasa() {
return qtaEvasa;
}
public SpedizioneListModel setQtaEvasa(BigDecimal qtaEvasa) {
this.qtaEvasa = qtaEvasa;
return this;
}
public BigDecimal getQtaTot() {
return qtaTot;
}
public SpedizioneListModel setQtaTot(BigDecimal qtaTot) {
this.qtaTot = qtaTot;
return this;
}
public String getUntMis() {
return untMis;
}
public SpedizioneListModel setUntMis(String untMis) {
this.untMis = untMis;
return this;
}
public boolean isActive() {
return active;
}
public SpedizioneListModel setActive(boolean active) {
this.active = active;
return this;
}
}

View File

@ -1,7 +1,6 @@
package it.integry.integrywmsnative.gest.vendita;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
@ -40,6 +39,7 @@ import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityToast;
import it.integry.integrywmsnative.databinding.FragmentMainVenditaBinding;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.gest.spedizione_new.SpedizioneActivity;
import it.integry.integrywmsnative.gest.vendita.core.MainListVenditaAdapter;
import it.integry.integrywmsnative.gest.vendita.core.VenditaHelper;
import it.integry.integrywmsnative.gest.vendita.dialogs.DialogVenditaFiltroAvanzato;
@ -47,7 +47,7 @@ import it.integry.integrywmsnative.gest.vendita.dialogs.DialogVenditaFiltroAvanz
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.viewmodel.VenditaViewModel;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
@ -359,7 +359,8 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
}
private void startVenditaActivity(List<PickingObjectDTO> ordini, List<OrdineVenditaInevasoDTO> selectedOrders, List<MtbColt> mtbColtList) {
Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class);
// Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class);
Intent myIntent = new Intent(getActivity(), SpedizioneActivity.class);
String keyPickingList = DataCache.addItem(ordini);
myIntent.putExtra("keyPickingList", keyPickingList);

View File

@ -310,7 +310,7 @@ public class PickingObjectDTO {
}
public Boolean isDeactivated() {
return deactivated;
return deactivated != null ? deactivated : false;
}
public PickingObjectDTO setDeactivated(boolean deactivated) {

View File

@ -1,4 +0,0 @@
package it.integry.integrywmsnative.gest.vendita_ordine_inevaso.rest;
public interface OrdineVenditaInevasoRESTConsumerService {
}

View File

@ -0,0 +1,281 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View" />
<import type="it.integry.integrywmsnative.BuildConfig" />
<variable
name="spedizioneViewModel"
type="it.integry.integrywmsnative.gest.spedizione_new.SpedizioneViewModel" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/full_white"
android:fitsSystemWindows="false"
tools:context=".gest.spedizione_new.SpedizioneActivity">
<!-- Main Content -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="@color/full_white">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
android:layout_width="match_parent"
style="@style/AppTheme.NewMaterial.Text">
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/add_extra_items_toolbar"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_gravity="end"
android:background="@drawable/ripple_effect"
android:adjustViewBounds="true"
android:src="@drawable/ic_add_24dp"
android:tint="@color/colorPrimaryGray"
app:visibility="@{spedizioneViewModel.addExtraItemsEnabled}"/>
<androidx.appcompat.widget.AppCompatImageButton
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_gravity="end"
android:background="@drawable/ripple_effect"
android:adjustViewBounds="true"
android:src="@drawable/ic_black_barcode"
android:onClick="@{() -> spedizioneViewModel.startManualSearch()}"
android:tint="@color/colorPrimaryGray"
android:visibility="@{BuildConfig.DEBUG ? View.VISIBLE : View.GONE}"/>
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<net.cachapa.expandablelayout.ExpandableLayout
android:id="@+id/filtered_arts_in_list_expandable_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:el_duration="400"
app:el_expanded="false">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_toStartOf="@+id/remove_art_filter_list"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:text="@string/filtered_arts_in_list" />
<TextView
android:id="@+id/description_filter_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="16sp"
android:textStyle="bold"
android:ellipsize="end"
android:maxLines="1"
tools:text="COD_ART_HERE"/>
</LinearLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/remove_art_filter_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Button.DangerOutline"
android:layout_alignParentEnd="true"
android:text="@string/remove_filter_button"
android:onClick="@{() -> spedizioneViewModel.removeListFilter()}"
app:strokeColor="@color/red_600"/>
</RelativeLayout>
</net.cachapa.expandablelayout.ExpandableLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/spedizione_picking_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:clipToPadding="false"/>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/spedizione_empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.3"
app:visibility="@{spedizioneViewModel.anyItemToPick}">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.2" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.15" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.85" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
app:layout_constraintStart_toEndOf="@id/guideline_empty_left"
app:layout_constraintEnd_toStartOf="@id/guideline_empty_right"
app:layout_constraintTop_toTopOf="@id/guideline_empty_top">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="72dp"
android:layout_height="wrap_content"
android:src="@drawable/ic_playlist_add_check_24dp"
android:adjustViewBounds="true"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textColor="@android:color/black"
android:textSize="18sp"
android:text="@string/no_item_to_pick_text"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<com.github.clans.fab.FloatingActionMenu
android:id="@+id/spedizione_fab"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
app:visibility="@{spedizioneViewModel.anyLUOpened}"
app:layout_anchor="@+id/spedizione_empty_view"
app:layout_anchorGravity="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:menu_animationDelayPerItem="50"
app:menu_backgroundColor="@color/white_bg_alpha"
app:menu_buttonSpacing="0dp"
app:menu_colorNormal="@color/colorSecondary"
app:menu_colorPressed="@color/colorSecondaryDark"
app:menu_fab_size="normal"
app:menu_labels_colorNormal="@color/white"
app:menu_labels_colorPressed="@color/white_pressed"
app:menu_labels_colorRipple="#66FFFFFF"
app:menu_labels_cornerRadius="3dp"
app:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
app:menu_labels_margin="0dp"
app:menu_labels_padding="8dp"
app:menu_labels_paddingBottom="4dp"
app:menu_labels_paddingLeft="8dp"
app:menu_labels_paddingRight="8dp"
app:menu_labels_paddingTop="4dp"
app:menu_labels_position="left"
app:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
app:menu_labels_showShadow="true"
app:menu_labels_textColor="@color/black_semi_transparent"
app:menu_labels_textSize="18sp"
app:menu_openDirection="up"
app:menu_shadowColor="#66000000"
app:menu_shadowRadius="4dp"
app:menu_shadowXOffset="1dp"
app:menu_shadowYOffset="3dp"
app:menu_showShadow="true">
<com.github.clans.fab.FloatingActionButton
android:id="@+id/spedizione_fab_item1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_box"
app:fab_colorNormal="@color/white"
app:fab_colorPressed="@color/white_pressed"
app:fab_colorRipple="#66FFFFFF"
app:fab_label="@string/action_show_created_ul"
app:onClick="@{() -> spedizioneViewModel.showCreatedUL()}" />
<com.github.clans.fab.FloatingActionButton
android:id="@+id/spedizione_fab_item2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add_24dp"
app:fab_colorNormal="@color/white"
app:fab_colorPressed="@color/white_pressed"
app:fab_colorRipple="#66FFFFFF"
app:fab_label="@string/action_create_ul"
app:onClick="@{() -> spedizioneViewModel.createNewUL()}" />
</com.github.clans.fab.FloatingActionMenu>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -6,7 +6,7 @@
<variable
name="viewmodel"
type="it.integry.integrywmsnative.gest.vendita_ordine_inevaso.viewmodel.VenditaOrdineInevasoViewModel"/>
type="it.integry.integrywmsnative.gest.spedizione.viewmodel.VenditaOrdineInevasoViewModel"/>
</data>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainGreen"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/spedizione_group_title"
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:padding="8dp"
android:textColor="@android:color/white"
android:textStyle="bold"
tools:text="POSIZIONE" />
</LinearLayout>
</layout>

View File

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/full_white">
<LinearLayout
android:id="@+id/content_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/badge1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="BADGE 1"
android:background="@drawable/badge1_round_corner"
android:textColor="@android:color/white"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:textStyle="bold"
style="@style/AppTheme.NewMaterial.Text.Small"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="end">
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textStyle="bold"-->
<!--android:textColor="@color/green_700"-->
<!--style="@android:style/TextAppearance.Medium"-->
<!--android:text="@string/dispatched"/>-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/qta_evasa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:textStyle="bold"
android:textColor="@color/green_700"
style="@style/AppTheme.NewMaterial.Text.Medium"
tools:text="QTA"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="@android:color/black"
style="@android:style/TextAppearance.Medium"
android:text=" / "/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/qta_tot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="@android:color/black"
style="@style/AppTheme.NewMaterial.Text.Medium"
tools:text="QTA"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/unt_mis"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="@android:color/black"
android:layout_marginStart="4dp"
android:textAllCaps="true"
style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="cnf"/>
</LinearLayout>
</LinearLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/descrizione"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textSize="16sp"
android:textColor="@android:color/black"
style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="DESCRIZIONE"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/vendita_ordine_inevaso_main_list_group_item_subdescrizione_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentStart="true"
android:layout_toStartOf="@+id/vendita_ordine_inevaso_main_list_group_item_badge2">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/subdescrizione1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="SUB DESCRIZIONE"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/subdescrizione2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="SUB DESCRIZIONE"/>
</LinearLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/badge2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="BADGE 2"
android:background="@drawable/badge2_round_corner"
android:textColor="@android:color/white"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:layout_marginStart="8dp"
android:textStyle="bold"
android:layout_alignParentEnd="true"
style="@style/AppTheme.NewMaterial.Text.Small"/>
</RelativeLayout>
</LinearLayout>
<View
android:id="@+id/deactivated_over_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@id/content_view"
android:layout_alignBottom="@id/content_view"
android:background="@android:color/black"
android:alpha="0.15" />
</RelativeLayout>
</layout>