diff --git a/.idea/runConfigurations/app.xml b/.idea/runConfigurations/app.xml
index 52f57fad..2845a8ea 100644
--- a/.idea/runConfigurations/app.xml
+++ b/.idea/runConfigurations/app.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java
index c57751f0..edb62d38 100644
--- a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java
@@ -1,15 +1,10 @@
package it.integry.integrywmsnative;
-import android.content.BroadcastReceiver;
-import android.content.Context;
import android.content.Intent;
import androidx.annotation.IdRes;
-import androidx.core.content.ContextCompat;
-import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.DataBindingUtil;
-import android.content.IntentFilter;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@@ -20,7 +15,6 @@ import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.SearchView;
-import android.provider.Settings;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -28,14 +22,7 @@ import android.view.View;
import androidx.fragment.app.FragmentTransaction;
-import java.util.List;
-
-import it.integry.honeywellscannerlibrary.HoneyWellBarcodeReader;
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
-import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
-import it.integry.integrywmsnative.core.class_router.ClassRouter;
-import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
-import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
@@ -50,8 +37,8 @@ import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.gest.login.LoginActivity;
import it.integry.integrywmsnative.gest.main.MainFragment;
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
-import it.integry.integrywmsnative.gest.prod_ord_lavorazione.ProdOrdineLavorazioneElenco;
-import it.integry.integrywmsnative.gest.prod_ord_produzione.ProdOrdineProduzioneElenco;
+import it.integry.integrywmsnative.gest.prod_ord_lavorazione.ProdOrdineLavorazioneElencoFragment;
+import it.integry.integrywmsnative.gest.prod_ord_produzione.ProdOrdineProduzioneElencoFragment;
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment;
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
@@ -59,7 +46,6 @@ import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment;
import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment;
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment;
-import it.integry.plugins.barcode_base_library.exception.BarcodeAdapterNotFoundException;
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener, IPoppableActivity {
@@ -136,8 +122,6 @@ public class MainActivity extends AppCompatActivity
public void setItem(@IdRes int menuId) {
mBinding.navView.setCheckedItem(menuId);
onNavigationItemSelected(mBinding.navView.getMenu().findItem(menuId));
-
-
}
@SuppressWarnings("StatementWithEmptyBody")
@@ -189,12 +173,12 @@ public class MainActivity extends AppCompatActivity
case R.id.nav_prod_ordine_produzione:
- fragment = ProdOrdineProduzioneElenco.newInstance();
+ fragment = ProdOrdineProduzioneElencoFragment.newInstance();
this.adaptViewToFragment(fragment);
break;
case R.id.nav_prod_ordine_lavorazione:
- fragment = ProdOrdineLavorazioneElenco.newInstance();
+ fragment = ProdOrdineLavorazioneElencoFragment.newInstance();
this.adaptViewToFragment(fragment);
break;
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java
index 07898912..ecc4e5ea 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java
@@ -50,12 +50,12 @@ public class MenuConfiguration extends BaseMenuConfiguration {
.addItem(new MenuItem()
.setID(R.id.nav_prod_ordine_produzione)
.setTitleText(R.string.prod_ordine_produzione_title_fragment)
- .setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale))
+ .setTitleIcon(R.drawable.ic_dashboard_accettazione))
.addItem(new MenuItem()
.setID(R.id.nav_prod_ordine_lavorazione)
.setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
- .setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale))
+ .setTitleIcon(R.drawable.ic_dashboard_spedizione))
.addItem(new MenuItem()
.setID(R.id.nav_prod_versamento_materiale)
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/ProdOrdineLavorazioneElenco.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/ProdOrdineLavorazioneElenco.java
deleted file mode 100644
index 7d07e948..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/ProdOrdineLavorazioneElenco.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package it.integry.integrywmsnative.gest.prod_ord_lavorazione;
-
-
-import android.content.Context;
-import android.os.Bundle;
-
-import androidx.appcompat.widget.AppCompatTextView;
-import androidx.databinding.DataBindingUtil;
-import androidx.fragment.app.Fragment;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import it.integry.integrywmsnative.R;
-import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
-import it.integry.integrywmsnative.databinding.FragmentProdOrdineLavorazioneElencoBinding;
-
-/**
- * A simple {@link Fragment} subclass.
- */
-public class ProdOrdineLavorazioneElenco extends Fragment implements ITitledFragment {
- private FragmentProdOrdineLavorazioneElencoBinding mBinding;
-
-
- public ProdOrdineLavorazioneElenco() {
- // Required empty public constructor
- }
-
-
- public static ProdOrdineLavorazioneElenco newInstance() {
- ProdOrdineLavorazioneElenco fragment = new ProdOrdineLavorazioneElenco();
- Bundle args = new Bundle();
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
-// mViewmodel = new ProdOrdineLavorazioneElenco();
- }
-
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_prod_ordine_lavorazione_elenco, container, false);
-
-
-// init();
- return mBinding.getRoot();
- }
-
- @Override
- public void onCreateActionBar(AppCompatTextView titleText, Context context) {
- titleText.setText(context.getText(R.string.prod_ordine_lavorazione_title_fragment).toString());
- }
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java
new file mode 100644
index 00000000..24cb2d5e
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java
@@ -0,0 +1,297 @@
+package it.integry.integrywmsnative.gest.prod_ord_lavorazione;
+
+
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.appcompat.widget.AppCompatTextView;
+import androidx.databinding.DataBindingUtil;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.LinearLayoutManager;
+
+import android.text.Html;
+import android.text.SpannableString;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.annimon.stream.Stream;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.REST.CommonRESTException;
+import it.integry.integrywmsnative.core.data_cache.DataCache;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
+import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
+import it.integry.integrywmsnative.core.model.MtbColt;
+import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
+import it.integry.integrywmsnative.core.settings.SettingsManager;
+import it.integry.integrywmsnative.core.utility.UtilityExceptions;
+import it.integry.integrywmsnative.core.utility.UtilityToast;
+import it.integry.integrywmsnative.databinding.FragmentProdOrdineLavorazioneElencoBinding;
+import it.integry.integrywmsnative.gest.prod_ord_lavorazione.core.ProdOrdineLavorazioneHelper;
+import it.integry.integrywmsnative.gest.prod_ord_lavorazione.core.ProdOrdineLavorazioneListAdapter;
+import it.integry.integrywmsnative.gest.vendita.core.MainListVenditaAdapter;
+import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
+import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
+import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity;
+import it.integry.integrywmsnative.ui.ElevatedToolbar;
+import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
+
+/**
+ * A simple {@link Fragment} subclass.
+ */
+public class ProdOrdineLavorazioneElencoFragment extends Fragment implements ITitledFragment, IScrollableFragment {
+ private FragmentProdOrdineLavorazioneElencoBinding mBinding;
+ private ProdOrdineLavorazioneHelper mHelper;
+
+ private Runnable mOnPreDestroy;
+ private ElevatedToolbar mToolbar;
+
+ private ProdOrdineLavorazioneListAdapter mAdapter;
+
+ private List mOriginalOrderList;
+ private List mRenderedOrderList = new ArrayList<>();
+
+
+ public ProdOrdineLavorazioneElencoFragment() {
+ // Required empty public constructor
+ }
+
+
+ public static ProdOrdineLavorazioneElencoFragment newInstance() {
+ ProdOrdineLavorazioneElencoFragment fragment = new ProdOrdineLavorazioneElencoFragment();
+ Bundle args = new Bundle();
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ }
+
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_prod_ordine_lavorazione_elenco, container, false);
+
+ mBinding.ordineLavorazioneMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
+ mBinding.ordineLavorazioneMainFab.hide();
+
+ mBinding.ordineLavorazioneMainFab.setOnClickListener(v -> onVenditaMainFabClick());
+
+ if(mToolbar != null) mToolbar.setRecyclerView(mBinding.ordineLavorazioneMainList);
+
+ init();
+ return mBinding.getRoot();
+ }
+
+ @Override
+ public void onCreateActionBar(AppCompatTextView titleText, Context context) {
+ titleText.setText(context.getText(R.string.prod_ordine_lavorazione_title_fragment).toString());
+ }
+
+ @Override
+ public void setScrollToolbar(ElevatedToolbar toolbar) {
+ mToolbar = toolbar;
+ }
+
+ @Override
+ public void setOnPreDestroy(Runnable onPreDestroy) {
+ mOnPreDestroy = onPreDestroy;
+ }
+
+
+
+
+ private void init(){
+
+ final ProgressDialog progress = ProgressDialog.show(getActivity(), getText(R.string.waiting),
+ getText(R.string.loading) + " ...", true);
+
+ mHelper = new ProdOrdineLavorazioneHelper(getActivity());
+// mViewModel = new VenditaViewModel(getActivity(), this, mBinding, mHelper);
+
+ mHelper.loadOrdini(ordini -> {
+ if(ordini != null) {
+ UtilityToast.showToast("Caricati " + ordini.size() + " ordini");
+ mOriginalOrderList = ordini;
+// mViewModel.setListOrder(ordini);
+ }
+
+
+ mBinding.ordineLavorazioneEmptyView.setVisibility(ordini != null && ordini.size() > 0 ? View.GONE : View.VISIBLE);
+
+ refreshOrdini(ordini);
+ initRecyclerView();
+ progress.dismiss();
+ }, ex -> {
+ mOriginalOrderList = new ArrayList<>();
+ progress.dismiss();
+
+ String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
+ if(errorMessage == null) errorMessage = ex.getMessage();
+ DialogSimpleMessageHelper.makeErrorDialog(getActivity(), new SpannableString(errorMessage), null, null).show();
+ });
+
+ }
+
+
+
+
+
+
+
+ public void refreshOrdini(List ordini) {
+
+ mRenderedOrderList.clear();
+ mRenderedOrderList.addAll(ordini);
+ }
+
+ private void initRecyclerView() {
+ mAdapter = new ProdOrdineLavorazioneListAdapter(getActivity(), mRenderedOrderList, onSingleSelectionChanged);
+ mBinding.ordineLavorazioneMainList.setAdapter(mAdapter);
+ }
+
+ public void refreshRecyclerView() {
+ mAdapter.updateItems(mRenderedOrderList);
+ }
+
+ private RunnableArgs onSingleSelectionChanged = dto -> {
+ List selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
+
+ if(!SettingsManager.iDB().isFlagMultiClienteOrdV()){
+ boolean allMatch = Stream.of(selectedOrders).allMatch(x -> dto.getCodAnagOrd().equalsIgnoreCase(x.getCodAnagOrd()));
+
+ if(!allMatch) {
+ Stream.of(selectedOrders)
+ .filter(x -> !x.getCodAnagOrd().equalsIgnoreCase(dto.getCodAnagOrd()))
+ .forEach(x -> x.setSelected(false));
+ }
+ }
+
+ if(selectedOrders != null && selectedOrders.size() > 0) {
+ mBinding.ordineLavorazioneMainFab.show();
+ }
+ else {
+ mBinding.ordineLavorazioneMainFab.hide();
+ }
+ };
+
+
+
+
+
+ private void onVenditaMainFabClick() {
+
+ List selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
+ List barcodes = new ArrayList<>();
+
+ String dataCons = null;
+
+ for(OrdineVenditaInevasoDTO ordine : selectedOrders){
+ if(!barcodes.contains(ordine.getBarcode())) barcodes.add(ordine.getBarcode());
+
+ if(dataCons == null) dataCons = ordine.getDataConsS();
+ else if(!dataCons.equalsIgnoreCase(ordine.getDataConsS())) dataCons = "";
+ }
+
+ final ProgressDialog progress = ProgressDialog.show(getActivity(), getText(R.string.waiting),
+ getText(R.string.loading) + " ...", true);
+
+
+ final String finalDataCons = dataCons;
+ checkSelectedOrders(selectedOrders, () -> {
+
+ mHelper.retrievePickingList(barcodes, finalDataCons, ordini -> {
+
+ mHelper.getBancaliLavorazioneGiaRegistrati(selectedOrders, mtbColtList -> {
+
+ progress.dismiss();
+
+ List codMarts = Stream.of(ordini)
+ .distinctBy(PickingObjectDTO::getCodMart)
+ .map(PickingObjectDTO::getCodMart)
+ .toList();
+
+ int alreadyRegisteredUL = mtbColtList.size();
+
+
+
+
+ DialogSimpleMessageHelper.makeInfoDialog(getActivity(),
+ getText(R.string.orders).toString(),
+ Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, barcodes.size()), barcodes.size())
+ + "
" +
+ "" + codMarts.size() + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, codMarts.size())
+ + "
" +
+ "" + alreadyRegisteredUL + " " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
+ null,
+ () -> startPickingActivity(ordini, selectedOrders, mtbColtList)
+ ).show();
+
+ }, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
+
+ }, ex -> {
+ UtilityExceptions.defaultException(getActivity(), ex, progress);
+ });
+
+
+ }, progress::dismiss);
+ }
+
+ private void checkSelectedOrders(List selectedOrders, Runnable onComplete, Runnable onFailed) {
+ if(selectedOrders != null && selectedOrders.size() > 0) {
+
+ //Definizione della gestione collo di default
+ List foundGestioni = Stream.of(selectedOrders)
+ .map(OrdineVenditaInevasoDTO::getGestioneEnum)
+ .withoutNulls()
+ .distinctBy(x -> x)
+ .toList();
+
+ if (foundGestioni != null && foundGestioni.size() > 1) {
+ DialogSimpleMessageHelper.makeErrorDialog(getContext(), new SpannableString(getString(R.string.error_multiple_gest)), null, onFailed::run).show();
+ return;
+ }
+
+ //Definizione del deposito di default
+ List foundCodMdep = Stream.of(selectedOrders)
+ .map(OrdineVenditaInevasoDTO::getCodMdep)
+ .withoutNulls()
+ .distinctBy(x -> x)
+ .toList();
+
+ if (foundCodMdep != null && foundCodMdep.size() > 1) {
+ DialogSimpleMessageHelper.makeErrorDialog(getContext(), new SpannableString(getString(R.string.error_multiple_cod_mdep_ordv)), null, onFailed::run).show();
+ return;
+ }
+ }
+
+ onComplete.run();
+ }
+
+ private void startPickingActivity(List ordini, List selectedOrders, List mtbColtList) {
+ Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class);
+
+ String keyPickingList = DataCache.addItem(ordini);
+ myIntent.putExtra("keyPickingList", keyPickingList);
+
+ String keyTestateOrdini = DataCache.addItem(selectedOrders);
+ myIntent.putExtra("keyTestateOrdini", keyTestateOrdini);
+
+ String keyColliRegistrati = DataCache.addItem(mtbColtList);
+ myIntent.putExtra("keyColliRegistrati", keyColliRegistrati);
+
+ getActivity().startActivity(myIntent);
+ }
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java
new file mode 100644
index 00000000..8e562d31
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java
@@ -0,0 +1,200 @@
+package it.integry.integrywmsnative.gest.prod_ord_lavorazione.core;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.annimon.stream.Stream;
+import com.google.firebase.perf.metrics.Trace;
+import com.google.gson.reflect.TypeToken;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+import it.integry.integrywmsnative.core.REST.RESTBuilder;
+import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
+import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
+import it.integry.integrywmsnative.core.REST.model.EsitoType;
+import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+import it.integry.integrywmsnative.core.model.MtbColt;
+import it.integry.integrywmsnative.core.settings.SettingsManager;
+import it.integry.integrywmsnative.core.utility.UtilityDB;
+import it.integry.integrywmsnative.core.utility.UtilityDate;
+import it.integry.integrywmsnative.core.utility.UtilityFirebase;
+import it.integry.integrywmsnative.core.utility.UtilityLogger;
+import it.integry.integrywmsnative.gest.vendita.core.VenditaHelper;
+import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
+import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
+import it.integry.integrywmsnative.gest.vendita.rest.OrdiniVenditaRESTConsumerService;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+
+public class ProdOrdineLavorazioneHelper {
+
+
+ private Context mContext;
+
+ public ProdOrdineLavorazioneHelper(Context context){
+ mContext = context;
+ }
+
+ public void loadOrdini(RunnableArgs> onComplete, RunnableArgs onFailed){
+ String codMdep = SettingsManager.i().userSession.depo.getCodMdep();
+
+ Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_ords_lavorazione");
+ perfTrace.start();
+
+ OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class);
+ service
+ .listOrdiniInevasi(codMdep, "P")
+ .enqueue(new Callback>>() {
+
+ @Override
+ public void onResponse(Call>> call, Response>> response) {
+
+ if(response.isSuccessful()) {
+
+ if(response.body() != null) {
+ if(response.body().getEsito() == EsitoType.OK) {
+ UtilityFirebase.stopPerformanceTrace(perfTrace, false);
+ onComplete.run(response.body().getDto());
+ } else {
+ UtilityFirebase.stopPerformanceTrace(perfTrace, true);
+ Log.e("Ord Lavorazione", response.body().getErrorMessage());
+ onFailed.run(new Exception(response.body().getErrorMessage()));
+ }
+ } else {
+ UtilityFirebase.stopPerformanceTrace(perfTrace, true);
+ Log.e("Ord Lavorazione", response.message());
+ onFailed.run(new Exception(response.message()));
+ }
+ } else {
+ UtilityFirebase.stopPerformanceTrace(perfTrace, true);
+ Log.e("Ord Lavorazione", "Status " + response.code() + ": " + response.message());
+ onFailed.run(new Exception("Status " + response.code() + ": " + response.message()));
+ }
+ }
+
+ @Override
+ public void onFailure(Call>> call, Throwable t) {
+ UtilityFirebase.stopPerformanceTrace(perfTrace, true);
+ Log.e("Ord Lavorazione", t.toString());
+ UtilityLogger.errorMe(new Exception(t));
+ onFailed.run(new Exception(t));
+ }
+ });
+ }
+
+ public List getSelectedOrders(List ordiniList) {
+ return Stream.of(ordiniList)
+ .filter(OrdineVenditaInevasoDTO::isSelected)
+ .toList();
+ }
+
+
+
+
+ public void retrievePickingList(List barcodeOrdini, String dateCons, RunnableArgs> onComplete, RunnableArgs onFailed){
+ String codMdep = SettingsManager.i().userSession.depo.getCodMdep();
+
+ String joinedBarcodes = TextUtils.join(",", barcodeOrdini);
+
+ OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class, 90);
+
+ Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_lavorazione");
+ perfTrace.start();
+
+ service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback>>() {
+ @Override
+ public void onResponse(Call>> call, Response>> response) {
+ if(response.isSuccessful()) {
+
+ if(response.body() != null) {
+ if(response.body().getEsito() == EsitoType.OK) {
+ UtilityFirebase.stopPerformanceTrace(perfTrace, false);
+ onComplete.run(response.body().getDto());
+
+ } else {
+ Log.e("Ord Lavorazione", response.body().getErrorMessage());
+ UtilityFirebase.stopPerformanceTrace(perfTrace, true);
+ onFailed.run(new Exception(response.message()));
+ }
+ } else {
+ Log.e("Ord Lavorazione", response.message());
+ UtilityFirebase.stopPerformanceTrace(perfTrace, true);
+ onFailed.run(new Exception(response.message()));
+ }
+ } else {
+ UtilityFirebase.stopPerformanceTrace(perfTrace, true);
+ Log.e("Ord Lavorazione", "Status " + response.code() + ": " + response.message());
+ onFailed.run(new Exception("Status " + response.code() + ": " + response.message()));
+ }
+ }
+
+ @Override
+ public void onFailure(Call>> call, Throwable t) {
+ UtilityFirebase.stopPerformanceTrace(perfTrace, true);
+ Log.e("Ord Lavorazione", t.toString());
+ UtilityLogger.errorMe(new Exception(t));
+ onFailed.run(new Exception(t));
+ }
+ });
+
+ }
+
+
+
+
+
+ public void getBancaliLavorazioneGiaRegistrati(List orders, RunnableArgs> onComplete, RunnableArgs onFailed) {
+
+ String baseSql = "SELECT DISTINCT mtb_colt.* " +
+ "FROM mtb_colt, " +
+ " mtb_colr " +
+ "WHERE mtb_colt.gestione = mtb_colr.gestione " +
+ " AND mtb_colt.ser_collo = mtb_colr.ser_collo " +
+ " AND mtb_colt.data_collo = mtb_colr.data_collo " +
+ " AND mtb_colt.num_collo = mtb_colr.num_collo " +
+ " AND mtb_colt.gestione = 'L' " +
+ " AND mtb_colt.segno = -1 " +
+ // " AND mtb_colt.ser_collo = '/' " +
+ " AND mtb_colt.data_doc IS NULL AND ";
+
+ StringBuilder whereCond = new StringBuilder();
+
+ for(int i = 0; i < orders.size(); i++){
+
+
+ whereCond
+ .append("(mtb_colr.data_ord = '").append(UtilityDate.formatDate(orders.get(i).getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH)).append("' ")
+ .append("AND mtb_colr.num_ord = ").append(orders.get(i).getNumOrd()).append(" ")
+ .append("AND mtb_colr.gestione = ").append(UtilityDB.valueToString(orders.get(i).getGestione()))
+ .append(") ");
+
+ if(i != (orders.size() - 1)){
+ whereCond.append("OR ");
+ }
+ }
+
+ baseSql += "( " + whereCond + ")";
+
+ Type typeOfObjectsList = new TypeToken>() {}.getType();
+ SystemRESTConsumer.processSql(baseSql, typeOfObjectsList, new ISimpleOperationCallback>() {
+ @Override
+ public void onSuccess(List 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/prod_ord_lavorazione/core/ProdOrdineLavorazioneListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneListAdapter.java
new file mode 100644
index 00000000..54bda350
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneListAdapter.java
@@ -0,0 +1,174 @@
+package it.integry.integrywmsnative.gest.prod_ord_lavorazione.core;
+
+import android.content.Context;
+import android.text.Html;
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+
+import androidx.core.content.res.ResourcesCompat;
+import androidx.databinding.DataBindingUtil;
+import androidx.databinding.Observable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.annimon.stream.Stream;
+import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
+
+import java.util.List;
+
+import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.di.BindableBoolean;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+import it.integry.integrywmsnative.core.utility.UtilityDate;
+import it.integry.integrywmsnative.databinding.FragmentProdOrdineLavorazioneListGroupModelBinding;
+import it.integry.integrywmsnative.databinding.FragmentProdOrdineLavorazioneListModelBinding;
+import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneListModelBinding;
+import it.integry.integrywmsnative.databinding.VenditaMainListGroupModelBinding;
+import it.integry.integrywmsnative.databinding.VenditaMainListModelBinding;
+import it.integry.integrywmsnative.gest.vendita.core.MainListVenditaAdapter;
+import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
+import it.integry.integrywmsnative.ui.fastscroll.SectionTitleProvider;
+
+public class ProdOrdineLavorazioneListAdapter extends SectionedRecyclerViewAdapter implements SectionTitleProvider {
+ private Context mContext;
+
+ private List mDataset;
+ private RunnableArgs mOnSingleSelectionChanged;
+
+ static class SubheaderHolder extends RecyclerView.ViewHolder {
+
+ FragmentProdOrdineLavorazioneListModelBinding binding;
+
+ SubheaderHolder(FragmentProdOrdineLavorazioneListModelBinding binding) {
+ super(binding.getRoot());
+ this.binding = binding;
+ }
+
+ }
+
+ static class SingleItemViewHolder extends RecyclerView.ViewHolder {
+
+ FragmentProdOrdineLavorazioneListGroupModelBinding binding;
+
+ SingleItemViewHolder(FragmentProdOrdineLavorazioneListGroupModelBinding binding) {
+ super(binding.getRoot());
+ this.binding = binding;
+ }
+ }
+
+
+ public ProdOrdineLavorazioneListAdapter(Context context, List myDataset, RunnableArgs onSingleSelectionChanged) {
+ mContext = context;
+ mDataset = orderItems(myDataset);
+ mOnSingleSelectionChanged = onSingleSelectionChanged;
+ }
+
+ public void updateItems(List updatedDataset) {
+ mDataset.clear();
+ mDataset.addAll(orderItems(updatedDataset));
+ notifyDataSetChanged();
+ notifyDataChanged();
+ }
+
+
+ private List orderItems(List dataset) {
+ return Stream.of(dataset)
+ .sortBy(OrdineVenditaInevasoDTO::getRagSocOrd)
+ .toList();
+
+ }
+
+
+
+ @Override
+ public ProdOrdineLavorazioneListAdapter.SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
+ FragmentProdOrdineLavorazioneListModelBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.fragment_prod_ordine_lavorazione__list_model, parent, false);
+ return new ProdOrdineLavorazioneListAdapter.SubheaderHolder(binding);
+ }
+
+ @Override
+ public ProdOrdineLavorazioneListAdapter.SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
+ FragmentProdOrdineLavorazioneListGroupModelBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.fragment_prod_ordine_lavorazione__list_group_model, parent, false);
+ return new ProdOrdineLavorazioneListAdapter.SingleItemViewHolder(binding);
+ }
+
+
+ @Override
+ public void onBindSubheaderViewHolder(ProdOrdineLavorazioneListAdapter.SubheaderHolder subheaderHolder, int nextItemPosition) {
+ subheaderHolder.binding.ordineLavorazioneMainListGroupHeader.setText(mDataset.get(nextItemPosition).getRagSocOrd());
+
+ subheaderHolder.binding.getRoot().setOnClickListener(v -> {
+
+ boolean anySelected = Stream.of(mDataset)
+ .filter(x -> x.getCodAnagOrd().equals(mDataset.get(nextItemPosition).getCodAnagOrd()))
+ .anyMatch(OrdineVenditaInevasoDTO::isSelected);
+
+ Stream.of(mDataset)
+ .filter(x -> x.getCodAnagOrd().equals(mDataset.get(nextItemPosition).getCodAnagOrd()))
+ .forEach(x -> x.setSelected(!anySelected));
+ });
+ }
+
+ @Override
+ public void onBindItemViewHolder(SingleItemViewHolder h, int itemPosition) {
+ final OrdineVenditaInevasoDTO ordine = mDataset.get(itemPosition);
+ final SingleItemViewHolder holder = h;
+
+ holder.binding.ordineLavorazioneMainListGroupItemContainerCheckBox.setTag(ordine.getNumOrd());
+
+ holder.binding.ordineLavorazioneMainListGroupItemContainerCheckBox.setOnCheckedChangeListener(null);
+
+ ordine.selected.resetOnPropertyChangedCallback();
+
+
+ String testataOrdString = String.format(mContext.getString(R.string.ord_ven_testata), String.valueOf(ordine.getNumOrd()), UtilityDate.formatDate(ordine.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
+ holder.binding.ordineLavorazioneMainListGroupItemContainerTestataOrd.setText(Html.fromHtml(testataOrdString));
+
+ String testataDataConsString = String.format(mContext.getString(R.string.ord_ven_testata_data_cons), UtilityDate.formatDate(ordine.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
+ holder.binding.ordineLavorazioneMainListGroupItemContainerTestataDataCons.setText(Html.fromHtml(testataDataConsString));
+
+ holder.binding.venditaMainListGroupItemContainerDetailOrd.setText(ordine.getRifOrd());
+
+ holder.binding.setCheckboxValue(ordine.selected);
+
+ holder.binding.getRoot().setOnClickListener(v -> {
+ ordine.setSelected(!ordine.isSelected());
+ });
+
+ holder.binding.ordineLavorazioneMainListGroupItemContainerCheckBox.setChecked(ordine.isSelected());
+
+ //Bindable to View
+ ordine.selected.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
+ @Override
+ public void onPropertyChanged(Observable sender, int propertyId) {
+ if(holder.binding.ordineLavorazioneMainListGroupItemContainerCheckBox.getTag().equals(ordine.getNumOrd())) {
+ holder.binding.ordineLavorazioneMainListGroupItemContainerCheckBox.setChecked(((BindableBoolean) sender).get());
+ }
+ }
+ });
+
+
+ //View to Bindable
+ holder.binding.ordineLavorazioneMainListGroupItemContainerCheckBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ ordine.setSelected(isChecked);
+ mOnSingleSelectionChanged.run(ordine);
+ });
+ }
+
+
+ @Override
+ public boolean onPlaceSubheaderBetweenItems(int position) {
+ return !this.mDataset.get(position).getRagSocOrd().equalsIgnoreCase(this.mDataset.get(position + 1).getRagSocOrd());
+
+ }
+
+ @Override
+ public int getItemSize() {
+ return mDataset.size();
+ }
+
+ @Override
+ public String getSectionTitle(int position) {
+ return null;
+ }
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/ProdOrdineProduzioneElenco.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/ProdOrdineProduzioneElencoFragment.java
similarity index 93%
rename from app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/ProdOrdineProduzioneElenco.java
rename to app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/ProdOrdineProduzioneElencoFragment.java
index b1950a5d..63f3c45f 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/ProdOrdineProduzioneElenco.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/ProdOrdineProduzioneElencoFragment.java
@@ -29,25 +29,21 @@ import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
-import it.integry.integrywmsnative.core.interfaces.ISearcableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneElencoBinding;
-import it.integry.integrywmsnative.gest.accettazione.core.interfaces.ILoadPickingListCallback;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
-import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneGroupedInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.AccettazioneOrdineInevasoActivity;
import it.integry.integrywmsnative.gest.prod_ord_produzione.core.OrdineProduzioneHelper;
import it.integry.integrywmsnative.gest.prod_ord_produzione.core.OrdineProduzioneListAdapter;
-import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
/**
* A simple {@link Fragment} subclass.
*/
-public class ProdOrdineProduzioneElenco extends Fragment implements ITitledFragment, IScrollableFragment {
+public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITitledFragment, IScrollableFragment {
private Runnable mOnPreDestroy;
private ElevatedToolbar mToolbar;
@@ -62,13 +58,13 @@ public class ProdOrdineProduzioneElenco extends Fragment implements ITitledFragm
private AppCompatTextView mAppBarTitle;
- public ProdOrdineProduzioneElenco() {
+ public ProdOrdineProduzioneElencoFragment() {
// Required empty public constructor
}
- public static ProdOrdineProduzioneElenco newInstance() {
- ProdOrdineProduzioneElenco fragment = new ProdOrdineProduzioneElenco();
+ public static ProdOrdineProduzioneElencoFragment newInstance() {
+ ProdOrdineProduzioneElencoFragment fragment = new ProdOrdineProduzioneElencoFragment();
Bundle args = new Bundle();
fragment.setArguments(args);
return fragment;
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java
index 0558da74..7a4a2b10 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java
@@ -111,7 +111,6 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_vendita, container, false);
- mBinding.setView(this);
mBinding.venditaMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
mBinding.venditaMainFab.hide();
@@ -128,18 +127,6 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
super.onCreateOptionsMenu(menu, inflater);
}
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
-
-// if(item.getItemId() == R.id.action_free_picking) {
-// Intent myIntent = new Intent(getActivity(), PickingLiberoActivity.class);
-// startActivity(myIntent);
-// }
-
- return true;
-
- }
-
private void init(){
@@ -184,93 +171,11 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
public void refreshOrdini(List ordini){
-
mRenderedOrderList.clear();
mRenderedOrderList.addAll(ordini);
-
-
-
-//
-// //Splitto gli ordini per codAnagOrd (Cliente)
-// Stream.of(ordini)
-// .distinctBy(OrdineVenditaInevasoDTO::getCodAnagOrd)
-// .sortBy(OrdineVenditaInevasoDTO::getRagSocOrd)
-// .map(x -> x.getCodAnagOrd() + "#_#" + x.getRagSocOrd())
-// .forEach(anagOrd -> {
-//
-// String codAnagOrd = anagOrd.substring(0, anagOrd.indexOf("#_#"));
-// String ragSocOrd = anagOrd.substring(anagOrd.indexOf("#_#") + 3);
-//
-// OrdineVenditaGroupedInevasoDTO groupedOrdine = new OrdineVenditaGroupedInevasoDTO();
-//
-// groupedOrdine.codAnagClie = codAnagOrd;
-// groupedOrdine.nomeCliente = ragSocOrd;
-// groupedOrdine.ordini = new ArrayList<>();
-//
-//
-// //Raggruppo gli ordini del singolo fornitore suddivisi per data, dataCons e numero
-// Stream.of(ordini)
-// .filter(x -> x.getCodAnagOrd().equalsIgnoreCase(codAnagOrd))
-// .distinctBy(x -> x.getDataOrdS() + " - " + x.getDataConsS() + " - " + x.getNumOrd())
-// .sortBy(x -> x.getDataConsD() != null ? x.getDataConsD() : new Date(2000, 01, 01))
-// .forEach(ord -> {
-//
-//
-// OrdineVenditaGroupedInevasoDTO.Ordine rigaOrdine = new OrdineVenditaGroupedInevasoDTO.Ordine();
-//
-// rigaOrdine
-// .setData(ord.getDataOrdS())
-// .setNumero(ord.getNumOrd())
-// .setCodMdep(ord.getCodMdep())
-// .setCodAnagOrd(ord.getCodAnagOrd())
-// .setCodAnagClie(groupedOrdine.codAnagClie)
-// .setRagSocOrd(ord.getRagSocOrd())
-// .setPesoTotale(ord.getPesoTotale() != null ? ord.getPesoTotale().floatValue() : null)
-// .setBarcode(ord.getBarcode())
-// .setTermCons(ord.getTermCons())
-// .setDataCons(ord.getDataConsS())
-// .setRifOrd(ord.getRifOrd())
-// .setGestione(ord.getGestione())
-// .setExistCollo(ord.flagExistCollo());
-//
-// rigaOrdine.clienti = new ArrayList<>();
-//
-//
-// //Leggo tutti i clienti dell'ordine corrente
-// Stream.of(ordini)
-// .filter(x -> x.getCodAnagOrd().equalsIgnoreCase(codAnagOrd) &&
-// x.getNumOrd().equals(ord.getNumOrd()) &&
-// x.getDataOrdS().equalsIgnoreCase(ord.getDataOrdS()) &&
-// x.getDataConsS().equalsIgnoreCase(ord.getDataConsS()))
-// .distinctBy(OrdineVenditaInevasoDTO::getCodJcom)
-// .forEach(ordCliente -> {
-//
-// OrdineVenditaGroupedInevasoDTO.Cliente cliente = new OrdineVenditaGroupedInevasoDTO.Cliente();
-//
-// cliente.codJcom = ordCliente.getCodJcom();
-// cliente.ragSocCom = ordCliente.getRagSocCom();
-// cliente.descrCom = ordCliente.getDescrizioneCom();
-// cliente.dataCons = ordCliente.getDataConsS();
-// cliente.numCnf = ordCliente.getNumCnfdaEvadere() != null ? ordCliente.getNumCnfdaEvadere().floatValue() : 0;
-// cliente.rifOrd = ordCliente.getRifOrd();
-//
-// rigaOrdine.clienti.add(cliente);
-//
-// });
-//
-// groupedOrdine.ordini.add(rigaOrdine);
-//
-//
-// });
-//
-// mRenderedOrderList.add(groupedOrdine);
-//
-// });
-
}
private void initRecyclerView() {
-// mAdapter = new MainListVenditaAdapter(getActivity(), mRenderedOrderList, onGroupSelectionChanged, onSingleSelectionChanged);
mAdapter = new MainListVenditaAdapter(getActivity(), mRenderedOrderList, onSingleSelectionChanged);
mBinding.venditaMainList.setAdapter(mAdapter);
}
@@ -287,20 +192,11 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
if(!allMatch) {
Stream.of(selectedOrders)
- .filter(x -> !x.getCodAnagOrd().equalsIgnoreCase(x.getCodAnagOrd()))
+ .filter(x -> !x.getCodAnagOrd().equalsIgnoreCase(dto.getCodAnagOrd()))
.forEach(x -> x.setSelected(false));
}
-
-//
-// if(selectedOrders != null && selectedOrders.size() > 1){
-// for (OrdineVenditaInevasoDTO selectedOrder : selectedOrders) {
-// if(!dto.getCodAnagOrd().equalsIgnoreCase(selectedOrder.getCodAnagOrd())) {
-// Stream.of(selectedOrder.ordini).forEach(x -> x.setCheckbox(false));
-// }
-// }
-// }
}
-//
+
if(selectedOrders != null && selectedOrders.size() > 0) {
mBinding.venditaMainFab.show();
}
@@ -310,7 +206,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
};
- public void onVenditaMainFabClick() {
+ private void onVenditaMainFabClick() {
List selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
List barcodes = new ArrayList<>();
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/rest/OrdiniVenditaRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/rest/OrdiniVenditaRESTConsumerService.java
index d96a7a80..d5ff84c6 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/rest/OrdiniVenditaRESTConsumerService.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/rest/OrdiniVenditaRESTConsumerService.java
@@ -15,6 +15,9 @@ public interface OrdiniVenditaRESTConsumerService {
@GET("SM2GetOrdiniVenditaInevasi")
Call>> listOrdiniInevasi(@Query("codMdep") String codMdep);
+ @GET("SM2GetOrdiniVenditaInevasi")
+ Call>> listOrdiniInevasi(@Query("codMdep") String codMdep, @Query("gestione") String gestione);
+
@GET("getPickingListFromOrdini")
Call>> getPickingList(@Query("codMdep") String codMdep, @Query("dataCons") String dataCons, @Query("chiaviOrdini") String codBarreBacale);
diff --git a/app/src/main/res/layout/fragment_main_vendita.xml b/app/src/main/res/layout/fragment_main_vendita.xml
index e667f9e7..f6d2778c 100644
--- a/app/src/main/res/layout/fragment_main_vendita.xml
+++ b/app/src/main/res/layout/fragment_main_vendita.xml
@@ -6,7 +6,6 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_model.xml b/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_model.xml
new file mode 100644
index 00000000..8f909427
--- /dev/null
+++ b/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_model.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_prod_ordine_lavorazione_elenco.xml b/app/src/main/res/layout/fragment_prod_ordine_lavorazione_elenco.xml
index 449b7221..8f25effa 100644
--- a/app/src/main/res/layout/fragment_prod_ordine_lavorazione_elenco.xml
+++ b/app/src/main/res/layout/fragment_prod_ordine_lavorazione_elenco.xml
@@ -1,16 +1,90 @@
-
-
+
+
+
+
+
+
+ android:background="@android:color/white">
-
-
+ android:layout_height="match_parent">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_prod_ordine_produzione_elenco.xml b/app/src/main/res/layout/fragment_prod_ordine_produzione_elenco.xml
index 72a92614..65baaedb 100644
--- a/app/src/main/res/layout/fragment_prod_ordine_produzione_elenco.xml
+++ b/app/src/main/res/layout/fragment_prod_ordine_produzione_elenco.xml
@@ -4,7 +4,7 @@
-
+
+ tools:context="it.integry.integrywmsnative.gest.prod_ord_produzione.ProdOrdineProduzioneElencoFragment">