Migliorata gestione RettificaGiacenze
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
package it.integry.integrywmsnative.gest.rettifica_giacenze;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.databinding.DataBindingUtil;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -13,15 +12,14 @@ import android.view.ViewGroup;
|
||||
import butterknife.ButterKnife;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||
import it.integry.integrywmsnative.databinding.FragmentRettificaGiacenzeBinding;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainRettificaGiacenzeBinding;
|
||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.core.RettificaGiacenzeHelper;
|
||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.viewmodel.RettificaGiacenzeViewModel;
|
||||
|
||||
public class RettificaGiacenzeFragment extends Fragment implements ITitledFragment {
|
||||
|
||||
private RettificaGiacenzeHelper mHelper;
|
||||
private FragmentRettificaGiacenzeBinding mBinding = null;
|
||||
private FragmentMainRettificaGiacenzeBinding mBinding = null;
|
||||
|
||||
private RettificaGiacenzeViewModel mRettificaGiacenzeViewModel = null;
|
||||
|
||||
@@ -44,9 +42,9 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
|
||||
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_rettifica_giacenze, container, false);
|
||||
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_rettifica_giacenze, container, false);
|
||||
mRettificaGiacenzeViewModel = new RettificaGiacenzeViewModel();
|
||||
mRettificaGiacenzeViewModel.init(getActivity(), mBinding);
|
||||
|
||||
|
||||
mBinding.setView(this);
|
||||
mBinding.setViewmodel(mRettificaGiacenzeViewModel);
|
||||
@@ -59,9 +57,19 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme
|
||||
|
||||
private void init() {
|
||||
mHelper = new RettificaGiacenzeHelper(getActivity());
|
||||
mRettificaGiacenzeViewModel.init(getActivity(), mBinding, mHelper);
|
||||
|
||||
mHelper.loadListaFornitori(listaFornitori -> {
|
||||
mRettificaGiacenzeViewModel.setupListaFornitori(listaFornitori);
|
||||
mRettificaGiacenzeViewModel.setupSearchFornitori(listaFornitori);
|
||||
});
|
||||
|
||||
|
||||
mBinding.autoCompleteFornitori.setOnFocusChangeListener((v, hasFocus) -> {
|
||||
setUIToForn();
|
||||
});
|
||||
|
||||
mBinding.inputCodArtDescrInt.setOnFocusChangeListener((v, hasFocus) -> {
|
||||
setUIToIntArt();
|
||||
});
|
||||
|
||||
}
|
||||
@@ -83,4 +91,32 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme
|
||||
public String getTitle(Context context) {
|
||||
return context.getResources().getString(R.string.rettifica_giacenze_fragment_title);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void setUIToForn() {
|
||||
mBinding.rettificaGiacenzeFornCheckBox.setChecked(true);
|
||||
mBinding.rettificaGiacenzeFornLayout.setBackground(getActivity().getResources().getDrawable(R.drawable.circular_background_left));
|
||||
mBinding.rettificaGiacenzeFornLayout.setBackgroundTintList(ColorStateList.valueOf(getActivity().getResources().getColor(R.color.alpha_blue_500)));
|
||||
|
||||
mBinding.rettificaGiacenzeArtIntCheckBox.setChecked(false);
|
||||
mBinding.rettificaGiacenzeArtIntLayout.setBackground(null);
|
||||
mBinding.rettificaGiacenzeArtIntLayout.setBackgroundTintList(null);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void setUIToIntArt() {
|
||||
mBinding.rettificaGiacenzeArtIntCheckBox.setChecked(true);
|
||||
mBinding.rettificaGiacenzeArtIntLayout.setBackground(getActivity().getResources().getDrawable(R.drawable.circular_background_left));
|
||||
mBinding.rettificaGiacenzeArtIntLayout.setBackgroundTintList(ColorStateList.valueOf(getActivity().getResources().getColor(R.color.alpha_blue_500)));
|
||||
|
||||
mBinding.rettificaGiacenzeFornCheckBox.setChecked(false);
|
||||
mBinding.rettificaGiacenzeFornLayout.setBackground(null);
|
||||
mBinding.rettificaGiacenzeFornLayout.setBackgroundTintList(null);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.ArticoloFornitoreDTO;
|
||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
|
||||
|
||||
public class RettificaGiacenzeHelper {
|
||||
@@ -47,6 +48,26 @@ public class RettificaGiacenzeHelper {
|
||||
UtilityExceptions.defaultException(mContext, ex, progress);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void searchArtForn(String codAlis, String codArtForOrDescr, RunnableArgs<ArrayList<ArticoloFornitoreDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
String sql = "SELECT mtb_aart.cod_mart, mtb_aart.descrizione_estesa, mtb_lisa.cod_art_for from mtb_lisa, mtb_aart " +
|
||||
" WHERE cod_alis = " + UtilityDB.valueToString(codAlis) +
|
||||
" AND mtb_lisa.cod_mart = mtb_aart.cod_mart " +
|
||||
" AND (mtb_aart.descrizione_estesa LIKE '%" + codArtForOrDescr +"%' OR cod_art_for LIKE '%" + codArtForOrDescr + "%') " +
|
||||
" ORDER BY mtb_aart.descrizione_estesa";
|
||||
|
||||
Type typeOfObjectsList = new TypeToken<ArrayList<ArticoloFornitoreDTO>>() {}.getType();
|
||||
SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<ArticoloFornitoreDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(ArrayList<ArticoloFornitoreDTO> value) {
|
||||
if(onComplete != null) onComplete.run(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(Exception ex) {
|
||||
if(onFailed != null) onFailed.run(ex);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import android.widget.Filter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
@@ -80,10 +81,14 @@ public class AutoCompleteFornitoreAdapter extends ArrayAdapter<FornitoreDTO> {
|
||||
ArrayList<FornitoreDTO> filteredList = (ArrayList<FornitoreDTO>) results.values;
|
||||
if(results != null && results.count > 0) {
|
||||
clear();
|
||||
for (FornitoreDTO c : filteredList) {
|
||||
add(c);
|
||||
synchronized (filteredList) {
|
||||
|
||||
for (FornitoreDTO c : filteredList) {
|
||||
add(c);
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package it.integry.integrywmsnative.gest.rettifica_giacenze.dto;
|
||||
|
||||
public class ArticoloFornitoreDTO {
|
||||
|
||||
private String codMart;
|
||||
private String descrizioneEstesa;
|
||||
private String codArtFor;
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public void setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
}
|
||||
|
||||
public String getDescrizioneEstesa() {
|
||||
return descrizioneEstesa;
|
||||
}
|
||||
|
||||
public void setDescrizioneEstesa(String descrizioneEstesa) {
|
||||
this.descrizioneEstesa = descrizioneEstesa;
|
||||
}
|
||||
|
||||
public String getCodArtFor() {
|
||||
return codArtFor;
|
||||
}
|
||||
|
||||
public void setCodArtFor(String codArtFor) {
|
||||
this.codArtFor = codArtFor;
|
||||
}
|
||||
}
|
||||
@@ -1,29 +1,73 @@
|
||||
package it.integry.integrywmsnative.gest.rettifica_giacenze.viewmodel;
|
||||
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.databinding.ObservableArrayList;
|
||||
import android.text.SpannableString;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.databinding.FragmentRettificaGiacenzeBinding;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainRettificaGiacenzeBinding;
|
||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.core.RettificaGiacenzeHelper;
|
||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.core.adapter.AutoCompleteFornitoreAdapter;
|
||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
||||
|
||||
public class RettificaGiacenzeViewModel {
|
||||
|
||||
private Context mContext;
|
||||
private FragmentRettificaGiacenzeBinding mBinding;
|
||||
private FragmentMainRettificaGiacenzeBinding mBinding;
|
||||
|
||||
public void init(Context context, FragmentRettificaGiacenzeBinding binding) {
|
||||
private RettificaGiacenzeHelper mHelper;
|
||||
|
||||
public void init(Context context, FragmentMainRettificaGiacenzeBinding binding, RettificaGiacenzeHelper helper) {
|
||||
mContext = context;
|
||||
mBinding = binding;
|
||||
mHelper = helper;
|
||||
}
|
||||
|
||||
public void setupListaFornitori(ArrayList<FornitoreDTO> listaFornitori) {
|
||||
public void setupSearchFornitori(ArrayList<FornitoreDTO> listaFornitori) {
|
||||
AutoCompleteFornitoreAdapter autoCompleteFornitoreAdapter = new AutoCompleteFornitoreAdapter(mContext, listaFornitori);
|
||||
mBinding.autoCompleteFornitori.setAdapter(autoCompleteFornitoreAdapter);
|
||||
mBinding.autoCompleteFornitori.setDropDownWidth(mContext.getResources().getDisplayMetrics().widthPixels);
|
||||
|
||||
mBinding.inputCodArtDescrForn.setOnEditorActionListener((v, actionId, event) -> {
|
||||
if (actionId == EditorInfo.IME_ACTION_DONE) {
|
||||
if(UtilityString.isNullOrEmpty(mBinding.autoCompleteFornitori.getText().toString())) {
|
||||
showNoFornSelected();
|
||||
return true;
|
||||
}
|
||||
|
||||
searchArtFor(
|
||||
mBinding.autoCompleteFornitori.getText().toString(),
|
||||
mBinding.inputCodArtDescrForn.getText().toString());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
private void showNoFornSelected() {
|
||||
DialogSimpleMessageHelper.makeWarningDialog(mContext,
|
||||
new SpannableString(mContext.getResources().getText(R.string.no_supplier_selected)),
|
||||
null, null).show();
|
||||
}
|
||||
|
||||
private void searchArtFor(String codAlis, String queryText) {
|
||||
final ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||
progressDialog.show();
|
||||
|
||||
mHelper.searchArtForn(codAlis, queryText, listaArts -> {
|
||||
progressDialog.dismiss();
|
||||
}, ex -> UtilityExceptions.defaultException(mContext, ex, progressDialog));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user