diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index eb9829d3..8e5603b5 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java index 5d951475..6157c161 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java @@ -37,8 +37,8 @@ import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.gest.login.LoginActivity; import it.integry.integrywmsnative.gest.main.MainFragment; import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment; -import it.integry.integrywmsnative.gest.prod_ord_lavorazione.ProdOrdineLavorazioneElencoFragment; -import it.integry.integrywmsnative.gest.prod_ord_produzione.ProdOrdineProduzioneElencoFragment; +import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.ProdOrdineLavorazioneElencoFragment; +import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment; import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment; import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment; import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment; diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java index 7622df95..8abd1bb0 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java @@ -42,18 +42,28 @@ public class UtilityLogger { String message = UtilityResources.readRawTextFile(R.raw.error_mail); - message = message.replace("#exception_name#", ex.getMessage()); + message = message.replace("__APP_NAME__", UtilityResources.getString(R.string.app_name)); + message = message.replace("__APP_PACKAGE__", UtilityResources.getPackageName()); + + String appVersion = UtilityResources.getAppVersion(); + message = message.replace("__APP_VERSION__", appVersion == null ? "" : appVersion); + message = message.replace("__APP_VERSION_CODE__", "" + UtilityResources.getAppVersionCode()); + + + message = message.replaceAll("__ERROR_TITLE__", ex.getMessage()); + + message = message.replaceAll("__ERROR_DETAIL__", additionalText == null ? "" : additionalText); + StringWriter sw = new StringWriter(); ex.printStackTrace(new PrintWriter(sw)); - if (additionalText != null) sw.append("\n").append(additionalText); - message = message.replace("#stacktrace#", sw.toString()); + message = message.replace("__ERROR_STACKTRACE__", sw.toString()); String currentAzienda = UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB) ? "" : SettingsManager.i().userSession.profileDB; - message = message.replace("#azienda_nome#", currentAzienda); + message = message.replace("__CUSTOMER_NAME__", currentAzienda); - message = message.replace("#current_date#", UtilityDate.formatDate(UtilityDate.getDateInstance(), UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH)); + message = message.replace("__ERROR_DATE__", UtilityDate.formatDate(UtilityDate.getDateInstance(), UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH)); SystemRESTConsumer.sendErrorLogMail(message, onComplete, onFailed); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityResources.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityResources.java index 05743354..bf222acf 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityResources.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityResources.java @@ -1,7 +1,11 @@ package it.integry.integrywmsnative.core.utility; import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; + import androidx.annotation.RawRes; +import androidx.annotation.StringRes; import java.io.BufferedReader; import java.io.IOException; @@ -35,4 +39,34 @@ public class UtilityResources { return text.toString(); } + public static String getString(@StringRes int resId) { + return mContext.getResources().getString(resId); + } + + public static String getPackageName() { + return mContext.getApplicationContext().getPackageName(); + } + + public static String getAppVersion() { + PackageInfo pInfo = null; + try { + pInfo = mContext.getPackageManager().getPackageInfo(getPackageName(), 0); + return pInfo.versionName; + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } + return null; + } + + public static int getAppVersionCode() { + PackageInfo pInfo = null; + try { + pInfo = mContext.getPackageManager().getPackageInfo(getPackageName(), 0); + return pInfo.versionCode; + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } + return 0; + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/dto/OrdineAccettazioneInevasoDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/dto/OrdineAccettazioneInevasoDTO.java index 57b3d6c1..4859eee2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/dto/OrdineAccettazioneInevasoDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/dto/OrdineAccettazioneInevasoDTO.java @@ -57,7 +57,7 @@ public class OrdineAccettazioneInevasoDTO { return this; } - public int getNumero() { + public Integer getNumero() { return numero; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/ProdOrdineProduzioneElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java similarity index 87% rename from app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/ProdOrdineProduzioneElencoFragment.java rename to app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java index 0c073caf..89a51d12 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/ProdOrdineProduzioneElencoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java @@ -1,8 +1,7 @@ -package it.integry.integrywmsnative.gest.prod_ord_produzione; +package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione; import android.app.Dialog; -import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; @@ -26,6 +25,7 @@ import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.interfaces.IFilterableFragment; import it.integry.integrywmsnative.core.rest.CommonRESTException; import it.integry.integrywmsnative.core.data_cache.DataCache; import it.integry.integrywmsnative.core.expansion.RunnableArgs; @@ -36,15 +36,16 @@ import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneElenc import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO; import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO; import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.AccettazioneOrdineInevasoActivity; -import it.integry.integrywmsnative.gest.prod_ord_produzione.core.OrdineProduzioneHelper; -import it.integry.integrywmsnative.gest.prod_ord_produzione.core.OrdineProduzioneListAdapter; +import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.core.OrdineProduzioneHelper; +import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.core.OrdineProduzioneListAdapter; +import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzato; import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; /** * A simple {@link Fragment} subclass. */ -public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITitledFragment, IScrollableFragment { +public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITitledFragment, IScrollableFragment, IFilterableFragment { private Runnable mOnPreDestroy; private ElevatedToolbar mToolbar; @@ -59,6 +60,9 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit private AppCompatTextView mAppBarTitle; + private DialogOrdineProduzioneFiltroAvanzato.DialogOrdineProduzioneFiltroAvanzatoViewModel mAppliedFilterViewModel; + + public ProdOrdineProduzioneElencoFragment() { // Required empty public constructor } @@ -237,4 +241,27 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit } + @Override + public void onFilterClick() { + + + DialogOrdineProduzioneFiltroAvanzato.make(getActivity(), mOriginalOrderList, mAppliedFilterViewModel, (filteredOrderList, filter) -> { + mAppliedFilterViewModel = filter; + + if(filteredOrderList != null){ + + refreshOrdini(filteredOrderList); + refreshRecyclerView(); + } + + }).show(); + } + + + + + public void refreshOrdini(List ordini){ + mRenderedOrderList.clear(); + mRenderedOrderList.addAll(ordini); + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/core/OrdineProduzioneHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/core/OrdineProduzioneHelper.java similarity index 98% rename from app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/core/OrdineProduzioneHelper.java rename to app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/core/OrdineProduzioneHelper.java index 79f77cc6..485da4fa 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/core/OrdineProduzioneHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/core/OrdineProduzioneHelper.java @@ -1,4 +1,4 @@ -package it.integry.integrywmsnative.gest.prod_ord_produzione.core; +package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.core; import android.content.Context; import android.text.TextUtils; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/core/OrdineProduzioneListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/core/OrdineProduzioneListAdapter.java similarity index 91% rename from app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/core/OrdineProduzioneListAdapter.java rename to app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/core/OrdineProduzioneListAdapter.java index bd1336fb..07a2a7c4 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/core/OrdineProduzioneListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/core/OrdineProduzioneListAdapter.java @@ -1,11 +1,10 @@ -package it.integry.integrywmsnative.gest.prod_ord_produzione.core; +package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.core; import android.content.Context; import android.text.Html; import android.view.LayoutInflater; import android.view.ViewGroup; -import androidx.core.content.res.ResourcesCompat; import androidx.databinding.DataBindingUtil; import androidx.databinding.Observable; import androidx.recyclerview.widget.RecyclerView; @@ -16,7 +15,6 @@ import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter; import java.util.List; import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.utility.UtilityDate; @@ -24,11 +22,7 @@ import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneListGroupClientiBinding; import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneListGroupModelBinding; import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneListModelBinding; -import it.integry.integrywmsnative.databinding.VenditaMainListGroupModelBinding; -import it.integry.integrywmsnative.databinding.VenditaMainListModelBinding; import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO; -import it.integry.integrywmsnative.gest.vendita.core.MainListVenditaAdapter; -import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.ui.fastscroll.SectionTitleProvider; public class OrdineProduzioneListAdapter extends SectionedRecyclerViewAdapter implements SectionTitleProvider { @@ -143,10 +137,14 @@ public class OrdineProduzioneListAdapter extends SectionedRecyclerViewAdapter, DialogOrdineProduzioneFiltroAvanzatoViewModel> currentOnFilterDone; + + private List currentOrderList; + private List currentFilteredOrderList; + + + private ArrayAdapter arrayAdapterNumOrds; + private ArrayAdapter arrayAdapterCodJcoms; + + private Predicate currentNumOrdsPredicate = null; + private Predicate currentCodJcomsPredicate = null; + + + + public static AlertDialog make(final Context context, + final List ordersList, + DialogOrdineProduzioneFiltroAvanzatoViewModel baseViewModel, + RunnableArgss, DialogOrdineProduzioneFiltroAvanzatoViewModel> onDismiss) { + return new DialogOrdineProduzioneFiltroAvanzato(context, ordersList, baseViewModel, onDismiss).currentAlert; + } + + + private DialogOrdineProduzioneFiltroAvanzato(final Context context, final List ordersList, DialogOrdineProduzioneFiltroAvanzatoViewModel baseViewModel, RunnableArgss, DialogOrdineProduzioneFiltroAvanzatoViewModel> onDismiss) { + currentContext = context; + currentOrderList = ordersList; + currentOnFilterDone = onDismiss; + + DialogOrdineProduzioneFiltroAvanzatoViewModel viewModel = baseViewModel != null ? baseViewModel : new DialogOrdineProduzioneFiltroAvanzatoViewModel(); + + LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + + DialogOrdineProduzioneFiltroAvanzatoBinding binding = DataBindingUtil.inflate(inflater, R.layout.dialog_ordine_produzione_filtro_avanzato, null, false); + + final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context) + .setView(binding.getRoot()); + + binding.setViewmodel(viewModel); + initViewModelNew(viewModel, binding); + initView(binding, viewModel); + + currentAlert = alertDialog.create(); + currentAlert.setCanceledOnTouchOutside(false); + + currentAlert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); + currentAlert.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + + binding.positiveBtn.setOnClickListener(view -> { + currentAlert.dismiss(); + }); + + binding.neutralBtn.setOnClickListener(view -> { + resetAll(viewModel); + }); + + + currentAlert.setOnDismissListener(dialogInterface -> { + if(currentOnFilterDone != null) currentOnFilterDone.run(currentFilteredOrderList, viewModel); + }); + + refreshList(); + + } + + private void resetAll(DialogOrdineProduzioneFiltroAvanzatoViewModel viewModel) { + viewModel.numOrds.set(null); + viewModel.codJcoms.set(null); + } + + private void initView(DialogOrdineProduzioneFiltroAvanzatoBinding bindings, DialogOrdineProduzioneFiltroAvanzatoViewModel viewModel) { + + arrayAdapterNumOrds = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item); + arrayAdapterNumOrds.addAll(getAvailableNumOrds(false)); + bindings.filledExposedDropdownNumOrds.setAdapter(arrayAdapterNumOrds); + bindings.filledExposedDropdownNumOrds.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); + + arrayAdapterCodJcoms = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item); + arrayAdapterCodJcoms.addAll(getAvailableCodJcoms(false)); + bindings.filledExposedDropdownCodJcoms.setAdapter(arrayAdapterCodJcoms); + bindings.filledExposedDropdownCodJcoms.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); + + + viewModel.numOrds.refresh(); + } + + + private void initViewModelNew(DialogOrdineProduzioneFiltroAvanzatoViewModel viewModel, DialogOrdineProduzioneFiltroAvanzatoBinding bindings) { + + + BindableString.registerListener(viewModel.numOrds, value -> { + if(UtilityString.isNullOrEmpty(value)) currentNumOrdsPredicate = null; + else { + String[] numOrdsSplitted = value.split("[,\\ ]"); + + try{ + List numOrdsInteger = Stream.of(numOrdsSplitted) + .filter(x -> !UtilityString.isNullOrEmpty(x)) + .map(Integer::parseInt).toList(); + + currentNumOrdsPredicate = o -> numOrdsInteger.contains(o.getNumero()); + } catch (NumberFormatException ex) { + currentNumOrdsPredicate = null; + } + } + + refreshList(); + + arrayAdapterCodJcoms.clear(); + arrayAdapterCodJcoms.addAll(getAvailableCodJcoms(true)); + }); + + + BindableString.registerListener(viewModel.codJcoms, value -> { + if(UtilityString.isNullOrEmpty(value)) currentCodJcomsPredicate = null; + else { + String[] codJcomsSplitted = value.split("[,\\ ]"); + + try{ + List codJcoms = Stream.of(codJcomsSplitted) + .filter(x -> !UtilityString.isNullOrEmpty(x)).toList(); + + currentCodJcomsPredicate = o -> codJcoms.contains(o.getCodJcom()); + } catch (NumberFormatException ex) { + currentCodJcomsPredicate = null; + } + } + + refreshList(); + + arrayAdapterNumOrds.clear(); + arrayAdapterNumOrds.addAll(getAvailableNumOrds(true)); + }); + + + + } + + + private List getAvailableNumOrds(boolean skipRecalc) { + if(currentCodJcomsPredicate == null){ + currentFilteredOrderList = currentOrderList; + } else + if(!skipRecalc){ + Stream tmpStream = Stream.of(currentOrderList) + .filter(x -> + (currentCodJcomsPredicate == null || (currentCodJcomsPredicate.test(x))) + ); + + currentFilteredOrderList = tmpStream.toList(); + } + + return Stream.of(currentFilteredOrderList).map(x -> x.getNumero().toString()).distinct().withoutNulls().toList(); + } + + + private List getAvailableCodJcoms(boolean skipRecalc) { + if(currentNumOrdsPredicate == null){ + currentFilteredOrderList = currentOrderList; + } else + if(!skipRecalc){ + Stream tmpStream = Stream.of(currentOrderList) + .filter(x -> + (currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) + ); + + currentFilteredOrderList = tmpStream.toList(); + } + + return Stream.of(currentFilteredOrderList).map(OrdineAccettazioneInevasoDTO::getCodJcom).distinct().withoutNulls().toList(); + } + + + private void refreshList() { + + if (currentNumOrdsPredicate == null && currentCodJcomsPredicate == null) { + currentFilteredOrderList = currentOrderList; + } else { + Stream tmpStream = Stream.of(currentOrderList) + .filter(x -> + (currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) && + (currentCodJcomsPredicate == null || (currentCodJcomsPredicate.test(x))) + ); + + currentFilteredOrderList = tmpStream.toList(); + } + } + + public class DialogOrdineProduzioneFiltroAvanzatoViewModel { + + public BindableString numOrds = new BindableString(); + public BindableString codJcoms = new BindableString(); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java similarity index 97% rename from app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java rename to app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java index 0e5a9d1d..858e3042 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java @@ -1,8 +1,7 @@ -package it.integry.integrywmsnative.gest.prod_ord_lavorazione; +package it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione; import android.app.Dialog; -import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; @@ -36,8 +35,8 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityToast; import it.integry.integrywmsnative.databinding.FragmentProdOrdineLavorazioneElencoBinding; -import it.integry.integrywmsnative.gest.prod_ord_lavorazione.core.ProdOrdineLavorazioneHelper; -import it.integry.integrywmsnative.gest.prod_ord_lavorazione.core.ProdOrdineLavorazioneListAdapter; +import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdineLavorazioneHelper; +import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdineLavorazioneListAdapter; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java similarity index 99% rename from app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java rename to app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java index 5c44d1f2..d41ce461 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java @@ -1,4 +1,4 @@ -package it.integry.integrywmsnative.gest.prod_ord_lavorazione.core; +package it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core; import android.content.Context; import android.text.TextUtils; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/core/ProdOrdineLavorazioneListAdapter.java similarity index 94% rename from app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneListAdapter.java rename to app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/core/ProdOrdineLavorazioneListAdapter.java index 54bda350..20dfd3b6 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/core/ProdOrdineLavorazioneListAdapter.java @@ -1,11 +1,10 @@ -package it.integry.integrywmsnative.gest.prod_ord_lavorazione.core; +package it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core; import android.content.Context; import android.text.Html; import android.view.LayoutInflater; import android.view.ViewGroup; -import androidx.core.content.res.ResourcesCompat; import androidx.databinding.DataBindingUtil; import androidx.databinding.Observable; import androidx.recyclerview.widget.RecyclerView; @@ -19,12 +18,9 @@ import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.utility.UtilityDate; +import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.FragmentProdOrdineLavorazioneListGroupModelBinding; import it.integry.integrywmsnative.databinding.FragmentProdOrdineLavorazioneListModelBinding; -import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneListModelBinding; -import it.integry.integrywmsnative.databinding.VenditaMainListGroupModelBinding; -import it.integry.integrywmsnative.databinding.VenditaMainListModelBinding; -import it.integry.integrywmsnative.gest.vendita.core.MainListVenditaAdapter; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.ui.fastscroll.SectionTitleProvider; @@ -128,6 +124,10 @@ public class ProdOrdineLavorazioneListAdapter extends SectionedRecyclerViewAdapt holder.binding.venditaMainListGroupItemContainerDetailOrd.setText(ordine.getRifOrd()); + if(!UtilityString.isNullOrEmpty(ordine.getCodJcom())) { +// holder.binding.ordineLavorazioneMainListGroupItemContainerTestataCodJcom.setText(ordine.getCodJcom()); + } + holder.binding.setCheckboxValue(ordine.selected); holder.binding.getRoot().setOnClickListener(v -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java index f905969e..6f05b426 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/dialogs/DialogVenditaFiltroAvanzato.java @@ -204,6 +204,7 @@ public class DialogVenditaFiltroAvanzato { } + private void initViewModelNew(DialogVenditaFiltroAvanzatoViewModel viewModel, DialogVenditaFiltroAvanzatoBinding bindings) { BindableString.registerListener(viewModel.idViaggio, value -> { if(UtilityString.isNullOrEmpty(value)) currentIdViaggioPredicate = null; diff --git a/app/src/main/res/layout/dialog_ordine_produzione_filtro_avanzato.xml b/app/src/main/res/layout/dialog_ordine_produzione_filtro_avanzato.xml new file mode 100644 index 00000000..a2357605 --- /dev/null +++ b/app/src/main/res/layout/dialog_ordine_produzione_filtro_avanzato.xml @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml index ce43d816..042748b4 100644 --- a/app/src/main/res/layout/fragment_main.xml +++ b/app/src/main/res/layout/fragment_main.xml @@ -36,11 +36,12 @@ android:paddingTop="12dp" android:paddingBottom="12dp"> - + android:textColor="@color/white" + style="@style/AppTheme.NewMaterial.Text.Small"/> @@ -152,7 +153,7 @@ android:layout_height="wrap_content" android:orientation="vertical"> - - - + android:textStyle="bold" + style="@style/AppTheme.NewMaterial.Text.Small"/> diff --git a/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_group_model.xml b/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_group_model.xml index 7984e941..65b6cd74 100644 --- a/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_group_model.xml +++ b/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_group_model.xml @@ -41,35 +41,48 @@ android:layout_alignParentEnd="true" android:layout_toEndOf="@id/ordine_lavorazione_main_list_group_item_container_checkBox"> - + android:textColor="#000" + style="@style/AppTheme.NewMaterial.Text.Small" /> - - + + + tools:text="TextView" + style="@style/AppTheme.NewMaterial.Text.Small" + android:layout_below="@+id/ordine_lavorazione_main_list_group_item_container_testata_ord" + android:layout_toStartOf="@id/ordine_lavorazione_main_list_group_item_container_testata_cod_jcom"/> diff --git a/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_model.xml b/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_model.xml index 8f909427..be1e852b 100644 --- a/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_model.xml +++ b/app/src/main/res/layout/fragment_prod_ordine_lavorazione__list_model.xml @@ -36,13 +36,13 @@ android:checked="true" android:enabled="false" /> - diff --git a/app/src/main/res/layout/fragment_prod_ordine_produzione__list_group_clienti.xml b/app/src/main/res/layout/fragment_prod_ordine_produzione__list_group_clienti.xml index 7bf0a50c..5db2422d 100644 --- a/app/src/main/res/layout/fragment_prod_ordine_produzione__list_group_clienti.xml +++ b/app/src/main/res/layout/fragment_prod_ordine_produzione__list_group_clienti.xml @@ -1,10 +1,10 @@ - + - + style="@style/AppTheme.NewMaterial.Text.Small" + tools:text="TextView" /> - + style="@style/AppTheme.NewMaterial.Text.Small" + tools:text="TextView" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_prod_ordine_produzione__list_group_model.xml b/app/src/main/res/layout/fragment_prod_ordine_produzione__list_group_model.xml index ad62dfd5..bb58f3e2 100644 --- a/app/src/main/res/layout/fragment_prod_ordine_produzione__list_group_model.xml +++ b/app/src/main/res/layout/fragment_prod_ordine_produzione__list_group_model.xml @@ -29,12 +29,13 @@ android:layout_height="wrap_content" android:layout_toEndOf="@id/ordine_produzione_main_list_group_item_container_checkBox"> - + tools:text="Ord. Prod. 39 del 27 ott 2017" + android:textColor="#000" + style="@style/AppTheme.NewMaterial.Text.Small"/> - diff --git a/app/src/main/res/layout/fragment_prod_ordine_produzione_elenco.xml b/app/src/main/res/layout/fragment_prod_ordine_produzione_elenco.xml index 65baaedb..733cf4c7 100644 --- a/app/src/main/res/layout/fragment_prod_ordine_produzione_elenco.xml +++ b/app/src/main/res/layout/fragment_prod_ordine_produzione_elenco.xml @@ -4,7 +4,7 @@ - + + tools:context="it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment"> + + + - + .innertable { + width: 280px!important; + } + .heroimage { + width: 280px!important; + height: 100px!important; + } + .shadow { + width: 280px!important; + height: 4px!important; + } + .collapse-cell { + width: 320px!important; + } + .social-media img { + float: left!important; + margin: 0 1em 0 0 important; + } + } + - + - -
+
+ + + + + + +
-
+ - + -
+ + -

- Attenzione! -

-

- Si è verificato un errore con eccezione #exception_name#.
-

- Di seguito lo stacktrace dell'eccezione:
-
- #stacktrace# -


-

- (#azienda_nome#) -

+ -

- #current_date# -

+ + + + + + + + + + + +
+ + + + + + +
+
+ +
+
+
+ __APP_NAME__ + + ยท + __APP_PACKAGE__ v__APP_VERSION__ (__APP_VERSION_CODE__) +
Nuova segnalazione (__CUSTOMER_NAME__) +
+ +
+ + + + + + + + + + + + +
+
+ + + +
Dai forza! È stato riscontrato un problema fatale: __ERROR_TITLE__ +
+
+ __ERROR_DETAIL__ (__ERROR_DATE__) +
__ERROR_STACKTRACE__
+
+ +
+ +
+
+
+ Questa email è solo una notifica riguardo un errore che si è verificatosi in un progetto +
+ +
+
-
- + \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 696c3575..96028f11 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -175,6 +175,7 @@ Seleziona un fornitore prima Numero ordine + Commessa Cliente Destinatario Data consegna diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 156397c9..18d9559a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -178,6 +178,7 @@ Orders number + Orders job Customer Recipient Ship date diff --git a/build.gradle b/build.gradle index acd5b390..9ceb8929 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.5.0' + classpath 'com.android.tools.build:gradle:3.5.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.gms:google-services:4.2.0' classpath 'com.google.firebase:perf-plugin:1.2.1'