From 1020a31b891d8081d6fd4b69640bdd8a07abdf4a Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Wed, 3 Mar 2021 10:26:20 +0100 Subject: [PATCH] Completata finestra di info sulle righe in picking uscita --- app/build.gradle | 11 +- app/src/main/AndroidManifest.xml | 8 +- .../MainApplicationComponent.java | 6 +- .../MainApplicationModule.java | 8 + .../configs/MenuConfiguration.java | 4 +- .../core/expansion/BaseFragment.java | 10 +- .../core/rest/model/SitArtOrdDTO.java | 7 + .../core/wifi/WiFiStatusChecker.java | 2 +- .../AccettazionePickingViewModel.java | 2 +- .../core/AccettazioneListAdapter.java | 5 +- .../gest/main/MenuListAdapter.java | 4 +- .../OrdiniUscitaElencoFragment.java | 38 +- .../core/PickingResiListAdapter.java | 5 +- .../ProdFabbisognoLineeProdFragment.java | 34 +- .../ProdFabbisognoLineeProdModule.java | 6 +- .../ProdFabbisognoLineeProdViewModel.java | 115 +---- .../DialogAskMagazzinoProssimitaView.java | 39 +- ...DialogAskMagazzinoProssimitaViewModel.java | 48 +-- .../dto/ProdFabbisognoLineeProdDTO.java | 34 ++ .../ProdFabbisognoLineeProdRESTConsumer.java | 402 ++++++++++++++++++ .../PVOrdiniAcquistoGrigliaFragment.java | 2 +- .../RettificaGiacenzeFragment.java | 5 +- .../gest/spedizione/SpedizioneActivity.java | 55 ++- .../gest/spedizione/SpedizioneViewModel.java | 2 +- .../core/SpedizioneListAdapter.java | 44 +- .../row_info/BaseDialogRowInfoView.java | 31 ++ .../row_info/IBaseDialogRowInfoView.java | 4 + ...wInfoProdFabbisognoLineeProdComponent.java | 14 + ...gRowInfoProdFabbisognoLineeProdModule.java | 16 + ...logRowInfoProdFabbisognoLineeProdView.java | 113 +++++ ...wInfoProdFabbisognoLineeProdViewModel.java | 61 +++ .../base/DialogSimpleMessageHelper.java | 9 +- app/src/main/res/drawable/app_round_icon.xml | 4 +- .../ic_dashboard_prod_versamento_merce.xml | 4 +- .../drawable/ic_latest_delivery_customer.xml | 4 +- .../res/drawable/logo_integry_full_white.xml | 4 +- ...e_ordine_inevaso_main_list__group_item.xml | 6 +- .../dialog_ask_magazzino_prossimita.xml | 26 +- ...ialog_custom_content_hashmap_viewmodel.xml | 85 ++-- ...og_row_info_prod_fabbisogno_linee_prod.xml | 88 ++++ ...fragment_ordini_a_pv__list_single_item.xml | 3 +- ...coli_ordine_acquisto__list_single_item.xml | 21 +- .../layout/picking_resi_main_list__item.xml | 6 +- .../spedizione_main_list__group_item.xml | 34 +- app/src/main/res/layout/switch_item.xml | 11 - ...ne_inevaso_main_list_child_group_model.xml | 6 +- app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/backup_descriptor.xml | 4 + barcode_kaiteki/build.gradle | 11 +- build.gradle | 8 +- dynamic__base/build.gradle | 9 +- dynamic_frudis/build.gradle | 4 +- .../extensions/MenuConfigurationFRUDIS.java | 4 +- dynamic_gramm/build.gradle | 4 +- .../extensions/MenuConfigurationGRAMM.java | 4 +- dynamic_ime/build.gradle | 4 +- .../extensions/MenuConfigurationIME.java | 4 +- dynamic_saporiveri/build.gradle | 4 +- dynamic_saporiveri_pv/build.gradle | 4 +- dynamic_vgalimenti/build.gradle | 4 +- .../extensions/MenuConfigurationVG.java | 2 +- honeywellscannerlibrary/build.gradle | 4 +- keyobardemulatorscannerlibrary/build.gradle | 8 +- pointmobilescannerlibrary/build.gradle | 8 +- zebrascannerlibrary/build.gradle | 8 +- 66 files changed, 1153 insertions(+), 393 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/rest/ProdFabbisognoLineeProdRESTConsumer.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/BaseDialogRowInfoView.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/IBaseDialogRowInfoView.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdComponent.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdModule.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdView.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdViewModel.java create mode 100644 app/src/main/res/layout/dialog_row_info_prod_fabbisogno_linee_prod.xml delete mode 100644 app/src/main/res/layout/switch_item.xml create mode 100644 app/src/main/res/xml/backup_descriptor.xml diff --git a/app/build.gradle b/app/build.gradle index 448c1a30..06b323e4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,6 @@ apply plugin: 'com.android.application' apply plugin: 'com.google.firebase.firebase-perf' apply plugin: 'com.google.firebase.crashlytics' apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' apply plugin: 'com.google.gms.google-services' android { @@ -97,7 +96,7 @@ dependencies { implementation 'com.google.firebase:firebase-crash' implementation 'com.google.firebase:firebase-crashlytics' implementation 'com.google.firebase:firebase-perf' - implementation 'com.google.android.gms:play-services-basement:17.5.0' + implementation 'com.google.android.gms:play-services-basement:17.6.0' implementation 'androidx.appcompat:appcompat:1.2.0' @@ -111,15 +110,13 @@ dependencies { implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.annimon:stream:1.2.1' - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0' implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' - implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0' + implementation 'androidx.lifecycle:lifecycle-common-java8:2.3.0' implementation 'org.apache.commons:commons-text:1.9' //MVVM def dagger2_version = '2.29.1' - implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' - implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0" api "com.google.dagger:dagger:$dagger2_version" annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version" api "com.google.dagger:dagger-android:$dagger2_version" @@ -139,7 +136,7 @@ dependencies { implementation 'com.github.pedromassango:doubleClick:3.0' //SQLite ROOM - def room_version = "2.2.5" + def room_version = "2.2.6" implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2ebbabd5..1439c8a7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -17,18 +17,14 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" - android:usesCleartextTraffic="true"> + android:usesCleartextTraffic="true" + android:fullBackupContent="@xml/backup_descriptor"> - OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1))) + .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null))) .addItem(new MenuItem() .setID(R.id.nav_free_picking) @@ -79,7 +79,7 @@ public class MenuConfiguration extends BaseMenuConfiguration { .setTitleText(R.string.prod_ordine_lavorazione_title_fragment) .setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione) .setDrawerIcon(R.drawable.ic_black_external) - .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1))) + .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null))) .addItem(new MenuItem() .setID(R.id.nav_free_lav_picking) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java index 6d471181..75e62543 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java @@ -13,14 +13,18 @@ public class BaseFragment extends Fragment { protected void openProgress() { if (this.mCurrentProgress == null) { - this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity()); + getActivity().runOnUiThread(() -> { + this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity()); + }); } } protected void closeProgress() { if (mCurrentProgress != null) { - mCurrentProgress.dismiss(); - mCurrentProgress = null; + getActivity().runOnUiThread(() -> { + mCurrentProgress.dismiss(); + mCurrentProgress = null; + }); } } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java index 60435529..5a172f92 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java @@ -1,6 +1,7 @@ package it.integry.integrywmsnative.core.rest.model; import java.math.BigDecimal; +import java.util.HashMap; public class SitArtOrdDTO { @@ -25,6 +26,8 @@ public class SitArtOrdDTO { private String codMsfa; private String descrizioneMsfa; + private final HashMap extraInfo = new HashMap<>(); + public String getCodJcom() { return codJcom; } @@ -196,4 +199,8 @@ public class SitArtOrdDTO { this.descrizioneMsfa = descrizioneMsfa; return this; } + + public HashMap getExtraInfo() { + return extraInfo; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/wifi/WiFiStatusChecker.java b/app/src/main/java/it/integry/integrywmsnative/core/wifi/WiFiStatusChecker.java index 7285d9d0..34961e4d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/wifi/WiFiStatusChecker.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/wifi/WiFiStatusChecker.java @@ -53,7 +53,7 @@ public class WiFiStatusChecker { }; public WiFiStatusChecker(Context context){ - mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + mWifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE); } public void startMonitoring(RunnableArgs callback){ diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java index 3bfac6e2..9a238cc1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java @@ -612,7 +612,7 @@ public class AccettazionePickingViewModel { .setNumCollo(value.getNumCollo()) .setGestione(value.getGestione()) .setSerCollo(value.getSerCollo()) - .setRiga(value.getMtbColr().get(0).getRiga()) + .setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga()) .setUntMis(pickingObjectDTO.getMtbAart().getUntMis()) .setMtbAart(pickingObjectDTO.getMtbAart()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListAdapter.java index a5aefc73..3390aa41 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListAdapter.java @@ -7,6 +7,7 @@ import android.view.View; import android.view.ViewGroup; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.res.ResourcesCompat; import androidx.databinding.DataBindingUtil; import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableList; @@ -111,8 +112,8 @@ public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter mDialogRowInfo; private ElevatedToolbar mToolbar; private final List mOnPreDestroyList = new ArrayList<>(); private int barcodeScannerIstanceID = -1; - private Dialog mCurrentProgress; public OrdiniUscitaElencoFragment() { // Required empty public constructor } - public static OrdiniUscitaElencoFragment newInstance(GestioneEnum gestioneOrd, GestioneEnum gestioneCol, int segnoCol) { + public static OrdiniUscitaElencoFragment newInstance(GestioneEnum gestioneOrd, GestioneEnum gestioneCol, int segnoCol, Class dialogRowInfo) { OrdiniUscitaElencoFragment fragment = new OrdiniUscitaElencoFragment(); Bundle args = new Bundle(); @@ -89,6 +89,9 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm args.putString("gestioneCol", gestioneCol != null ? gestioneCol.getText() : null); args.putInt("segnoCol", segnoCol); + String keyDialogRowInfo = DataCache.addItem(dialogRowInfo); + args.putString("keyDialogRowInfo", keyDialogRowInfo); + fragment.setArguments(args); return fragment; } @@ -100,6 +103,9 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm String gestioneCol = getArguments().getString("gestioneCol"); mCurrentGestioneCol = gestioneCol != null ? GestioneEnum.fromString(gestioneCol) : null; mCurrentSegnoCol = getArguments().getInt("segnoCol"); + + String keyDialogRowInfo = getArguments().getString("keyDialogRowInfo"); + mDialogRowInfo = DataCache.retrieveItem(keyDialogRowInfo); } @Override @@ -276,23 +282,6 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm } - private void openProgress() { - getActivity().runOnUiThread(() -> { - if (this.mCurrentProgress == null) { - this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity()); - } - }); - } - - private void closeProgress() { - getActivity().runOnUiThread(() -> { - if (mCurrentProgress != null) { - mCurrentProgress.dismiss(); - mCurrentProgress = null; - } - }); - } - @Override public void onLoadingStarted() { BarcodeManager.disable(); @@ -314,7 +303,6 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm @Override public void onOrderFiltered(List filteredOrders) { -// FBToast.infoToast(getActivity(), "Trovati: " + filteredOrders.size() + " ordini", Toast.LENGTH_LONG); refreshList(filteredOrders); } @@ -335,7 +323,7 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm + "
" + "" + alreadyRegisteredUL + " " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)), null, - () -> SpedizioneActivity.startActivity(getActivity(), sitArts, orders, alreadyRegisteredMtbColts, mCurrentGestioneCol, mCurrentSegnoCol, MtbColr.Causale.DEFAULT) + () -> SpedizioneActivity.startActivity(getActivity(), sitArts, orders, alreadyRegisteredMtbColts, mCurrentGestioneCol, mCurrentSegnoCol, MtbColr.Causale.DEFAULT, mDialogRowInfo) ).show(); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/core/PickingResiListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/core/PickingResiListAdapter.java index 13aef6b5..28a198ba 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/core/PickingResiListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/core/PickingResiListAdapter.java @@ -7,6 +7,7 @@ import android.view.View; import android.view.ViewGroup; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.res.ResourcesCompat; import androidx.databinding.DataBindingUtil; import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableList; @@ -105,8 +106,8 @@ public class PickingResiListAdapter extends SectionedRecyclerViewAdapter { - if (jtbFase == null) { - ((IPoppableActivity) getActivity()).pop(); - } else { +// if (jtbFase == null) { +// ((IPoppableActivity) getActivity()).pop(); +// } else { //Load fabbisogno - this.mViewModel.loadFabbisogno(startDate, endDate, jtbFase.getCodJfas(), codMdep, this::startPickingActivity); - } + this.mViewModel.loadFabbisogno(startDate, endDate, codMdep, this::startPickingActivity); +// } }) .show(getActivity().getSupportFragmentManager(), "tag"); } @@ -130,12 +131,22 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi private void startPickingActivity(List fabbisognoList) { + String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); + List sitArtOrdDTOS = Stream.of(fabbisognoList) - .map(x -> new SitArtOrdDTO() - .setCodMart(x.getCodMart()) - .setQtaOrd(x.getQtaFabbisogno()) - .setNumCnfOrd(x.getNumCnfFabbisogno()) - .setFlagEnablePickManuale(false)) + .map(x -> { + SitArtOrdDTO sitArtOrdDTO = new SitArtOrdDTO() + .setCodMart(x.getCodMart()) + .setCodMdep(codMdep) + .setQtaOrd(x.getQtaFabbisogno()) + .setNumCnfOrd(x.getNumCnfFabbisogno()) + .setFlagEnablePickManuale(false); + + sitArtOrdDTO.getExtraInfo().put("dataInizio", x.getDataInizio()); + sitArtOrdDTO.getExtraInfo().put("dataFine", x.getDataFine()); + + return sitArtOrdDTO; + }) .toList(); SpedizioneActivity.startActivity(getActivity(), @@ -144,7 +155,8 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi new ArrayList<>(), GestioneEnum.LAVORAZIONE, +1, - MtbColr.Causale.VERSAMENTO); + MtbColr.Causale.VERSAMENTO, + DialogRowInfoProdFabbisognoLineeProdView.class); ((IPoppableActivity) getActivity()).pop(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdModule.java index 574d6d81..efc166a8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdModule.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdModule.java @@ -2,14 +2,14 @@ package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod; import dagger.Module; import dagger.Provides; -import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; +import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer; @Module(subcomponents = ProdFabbisognoLineeProdComponent.class) public class ProdFabbisognoLineeProdModule { @Provides - ProdFabbisognoLineeProdViewModel providesProdFabbisognoLineeProdViewModel(SystemRESTConsumer systemRESTConsumer) { - return new ProdFabbisognoLineeProdViewModel(systemRESTConsumer); + ProdFabbisognoLineeProdViewModel providesProdFabbisognoLineeProdViewModel(ProdFabbisognoLineeProdRESTConsumer prodFabbisognoLineeProdRESTConsumer) { + return new ProdFabbisognoLineeProdViewModel(prodFabbisognoLineeProdRESTConsumer); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdViewModel.java index 1a5a504b..7bcfd3ec 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdViewModel.java @@ -1,26 +1,23 @@ package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod; -import com.google.gson.reflect.TypeToken; +import com.annimon.stream.Stream; -import java.lang.reflect.Type; -import java.util.ArrayList; import java.util.Date; import java.util.List; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; -import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; -import it.integry.integrywmsnative.core.utility.UtilityDB; import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO; +import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer; public class ProdFabbisognoLineeProdViewModel { - private final SystemRESTConsumer mSystemRESTConsumer; + private final ProdFabbisognoLineeProdRESTConsumer mProdFabbisognoLineeProdRESTConsumer; private Listener mListener; - public ProdFabbisognoLineeProdViewModel(SystemRESTConsumer systemRESTConsumer) { - this.mSystemRESTConsumer = systemRESTConsumer; + public ProdFabbisognoLineeProdViewModel(ProdFabbisognoLineeProdRESTConsumer prodFabbisognoLineeProdRESTConsumer) { + this.mProdFabbisognoLineeProdRESTConsumer = prodFabbisognoLineeProdRESTConsumer; } public void init() { @@ -28,105 +25,15 @@ public class ProdFabbisognoLineeProdViewModel { } - - public void loadFabbisogno(Date startDate, Date endDate, String lineaProd, String codMdep, RunnableArgs> onComplete) { + public void loadFabbisogno(Date startDate, Date endDate, String codMdep, RunnableArgs> onComplete) { this.sendOnLoadingStarted(); - String sql = "WITH input_values AS ( " + - " SELECT " + UtilityDB.valueToString(startDate) + " AS data_inizio, " + - " " + UtilityDB.valueToString(endDate) + " AS data_fine, " + - " " + UtilityDB.valueToString(lineaProd) + " AS linea_prod, " + - " " + UtilityDB.valueToString(codMdep) + " AS cod_mdep), " + - " withdraw_mtb_colr AS ( " + - " SELECT cod_mart, " + - " SUM(qta_col) as qta_col, " + - " SUM(num_cnf) as num_cnf, " + - " mtb_colr.data_ord, " + - " mtb_colr.num_ord, " + - " mtb_colr.gestione " + - " FROM mtb_colr " + - " INNER JOIN mtb_colt mc on mtb_colr.gestione = mc.gestione and mtb_colr.data_collo = mc.data_collo and " + - " mtb_colr.ser_collo = mc.ser_collo and mtb_colr.num_collo = mc.num_collo " + - " WHERE segno = -1 " + - " GROUP BY cod_mart, " + - " mtb_colr.data_ord, " + - " mtb_colr.num_ord, " + - " mtb_colr.gestione " + - " ), " + - " custom_mtb_colr AS (SELECT cod_mart, " + - " sum(qta_col) AS qta_col, " + - " sum(num_cnf) AS num_cnf, " + - " posizione " + - " FROM mvw_sitart_udc_det_inventario " + - " GROUP BY cod_mart, posizione), " + - " grouped_ord AS ( " + - " SELECT dtb_ordr.cod_mart, " + - " dtb_ordt.cod_jfas, " + - " dtb_ordt.cod_mdep, " + - " dtb_ordt.gestione, " + - " CONVERT(NUMERIC(15, 5), SUM(dtb_ordr.qta_ord * dtb_ordr.rap_conv) - " + - " SUM(dtb_ordr.qta_evasa * dtb_ordr.rap_conv)) AS qta_ord, " + - " SUM(dtb_ordr.num_cnf - dtb_ordr.num_cnf_evasa) AS num_cnf_ord, " + - " SUM(ISNULL(withdraw_mtb_colr.qta_col, 0)) AS qta_col_scaricata, " + - " SUM(ISNULL(withdraw_mtb_colr.num_cnf, 0)) AS num_cnf_scaricata, " + - " jrl_fase_posizioni.posizione " + - " FROM dtb_ordr " + - " INNER JOIN dtb_ordt on dtb_ordr.gestione = dtb_ordt.gestione AND " + - " dtb_ordr.data_ord = dtb_ordt.data_ord AND " + - " dtb_ordr.num_ord = dtb_ordt.num_ord " + - " INNER JOIN jrl_fase_posizioni ON dtb_ordt.cod_jfas = jrl_fase_posizioni.cod_jfas " + - " LEFT OUTER JOIN withdraw_mtb_colr " + - " ON withdraw_mtb_colr.gestione = dtb_ordt.gestione AND " + - " withdraw_mtb_colr.num_ord = dtb_ordt.num_ord AND " + - " withdraw_mtb_colr.data_ord = dtb_ordt.data_ord AND " + - " withdraw_mtb_colr.cod_mart = dtb_ordr.cod_mart " + - " CROSS APPLY input_values " + - " WHERE dtb_ordt.gestione = 'L' " + - " AND flag_evaso = 'I' " + - " AND dtb_ordr.flag_evaso_forzato = 'N' " + - " AND flag_annulla = 'N' " + - " AND dtb_ordt.cod_mdep = input_values.cod_mdep " + - " AND dtb_ordt.data_ord BETWEEN input_values.data_inizio AND input_values.data_fine " + - " AND jrl_fase_posizioni.posizione = input_values.linea_prod " + - " GROUP BY dtb_ordr.cod_mart, dtb_ordt.cod_jfas, dtb_ordt.cod_mdep, dtb_ordt.gestione, " + - " jrl_fase_posizioni.posizione " + - " ), " + - " tmp_ord AS (SELECT grouped_ord.cod_mart, " + - " mtb_aart.unt_mis, " + - " SUM(qta_ord) AS qta_ord, " + - " SUM(num_cnf_ord) AS num_cnf_ord, " + - " SUM(qta_col_scaricata) AS qta_col_scaricata, " + - " SUM(num_cnf_scaricata) AS num_cnf_scaricata, " + - " SUM(ISNULL(custom_mtb_colr.qta_col, 0)) AS qta_col_versata, " + - " SUM(ISNULL(custom_mtb_colr.num_cnf, 0)) AS num_cnf_versata " + - " " + - " FROM grouped_ord " + - " LEFT OUTER JOIN custom_mtb_colr " + - " ON custom_mtb_colr.posizione = grouped_ord.posizione AND " + - " grouped_ord.cod_mart = custom_mtb_colr.cod_mart " + - " INNER JOIN mtb_aart ON grouped_ord.cod_mart = mtb_aart.cod_mart " + - " CROSS APPLY input_values " + - " GROUP BY grouped_ord.cod_mart, mtb_aart.unt_mis) " + - " " + - "SELECT cod_mart, " + - " qta_ord, " + - " num_cnf_ord, " + - " unt_mis, " + - " qta_col_versata, " + - " num_cnf_versata, " + - " qta_col_scaricata, " + - " num_cnf_scaricata, " + - " CASE " + - " WHEN qta_ord - qta_col_versata - qta_col_scaricata < 0 THEN 0 " + - " ELSE qta_ord - qta_col_versata - qta_col_scaricata END AS qta_fabbisogno, " + - " CASE " + - " WHEN num_cnf_ord - num_cnf_versata - num_cnf_scaricata < 0 THEN 0 " + - " ELSE num_cnf_ord - num_cnf_versata - num_cnf_scaricata END AS num_cnf_fabbisogno " + - "FROM tmp_ord " + - "ORDER BY cod_mart"; + this.mProdFabbisognoLineeProdRESTConsumer.loadFabbisogno(startDate, endDate, codMdep, jtbFasi -> { + if (jtbFasi != null) Stream.of(jtbFasi) + .forEach(x -> x + .setDataInizio(startDate) + .setDataFine(endDate)); - Type typeOfObjectsList = new TypeToken>() {}.getType(); - this.mSystemRESTConsumer.>processSql(sql, typeOfObjectsList, jtbFasi -> { this.sendOnLoadingEnded(); onComplete.run(jtbFasi); }, this::sendError); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dialog_ask_mag_prossimita/DialogAskMagazzinoProssimitaView.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dialog_ask_mag_prossimita/DialogAskMagazzinoProssimitaView.java index c93f0e8a..18af86f3 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dialog_ask_mag_prossimita/DialogAskMagazzinoProssimitaView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dialog_ask_mag_prossimita/DialogAskMagazzinoProssimitaView.java @@ -9,19 +9,14 @@ import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.AutoCompleteTextView; -import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.databinding.DataBindingUtil; -import com.tfb.fbtoast.FBToast; - import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; -import java.util.List; import javax.inject.Inject; @@ -47,7 +42,7 @@ public class DialogAskMagazzinoProssimitaView extends BaseDialogFragment impleme private Context mContext; private DialogAskMagazzinoProssimitaBinding mBindings; - private JtbFasi mSelectedItem; +// private JtbFasi mSelectedItem; public static DialogAskMagazzinoProssimitaView newInstance(RunnableArgsss onItemSelected) { return new DialogAskMagazzinoProssimitaView(onItemSelected); @@ -82,11 +77,11 @@ public class DialogAskMagazzinoProssimitaView extends BaseDialogFragment impleme mBindings.buttonConfirm.setOnClickListener(new OnSingleClickListener() { @Override public void onSingleClick(View v) { - if(mSelectedItem != null) { +// if(mSelectedItem != null) { getDialog().dismiss(); - } else { - FBToast.warningToast(mContext, getResources().getString(R.string.please_select_an_item), Toast.LENGTH_LONG); - } +// } else { +// FBToast.warningToast(mContext, getResources().getString(R.string.please_select_an_item), Toast.LENGTH_LONG); +// } } }); @@ -113,13 +108,13 @@ public class DialogAskMagazzinoProssimitaView extends BaseDialogFragment impleme this.mViewModel.setListener(this); this.mViewModel.init(codMdep); - this.mViewModel.getJtbFasi().observe(getViewLifecycleOwner(), this::onPosizioniLoaded); +// this.mViewModel.getJtbFasi().observe(getViewLifecycleOwner(), this::onPosizioniLoaded); } @Override public void onDismiss(@NonNull DialogInterface dialog) { super.onDismiss(dialog); - mOnItemSelected.run(mSelectedItem, mViewModel.startDate, mViewModel.endDate); + mOnItemSelected.run(null, mViewModel.startDate, mViewModel.endDate); } private final View.OnClickListener onStartDateClickListener = new OnSingleClickListener() { @@ -172,16 +167,16 @@ public class DialogAskMagazzinoProssimitaView extends BaseDialogFragment impleme }; - private void onPosizioniLoaded(List items) { - DialogAskMagazzinoProssimitaAdapter adapter = new DialogAskMagazzinoProssimitaAdapter(mContext, items); - - AutoCompleteTextView editTextDropdownCliente = mBindings.dropdownLineaProd; - editTextDropdownCliente.setThreshold(0); - editTextDropdownCliente.setAdapter(adapter); - editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> { - mSelectedItem = items.get(position); - }); - } +// private void onPosizioniLoaded(List items) { +// DialogAskMagazzinoProssimitaAdapter adapter = new DialogAskMagazzinoProssimitaAdapter(mContext, items); +// +// AutoCompleteTextView editTextDropdownCliente = mBindings.dropdownLineaProd; +// editTextDropdownCliente.setThreshold(0); +// editTextDropdownCliente.setAdapter(adapter); +// editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> { +// mSelectedItem = items.get(position); +// }); +// } @Override public void onError(Exception ex) { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dialog_ask_mag_prossimita/DialogAskMagazzinoProssimitaViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dialog_ask_mag_prossimita/DialogAskMagazzinoProssimitaViewModel.java index cc7e70e7..f1916976 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dialog_ask_mag_prossimita/DialogAskMagazzinoProssimitaViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dialog_ask_mag_prossimita/DialogAskMagazzinoProssimitaViewModel.java @@ -2,10 +2,6 @@ package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_m import androidx.lifecycle.MutableLiveData; -import com.google.gson.reflect.TypeToken; - -import java.lang.reflect.Type; -import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -14,7 +10,6 @@ import it.integry.integrywmsnative.core.di.BindableString; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.model.JtbFasi; import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; -import it.integry.integrywmsnative.core.utility.UtilityDB; import it.integry.integrywmsnative.core.utility.UtilityDate; public class DialogAskMagazzinoProssimitaViewModel { @@ -36,7 +31,6 @@ public class DialogAskMagazzinoProssimitaViewModel { } public void init(String codMdep) { - this.sendOnLoadingStarted(); Calendar c = UtilityDate.getCalendarInstance(); c.set(Calendar.DAY_OF_WEEK, c.getActualMinimum(Calendar.DAY_OF_WEEK)); @@ -48,30 +42,32 @@ public class DialogAskMagazzinoProssimitaViewModel { endDate = c.getTime(); endDateBindable.set(UtilityDate.formatDate(endDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); - String sql = "SELECT DISTINCT jrl_fase_posizioni.posizione as cod_jfas, " + - " descrizione, " + - " jrl_fase_posizioni.cod_mdep " + - "FROM jrl_fase_posizioni " + - " INNER JOIN mtb_depo_posizioni mdp ON jrl_fase_posizioni.cod_mdep = mdp.cod_mdep AND " + - " jrl_fase_posizioni.posizione = mdp.posizione " + - "WHERE cod_jfas IN (SELECT cod_jfas FROM jtb_fasi WHERE um_prod IS NOT NULL) " + - " AND jrl_fase_posizioni.cod_mdep = " + UtilityDB.valueToString(codMdep) + " " + - "ORDER BY jrl_fase_posizioni.posizione"; - - - Type typeOfObjectsList = new TypeToken>() {}.getType(); - this.mSystemRESTConsumer.>processSql(sql, typeOfObjectsList, jtbFasi -> { - this.mJtbFasi.postValue(jtbFasi); - - this.sendOnLoadingEnded(); - }, this::sendError); +// this.sendOnLoadingStarted(); +// +// String sql = "SELECT DISTINCT jrl_fase_posizioni.posizione as cod_jfas, " + +// " descrizione, " + +// " jrl_fase_posizioni.cod_mdep " + +// "FROM jrl_fase_posizioni " + +// " INNER JOIN mtb_depo_posizioni mdp ON jrl_fase_posizioni.cod_mdep = mdp.cod_mdep AND " + +// " jrl_fase_posizioni.posizione = mdp.posizione " + +// "WHERE cod_jfas IN (SELECT cod_jfas FROM jtb_fasi WHERE um_prod IS NOT NULL) " + +// " AND jrl_fase_posizioni.cod_mdep = " + UtilityDB.valueToString(codMdep) + " " + +// "ORDER BY jrl_fase_posizioni.posizione"; +// +// +// Type typeOfObjectsList = new TypeToken>() {}.getType(); +// this.mSystemRESTConsumer.>processSql(sql, typeOfObjectsList, jtbFasi -> { +// this.mJtbFasi.postValue(jtbFasi); +// +// this.sendOnLoadingEnded(); +// }, this::sendError); } - public MutableLiveData> getJtbFasi() { - return mJtbFasi; - } +// public MutableLiveData> getJtbFasi() { +// return mJtbFasi; +// } private void sendOnLoadingStarted() { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dto/ProdFabbisognoLineeProdDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dto/ProdFabbisognoLineeProdDTO.java index e27791a4..4839dc88 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dto/ProdFabbisognoLineeProdDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dto/ProdFabbisognoLineeProdDTO.java @@ -1,10 +1,12 @@ package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto; import java.math.BigDecimal; +import java.util.Date; public class ProdFabbisognoLineeProdDTO { private String codMart; + private String codJfas; private BigDecimal qtaOrd; private BigDecimal numCnfOrd; private String untMis; @@ -12,6 +14,11 @@ public class ProdFabbisognoLineeProdDTO { private BigDecimal numCnfVersata; private BigDecimal qtaFabbisogno; private BigDecimal numCnfFabbisogno; + private Date dataInizio; + private Date dataFine; + + public ProdFabbisognoLineeProdDTO() { + } public String getCodMart() { return codMart; @@ -22,6 +29,15 @@ public class ProdFabbisognoLineeProdDTO { return this; } + public String getCodJfas() { + return codJfas; + } + + public ProdFabbisognoLineeProdDTO setCodJfas(String codJfas) { + this.codJfas = codJfas; + return this; + } + public BigDecimal getQtaOrd() { return qtaOrd; } @@ -84,4 +100,22 @@ public class ProdFabbisognoLineeProdDTO { this.numCnfFabbisogno = numCnfFabbisogno; return this; } + + public Date getDataInizio() { + return dataInizio; + } + + public ProdFabbisognoLineeProdDTO setDataInizio(Date dataInizio) { + this.dataInizio = dataInizio; + return this; + } + + public Date getDataFine() { + return dataFine; + } + + public ProdFabbisognoLineeProdDTO setDataFine(Date dataFine) { + this.dataFine = dataFine; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/rest/ProdFabbisognoLineeProdRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/rest/ProdFabbisognoLineeProdRESTConsumer.java new file mode 100644 index 00000000..29f16240 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/rest/ProdFabbisognoLineeProdRESTConsumer.java @@ -0,0 +1,402 @@ +package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest; + +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.inject.Singleton; + +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer; +import it.integry.integrywmsnative.core.utility.UtilityDB; +import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO; + +@Singleton +public class ProdFabbisognoLineeProdRESTConsumer extends _BaseRESTConsumer { + + private final SystemRESTConsumer mSystemRESTConsumer; + + public ProdFabbisognoLineeProdRESTConsumer(SystemRESTConsumer systemRESTConsumer) { + this.mSystemRESTConsumer = systemRESTConsumer; + } + + + public void loadFabbisogno(Date startDate, Date endDate, String codMdep, RunnableArgs> onComplete, RunnableArgs onFailed) { + String sql = "WITH input_values AS ( " + + " SELECT " + UtilityDB.valueToString(startDate) + " AS data_inizio, " + + " " + UtilityDB.valueToString(endDate) + " AS data_fine, " + +// " " + UtilityDB.valueToString(lineaProd) + " AS linea_prod, " + + " " + UtilityDB.valueToString(codMdep) + " AS cod_mdep)," + + " withdraw_mtb_colr AS ( " + + " SELECT cod_mart, " + + " SUM(ISNULL(qta_col, 0)) as qta_col, " + + " SUM(ISNULL(num_cnf, 0)) as num_cnf, " + + " mtb_colr.data_ord, " + + " mtb_colr.num_ord, " + + " mtb_colr.gestione " + + " FROM mtb_colr " + + " INNER JOIN mtb_colt mc on mtb_colr.gestione = mc.gestione and mtb_colr.data_collo = mc.data_collo and " + + " mtb_colr.ser_collo = mc.ser_collo and mtb_colr.num_collo = mc.num_collo " + + " WHERE segno = -1 " + + " AND cod_dtip IS NULL " + + " GROUP BY cod_mart, " + + " mtb_colr.data_ord, " + + " mtb_colr.num_ord, " + + " mtb_colr.gestione " + + " ), " + + " custom_mtb_colr AS (SELECT cod_mart, " + + " SUM(qta_col) AS qta_col, " + + " SUM(num_cnf) AS num_cnf, " + + " posizione " + + " FROM mvw_sitart_udc_det_inventario " + + " GROUP BY cod_mart, posizione), " + + " grouped_ord AS ( " + + " SELECT dtb_ordr.cod_mart, " + + " dtb_ordt.cod_jfas, " + + " dtb_ordt.cod_mdep, " + + " dtb_ordt.gestione, " + + " CONVERT(NUMERIC(15, 5), SUM(dtb_ordr.qta_ord * dtb_ordr.rap_conv) - " + + " SUM(dtb_ordr.qta_evasa * dtb_ordr.rap_conv)) AS qta_ord, " + + " SUM(dtb_ordr.num_cnf - dtb_ordr.num_cnf_evasa) AS num_cnf_ord, " + + " SUM(ISNULL(withdraw_mtb_colr.qta_col, 0)) AS qta_col_scaricata, " + + " SUM(ISNULL(withdraw_mtb_colr.num_cnf, 0)) AS num_cnf_scaricata " + + " FROM dtb_ordr " + + " INNER JOIN dtb_ordt on dtb_ordr.gestione = dtb_ordt.gestione AND " + + " dtb_ordr.data_ord = dtb_ordt.data_ord AND " + + " dtb_ordr.num_ord = dtb_ordt.num_ord " + + " LEFT OUTER JOIN withdraw_mtb_colr " + + " ON withdraw_mtb_colr.gestione = dtb_ordt.gestione AND " + + " withdraw_mtb_colr.num_ord = dtb_ordt.num_ord AND " + + " withdraw_mtb_colr.data_ord = dtb_ordt.data_ord AND " + + " withdraw_mtb_colr.cod_mart = dtb_ordr.cod_mart " + + " CROSS APPLY input_values " + + " WHERE dtb_ordt.gestione = 'L' " + + " AND flag_evaso = 'I' " + + " AND dtb_ordr.flag_evaso_forzato = 'N' " + + " AND flag_annulla = 'N' " + + " AND dtb_ordt.cod_mdep = input_values.cod_mdep " + + " AND dtb_ordt.data_ord BETWEEN input_values.data_inizio AND input_values.data_fine " + + " GROUP BY dtb_ordr.cod_mart, dtb_ordt.cod_jfas, dtb_ordt.cod_mdep, dtb_ordt.gestione " + + " ), " + + " tmp_ord AS (SELECT grouped_ord.cod_mart, " + + " mtb_aart.unt_mis, " + + " grouped_ord.cod_jfas, " + + " SUM(qta_ord) - SUM(qta_col_scaricata) AS qta_ord, " + + " SUM(num_cnf_ord) - SUM(num_cnf_scaricata) AS num_cnf_ord " + + " FROM grouped_ord " + + " INNER JOIN mtb_aart ON grouped_ord.cod_mart = mtb_aart.cod_mart " + + " CROSS APPLY input_values " + + " GROUP BY grouped_ord.cod_mart, mtb_aart.unt_mis, grouped_ord.cod_jfas " + + " ), " + + " ord_without_positioned_mtb_colt AS ( " + + " SELECT tmp_ord.cod_mart, " + + " tmp_ord.cod_jfas, " + + " ISNULL(custom_mtb_colr_on_linea.posizione, tmp_ord.cod_jfas) AS posizione, " + + " unt_mis, " + + " qta_ord AS qta_ord_calc, " + + " num_cnf_ord AS num_cnf_ord_calc, " + + " ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata, " + + " ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata, " + + " qta_ord - ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_fabbisogno, " + + " num_cnf_ord - ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_fabbisogno " + + " FROM tmp_ord " + + " INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas " + + " AND tmp_ord.cod_jfas = jrl_fase_posizioni.posizione " + + " LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea " + + " ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND " + + " tmp_ord.cod_jfas = custom_mtb_colr_on_linea.posizione " + + " " + + " UNION ALL " + + " " + + " SELECT DISTINCT tmp_ord.cod_mart, " + + " null AS cod_jfas, " + + " jrl_fase_posizioni.posizione, " + + " unt_mis, " + + " 0 AS qta_ord_calc, " + + " 0 AS num_cnf_ord_calc, " + + " ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata, " + + " ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata, " + + " 0 AS qta_fabbisogno, " + + " 0 AS num_cnf_fabbisogno " + + " FROM tmp_ord " + + " INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas " + + " AND tmp_ord.cod_jfas <> jrl_fase_posizioni.posizione " + + " " + + " " + + " LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea " + + " ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND " + + " jrl_fase_posizioni.posizione = custom_mtb_colr_on_linea.posizione " + + " ) " + + "SELECT cod_mart, " + + " unt_mis, " + + " input_values.data_inizio, " + + " input_values.data_fine, " + + " SUM(qta_ord_calc) AS qta_ord, " + + " SUM(num_cnf_ord_calc) AS num_cnf_ord, " + + " SUM(qta_gia_posizionata) AS qta_col_versata, " + + " SUM(num_cnf_gia_posizionata) AS num_cnf_versata, " + + " SUM(qta_ord_calc - qta_gia_posizionata) AS qta_fabbisogno, " + + " SUM(num_cnf_ord_calc - num_cnf_gia_posizionata) AS num_cnf_fabbisogno " + + "FROM ord_without_positioned_mtb_colt " + + "CROSS APPLY input_values " + + "GROUP BY cod_mart, unt_mis, input_values.data_inizio, input_values.data_fine " + + "HAVING SUM(qta_ord_calc - qta_gia_posizionata) > 0 " + + "ORDER BY cod_mart"; + + + + /* + * Query splittata per cod_jfas (più pesante) + WITH input_values AS (SELECT '2021-02-15' AS data_inizio, + '2021-02-28' AS data_fine, + --'SC06' AS linea_prod, + '34' AS cod_mdep), + withdraw_mtb_colr AS ( + SELECT cod_mart, + SUM(ISNULL(qta_col, 0)) as qta_col, + SUM(ISNULL(num_cnf, 0)) as num_cnf, + mtb_colr.data_ord, + mtb_colr.num_ord, + mtb_colr.gestione + FROM mtb_colr + INNER JOIN mtb_colt mc on mtb_colr.gestione = mc.gestione and mtb_colr.data_collo = mc.data_collo and + mtb_colr.ser_collo = mc.ser_collo and mtb_colr.num_collo = mc.num_collo + WHERE segno = -1 + and cod_dtip IS NULL + GROUP BY cod_mart, + mtb_colr.data_ord, + mtb_colr.num_ord, + mtb_colr.gestione + ), + custom_mtb_colr AS (SELECT cod_mart, + SUM(qta_col) AS qta_col, + SUM(num_cnf) AS num_cnf, + posizione + FROM mvw_sitart_udc_det_inventario + GROUP BY cod_mart, posizione), + grouped_ord AS ( + SELECT dtb_ordr.cod_mart, + dtb_ordt.cod_jfas, + dtb_ordt.cod_mdep, + dtb_ordt.gestione, + CONVERT(NUMERIC(15, 5), SUM(dtb_ordr.qta_ord * dtb_ordr.rap_conv) - + SUM(dtb_ordr.qta_evasa * dtb_ordr.rap_conv)) AS qta_ord, + SUM(dtb_ordr.num_cnf - dtb_ordr.num_cnf_evasa) AS num_cnf_ord, + SUM(ISNULL(withdraw_mtb_colr.qta_col, 0)) AS qta_col_scaricata, + SUM(ISNULL(withdraw_mtb_colr.num_cnf, 0)) AS num_cnf_scaricata + FROM dtb_ordr + INNER JOIN dtb_ordt on dtb_ordr.gestione = dtb_ordt.gestione AND + dtb_ordr.data_ord = dtb_ordt.data_ord AND + dtb_ordr.num_ord = dtb_ordt.num_ord + LEFT OUTER JOIN withdraw_mtb_colr + ON withdraw_mtb_colr.gestione = dtb_ordt.gestione AND + withdraw_mtb_colr.num_ord = dtb_ordt.num_ord AND + withdraw_mtb_colr.data_ord = dtb_ordt.data_ord AND + withdraw_mtb_colr.cod_mart = dtb_ordr.cod_mart + CROSS APPLY input_values + WHERE dtb_ordt.gestione = 'L' + AND flag_evaso = 'I' + AND dtb_ordr.flag_evaso_forzato = 'N' + AND flag_annulla = 'N' + AND dtb_ordt.cod_mdep = input_values.cod_mdep + AND dtb_ordt.data_ord BETWEEN input_values.data_inizio AND input_values.data_fine + GROUP BY dtb_ordr.cod_mart, dtb_ordt.cod_jfas, dtb_ordt.cod_mdep, dtb_ordt.gestione + ), + tmp_ord AS (SELECT grouped_ord.cod_mart, + mtb_aart.unt_mis, + grouped_ord.cod_jfas, + SUM(qta_ord) - SUM(qta_col_scaricata) AS qta_ord, + SUM(num_cnf_ord) - SUM(num_cnf_scaricata) AS num_cnf_ord + FROM grouped_ord + INNER JOIN mtb_aart ON grouped_ord.cod_mart = mtb_aart.cod_mart + CROSS APPLY input_values + GROUP BY grouped_ord.cod_mart, mtb_aart.unt_mis, grouped_ord.cod_jfas + ), + ord_without_positioned_mtb_colt AS ( + SELECT tmp_ord.cod_mart, + tmp_ord.cod_jfas, + ISNULL(custom_mtb_colr_on_linea.posizione, tmp_ord.cod_jfas) AS posizione, + unt_mis, + qta_ord AS qta_ord_calc, + num_cnf_ord AS num_cnf_ord_calc, + ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata, + ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata, + qta_ord - ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_fabbisogno, + num_cnf_ord - ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_fabbisogno + FROM tmp_ord + INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas + AND tmp_ord.cod_jfas = jrl_fase_posizioni.posizione + LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea + ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND + tmp_ord.cod_jfas = custom_mtb_colr_on_linea.posizione + + UNION ALL + + SELECT DISTINCT tmp_ord.cod_mart, + null AS cod_jfas, + jrl_fase_posizioni.posizione, + unt_mis, + 0 AS qta_ord_calc, + 0 AS num_cnf_ord_calc, + ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata, + ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata, + 0 AS qta_fabbisogno, + 0 AS num_cnf_fabbisogno + FROM tmp_ord + INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas + AND tmp_ord.cod_jfas <> jrl_fase_posizioni.posizione + + + LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea + ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND + jrl_fase_posizioni.posizione = custom_mtb_colr_on_linea.posizione + ) +SELECT cod_mart, + cod_jfas, + posizione, + unt_mis, + qta_ord_calc AS qta_ord, + num_cnf_ord_calc AS num_cnf_ord, + qta_gia_posizionata AS qta_col_versata, + num_cnf_gia_posizionata AS num_cnf_versata, + qta_ord_calc - qta_gia_posizionata AS qta_fabbisogno, + num_cnf_ord_calc - num_cnf_gia_posizionata AS num_cnf_fabbisogno +FROM ord_without_positioned_mtb_colt + +ORDER BY cod_mart, posizione + * */ + + + Type typeOfObjectsList = new TypeToken>() {}.getType(); + this.mSystemRESTConsumer.processSql(sql, typeOfObjectsList, onComplete, onFailed); + } + + + public void loadFabbisogno(String codMart, Date startDate, Date endDate, String codMdep, RunnableArgs> onComplete, RunnableArgs onFailed) { + String sql = "WITH input_values AS ( " + + " SELECT " + UtilityDB.valueToString(startDate) + " AS data_inizio, " + + " " + UtilityDB.valueToString(endDate) + " AS data_fine, " + +// " " + UtilityDB.valueToString(lineaProd) + " AS linea_prod, " + + " " + UtilityDB.valueToString(codMdep) + " AS cod_mdep)," + + " withdraw_mtb_colr AS ( " + + " SELECT cod_mart, " + + " SUM(ISNULL(qta_col, 0)) as qta_col, " + + " SUM(ISNULL(num_cnf, 0)) as num_cnf, " + + " mtb_colr.data_ord, " + + " mtb_colr.num_ord, " + + " mtb_colr.gestione " + + " FROM mtb_colr " + + " INNER JOIN mtb_colt mc on mtb_colr.gestione = mc.gestione and mtb_colr.data_collo = mc.data_collo and " + + " mtb_colr.ser_collo = mc.ser_collo and mtb_colr.num_collo = mc.num_collo " + + " WHERE segno = -1 " + + " AND cod_dtip IS NULL " + + " GROUP BY cod_mart, " + + " mtb_colr.data_ord, " + + " mtb_colr.num_ord, " + + " mtb_colr.gestione " + + " ), " + + " custom_mtb_colr AS (SELECT cod_mart, " + + " SUM(qta_col) AS qta_col, " + + " SUM(num_cnf) AS num_cnf, " + + " posizione " + + " FROM mvw_sitart_udc_det_inventario " + + " GROUP BY cod_mart, posizione), " + + " grouped_ord AS ( " + + " SELECT dtb_ordr.cod_mart, " + + " dtb_ordt.cod_jfas, " + + " dtb_ordt.cod_mdep, " + + " dtb_ordt.gestione, " + + " CONVERT(NUMERIC(15, 5), SUM(dtb_ordr.qta_ord * dtb_ordr.rap_conv) - " + + " SUM(dtb_ordr.qta_evasa * dtb_ordr.rap_conv)) AS qta_ord, " + + " SUM(dtb_ordr.num_cnf - dtb_ordr.num_cnf_evasa) AS num_cnf_ord, " + + " SUM(ISNULL(withdraw_mtb_colr.qta_col, 0)) AS qta_col_scaricata, " + + " SUM(ISNULL(withdraw_mtb_colr.num_cnf, 0)) AS num_cnf_scaricata " + + " FROM dtb_ordr " + + " INNER JOIN dtb_ordt on dtb_ordr.gestione = dtb_ordt.gestione AND " + + " dtb_ordr.data_ord = dtb_ordt.data_ord AND " + + " dtb_ordr.num_ord = dtb_ordt.num_ord " + + " LEFT OUTER JOIN withdraw_mtb_colr " + + " ON withdraw_mtb_colr.gestione = dtb_ordt.gestione AND " + + " withdraw_mtb_colr.num_ord = dtb_ordt.num_ord AND " + + " withdraw_mtb_colr.data_ord = dtb_ordt.data_ord AND " + + " withdraw_mtb_colr.cod_mart = dtb_ordr.cod_mart " + + " CROSS APPLY input_values " + + " WHERE dtb_ordt.gestione = 'L' " + + " AND flag_evaso = 'I' " + + " AND dtb_ordr.flag_evaso_forzato = 'N' " + + " AND flag_annulla = 'N' " + + " AND dtb_ordt.cod_mdep = input_values.cod_mdep " + + " AND dtb_ordt.data_ord BETWEEN input_values.data_inizio AND input_values.data_fine " + + " GROUP BY dtb_ordr.cod_mart, dtb_ordt.cod_jfas, dtb_ordt.cod_mdep, dtb_ordt.gestione " + + " ), " + + " tmp_ord AS (SELECT grouped_ord.cod_mart, " + + " mtb_aart.unt_mis, " + + " grouped_ord.cod_jfas, " + + " SUM(qta_ord) - SUM(qta_col_scaricata) AS qta_ord, " + + " SUM(num_cnf_ord) - SUM(num_cnf_scaricata) AS num_cnf_ord " + + " FROM grouped_ord " + + " INNER JOIN mtb_aart ON grouped_ord.cod_mart = mtb_aart.cod_mart " + + " CROSS APPLY input_values " + + " GROUP BY grouped_ord.cod_mart, mtb_aart.unt_mis, grouped_ord.cod_jfas " + + " ), " + + " ord_without_positioned_mtb_colt AS ( " + + " SELECT tmp_ord.cod_mart, " + + " tmp_ord.cod_jfas, " + + " ISNULL(custom_mtb_colr_on_linea.posizione, tmp_ord.cod_jfas) AS posizione, " + + " unt_mis, " + + " qta_ord AS qta_ord_calc, " + + " num_cnf_ord AS num_cnf_ord_calc, " + + " ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata, " + + " ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata, " + + " qta_ord - ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_fabbisogno, " + + " num_cnf_ord - ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_fabbisogno " + + " FROM tmp_ord " + + " INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas " + + " AND tmp_ord.cod_jfas = jrl_fase_posizioni.posizione " + + " LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea " + + " ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND " + + " tmp_ord.cod_jfas = custom_mtb_colr_on_linea.posizione " + + " " + + " UNION ALL " + + " " + + " SELECT DISTINCT tmp_ord.cod_mart, " + + " null AS cod_jfas, " + + " jrl_fase_posizioni.posizione, " + + " unt_mis, " + + " 0 AS qta_ord_calc, " + + " 0 AS num_cnf_ord_calc, " + + " ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata, " + + " ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata, " + + " 0 AS qta_fabbisogno, " + + " 0 AS num_cnf_fabbisogno " + + " FROM tmp_ord " + + " INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas " + + " AND tmp_ord.cod_jfas <> jrl_fase_posizioni.posizione " + + " " + + " " + + " LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea " + + " ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND " + + " jrl_fase_posizioni.posizione = custom_mtb_colr_on_linea.posizione " + + " ) " + + "SELECT DISTINCT cod_mart, " + + " unt_mis, " + + " cod_jfas, " + + " input_values.data_inizio, " + + " input_values.data_fine " + + "FROM ord_without_positioned_mtb_colt " + + "CROSS APPLY input_values " + + "WHERE cod_mart = " + UtilityDB.valueToString(codMart) + " " + + "GROUP BY cod_mart, unt_mis, cod_jfas, input_values.data_inizio, input_values.data_fine " + + "HAVING SUM(qta_ord_calc - qta_gia_posizionata) > 0 " + + "ORDER BY cod_mart"; + + + Type typeOfObjectsList = new TypeToken>() {}.getType(); + this.mSystemRESTConsumer.processSql(sql, typeOfObjectsList, onComplete, onFailed); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java index 951b1313..1b9f3b68 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java @@ -203,7 +203,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled mHelper.deleteOrder(ordine, () -> { getActivity().runOnUiThread(() -> { progress.dismiss(); - Toast.makeText(getActivity(), "Ordine eliminato!", Toast.LENGTH_SHORT); + Toast.makeText(getActivity(), "Ordine eliminato!", Toast.LENGTH_SHORT).show(); fetchOrders(); }); }, e -> { 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 9d5a3a84..610376c9 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 @@ -13,6 +13,7 @@ import android.view.inputmethod.EditorInfo; import androidx.appcompat.widget.AppCompatTextView; import androidx.core.content.ContextCompat; +import androidx.core.content.res.ResourcesCompat; import androidx.databinding.DataBindingUtil; import androidx.databinding.ObservableField; import androidx.fragment.app.Fragment; @@ -245,7 +246,7 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme public void setUIToForn() { mBinding.rettificaGiacenzeFornCheckBox.setChecked(true); - mBinding.rettificaGiacenzeFornLayout.setBackground(getActivity().getResources().getDrawable(R.drawable.circular_background_left)); + mBinding.rettificaGiacenzeFornLayout.setBackground(ResourcesCompat.getDrawable(getActivity().getResources(), R.drawable.circular_background_left, null)); mBinding.rettificaGiacenzeFornLayout.setBackgroundTintList(ColorStateList.valueOf(getActivity().getResources().getColor(R.color.alpha_blue_500))); mBinding.rettificaGiacenzeArtIntCheckBox.setChecked(false); @@ -256,7 +257,7 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme public void setUIToIntArt() { mBinding.rettificaGiacenzeArtIntCheckBox.setChecked(true); - mBinding.rettificaGiacenzeArtIntLayout.setBackground(getActivity().getResources().getDrawable(R.drawable.circular_background_left)); + mBinding.rettificaGiacenzeArtIntLayout.setBackground(ResourcesCompat.getDrawable(getActivity().getResources(), R.drawable.circular_background_left, null)); mBinding.rettificaGiacenzeArtIntLayout.setBackgroundTintList(ColorStateList.valueOf(getActivity().getResources().getColor(R.color.alpha_blue_500))); mBinding.rettificaGiacenzeFornCheckBox.setChecked(false); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index 496b5472..06b37c37 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java @@ -55,6 +55,7 @@ import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding; import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity; import it.integry.integrywmsnative.gest.spedizione.core.SpedizioneListAdapter; import it.integry.integrywmsnative.gest.spedizione.core.SpedizioneListModel; +import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView; import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException; import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; @@ -67,8 +68,8 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.camera_barcode_reader.DialogCameraBarcodeReader; import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso; -import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; +import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtView; import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo; @@ -81,7 +82,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo private BottomSheetFragmentLUContentViewModel mBottomSheetFragmentLUContentViewModel; - private ObservableArrayList mSpedizioneMutableData = new ObservableArrayList<>(); + private final ObservableArrayList mSpedizioneMutableData = new ObservableArrayList<>(); public BindableBoolean addExtraItemsEnabled = new BindableBoolean(false); @@ -101,12 +102,20 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo private GestioneEnum mGestioneCol; private int mSegnoCol; private Integer mDefaultCausaleUL; + private Class mInfoDialogClassType; private boolean mShouldCloseActivity; private final int PICK_UL_REQUEST = 1; - public static void startActivity(Context context, List ordini, List selectedOrders, List mtbColtList, GestioneEnum gestioneCol, int segnoCol, Integer defaultCausaleUL) { + public static void startActivity(Context context, + List ordini, + List selectedOrders, + List mtbColtList, + GestioneEnum gestioneCol, + int segnoCol, + Integer defaultCausaleUL, + Class infoDialogClassType) { Intent myIntent = new Intent(context, SpedizioneActivity.class); String keyPickingList = DataCache.addItem(ordini); @@ -127,6 +136,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo String keyDefaultCausaleUL = DataCache.addItem(defaultCausaleUL); myIntent.putExtra("keyDefaultCausaleCol", keyDefaultCausaleUL); + String keyInfoDialogClassType = DataCache.addItem(infoDialogClassType); + myIntent.putExtra("keyInfoDialogClassType", keyInfoDialogClassType); + context.startActivity(myIntent); } @@ -140,6 +152,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo mGestioneCol = DataCache.retrieveItem(getIntent().getStringExtra("keyGestioneCol")); mSegnoCol = DataCache.retrieveItem(getIntent().getStringExtra("keySegnoCol")); mDefaultCausaleUL = DataCache.retrieveItem(getIntent().getStringExtra("keyDefaultCausaleCol")); + mInfoDialogClassType = DataCache.retrieveItem(getIntent().getStringExtra("keyInfoDialogClassType")); mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione); @@ -236,15 +249,15 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo this.noItemsToPick.set(!isThereAnyItemToPick(updatedData)); }); - SpedizioneListAdapter spedizioneListAdapter = new SpedizioneListAdapter(this, mSpedizioneMutableData); + SpedizioneListAdapter spedizioneListAdapter = new SpedizioneListAdapter(this, mSpedizioneMutableData, mInfoDialogClassType, getSupportFragmentManager()); this.mBindings.spedizionePickingList.setAdapter(spedizioneListAdapter); this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this)); spedizioneListAdapter.setOnItemClicked((clickedItem, refMtbColt) -> { if (!noLUPresent.get() && ((SettingsManager.iDB().isFlagSpedizioneEnableManualPick() && - clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale()) || - clickedItem.getTempPickData() != null)) { + clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale()) || + clickedItem.getTempPickData() != null)) { this.mViewmodel.dispatchOrdineRow(clickedItem, refMtbColt); } }); @@ -261,7 +274,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo List sortedList = null; - if(!mDivideByGrpMerc) { + if (!mDivideByGrpMerc) { Stream.of(tmpList) .forEach(x -> { SpedizioneListModel spedizioneListModel = new SpedizioneListModel(); @@ -324,10 +337,10 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo for (MtbColt mtbColtToPick : x.getMtbColts()) { - if(UtilityBigDecimal.equalsTo(qtaColOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaColOrdCounter, BigDecimal.ZERO)) + if (UtilityBigDecimal.equalsTo(qtaColOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaColOrdCounter, BigDecimal.ZERO)) break; - if(UtilityBigDecimal.equalsTo(numCnfOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(numCnfOrdCounter, BigDecimal.ZERO)) + if (UtilityBigDecimal.equalsTo(numCnfOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(numCnfOrdCounter, BigDecimal.ZERO)) break; SpedizioneListModel cloneModel = (SpedizioneListModel) spedizioneListModel.clone(); @@ -348,7 +361,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo BigDecimal numCnfOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter); BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter); - if(UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) continue; + if (UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) + continue; cloneModel.setQtaTot(qtaTot); numCnfOrdCounter = numCnfOrdCounter.subtract(numCnfOrdToSubstract); @@ -372,7 +386,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo BigDecimal qtaOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter); BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter); - if(UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) continue; + if (UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) + continue; cloneModel.setQtaTot(qtaTot); qtaColOrdCounter = qtaColOrdCounter.subtract(qtaOrdToSubstract); @@ -458,7 +473,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo String groupTitle = String.format("%s - %s", x.getSitArtOrdDTO().getDescrizioneMgrp(), x.getSitArtOrdDTO().getDescrizioneMsgr()); - if(!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneMsfa())) { + if (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneMsfa())) { groupTitle += " - " + x.getSitArtOrdDTO().getDescrizioneMsfa(); } @@ -488,10 +503,10 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo for (MtbColt mtbColtToPick : x.getMtbColts()) { - if(UtilityBigDecimal.equalsTo(qtaColOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaColOrdCounter, BigDecimal.ZERO)) - break; + if (UtilityBigDecimal.equalsTo(qtaColOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaColOrdCounter, BigDecimal.ZERO)) + break; - if(UtilityBigDecimal.equalsTo(numCnfOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(numCnfOrdCounter, BigDecimal.ZERO)) + if (UtilityBigDecimal.equalsTo(numCnfOrdCounter, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(numCnfOrdCounter, BigDecimal.ZERO)) break; SpedizioneListModel cloneModel = (SpedizioneListModel) spedizioneListModel.clone(); @@ -511,7 +526,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo BigDecimal numCnfOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter); BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter); - if(UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) continue; + if (UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) + continue; cloneModel.setQtaTot(qtaTot); numCnfOrdCounter = numCnfOrdCounter.subtract(numCnfOrdToSubstract); @@ -533,7 +549,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo BigDecimal qtaOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter); BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter); - if(UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) continue; + if (UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) + continue; cloneModel.setQtaTot(qtaTot); qtaColOrdCounter = qtaColOrdCounter.subtract(qtaOrdToSubstract); @@ -598,7 +615,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo public void addExtraItem() { DialogScanArtView .newInstance((status, mtbAart, ean128Model, mtbColr) -> { - if(status == DialogConsts.Results.YES) { + if (status == DialogConsts.Results.YES) { this.mViewmodel.dispatchExtraItem(mtbAart, ean128Model, mtbColr); } }) @@ -742,7 +759,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo public void onError(Exception ex) { this.closeProgress(); - if(ex instanceof InvalidPesoKGException) { + if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { UtilityExceptions.defaultException(this, ex, mCurrentProgress); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java index 1ca01ac2..392146a7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java @@ -1335,7 +1335,7 @@ public class SpedizioneViewModel { .setNumCollo(value.getNumCollo()) .setGestione(value.getGestione()) .setSerCollo(value.getSerCollo()) - .setRiga(value.getMtbColr().get(0).getRiga()) + .setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga()) .setUntMis(pickingObjectDTO.getMtbAart().getUntMis()) .setMtbAart(pickingObjectDTO.getMtbAart()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneListAdapter.java index 07bfafec..a2355ece 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneListAdapter.java @@ -8,29 +8,37 @@ import android.view.View; import android.view.ViewGroup; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.res.ResourcesCompat; import androidx.databinding.DataBindingUtil; import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableList; +import androidx.fragment.app.FragmentManager; import androidx.recyclerview.widget.RecyclerView; import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter; +import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.List; import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback; +import it.integry.integrywmsnative.core.expansion.OnSingleClickListener; import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityNumber; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding; import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupItemBinding; +import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter { - private Context mContext; + private final Context mContext; + private final Class mInfoDialogClassType; + private final FragmentManager mFragmentManager; private final List mDataset = new ArrayList<>(); private RunnableArgss mOnItemClicked; @@ -57,8 +65,10 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter mutableDataSet) { + public SpedizioneListAdapter(AppCompatActivity context, ObservableArrayList mutableDataSet, Class infoDialogClassType, FragmentManager fragmentManager) { this.mContext = context; + this.mInfoDialogClassType = infoDialogClassType; + this.mFragmentManager = fragmentManager; mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() { @Override @@ -113,8 +123,8 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter { if (this.mOnItemClicked != null) this.mOnItemClicked.run(pickingObjectDTO.getOriginalModel(), pickingObjectDTO.getSourceMtbColt()); @@ -166,4 +186,20 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter cons = Class.forName(mInfoDialogClassType.getName()).getConstructors()[0]; + BaseDialogRowInfoView object = (BaseDialogRowInfoView) cons.newInstance(item, (Runnable) () -> { + + }, (Runnable) () -> { + + }); + object.show(mFragmentManager, "tag"); + + } catch (Exception e) { + UtilityExceptions.defaultException(this.mContext, e); + } + + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/BaseDialogRowInfoView.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/BaseDialogRowInfoView.java new file mode 100644 index 00000000..09b58137 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/BaseDialogRowInfoView.java @@ -0,0 +1,31 @@ +package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info; + +import org.jetbrains.annotations.NotNull; + +import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; +import it.integry.integrywmsnative.gest.spedizione.core.SpedizioneListModel; + +public abstract class BaseDialogRowInfoView extends BaseDialogFragment implements IBaseDialogRowInfoView { + + private final SpedizioneListModel mSpedizioneListModel; + private final Runnable mOnComplete; + private final Runnable mOnAbort; + + public BaseDialogRowInfoView(@NotNull SpedizioneListModel spedizioneListModel, @NotNull Runnable onComplete, @NotNull Runnable onAbort) { + this.mSpedizioneListModel = spedizioneListModel; + this.mOnComplete = onComplete; + this.mOnAbort = onAbort; + } + + protected SpedizioneListModel getSpedizioneListModel() { + return mSpedizioneListModel; + } + + protected Runnable getOnComplete() { + return mOnComplete; + } + + protected Runnable getOnAbort() { + return mOnAbort; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/IBaseDialogRowInfoView.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/IBaseDialogRowInfoView.java new file mode 100644 index 00000000..1c702862 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/IBaseDialogRowInfoView.java @@ -0,0 +1,4 @@ +package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info; + +public interface IBaseDialogRowInfoView { +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdComponent.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdComponent.java new file mode 100644 index 00000000..e01c596b --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdComponent.java @@ -0,0 +1,14 @@ +package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod; + +import dagger.Subcomponent; + +@Subcomponent +public interface DialogRowInfoProdFabbisognoLineeProdComponent { + + @Subcomponent.Factory + interface Factory { + DialogRowInfoProdFabbisognoLineeProdComponent create(); + } + + void inject(DialogRowInfoProdFabbisognoLineeProdView dialogRowInfoProdFabbisognoLineeProdView); +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdModule.java new file mode 100644 index 00000000..802ae649 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdModule.java @@ -0,0 +1,16 @@ +package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod; + +import dagger.Module; +import dagger.Provides; +import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer; + +@Module(subcomponents = DialogRowInfoProdFabbisognoLineeProdComponent.class) +public class DialogRowInfoProdFabbisognoLineeProdModule { + + + @Provides + DialogRowInfoProdFabbisognoLineeProdViewModel providesDialogRowInfoProdFabbisognoLineeProdViewModel(ProdFabbisognoLineeProdRESTConsumer prodFabbisognoLineeProdRESTConsumer) { + return new DialogRowInfoProdFabbisognoLineeProdViewModel(prodFabbisognoLineeProdRESTConsumer); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdView.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdView.java new file mode 100644 index 00000000..663d4b98 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdView.java @@ -0,0 +1,113 @@ +package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod; + +import android.content.Context; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Date; +import java.util.List; + +import javax.inject.Inject; + +import it.integry.integrywmsnative.MainApplication; +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; +import it.integry.integrywmsnative.databinding.DialogRowInfoProdFabbisognoLineeProdBinding; +import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO; +import it.integry.integrywmsnative.gest.spedizione.core.SpedizioneListModel; +import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView; + +public class DialogRowInfoProdFabbisognoLineeProdView extends BaseDialogRowInfoView implements DialogRowInfoProdFabbisognoLineeProdViewModel.Listener { + + + @Inject + DialogRowInfoProdFabbisognoLineeProdViewModel mViewModel; + + private Context mContext; + private DialogRowInfoProdFabbisognoLineeProdBinding mBindings; + + public DialogRowInfoProdFabbisognoLineeProdView(@NotNull SpedizioneListModel spedizioneListModel, @NotNull Runnable onComplete, @NotNull Runnable onAbort) { + super(spedizioneListModel, onComplete, onAbort); + } + + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + this.mContext = getActivity(); + + mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_row_info_prod_fabbisogno_linee_prod, container, false); + + MainApplication.appComponent + .dialogRowInfoProdFabbisognoLineeProdComponent() + .create() + .inject(this); + + setCancelable(true); + getDialog().setCanceledOnTouchOutside(true); + getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + + this.mViewModel.setListener(this); + + return mBindings.getRoot(); + } + + @Override + public void onStart() { + super.onStart(); + + SitArtOrdDTO sitArtOrdDTO = getSpedizioneListModel().getOriginalModel().getSitArtOrdDTO(); + + this.mViewModel.getFabbisognoList().removeObservers(this); + this.mViewModel.getFabbisognoList().observe(this, this::onFabbisognoListLoaded); + + this.mViewModel.init( + sitArtOrdDTO.getCodMart(), + sitArtOrdDTO.getCodMdep(), + (Date) sitArtOrdDTO.getExtraInfo().get("dataInizio"), + (Date) sitArtOrdDTO.getExtraInfo().get("dataFine")); + } + + private void onFabbisognoListLoaded(List fabbisognoList) { + for (int i = 0; i < fabbisognoList.size(); i++) { + String currentKey = fabbisognoList.get(i).getCodJfas(); + + ViewGroup.LayoutParams lparams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + TextView tv = new TextView(this.mContext); + tv.setLayoutParams(lparams); + tv.setText(currentKey); + + this.mBindings.contentView.addView(tv); + } + } + + @Override + public void onError(Exception ex) { + UtilityExceptions.defaultException(this.mContext, ex); + dismiss(); + } + + @Override + public void onLoadingStarted() { + this.mBindings.loadingView.setVisibility(View.VISIBLE); + this.mBindings.contentView.setVisibility(View.GONE); + } + + @Override + public void onLoadingEnded() { + this.mBindings.loadingView.setVisibility(View.GONE); + this.mBindings.contentView.setVisibility(View.VISIBLE); + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdViewModel.java new file mode 100644 index 00000000..df3405ba --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/prod_fabbisogno_linee_prod/DialogRowInfoProdFabbisognoLineeProdViewModel.java @@ -0,0 +1,61 @@ +package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod; + +import androidx.lifecycle.MutableLiveData; + +import java.util.Date; +import java.util.List; + +import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; +import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO; +import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer; + +public class DialogRowInfoProdFabbisognoLineeProdViewModel { + + private final ProdFabbisognoLineeProdRESTConsumer mProdFabbisognoLineeProdRESTConsumer; + + private final MutableLiveData> mFabbisognoList = new MutableLiveData<>(); + + private Listener mListener; + + + public DialogRowInfoProdFabbisognoLineeProdViewModel(ProdFabbisognoLineeProdRESTConsumer mProdFabbisognoLineeProdRESTConsumer) { + this.mProdFabbisognoLineeProdRESTConsumer = mProdFabbisognoLineeProdRESTConsumer; + } + + + public void init(String codMart, String codMdep, Date startDate, Date endDate) { + this.sendOnLoadingStarted(); + + this.mProdFabbisognoLineeProdRESTConsumer.loadFabbisogno(codMart, startDate, endDate, codMdep, fabbisognoList -> { + this.mFabbisognoList.postValue(fabbisognoList); + this.sendOnLoadingEnded(); + }, this::sendError); + } + + + public MutableLiveData> getFabbisognoList() { + return mFabbisognoList; + } + + private void sendOnLoadingStarted() { + if (this.mListener != null) mListener.onLoadingStarted(); + } + + private void sendOnLoadingEnded() { + if (this.mListener != null) mListener.onLoadingEnded(); + } + + private void sendError(Exception ex) { + if (this.mListener != null) mListener.onError(ex); + } + + public void setListener(Listener listener) { + this.mListener = listener; + } + + public interface Listener extends ILoadingListener { + + void onError(Exception ex); + + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageHelper.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageHelper.java index dbbe9aa5..cae2d7b4 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageHelper.java @@ -18,6 +18,7 @@ import android.widget.TextView; import androidx.annotation.StringRes; import androidx.core.content.ContextCompat; +import androidx.core.content.res.ResourcesCompat; import androidx.databinding.DataBindingUtil; import java.util.HashMap; @@ -66,22 +67,22 @@ public class DialogSimpleMessageHelper { switch (type) { case INFO: colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.light_blue_300); - titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_info_78dp); + titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_info_78dp, null); break; case SUCCESS: colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.green_300); - titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_done_white_24dp); + titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_done_white_24dp, null); break; case WARNING: colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.yellow_600); - titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_warning_white_24dp); + titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_warning_white_24dp, null); break; case ERROR: colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.red_300); - titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_mood_bad_24dp); + titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_mood_bad_24dp, null); break; } diff --git a/app/src/main/res/drawable/app_round_icon.xml b/app/src/main/res/drawable/app_round_icon.xml index 193dc28f..943787b8 100644 --- a/app/src/main/res/drawable/app_round_icon.xml +++ b/app/src/main/res/drawable/app_round_icon.xml @@ -1,7 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_dashboard_prod_versamento_merce.xml b/app/src/main/res/drawable/ic_dashboard_prod_versamento_merce.xml index 3a7c00e5..8e3f0070 100644 --- a/app/src/main/res/drawable/ic_dashboard_prod_versamento_merce.xml +++ b/app/src/main/res/drawable/ic_dashboard_prod_versamento_merce.xml @@ -1,6 +1,6 @@ diff --git a/app/src/main/res/layout/accettazione_ordine_inevaso_main_list__group_item.xml b/app/src/main/res/layout/accettazione_ordine_inevaso_main_list__group_item.xml index c2152361..6f4b99bc 100644 --- a/app/src/main/res/layout/accettazione_ordine_inevaso_main_list__group_item.xml +++ b/app/src/main/res/layout/accettazione_ordine_inevaso_main_list__group_item.xml @@ -8,7 +8,7 @@ android:background="@color/full_white"> diff --git a/app/src/main/res/layout/dialog_ask_magazzino_prossimita.xml b/app/src/main/res/layout/dialog_ask_magazzino_prossimita.xml index e66aba68..e54f4be6 100644 --- a/app/src/main/res/layout/dialog_ask_magazzino_prossimita.xml +++ b/app/src/main/res/layout/dialog_ask_magazzino_prossimita.xml @@ -73,21 +73,21 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - + + + + + + - + + + + + + - + - - + - + - + - + @@ -56,18 +57,18 @@ - - - - - - + + + + + + - - - - - + + + + + - + diff --git a/app/src/main/res/layout/dialog_row_info_prod_fabbisogno_linee_prod.xml b/app/src/main/res/layout/dialog_row_info_prod_fabbisogno_linee_prod.xml new file mode 100644 index 00000000..d95d0f2e --- /dev/null +++ b/app/src/main/res/layout/dialog_row_info_prod_fabbisogno_linee_prod.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_ordini_a_pv__list_single_item.xml b/app/src/main/res/layout/fragment_ordini_a_pv__list_single_item.xml index 4b3bad10..99dc168f 100644 --- a/app/src/main/res/layout/fragment_ordini_a_pv__list_single_item.xml +++ b/app/src/main/res/layout/fragment_ordini_a_pv__list_single_item.xml @@ -32,7 +32,7 @@ android:id="@+id/badge1" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="BADGE 1" + tools:text="BADGE 1" android:background="@drawable/badge1_round_corner" android:textColor="@android:color/white" android:paddingTop="2dp" @@ -49,7 +49,6 @@ style="@android:style/TextAppearance.Small" android:layout_marginTop="4dp" android:layout_marginEnd="4dp" - android:layout_toStartOf="@id/compilato_da" android:layout_below="@id/badge1" android:singleLine="true" android:ellipsize="end" diff --git a/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml b/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml index ec3fc9c1..f221198b 100644 --- a/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml +++ b/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml @@ -1,30 +1,33 @@ - + + + + + - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + app:layout_constraintTop_toTopOf="parent"> diff --git a/app/src/main/res/layout/picking_resi_main_list__item.xml b/app/src/main/res/layout/picking_resi_main_list__item.xml index b3bc48ef..b6166418 100644 --- a/app/src/main/res/layout/picking_resi_main_list__item.xml +++ b/app/src/main/res/layout/picking_resi_main_list__item.xml @@ -9,7 +9,7 @@ android:focusable="true"> diff --git a/app/src/main/res/layout/spedizione_main_list__group_item.xml b/app/src/main/res/layout/spedizione_main_list__group_item.xml index 98da03e0..038eb6dd 100644 --- a/app/src/main/res/layout/spedizione_main_list__group_item.xml +++ b/app/src/main/res/layout/spedizione_main_list__group_item.xml @@ -8,14 +8,14 @@ android:layout_height="wrap_content" android:background="@color/full_white"> - - @@ -35,7 +35,7 @@ style="@style/AppTheme.NewMaterial.Text.Small"/> - - - + + + + + + android:layout_alignParentStart="true"> + diff --git a/app/src/main/res/layout/switch_item.xml b/app/src/main/res/layout/switch_item.xml deleted file mode 100644 index ee492c6e..00000000 --- a/app/src/main/res/layout/switch_item.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - diff --git a/app/src/main/res/layout/vendita_ordine_inevaso_main_list_child_group_model.xml b/app/src/main/res/layout/vendita_ordine_inevaso_main_list_child_group_model.xml index d1341fd0..772d9417 100644 --- a/app/src/main/res/layout/vendita_ordine_inevaso_main_list_child_group_model.xml +++ b/app/src/main/res/layout/vendita_ordine_inevaso_main_list_child_group_model.xml @@ -6,7 +6,7 @@ android:background="@color/full_white"> diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 7718f42c..7dc7047e 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -35,6 +35,7 @@ Scansiona il codice a barre di un articolo Prima di procedere apri una nuova UL Articolo extra + Info Info UL diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 37911048..dead80b2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -78,6 +78,7 @@ Close order Show already created LU Insert info about LU TYPE and NET / GROSS weight + Info LU\'s info diff --git a/app/src/main/res/xml/backup_descriptor.xml b/app/src/main/res/xml/backup_descriptor.xml new file mode 100644 index 00000000..6fd6103a --- /dev/null +++ b/app/src/main/res/xml/backup_descriptor.xml @@ -0,0 +1,4 @@ + + + + diff --git a/barcode_kaiteki/build.gradle b/barcode_kaiteki/build.gradle index eb5b4b45..36fe6c65 100644 --- a/barcode_kaiteki/build.gradle +++ b/barcode_kaiteki/build.gradle @@ -11,11 +11,18 @@ android { versionCode 1 versionName "1.1.1" } + compileOptions { kotlinOptions.freeCompilerArgs += ['-module-name', "barcode.kaiteki"] targetCompatibility = JavaVersion.VERSION_1_8 sourceCompatibility = JavaVersion.VERSION_1_8 } + + // For Kotlin projects + kotlinOptions { + jvmTarget = "1.8" + } + buildTypes { release { minifyEnabled false @@ -28,9 +35,9 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - implementation 'androidx.core:core-ktx:1.1.0' + implementation 'androidx.core:core-ktx:1.3.2' implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.constraintlayout:constraintlayout:2.0.2' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'com.google.android.material:material:1.3.0-alpha03' api 'androidx.camera:camera-core:1.0.0-alpha03' diff --git a/build.gradle b/build.gradle index 84da3298..dba44f6d 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { - kotlin_version = '1.4.10' + kotlin_version = '1.4.31' } repositories { @@ -12,11 +12,11 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:4.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.google.gms:google-services:4.3.4' - classpath 'com.google.firebase:perf-plugin:1.3.3' + classpath 'com.google.gms:google-services:4.3.5' + classpath 'com.google.firebase:perf-plugin:1.3.5' // Add the Firebase Crashlytics Gradle plugin. - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0' + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/dynamic__base/build.gradle b/dynamic__base/build.gradle index 98b5b5ba..c8ce5fd2 100644 --- a/dynamic__base/build.gradle +++ b/dynamic__base/build.gradle @@ -1,18 +1,15 @@ apply plugin: 'com.android.dynamic-feature' android { - compileSdkVersion 28 - - + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" - - } + compileOptions { sourceCompatibility = '1.8' targetCompatibility = '1.8' diff --git a/dynamic_frudis/build.gradle b/dynamic_frudis/build.gradle index a6b906ba..d5f89603 100644 --- a/dynamic_frudis/build.gradle +++ b/dynamic_frudis/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.dynamic-feature' android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" diff --git a/dynamic_frudis/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationFRUDIS.java b/dynamic_frudis/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationFRUDIS.java index a1576eb6..a9c9749d 100644 --- a/dynamic_frudis/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationFRUDIS.java +++ b/dynamic_frudis/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationFRUDIS.java @@ -27,7 +27,7 @@ public class MenuConfigurationFRUDIS extends BaseMenuConfiguration { .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) - .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1))) + .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null))) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_free_picking) @@ -61,7 +61,7 @@ public class MenuConfigurationFRUDIS extends BaseMenuConfiguration { .setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_lavorazione) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external) - .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1))) + .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null))) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_prod_versamento_materiale) diff --git a/dynamic_gramm/build.gradle b/dynamic_gramm/build.gradle index 72347fc0..88d9fdcc 100644 --- a/dynamic_gramm/build.gradle +++ b/dynamic_gramm/build.gradle @@ -1,11 +1,11 @@ apply plugin: "com.android.dynamic-feature" android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" diff --git a/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationGRAMM.java b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationGRAMM.java index 4f79143e..06985a55 100644 --- a/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationGRAMM.java +++ b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationGRAMM.java @@ -47,7 +47,7 @@ public class MenuConfigurationGRAMM extends BaseMenuConfiguration { .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) - .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1))) + .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null))) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_free_picking) @@ -80,7 +80,7 @@ public class MenuConfigurationGRAMM extends BaseMenuConfiguration { .setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_lavorazione) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external) - .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1))) + .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null))) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_free_lav_picking) diff --git a/dynamic_ime/build.gradle b/dynamic_ime/build.gradle index 5f4a0803..8735bc50 100644 --- a/dynamic_ime/build.gradle +++ b/dynamic_ime/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.dynamic-feature' android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" diff --git a/dynamic_ime/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationIME.java b/dynamic_ime/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationIME.java index e86e1462..5dd95f1d 100644 --- a/dynamic_ime/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationIME.java +++ b/dynamic_ime/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationIME.java @@ -46,7 +46,7 @@ public class MenuConfigurationIME extends BaseMenuConfiguration { .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) - .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1))) + .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null))) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_free_picking) @@ -79,7 +79,7 @@ public class MenuConfigurationIME extends BaseMenuConfiguration { .setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_lavorazione) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external) - .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1))) + .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null))) ).addGroup( new MenuGroup() .setGroupText(it.integry.integrywmsnative.R.string.internal_handling) diff --git a/dynamic_saporiveri/build.gradle b/dynamic_saporiveri/build.gradle index a6b906ba..d5f89603 100644 --- a/dynamic_saporiveri/build.gradle +++ b/dynamic_saporiveri/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.dynamic-feature' android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" diff --git a/dynamic_saporiveri_pv/build.gradle b/dynamic_saporiveri_pv/build.gradle index a6b906ba..d5f89603 100644 --- a/dynamic_saporiveri_pv/build.gradle +++ b/dynamic_saporiveri_pv/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.dynamic-feature' android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" diff --git a/dynamic_vgalimenti/build.gradle b/dynamic_vgalimenti/build.gradle index fddcb763..1c39f6e6 100644 --- a/dynamic_vgalimenti/build.gradle +++ b/dynamic_vgalimenti/build.gradle @@ -1,10 +1,10 @@ apply plugin: 'com.android.dynamic-feature' android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" } diff --git a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationVG.java b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationVG.java index a928a774..e3d09d39 100644 --- a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationVG.java +++ b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationVG.java @@ -34,7 +34,7 @@ public class MenuConfigurationVG extends BaseMenuConfiguration { .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) - .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1))) + .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null))) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_free_picking) diff --git a/honeywellscannerlibrary/build.gradle b/honeywellscannerlibrary/build.gradle index dd795994..4df057fa 100644 --- a/honeywellscannerlibrary/build.gradle +++ b/honeywellscannerlibrary/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" diff --git a/keyobardemulatorscannerlibrary/build.gradle b/keyobardemulatorscannerlibrary/build.gradle index e2047aa3..0462a7f5 100644 --- a/keyobardemulatorscannerlibrary/build.gradle +++ b/keyobardemulatorscannerlibrary/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" @@ -21,6 +21,10 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } diff --git a/pointmobilescannerlibrary/build.gradle b/pointmobilescannerlibrary/build.gradle index 14e488ca..629e95ea 100644 --- a/pointmobilescannerlibrary/build.gradle +++ b/pointmobilescannerlibrary/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" @@ -21,6 +21,10 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } diff --git a/zebrascannerlibrary/build.gradle b/zebrascannerlibrary/build.gradle index fa093e47..886038c7 100644 --- a/zebrascannerlibrary/build.gradle +++ b/zebrascannerlibrary/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 1 versionName "1.0" @@ -20,6 +20,10 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } }