Completato avantielenco accettazione bolla
This commit is contained in:
parent
e1fddc8682
commit
6dbcdb0475
17
.idea/deploymentTargetDropDown.xml
generated
17
.idea/deploymentTargetDropDown.xml
generated
@ -1,17 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetDropDown">
|
||||
<runningDeviceTargetSelectedWithDropDown>
|
||||
<Target>
|
||||
<type value="RUNNING_DEVICE_TARGET" />
|
||||
<deviceKey>
|
||||
<Key>
|
||||
<type value="SERIAL_NUMBER" />
|
||||
<value value="20119B1E55" />
|
||||
</Key>
|
||||
</deviceKey>
|
||||
</Target>
|
||||
</runningDeviceTargetSelectedWithDropDown>
|
||||
<timeTargetWasSelectedWithDropDown value="2023-07-21T16:48:48.955374400Z" />
|
||||
<value>
|
||||
<entry key="app">
|
||||
<State />
|
||||
</entry>
|
||||
</value>
|
||||
</component>
|
||||
</project>
|
||||
@ -15,6 +15,8 @@ import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazi
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingModule;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.MainAccettazioneBollaElencoComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.MainAccettazioneBollaElencoModule;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniComponent;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniModule;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoComponent;
|
||||
@ -177,7 +179,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
|
||||
DialogChooseArtsFromMtbAartListModule.class,
|
||||
MainSettingsModule.class,
|
||||
DialogInfoSituazioneArticoloModule.class,
|
||||
DialogSelectArtToOrderModule.class
|
||||
DialogSelectArtToOrderModule.class,
|
||||
MainAccettazioneBollaElencoModule.class
|
||||
})
|
||||
public interface MainApplicationComponent {
|
||||
|
||||
@ -195,7 +198,7 @@ public interface MainApplicationComponent {
|
||||
|
||||
MainFragmentComponent.Factory mainFragmentComponent();
|
||||
|
||||
MainAccettazioneOrdiniElencoComponent.Factory mainAccettazioneComponent();
|
||||
MainAccettazioneOrdiniElencoComponent.Factory mainAccettazioneOrdiniComponent();
|
||||
|
||||
ListaBancaliComponent.Factory listaBancaliComponent();
|
||||
|
||||
@ -299,6 +302,8 @@ public interface MainApplicationComponent {
|
||||
|
||||
DialogSelectArtToOrderComponent.Factory dialogSelectArtToOrderNewComponent();
|
||||
|
||||
MainAccettazioneBollaElencoComponent.Factory mainAccettazioneBollaElencoComponent();
|
||||
|
||||
void inject(MainApplication mainApplication);
|
||||
|
||||
void inject(AppContext mainApplication);
|
||||
|
||||
@ -3,6 +3,7 @@ package it.integry.integrywmsnative.core.class_router.configs;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoFragment;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.MainAccettazioneBollaElencoFragment;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniFragment;
|
||||
import it.integry.integrywmsnative.gest.inventario.ElencoInventariFragment;
|
||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
|
||||
@ -40,6 +41,14 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
||||
.setDrawerIcon(R.drawable.ic_black_download)
|
||||
.setFragmentFactory(MainAccettazioneOrdiniElencoFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_accettazione_bolle)
|
||||
.setCodMenu("MG065")
|
||||
.setTitleText(R.string.accettazione_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_accettazione)
|
||||
.setDrawerIcon(R.drawable.ic_black_download)
|
||||
.setFragmentFactory(MainAccettazioneBollaElencoFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_resi_fornitore)
|
||||
.setCodMenu("MG045")
|
||||
|
||||
@ -11,7 +11,6 @@ import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
@ -34,6 +33,7 @@ import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneOrdiniBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.ui.MainListAccettazioneOrdiniElencoAdapter;
|
||||
@ -54,7 +54,7 @@ public class MainAccettazioneOrdiniElencoFragment extends BaseFragment implement
|
||||
private ElevatedToolbar mToolbar;
|
||||
|
||||
private String mTextFilter;
|
||||
private FragmentMainAccettazioneBinding mBinding;
|
||||
private FragmentMainAccettazioneOrdiniBinding mBinding;
|
||||
|
||||
private final ObservableArrayList<MainListAccettazioneOrdiniElencoListModel> mOrdiniInevasiMutableData = new ObservableArrayList<>();
|
||||
|
||||
@ -93,10 +93,10 @@ public class MainAccettazioneOrdiniElencoFragment extends BaseFragment implement
|
||||
if (savedInstanceState != null && savedInstanceState.containsKey("mToolbar"))
|
||||
mToolbar = DataCache.retrieveItem(savedInstanceState.getString("mToolbar"));
|
||||
|
||||
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_accettazione, container, false);
|
||||
mBinding = FragmentMainAccettazioneOrdiniBinding.inflate(inflater, container, false);
|
||||
|
||||
MainApplication.appComponent
|
||||
.mainAccettazioneComponent()
|
||||
.mainAccettazioneOrdiniComponent()
|
||||
.create()
|
||||
.inject(this);
|
||||
|
||||
|
||||
@ -51,15 +51,16 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityToast;
|
||||
import it.integry.integrywmsnative.databinding.ActivityAccettazioneOrdineInevasoBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.AccettazioneOrdineInevasoOrderBy;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.PickingObjectDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RecoverMtbColtDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.AccettazionePickingFiltroOrdineViewModel;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterCodArtLayoutView;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterDescrLayoutView;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterPosizioneLayoutView;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RecoverMtbColtDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.ui.AccettazioneOrdiniPickingListAdapter;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.ui.AccettazioneOrdiniPickingListModel;
|
||||
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
|
||||
@ -116,6 +117,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
mOrders = DataCache.retrieveItem(getIntent().getStringExtra("keyOrders"));
|
||||
mSitArts = DataCache.retrieveItem(getIntent().getStringExtra("keySitArts"));
|
||||
|
||||
|
||||
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_accettazione_ordine_inevaso);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
mBindings.setAccettazioneView(this);
|
||||
|
||||
@ -0,0 +1,15 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco;
|
||||
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface MainAccettazioneBollaElencoComponent {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
|
||||
MainAccettazioneBollaElencoComponent create();
|
||||
}
|
||||
|
||||
void inject(MainAccettazioneBollaElencoFragment mainAccettazioneBollaElencoFragment);
|
||||
}
|
||||
@ -0,0 +1,219 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.ui.MainAccettazioneBolleElencoAdapter;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.ui.MainAccettazioneBolleElencoListModel;
|
||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||
|
||||
public class MainAccettazioneBollaElencoFragment extends BaseFragment implements ITitledFragment, IScrollableFragment, MainAccettazioneBollaElencoViewModel.Listener {
|
||||
|
||||
|
||||
@Inject
|
||||
MainAccettazioneBollaElencoViewModel mViewModel;
|
||||
|
||||
|
||||
private final ObservableArrayList<MainAccettazioneBolleElencoListModel> mBolleInevaseMutableData = new ObservableArrayList<>();
|
||||
private FragmentMainAccettazioneBollaBinding mBinding;
|
||||
private ElevatedToolbar mToolbar;
|
||||
private AppCompatTextView mAppBarTitle;
|
||||
|
||||
public BindableBoolean fabVisible = new BindableBoolean(false);
|
||||
|
||||
private String mTextFilter;
|
||||
|
||||
|
||||
private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
|
||||
|
||||
|
||||
public MainAccettazioneBollaElencoFragment() {
|
||||
}
|
||||
|
||||
public static MainAccettazioneBollaElencoFragment newInstance() {
|
||||
return new MainAccettazioneBollaElencoFragment();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
|
||||
mAppBarTitle = titleText;
|
||||
mAppBarTitle.setText(context.getText(R.string.accettazione_title_fragment).toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState(@NonNull Bundle outState) {
|
||||
onLoadingEnded();
|
||||
outState.putString("mToolbar", DataCache.addItem(mToolbar));
|
||||
|
||||
super.onSaveInstanceState(outState);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
setRetainInstance(true);
|
||||
|
||||
if (savedInstanceState != null && savedInstanceState.containsKey("mToolbar"))
|
||||
mToolbar = DataCache.retrieveItem(savedInstanceState.getString("mToolbar"));
|
||||
|
||||
mBinding = FragmentMainAccettazioneBollaBinding.inflate(inflater, container, false);
|
||||
|
||||
MainApplication.appComponent
|
||||
.mainAccettazioneBollaElencoComponent()
|
||||
.create()
|
||||
.inject(this);
|
||||
|
||||
mViewModel.setListener(this);
|
||||
|
||||
mBinding.setLifecycleOwner(this);
|
||||
mBinding.setView(this);
|
||||
|
||||
this.initRecyclerView();
|
||||
|
||||
mToolbar.setRecyclerView(mBinding.accettazioneMainList);
|
||||
|
||||
return mBinding.getRoot();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
|
||||
this.fabVisible.set(false);
|
||||
mViewModel.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
for (Runnable onPreDestroy : mOnPreDestroyList) {
|
||||
onPreDestroy.run();
|
||||
}
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
private void initRecyclerView() {
|
||||
this.mViewModel.getBolleList().observe(getViewLifecycleOwner(), x -> {
|
||||
this.refreshList();
|
||||
});
|
||||
|
||||
|
||||
MainAccettazioneBolleElencoAdapter adapter = new MainAccettazioneBolleElencoAdapter(getActivity(), mBolleInevaseMutableData)
|
||||
.setOnGroupItemClicked(x -> {
|
||||
Stream.of(mBolleInevaseMutableData)
|
||||
.filter(y -> !y.getGroupTitle().equalsIgnoreCase(x) && y.getSelectedObservable().get())
|
||||
.forEach(y -> y.getSelectedObservable().set(false));
|
||||
|
||||
boolean allSelected = Stream.of(mBolleInevaseMutableData)
|
||||
.filter(y -> y.getGroupTitle().equalsIgnoreCase(x))
|
||||
.allMatch(y -> y.getSelectedObservable().get());
|
||||
|
||||
Stream.of(mBolleInevaseMutableData)
|
||||
.filter(y -> y.getGroupTitle().equalsIgnoreCase(x))
|
||||
.forEach(y -> y.getSelectedObservable().set(!allSelected));
|
||||
})
|
||||
.setOnItemChecked(x -> {
|
||||
Stream.of(mBolleInevaseMutableData)
|
||||
.filter(y -> !y.getGroupTitle().equalsIgnoreCase(x.getGroupTitle()) && y.getSelectedObservable().get())
|
||||
.forEach(y -> y.getSelectedObservable().set(false));
|
||||
|
||||
fabVisible.set(Stream.of(mBolleInevaseMutableData)
|
||||
.anyMatch(y -> y.getSelectedObservable().get()));
|
||||
});
|
||||
|
||||
adapter.setEmptyView(this.mBinding.bolleAccettazioneEmptyView);
|
||||
|
||||
this.mBinding.accettazioneMainList.setAdapter(adapter);
|
||||
|
||||
if (mToolbar != null)
|
||||
mToolbar.setRecyclerView(this.mBinding.accettazioneMainList);
|
||||
}
|
||||
|
||||
|
||||
private void refreshList() {
|
||||
List<TestataBollaAccettazioneDTO> tmpList = mViewModel.getBolleList().getValue();
|
||||
|
||||
//TODO: Filter here
|
||||
|
||||
this.mBolleInevaseMutableData.clear();
|
||||
this.mBolleInevaseMutableData.addAll(convertDataModelToListModel(tmpList));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setScrollToolbar(ElevatedToolbar toolbar) {
|
||||
mToolbar = toolbar;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void addOnPreDestroy(Runnable onPreDestroy) {
|
||||
this.mOnPreDestroyList.add(onPreDestroy);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private List<MainAccettazioneBolleElencoListModel> convertDataModelToListModel(List<TestataBollaAccettazioneDTO> dataList) {
|
||||
|
||||
return Stream.of(dataList)
|
||||
.sortBy(x -> x.getRagSoc() + UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH))
|
||||
.map(x -> {
|
||||
MainAccettazioneBolleElencoListModel listModel = new MainAccettazioneBolleElencoListModel();
|
||||
|
||||
listModel.setOriginalModel(x);
|
||||
listModel.setGroupTitle(x.getRagSoc());
|
||||
listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumDoc(), UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
|
||||
|
||||
listModel.setSubDescription(x.getListino() + " - " + x.getDescrizioneListino());
|
||||
listModel.setRightDescription(x.getCodAnag());
|
||||
listModel.setRightSubDescription(x.getCodJcom());
|
||||
|
||||
return listModel;
|
||||
})
|
||||
.toList();
|
||||
}
|
||||
|
||||
|
||||
public void dispatchBolle() {
|
||||
List<TestataBollaAccettazioneDTO> selectedOrders = Stream.of(this.mBolleInevaseMutableData)
|
||||
.filter(x -> x.getSelectedObservable().get())
|
||||
.map(MainAccettazioneBolleElencoListModel::getOriginalModel)
|
||||
.toList();
|
||||
|
||||
// this.mViewModel.loadPicking(selectedOrders, this.mAppliedFilterViewModel.getSelectedMtbGrup());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBolleDispatched(List<OrdineAccettazioneInevasoDTO> orders, List<SitArtOrdDTO> sitArts) {
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.BolleAccettazioneRESTConsumer;
|
||||
|
||||
@Module(subcomponents = {MainAccettazioneBollaElencoComponent.class})
|
||||
public class MainAccettazioneBollaElencoModule {
|
||||
|
||||
|
||||
@Provides
|
||||
BolleAccettazioneRESTConsumer providesBolleAccettazioneRESTConsumer() {
|
||||
return new BolleAccettazioneRESTConsumer();
|
||||
}
|
||||
|
||||
|
||||
@Provides
|
||||
MainAccettazioneBollaElencoViewModel providesMainAccettazioneBollaViewModel(BolleAccettazioneRESTConsumer bolleAccettazioneRESTConsumer) {
|
||||
return new MainAccettazioneBollaElencoViewModel(bolleAccettazioneRESTConsumer);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,66 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco;
|
||||
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.BolleAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
|
||||
public class MainAccettazioneBollaElencoViewModel {
|
||||
|
||||
private final BolleAccettazioneRESTConsumer bolleAccettazioneRESTConsumer;
|
||||
|
||||
private final MutableLiveData<List<TestataBollaAccettazioneDTO>> bolleList = new MutableLiveData<>();
|
||||
private Listener listener;
|
||||
|
||||
@Inject
|
||||
public MainAccettazioneBollaElencoViewModel(BolleAccettazioneRESTConsumer bolleAccettazioneRESTConsumer) {
|
||||
this.bolleAccettazioneRESTConsumer = bolleAccettazioneRESTConsumer;
|
||||
}
|
||||
|
||||
public void init() {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
bolleAccettazioneRESTConsumer.retrieveBolleDaAccettare(bolleList -> {
|
||||
this.bolleList.postValue(bolleList);
|
||||
|
||||
this.sendOnLoadingEnded();
|
||||
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
|
||||
public MutableLiveData<List<TestataBollaAccettazioneDTO>> getBolleList() {
|
||||
return bolleList;
|
||||
}
|
||||
|
||||
public MainAccettazioneBollaElencoViewModel setListener(MainAccettazioneBollaElencoViewModel.Listener listener) {
|
||||
this.listener = listener;
|
||||
return this;
|
||||
}
|
||||
|
||||
private void sendOnLoadingStarted() {
|
||||
if (this.listener != null) listener.onLoadingStarted();
|
||||
}
|
||||
|
||||
private void sendOnLoadingEnded() {
|
||||
if (this.listener != null) listener.onLoadingEnded();
|
||||
}
|
||||
|
||||
private void sendError(Exception ex) {
|
||||
if (this.listener != null) listener.onError(ex);
|
||||
}
|
||||
|
||||
public interface Listener extends ILoadingListener {
|
||||
void onError(Exception ex);
|
||||
|
||||
void onBolleDispatched(List<OrdineAccettazioneInevasoDTO> orders, List<SitArtOrdDTO> sitArts);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.RetrieveElencoBolleAccettazioneResponseDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
@Singleton
|
||||
public class BolleAccettazioneRESTConsumer extends _BaseRESTConsumer {
|
||||
|
||||
|
||||
public void retrieveBolleDaAccettare(RunnableArgs<List<TestataBollaAccettazioneDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
BolleAccettazioneRESTConsumerService service = RESTBuilder.getService(BolleAccettazioneRESTConsumerService.class);
|
||||
service.retrieveElencoBolle()
|
||||
.enqueue(new Callback<>() {
|
||||
@Override
|
||||
public void onResponse(Call<ServiceRESTResponse<RetrieveElencoBolleAccettazioneResponseDTO>> call, Response<ServiceRESTResponse<RetrieveElencoBolleAccettazioneResponseDTO>> response) {
|
||||
analyzeAnswer(response, "retrieveBolleDaAccettare", data -> onComplete.run(data.getBolleDaAccettare()), onFailed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ServiceRESTResponse<RetrieveElencoBolleAccettazioneResponseDTO>> call, Throwable t) {
|
||||
onFailed.run(new Exception(t));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest;
|
||||
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.RetrieveElencoBolleAccettazioneResponseDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.GET;
|
||||
|
||||
public interface BolleAccettazioneRESTConsumerService {
|
||||
|
||||
@GET("wms/accettazione-bolla/retrieveElencoBolle")
|
||||
Call<ServiceRESTResponse<RetrieveElencoBolleAccettazioneResponseDTO>> retrieveElencoBolle();
|
||||
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RetrieveElencoBolleAccettazioneResponseDTO {
|
||||
|
||||
private List<TestataBollaAccettazioneDTO> bolleDaAccettare;
|
||||
|
||||
public List<TestataBollaAccettazioneDTO> getBolleDaAccettare() {
|
||||
return bolleDaAccettare;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,51 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class TestataBollaAccettazioneDTO {
|
||||
private String codAnag;
|
||||
private String ragSoc;
|
||||
private String codDtip;
|
||||
private Date dataDoc;
|
||||
private String serDoc;
|
||||
private int numDoc;
|
||||
private String listino;
|
||||
private String descrizioneListino;
|
||||
private String codJcom;
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public String getRagSoc() {
|
||||
return ragSoc;
|
||||
}
|
||||
|
||||
public String getCodDtip() {
|
||||
return codDtip;
|
||||
}
|
||||
|
||||
public Date getDataDoc() {
|
||||
return dataDoc;
|
||||
}
|
||||
|
||||
public String getSerDoc() {
|
||||
return serDoc;
|
||||
}
|
||||
|
||||
public int getNumDoc() {
|
||||
return numDoc;
|
||||
}
|
||||
|
||||
public String getListino() {
|
||||
return listino;
|
||||
}
|
||||
|
||||
public String getDescrizioneListino() {
|
||||
return descrizioneListino;
|
||||
}
|
||||
|
||||
public String getCodJcom() {
|
||||
return codJcom;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,143 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.ui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.Html;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import it.integry.integrywmsnative.core.expansion.OnSingleClickListener;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.expansion.view.ExtendedSectionedRecyclerView;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaListGroupModelBinding;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaListModelBinding;
|
||||
|
||||
public class MainAccettazioneBolleElencoAdapter extends ExtendedSectionedRecyclerView<MainAccettazioneBolleElencoListModel, MainAccettazioneBolleElencoAdapter.SubheaderHolder, MainAccettazioneBolleElencoAdapter.SingleItemViewHolder> {
|
||||
|
||||
private final Context mContext;
|
||||
private RunnableArgs<String> mOnGroupItemClicked;
|
||||
private RunnableArgs<MainAccettazioneBolleElencoListModel> mOnItemChecked;
|
||||
|
||||
static class SubheaderHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
FragmentMainAccettazioneBollaListModelBinding mBinding;
|
||||
|
||||
SubheaderHolder(FragmentMainAccettazioneBollaListModelBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.mBinding = binding;
|
||||
}
|
||||
}
|
||||
|
||||
static class SingleItemViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
FragmentMainAccettazioneBollaListGroupModelBinding mBinding;
|
||||
|
||||
SingleItemViewHolder(FragmentMainAccettazioneBollaListGroupModelBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.mBinding = binding;
|
||||
}
|
||||
}
|
||||
|
||||
public MainAccettazioneBolleElencoAdapter(Context context, ObservableArrayList<MainAccettazioneBolleElencoListModel> mutableDataSet) {
|
||||
super(mutableDataSet);
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
public MainAccettazioneBolleElencoAdapter setOnGroupItemClicked(RunnableArgs<String> mOnGroupItemClicked) {
|
||||
this.mOnGroupItemClicked = mOnGroupItemClicked;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MainAccettazioneBolleElencoAdapter setOnItemChecked(RunnableArgs<MainAccettazioneBolleElencoListModel> mOnItemChecked) {
|
||||
this.mOnItemChecked = mOnItemChecked;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MainAccettazioneBolleElencoAdapter.SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
|
||||
FragmentMainAccettazioneBollaListModelBinding binding = FragmentMainAccettazioneBollaListModelBinding.inflate(LayoutInflater.from(mContext), parent, false);
|
||||
return new MainAccettazioneBolleElencoAdapter.SubheaderHolder(binding);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MainAccettazioneBolleElencoAdapter.SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
|
||||
FragmentMainAccettazioneBollaListGroupModelBinding binding = FragmentMainAccettazioneBollaListGroupModelBinding.inflate(LayoutInflater.from(mContext), parent, false);
|
||||
return new MainAccettazioneBolleElencoAdapter.SingleItemViewHolder(binding);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindSubheaderViewHolder(MainAccettazioneBolleElencoAdapter.SubheaderHolder subheaderHolder, int nextItemPosition) {
|
||||
MainAccettazioneBolleElencoListModel pickingObjectDTO = this.mDataset.get(nextItemPosition);
|
||||
|
||||
subheaderHolder.mBinding.groupTitle.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getGroupTitle()) ? View.GONE : View.VISIBLE);
|
||||
subheaderHolder.mBinding.groupTitle.setText(Html.fromHtml(pickingObjectDTO.getGroupTitle()));
|
||||
|
||||
subheaderHolder.mBinding.getRoot().setOnClickListener(new OnSingleClickListener() {
|
||||
@Override
|
||||
public void onSingleClick(View v) {
|
||||
if(mOnGroupItemClicked != null) mOnGroupItemClicked.run(pickingObjectDTO.getGroupTitle());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindItemViewHolder(final MainAccettazioneBolleElencoAdapter.SingleItemViewHolder holder, final int position) {
|
||||
MainAccettazioneBolleElencoListModel listModel = this.mDataset.get(position);
|
||||
|
||||
listModel.getSelectedObservable().resetOnPropertyChangedCallback();
|
||||
|
||||
if(listModel.getEtichettaColor() != null)
|
||||
holder.mBinding.emptyView.setBackgroundColor(listModel.getEtichettaColor());
|
||||
else holder.mBinding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), android.R.color.transparent, null));
|
||||
|
||||
if(!UtilityString.isNullOrEmpty(listModel.getDescription())) {
|
||||
holder.mBinding.descrizione.setText(Html.fromHtml(listModel.getDescription()));
|
||||
holder.mBinding.descrizione.setVisibility(View.VISIBLE);
|
||||
} else holder.mBinding.descrizione.setVisibility(View.GONE);
|
||||
|
||||
if(!UtilityString.isNullOrEmpty(listModel.getSubDescription())) {
|
||||
holder.mBinding.subDescrizione.setText(Html.fromHtml(listModel.getSubDescription()));
|
||||
holder.mBinding.subDescrizione.setVisibility(View.VISIBLE);
|
||||
} else holder.mBinding.subDescrizione.setVisibility(View.GONE);
|
||||
|
||||
if(!UtilityString.isNullOrEmpty(listModel.getRightDescription())) {
|
||||
holder.mBinding.rightDescrizione.setText(Html.fromHtml(listModel.getRightDescription()));
|
||||
holder.mBinding.rightDescrizione.setVisibility(View.VISIBLE);
|
||||
} else holder.mBinding.rightDescrizione.setVisibility(View.GONE);
|
||||
|
||||
if(!UtilityString.isNullOrEmpty(listModel.getRightSubDescription())) {
|
||||
holder.mBinding.rightSubDescrizione.setText(Html.fromHtml(listModel.getRightSubDescription()));
|
||||
holder.mBinding.rightSubDescrizione.setVisibility(View.VISIBLE);
|
||||
} else holder.mBinding.rightSubDescrizione.setVisibility(View.GONE);
|
||||
|
||||
holder.mBinding.setSelected(listModel.getSelectedObservable());
|
||||
holder.mBinding.executePendingBindings();
|
||||
holder.mBinding.checkbox.jumpDrawablesToCurrentState();
|
||||
|
||||
listModel.getSelectedObservable().addOnPropertyChangedCallback(() -> {
|
||||
if(this.mOnItemChecked != null) this.mOnItemChecked.run(listModel);
|
||||
});
|
||||
|
||||
holder.mBinding.getRoot().setOnClickListener(v -> {
|
||||
listModel.getSelectedObservable().set(!listModel.getSelectedObservable().get());
|
||||
});
|
||||
}
|
||||
@Override
|
||||
public boolean onPlaceSubheaderBetweenItems(int position) {
|
||||
|
||||
if (getItemSize() == 1) return true;
|
||||
else if (getItemSize() > 1) {
|
||||
MainAccettazioneBolleElencoListModel compare1 = this.mDataset.get(position);
|
||||
MainAccettazioneBolleElencoListModel compare2 = this.mDataset.get(position + 1);
|
||||
|
||||
return !UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,99 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.ui;
|
||||
|
||||
import androidx.annotation.ColorInt;
|
||||
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
|
||||
public class MainAccettazioneBolleElencoListModel implements Cloneable {
|
||||
private String groupTitle;
|
||||
|
||||
private String description;
|
||||
private String subDescription;
|
||||
private String rightDescription;
|
||||
private String rightSubDescription;
|
||||
|
||||
private @ColorInt Integer etichettaColor;
|
||||
|
||||
private boolean hidden;
|
||||
private BindableBoolean selected = new BindableBoolean();
|
||||
|
||||
|
||||
private TestataBollaAccettazioneDTO originalModel;
|
||||
|
||||
|
||||
public String getGroupTitle() {
|
||||
return groupTitle;
|
||||
}
|
||||
|
||||
public MainAccettazioneBolleElencoListModel setGroupTitle(String groupTitle) {
|
||||
this.groupTitle = groupTitle;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public MainAccettazioneBolleElencoListModel setDescription(String description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getSubDescription() {
|
||||
return subDescription;
|
||||
}
|
||||
|
||||
public MainAccettazioneBolleElencoListModel setSubDescription(String subDescription) {
|
||||
this.subDescription = subDescription;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getRightDescription() {
|
||||
return rightDescription;
|
||||
}
|
||||
|
||||
public MainAccettazioneBolleElencoListModel setRightDescription(String rightDescription) {
|
||||
this.rightDescription = rightDescription;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getRightSubDescription() {
|
||||
return rightSubDescription;
|
||||
}
|
||||
|
||||
public MainAccettazioneBolleElencoListModel setRightSubDescription(String rightSubDescription) {
|
||||
this.rightSubDescription = rightSubDescription;
|
||||
return this;
|
||||
}
|
||||
|
||||
public @ColorInt Integer getEtichettaColor() {
|
||||
return etichettaColor;
|
||||
}
|
||||
|
||||
public MainAccettazioneBolleElencoListModel setEtichettaColor(@ColorInt Integer etichettaColor) {
|
||||
this.etichettaColor = etichettaColor;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isHidden() {
|
||||
return hidden;
|
||||
}
|
||||
|
||||
public MainAccettazioneBolleElencoListModel setHidden(boolean hidden) {
|
||||
this.hidden = hidden;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BindableBoolean getSelectedObservable() {
|
||||
return selected;
|
||||
}
|
||||
|
||||
public TestataBollaAccettazioneDTO getOriginalModel() {
|
||||
return originalModel;
|
||||
}
|
||||
|
||||
public void setOriginalModel(TestataBollaAccettazioneDTO originalModel) {
|
||||
this.originalModel = originalModel;
|
||||
}
|
||||
}
|
||||
@ -291,7 +291,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
v -> initBottomSheetDialogFilter(filterChipDTO));
|
||||
|
||||
switch (filterChipDTO.getID()) {
|
||||
case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID:
|
||||
case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentDepositoPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -311,9 +311,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
}
|
||||
});
|
||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentDepositoPredicate().set(null));
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.VIAGGIO_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.VIAGGIO_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentIdViaggioPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -333,9 +332,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
}
|
||||
});
|
||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentIdViaggioPredicate().set(null));
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.NUM_ORD_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.NUM_ORD_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentNumOrdsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -355,9 +353,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
}
|
||||
});
|
||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentNumOrdsPredicate().set(null));
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.CLIENTE_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.CLIENTE_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentClientePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -377,9 +374,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
}
|
||||
});
|
||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentClientePredicate().set(null));
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.VETTORE_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.VETTORE_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentVettorePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -399,9 +395,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
}
|
||||
});
|
||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentVettorePredicate().set(null));
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.AUTOMEZZO_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.AUTOMEZZO_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentAutomezzoPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -421,9 +416,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
}
|
||||
});
|
||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentAutomezzoPredicate().set(null));
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.PAESE_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.PAESE_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentPaesePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -443,9 +437,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
}
|
||||
});
|
||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentPaesePredicate().set(null));
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.AGENTE_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.AGENTE_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentAgentePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -465,9 +458,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
}
|
||||
});
|
||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentAgentePredicate().set(null));
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.TERM_CONS_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.TERM_CONS_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentTermConsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -487,9 +479,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
}
|
||||
});
|
||||
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentTermConsPredicate().set(null));
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.DATA_CONS_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.DATA_CONS_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentDataConsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -512,9 +503,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
mAppliedFilterViewModel.setDataConsegnaFilter(null);
|
||||
mAppliedFilterViewModel.getCurrentDataConsPredicate().set(null);
|
||||
});
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.GRUPPO_MERC_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.GRUPPO_MERC_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentGruppoMercPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -537,9 +527,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
mAppliedFilterViewModel.setGruppoMercFilter(null);
|
||||
mAppliedFilterViewModel.getCurrentGruppoMercPredicate().set(null);
|
||||
});
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.COMMESSA_FILTER_ID:
|
||||
}
|
||||
case OrdiniUscitaElencoBindings.COMMESSA_FILTER_ID -> {
|
||||
mAppliedFilterViewModel.getCurrentCommessaPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -562,8 +551,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
mAppliedFilterViewModel.setCommessaFilter(null);
|
||||
mAppliedFilterViewModel.getCurrentCommessaPredicate().set(null);
|
||||
});
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
this.mBindings.filterChipsGroup.addView(filterChipView);
|
||||
@ -596,143 +584,122 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
||||
.getFilterLayoutView();
|
||||
|
||||
switch (filterChipDTO.getID()) {
|
||||
case OrdiniUscitaElencoBindings.COMMESSA_FILTER_ID:
|
||||
((FilterCommessaLayoutView) filterLayoutView)
|
||||
.setAllCommesse(mAppliedFilterViewModel.getAllCommesse(this.jtbComtCache))
|
||||
.setAvailableCommesse(mAppliedFilterViewModel.getAvailableCommesse(this.jtbComtCache))
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setCommessaFilter)
|
||||
.setPreSelectedCommesse(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentCommessaPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentCommessaPredicate().get())
|
||||
.map(x -> Stream.of(jtbComtCache).filter(y -> x.getCodJcom().equalsIgnoreCase(y.getCodJcom())).findFirst().get())
|
||||
.toList());
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID:
|
||||
((FilterDepositoLayoutView) filterLayoutView)
|
||||
.setAllCodMdeps(mAppliedFilterViewModel.getAllCodMdeps(mtbDepoCache))
|
||||
.setAvailableCodMdeps(mAppliedFilterViewModel.getAvailableCodMdeps(mtbDepoCache))
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setDepositoFilter)
|
||||
.setPreSelectedCodMdeps(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentDepositoPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentDepositoPredicate().get())
|
||||
.map(x -> Stream.of(mtbDepoCache).filter(y -> x.getCodMdep().equalsIgnoreCase(y.getCodMdep())).findFirst().get())
|
||||
.toList());
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.VIAGGIO_FILTER_ID:
|
||||
((FilterViaggioLayoutView) filterLayoutView)
|
||||
.setAllIDViaggio(mAppliedFilterViewModel.getAllIDViaggio())
|
||||
.setAvailableIDViaggio(mAppliedFilterViewModel.getAvailableIDViaggio())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setIDViaggioFilter)
|
||||
.setPreSelectedIDViaggio(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentIdViaggioPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentIdViaggioPredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getIdViaggio)
|
||||
.toList());
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.NUM_ORD_FILTER_ID:
|
||||
((FilterNumeroOrdineLayoutView) filterLayoutView)
|
||||
.setAllNumOrds(mAppliedFilterViewModel.getAllNumOrds())
|
||||
.setAvailableNumOrds(mAppliedFilterViewModel.getAvailableNumOrds())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setNumOrdFilter)
|
||||
.setPreSelectedNumOrds(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentNumOrdsPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentNumOrdsPredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getNumOrd)
|
||||
.toList());
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.CLIENTE_FILTER_ID:
|
||||
((FilterClienteLayoutView) filterLayoutView)
|
||||
.setAllClienti(mAppliedFilterViewModel.getAllClienti())
|
||||
.setAvailableClienti(mAppliedFilterViewModel.getAvailableClienti())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setClienteFilter)
|
||||
.setPreSelectedClienti(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentClientePredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentClientePredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getRagSocOrd)
|
||||
.toList());
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.VETTORE_FILTER_ID:
|
||||
((FilterVettoreLayoutView) filterLayoutView)
|
||||
.setAllVettori(mAppliedFilterViewModel.getAllVettori())
|
||||
.setAvailableVettori(mAppliedFilterViewModel.getAvailableVettori())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setVettoreFilter)
|
||||
.setPreSelectedVettori(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentVettorePredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentVettorePredicate().get())
|
||||
.map(x -> x.getCodVvet() + (!UtilityString.isNullOrEmpty(x.getCodVvet()) ? " - " + x.getDescrizioneVettore() : ""))
|
||||
.toList());
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.AUTOMEZZO_FILTER_ID:
|
||||
((FilterAutomezzoLayoutView) filterLayoutView)
|
||||
.setAllAutomezzi(mAppliedFilterViewModel.getAllAutomezzi())
|
||||
.setAvailableAutomezzi(mAppliedFilterViewModel.getAvailableAutomezzi())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setAutomezzoFilter)
|
||||
.setPreSelectedAutomezzi(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentAutomezzoPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentAutomezzoPredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getDescrizioneAuto)
|
||||
.toList());
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.PAESE_FILTER_ID:
|
||||
((FilterPaeseLayoutView) filterLayoutView)
|
||||
.setAllPaesi(mAppliedFilterViewModel.getAllPaesi())
|
||||
.setAvailablePaesi(mAppliedFilterViewModel.getAvailablePaesi())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setPaeseFilter)
|
||||
.setPreSelectedPaesi(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentPaesePredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentPaesePredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getCitta)
|
||||
.toList());
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.AGENTE_FILTER_ID:
|
||||
((FilterAgenteLayoutView) filterLayoutView)
|
||||
.setAllAgenti(mAppliedFilterViewModel.getAllAgenti())
|
||||
.setAvailableAgenti(mAppliedFilterViewModel.getAvailableAgenti())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setAgenteFilter)
|
||||
.setPreSelectedAgenti(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentAgentePredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentAgentePredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getCitta)
|
||||
.toList());
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.TERM_CONS_FILTER_ID:
|
||||
((FilterTermConsLayoutView) filterLayoutView)
|
||||
.setAllTermCons(mAppliedFilterViewModel.getAllTermCons())
|
||||
.setAvailableTermCons(mAppliedFilterViewModel.getAvailableTermCons())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setTerminiConsegnaFilter)
|
||||
.setPreSelectedTermCons(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentTermConsPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentTermConsPredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getCitta)
|
||||
.toList());
|
||||
break;
|
||||
|
||||
case OrdiniUscitaElencoBindings.GRUPPO_MERC_FILTER_ID:
|
||||
((FilterGruppoMercLayoutView) filterLayoutView)
|
||||
.setAllGroupMerc(mAppliedFilterViewModel.getAllGruppoMerc(mtbGrupCache))
|
||||
.setAvailableGroupMerc(mAppliedFilterViewModel.getAvailableGruppoMerc(mtbGrupCache))
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setGruppoMercFilter)
|
||||
.setPreSelectedGroupMerc(mAppliedFilterViewModel.getSelectedMtbGrup());
|
||||
break;
|
||||
case OrdiniUscitaElencoBindings.COMMESSA_FILTER_ID ->
|
||||
((FilterCommessaLayoutView) filterLayoutView)
|
||||
.setAllCommesse(mAppliedFilterViewModel.getAllCommesse(this.jtbComtCache))
|
||||
.setAvailableCommesse(mAppliedFilterViewModel.getAvailableCommesse(this.jtbComtCache))
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setCommessaFilter)
|
||||
.setPreSelectedCommesse(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentCommessaPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentCommessaPredicate().get())
|
||||
.map(x -> Stream.of(jtbComtCache).filter(y -> x.getCodJcom().equalsIgnoreCase(y.getCodJcom())).findFirst().get())
|
||||
.toList());
|
||||
case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID ->
|
||||
((FilterDepositoLayoutView) filterLayoutView)
|
||||
.setAllCodMdeps(mAppliedFilterViewModel.getAllCodMdeps(mtbDepoCache))
|
||||
.setAvailableCodMdeps(mAppliedFilterViewModel.getAvailableCodMdeps(mtbDepoCache))
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setDepositoFilter)
|
||||
.setPreSelectedCodMdeps(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentDepositoPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentDepositoPredicate().get())
|
||||
.map(x -> Stream.of(mtbDepoCache).filter(y -> x.getCodMdep().equalsIgnoreCase(y.getCodMdep())).findFirst().get())
|
||||
.toList());
|
||||
case OrdiniUscitaElencoBindings.VIAGGIO_FILTER_ID ->
|
||||
((FilterViaggioLayoutView) filterLayoutView)
|
||||
.setAllIDViaggio(mAppliedFilterViewModel.getAllIDViaggio())
|
||||
.setAvailableIDViaggio(mAppliedFilterViewModel.getAvailableIDViaggio())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setIDViaggioFilter)
|
||||
.setPreSelectedIDViaggio(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentIdViaggioPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentIdViaggioPredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getIdViaggio)
|
||||
.toList());
|
||||
case OrdiniUscitaElencoBindings.NUM_ORD_FILTER_ID ->
|
||||
((FilterNumeroOrdineLayoutView) filterLayoutView)
|
||||
.setAllNumOrds(mAppliedFilterViewModel.getAllNumOrds())
|
||||
.setAvailableNumOrds(mAppliedFilterViewModel.getAvailableNumOrds())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setNumOrdFilter)
|
||||
.setPreSelectedNumOrds(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentNumOrdsPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentNumOrdsPredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getNumOrd)
|
||||
.toList());
|
||||
case OrdiniUscitaElencoBindings.CLIENTE_FILTER_ID ->
|
||||
((FilterClienteLayoutView) filterLayoutView)
|
||||
.setAllClienti(mAppliedFilterViewModel.getAllClienti())
|
||||
.setAvailableClienti(mAppliedFilterViewModel.getAvailableClienti())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setClienteFilter)
|
||||
.setPreSelectedClienti(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentClientePredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentClientePredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getRagSocOrd)
|
||||
.toList());
|
||||
case OrdiniUscitaElencoBindings.VETTORE_FILTER_ID ->
|
||||
((FilterVettoreLayoutView) filterLayoutView)
|
||||
.setAllVettori(mAppliedFilterViewModel.getAllVettori())
|
||||
.setAvailableVettori(mAppliedFilterViewModel.getAvailableVettori())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setVettoreFilter)
|
||||
.setPreSelectedVettori(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentVettorePredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentVettorePredicate().get())
|
||||
.map(x -> x.getCodVvet() + (!UtilityString.isNullOrEmpty(x.getCodVvet()) ? " - " + x.getDescrizioneVettore() : ""))
|
||||
.toList());
|
||||
case OrdiniUscitaElencoBindings.AUTOMEZZO_FILTER_ID ->
|
||||
((FilterAutomezzoLayoutView) filterLayoutView)
|
||||
.setAllAutomezzi(mAppliedFilterViewModel.getAllAutomezzi())
|
||||
.setAvailableAutomezzi(mAppliedFilterViewModel.getAvailableAutomezzi())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setAutomezzoFilter)
|
||||
.setPreSelectedAutomezzi(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentAutomezzoPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentAutomezzoPredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getDescrizioneAuto)
|
||||
.toList());
|
||||
case OrdiniUscitaElencoBindings.PAESE_FILTER_ID ->
|
||||
((FilterPaeseLayoutView) filterLayoutView)
|
||||
.setAllPaesi(mAppliedFilterViewModel.getAllPaesi())
|
||||
.setAvailablePaesi(mAppliedFilterViewModel.getAvailablePaesi())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setPaeseFilter)
|
||||
.setPreSelectedPaesi(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentPaesePredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentPaesePredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getCitta)
|
||||
.toList());
|
||||
case OrdiniUscitaElencoBindings.AGENTE_FILTER_ID ->
|
||||
((FilterAgenteLayoutView) filterLayoutView)
|
||||
.setAllAgenti(mAppliedFilterViewModel.getAllAgenti())
|
||||
.setAvailableAgenti(mAppliedFilterViewModel.getAvailableAgenti())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setAgenteFilter)
|
||||
.setPreSelectedAgenti(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentAgentePredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentAgentePredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getCitta)
|
||||
.toList());
|
||||
case OrdiniUscitaElencoBindings.TERM_CONS_FILTER_ID ->
|
||||
((FilterTermConsLayoutView) filterLayoutView)
|
||||
.setAllTermCons(mAppliedFilterViewModel.getAllTermCons())
|
||||
.setAvailableTermCons(mAppliedFilterViewModel.getAvailableTermCons())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setTerminiConsegnaFilter)
|
||||
.setPreSelectedTermCons(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentTermConsPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentTermConsPredicate().get())
|
||||
.map(OrdineUscitaInevasoDTO::getCitta)
|
||||
.toList());
|
||||
case OrdiniUscitaElencoBindings.GRUPPO_MERC_FILTER_ID ->
|
||||
((FilterGruppoMercLayoutView) filterLayoutView)
|
||||
.setAllGroupMerc(mAppliedFilterViewModel.getAllGruppoMerc(mtbGrupCache))
|
||||
.setAvailableGroupMerc(mAppliedFilterViewModel.getAvailableGruppoMerc(mtbGrupCache))
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setGruppoMercFilter)
|
||||
.setPreSelectedGroupMerc(mAppliedFilterViewModel.getSelectedMtbGrup());
|
||||
}
|
||||
|
||||
if (!filterLayoutView.isAdded())
|
||||
|
||||
@ -22,7 +22,7 @@ import it.integry.integrywmsnative.databinding.FragmentMainOrdiniUscitaListModel
|
||||
|
||||
public class OrdiniUscitaElencoAdapter extends ExtendedSectionedRecyclerView<OrdiniUscitaElencoListModel, OrdiniUscitaElencoAdapter.SubheaderHolder, OrdiniUscitaElencoAdapter.SingleItemViewHolder> {
|
||||
|
||||
private Context mContext;
|
||||
private final Context mContext;
|
||||
private RunnableArgs<String> mOnGroupItemClicked;
|
||||
private RunnableArgs<OrdiniUscitaElencoListModel> mOnItemChecked;
|
||||
|
||||
@ -141,17 +141,9 @@ public class OrdiniUscitaElencoAdapter extends ExtendedSectionedRecyclerView<Ord
|
||||
OrdiniUscitaElencoListModel compare1 = this.mDataset.get(position);
|
||||
OrdiniUscitaElencoListModel compare2 = this.mDataset.get(position + 1);
|
||||
|
||||
if (UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle())) {
|
||||
return false;
|
||||
}
|
||||
return !UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemSize() {
|
||||
return mDataset.size();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -37,6 +37,7 @@ import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneElencoBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingActivity;
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
</data>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
@ -56,7 +56,7 @@
|
||||
android:layout_marginBottom="24dp"
|
||||
android:indeterminate="true" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
||||
</layout>
|
||||
98
app/src/main/res/layout/fragment_main_accettazione_bolla.xml
Normal file
98
app/src/main/res/layout/fragment_main_accettazione_bolla.xml
Normal file
@ -0,0 +1,98 @@
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
|
||||
<import type="androidx.databinding.ObservableList" />
|
||||
|
||||
<variable
|
||||
name="view"
|
||||
type="it.integry.integrywmsnative.gest.accettazone_bolla_elenco.MainAccettazioneBollaElencoFragment" />
|
||||
</data>
|
||||
|
||||
<FrameLayout xmlns:fab="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/full_white"
|
||||
tools:context="it.integry.integrywmsnative.gest.accettazone_bolla_elenco.MainAccettazioneBollaElencoFragment">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/accettazione_main_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scrollbars="vertical"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/bolle_accettazione_empty_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:alpha="0.3">
|
||||
|
||||
<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" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintEnd_toStartOf="@id/guideline_empty_right"
|
||||
app:layout_constraintStart_toEndOf="@id/guideline_empty_left"
|
||||
app:layout_constraintTop_toTopOf="@id/guideline_empty_top">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:layout_width="72dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/ic_playlist_add_check_24dp" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/no_bolle_found_message"
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="18sp" />
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="16dp"
|
||||
android:onClick="@{() -> view.dispatchBolle()}"
|
||||
app:srcCompat="@drawable/ic_check_black_24dp"
|
||||
app:visibility="@{view.fabVisible}"
|
||||
style="?attr/floatingActionButtonPrimaryStyle" />
|
||||
</FrameLayout>
|
||||
|
||||
</layout>
|
||||
@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<data>
|
||||
|
||||
<import type="it.integry.integrywmsnative.core.di.BindableBoolean" />
|
||||
|
||||
<variable
|
||||
name="selected"
|
||||
type="BindableBoolean" />
|
||||
|
||||
|
||||
</data>
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat 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:paddingStart="2dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:paddingVertical="2dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
||||
|
||||
<View
|
||||
android:id="@+id/empty_view"
|
||||
android:layout_width="8dp"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/ordine_lavorazione_main_list_group_item_container_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="2dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:background="@color/full_white">
|
||||
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/checkbox"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:checked="@{selected}" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/right_descrizione"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="Cons 07 nov 2018"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:textColor="#000"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/descrizione"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="Ord. Ven. 39 del 27 ott 2017"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="#000"
|
||||
android:layout_alignParentStart="true"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_toStartOf="@id/descrizione"/>
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/right_sub_descrizione"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="Cod Jcom"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_below="@id/descrizione"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/sub_descrizione"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:paddingEnd="6dp"
|
||||
tools:text="TextView"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_below="@+id/descrizione"
|
||||
android:layout_toStartOf="@id/right_sub_descrizione"/>
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
||||
</layout>
|
||||
@ -0,0 +1,32 @@
|
||||
<layout>
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/mainOrange"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="12dp"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
|
||||
|
||||
<CheckBox
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:checked="true"
|
||||
android:enabled="false"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/group_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
style="@style/TextAppearance.Material3.TitleMedium"
|
||||
tools:text="NOME GRUPPO"/>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</layout>
|
||||
@ -260,6 +260,7 @@
|
||||
|
||||
<string name="no_items_found_message">Nessun articolo trovato</string>
|
||||
<string name="no_lu_found_message">Nessuna UL trovata</string>
|
||||
<string name="no_bolle_found_message">Non sono state trovate bolle</string>
|
||||
<string name="no_orders_found_message">Non sono stati trovati ordini</string>
|
||||
<string name="no_one_order_selected">Non è stato selezionato alcun ordine</string>
|
||||
<string name="gestione_A_L_only_accepted_message">Sono ammesse solo UL di <b>Acquisto</b> o <b>Lavorazione</b> qui</string>
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
|
||||
<item name="nav_home" type="id" />
|
||||
<item name="nav_accettazione" type="id" />
|
||||
<item name="nav_accettazione_bolle" type="id" />
|
||||
<item name="nav_spedizione" type="id" />
|
||||
<item name="nav_rettifica_giacenze" type="id" />
|
||||
<item name="nav_rettifica_spedizione" type="id" />
|
||||
|
||||
@ -267,6 +267,7 @@
|
||||
|
||||
<string name="no_items_found_message">No items found</string>
|
||||
<string name="no_lu_found_message">No LU found</string>
|
||||
<string name="no_bolle_found_message">No documents found</string>
|
||||
<string name="no_orders_found_message">No orders found</string>
|
||||
<string name="no_one_order_selected">No one order is selected</string>
|
||||
<string name="gestione_A_L_only_accepted_message">Only <b>Purchase</b> or <b>Production\'s</b> LU are accepted here</string>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
buildscript {
|
||||
ext {
|
||||
kotlin_version = '1.8.0'
|
||||
agp_version = '8.0.2'
|
||||
agp_version = '8.1.0'
|
||||
}
|
||||
|
||||
repositories {
|
||||
@ -18,7 +18,7 @@ buildscript {
|
||||
classpath 'com.google.firebase:perf-plugin:1.4.2'
|
||||
|
||||
// Add the Firebase Crashlytics Gradle plugin.
|
||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
|
||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.7'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user