diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 60079500..e2531d5d 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 246b1bce..d4556b57 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -5,8 +5,10 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java
index 72d71c58..1571dde4 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java
@@ -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);
+
+
+ }
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/core/RettificaGiacenzeHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/core/RettificaGiacenzeHelper.java
index 9ae468b0..b1376d02 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/core/RettificaGiacenzeHelper.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/core/RettificaGiacenzeHelper.java
@@ -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> onComplete, RunnableArgs 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>() {}.getType();
+ SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback>() {
+ @Override
+ public void onSuccess(ArrayList value) {
+ if(onComplete != null) onComplete.run(value);
+ }
+
+ @Override
+ public void onFailed(Exception ex) {
+ if(onFailed != null) onFailed.run(ex);
+ }
+ });
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/core/adapter/AutoCompleteFornitoreAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/core/adapter/AutoCompleteFornitoreAdapter.java
index 915b8f0f..9a5f0fc2 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/core/adapter/AutoCompleteFornitoreAdapter.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/core/adapter/AutoCompleteFornitoreAdapter.java
@@ -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 {
ArrayList filteredList = (ArrayList) 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();
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/ArticoloFornitoreDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/ArticoloFornitoreDTO.java
new file mode 100644
index 00000000..1889f2a0
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/dto/ArticoloFornitoreDTO.java
@@ -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;
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java
index b513b2c6..36c5ca97 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java
@@ -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 listaFornitori) {
+ public void setupSearchFornitori(ArrayList 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));
}
}
diff --git a/app/src/main/res/drawable/circular_background_left.xml b/app/src/main/res/drawable/circular_background_left.xml
new file mode 100644
index 00000000..e676105c
--- /dev/null
+++ b/app/src/main/res/drawable/circular_background_left.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
index 635489c2..66d0d803 100644
--- a/app/src/main/res/layout/fragment_main.xml
+++ b/app/src/main/res/layout/fragment_main.xml
@@ -4,7 +4,8 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".gest.main.MainFragment">
+ tools:context=".gest.main.MainFragment"
+ android:background="@color/full_white">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_rettifica_giacenze.xml b/app/src/main/res/layout/fragment_rettifica_giacenze.xml
deleted file mode 100644
index ea836631..00000000
--- a/app/src/main/res/layout/fragment_rettifica_giacenze.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 79e87f6a..4bd43058 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -131,5 +131,6 @@
Fornitore
Cod art / Descrizione
+ Seleziona un fornitore prima
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 3773cf98..6be8f76c 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -23,6 +23,8 @@
+ #2d42a5f5
+
#1976D2
@@ -31,6 +33,7 @@
#43A047
#388E3C
+ #813f51b5
#5C6BC0
#3F51B5
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 37e4d019..e094af9d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -140,5 +140,6 @@
Supplier
Item code / Description
+ Please select a supplier first