[FEAT] Aggiunto in Accettazione da produzione il codice commessa affianco al rif ord e relativo filtro per la ricerca
This commit is contained in:
parent
7c03c84307
commit
8ad044a1b1
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
@ -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;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ public class OrdineAccettazioneInevasoDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getNumero() {
|
||||
public Integer getNumero() {
|
||||
return numero;
|
||||
}
|
||||
|
||||
|
||||
@ -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<OrdineAccettazioneInevasoDTO> ordini){
|
||||
mRenderedOrderList.clear();
|
||||
mRenderedOrderList.addAll(ordini);
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
@ -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<OrdineProduzioneListAdapter.SubheaderHolder, OrdineProduzioneListAdapter.SingleItemViewHolder> implements SectionTitleProvider {
|
||||
@ -143,10 +137,14 @@ public class OrdineProduzioneListAdapter extends SectionedRecyclerViewAdapter<Or
|
||||
|
||||
binding.ordineProduzioneMainListGroupClientiComm.setText(cliente.getRifOrd());
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(cliente.getDataConsS())) {
|
||||
binding.ordineProduzioneMainListGroupClientiDatacons.setText(UtilityDate.formatDate(cliente.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH));
|
||||
} else {
|
||||
binding.ordineProduzioneMainListGroupClientiDatacons.setText("");
|
||||
// if (!UtilityString.isNullOrEmpty(cliente.getDataConsS())) {
|
||||
// binding.ordineProduzioneMainListGroupClientiDatacons.setText(UtilityDate.formatDate(cliente.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH));
|
||||
// } else {
|
||||
// binding.ordineProduzioneMainListGroupClientiDatacons.setText("");
|
||||
// }
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(cliente.getCodJcom())) {
|
||||
binding.ordineProduzioneMainListGroupClientiDatacons.setText(cliente.getCodJcom());
|
||||
}
|
||||
|
||||
holder.binding.ordineProduzioneMainListGroupItemContainerClientiOrd.addView(binding.getRoot());
|
||||
@ -0,0 +1,224 @@
|
||||
package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.MultiAutoCompleteTextView;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.annimon.stream.function.Predicate;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.di.BindableString;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.DialogOrdineProduzioneFiltroAvanzatoBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
||||
|
||||
public class DialogOrdineProduzioneFiltroAvanzato {
|
||||
|
||||
|
||||
private AlertDialog currentAlert;
|
||||
private Context currentContext;
|
||||
|
||||
private RunnableArgss<List<OrdineAccettazioneInevasoDTO>, DialogOrdineProduzioneFiltroAvanzatoViewModel> currentOnFilterDone;
|
||||
|
||||
private List<OrdineAccettazioneInevasoDTO> currentOrderList;
|
||||
private List<OrdineAccettazioneInevasoDTO> currentFilteredOrderList;
|
||||
|
||||
|
||||
private ArrayAdapter<String> arrayAdapterNumOrds;
|
||||
private ArrayAdapter<String> arrayAdapterCodJcoms;
|
||||
|
||||
private Predicate<OrdineAccettazioneInevasoDTO> currentNumOrdsPredicate = null;
|
||||
private Predicate<OrdineAccettazioneInevasoDTO> currentCodJcomsPredicate = null;
|
||||
|
||||
|
||||
|
||||
public static AlertDialog make(final Context context,
|
||||
final List<OrdineAccettazioneInevasoDTO> ordersList,
|
||||
DialogOrdineProduzioneFiltroAvanzatoViewModel baseViewModel,
|
||||
RunnableArgss<List<OrdineAccettazioneInevasoDTO>, DialogOrdineProduzioneFiltroAvanzatoViewModel> onDismiss) {
|
||||
return new DialogOrdineProduzioneFiltroAvanzato(context, ordersList, baseViewModel, onDismiss).currentAlert;
|
||||
}
|
||||
|
||||
|
||||
private DialogOrdineProduzioneFiltroAvanzato(final Context context, final List<OrdineAccettazioneInevasoDTO> ordersList, DialogOrdineProduzioneFiltroAvanzatoViewModel baseViewModel, RunnableArgss<List<OrdineAccettazioneInevasoDTO>, 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<Integer> 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<String> 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<String> getAvailableNumOrds(boolean skipRecalc) {
|
||||
if(currentCodJcomsPredicate == null){
|
||||
currentFilteredOrderList = currentOrderList;
|
||||
} else
|
||||
if(!skipRecalc){
|
||||
Stream<OrdineAccettazioneInevasoDTO> 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<String> getAvailableCodJcoms(boolean skipRecalc) {
|
||||
if(currentNumOrdsPredicate == null){
|
||||
currentFilteredOrderList = currentOrderList;
|
||||
} else
|
||||
if(!skipRecalc){
|
||||
Stream<OrdineAccettazioneInevasoDTO> 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<OrdineAccettazioneInevasoDTO> 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();
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
@ -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;
|
||||
@ -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 -> {
|
||||
@ -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;
|
||||
|
||||
@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
<variable
|
||||
name="viewmodel"
|
||||
type="it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzato.DialogOrdineProduzioneFiltroAvanzatoViewModel" />
|
||||
|
||||
</data>
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="12dp"
|
||||
app:cardElevation="0dp">
|
||||
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/title_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/TextViewMaterial.DialogTitle"
|
||||
android:text="@string/dialog_vendita_filtro_avanzato"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_marginBottom="12dp"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/input_num_ords"
|
||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/num_ords">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView
|
||||
android:id="@+id/filled_exposed_dropdown_num_ords"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="number|text"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
app:binding="@{viewmodel.numOrds}"/>
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
|
||||
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/input_cod_jcoms"
|
||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/order_cod_jcoms">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView
|
||||
android:id="@+id/filled_exposed_dropdown_cod_jcoms"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="text"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
app:binding="@{viewmodel.codJcoms}"/>
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:layout_marginTop="8dp">
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/buttons_guideline"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5"/>
|
||||
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/neutral_btn"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Button.PrimaryOutline"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/buttons_guideline"
|
||||
app:strokeColor="@color/colorPrimary"
|
||||
android:text="@string/reset"/>
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/positive_btn"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Button.PrimaryFull"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/buttons_guideline"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:text="@string/confirm"/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
|
||||
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
|
||||
|
||||
</layout>
|
||||
@ -36,11 +36,12 @@
|
||||
android:paddingTop="12dp"
|
||||
android:paddingBottom="12dp">
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="NESSUNA CONNESSIONE DISPONIBILE, RIPROVA"
|
||||
android:textColor="@color/white" />
|
||||
android:textColor="@color/white"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@ -152,7 +153,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/AppTheme.NewMaterial.Text.TextBoxDashboard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@ -170,7 +171,7 @@
|
||||
android:indeterminateDrawable="@drawable/curved_progress_bar" />
|
||||
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/AppTheme.NewMaterial.Text.TextBoxLittleDashboard"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
app:layout_constraintGuide_percent="0.5"/>
|
||||
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/general_dashboard_group_title"
|
||||
style="@style/AppTheme.NewMaterial.Text.TextBoxGroupTitleDashboard"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@ -36,7 +36,8 @@
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/gray_700"
|
||||
android:gravity="center_horizontal"
|
||||
android:textStyle="bold" />
|
||||
android:textStyle="bold"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@ -41,35 +41,48 @@
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_toEndOf="@id/ordine_lavorazione_main_list_group_item_container_checkBox">
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/ordine_lavorazione_main_list_group_item_container_testata_data_cons"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Cons 07 nov 2018"
|
||||
tools:text="Cons 07 nov 2018"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:textColor="#000" />
|
||||
android:textColor="#000"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small" />
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/ordine_lavorazione_main_list_group_item_container_testata_ord"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Ord. Ven. 39 del 27 ott 2017"
|
||||
tools:text="Ord. Ven. 39 del 27 ott 2017"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="#000"
|
||||
android:layout_alignParentStart="true"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_toStartOf="@id/ordine_lavorazione_main_list_group_item_container_testata_data_cons"/>
|
||||
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/ordine_lavorazione_main_list_group_item_container_testata_cod_jcom"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="Cod Jcom"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_below="@id/ordine_lavorazione_main_list_group_item_container_testata_data_cons"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/vendita_main_list_group_item_container_detail_ord"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:paddingEnd="6dp"
|
||||
android:text="TextView"
|
||||
android:layout_below="@+id/ordine_lavorazione_main_list_group_item_container_testata_ord" />
|
||||
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"/>
|
||||
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
@ -36,13 +36,13 @@
|
||||
android:checked="true"
|
||||
android:enabled="false" />
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/ordine_lavorazione_main_list_group_header"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
style="@android:style/TextAppearance.Medium"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
tools:text="NOME GRUPPO"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout>
|
||||
<layout xmlns:tools="http://schemas.android.com/tools">
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/ordine_produzione_main_list_group_clienti_comm"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@ -12,14 +12,16 @@
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:paddingEnd="6dp"
|
||||
android:text="TextView" />
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
tools:text="TextView" />
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/ordine_produzione_main_list_group_clienti_datacons"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_weight="1"
|
||||
android:text="TextView" />
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
tools:text="TextView" />
|
||||
</RelativeLayout>
|
||||
</layout>
|
||||
@ -29,12 +29,13 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toEndOf="@id/ordine_produzione_main_list_group_item_container_checkBox">
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/ordine_produzione_main_list_group_item_container_testata_ord"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Ord. Prod. 39 del 27 ott 2017"
|
||||
android:textColor="#000" />
|
||||
tools:text="Ord. Prod. 39 del 27 ott 2017"
|
||||
android:textColor="#000"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"/>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@ -36,13 +36,13 @@
|
||||
android:checked="true"
|
||||
android:enabled="false" />
|
||||
|
||||
<TextView
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/ordine_produzione_main_list_group_header"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
style="@android:style/TextAppearance.Medium"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
tools:text="NOME GRUPPO"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
<data>
|
||||
<import type="androidx.databinding.ObservableList"/>
|
||||
<variable name="view" type="it.integry.integrywmsnative.gest.prod_ord_produzione.ProdOrdineProduzioneElencoFragment" />
|
||||
<variable name="view" type="it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment" />
|
||||
</data>
|
||||
|
||||
<FrameLayout
|
||||
@ -13,7 +13,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/full_white"
|
||||
tools:context="it.integry.integrywmsnative.gest.prod_ord_produzione.ProdOrdineProduzioneElencoFragment">
|
||||
tools:context="it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@ -1,65 +1,287 @@
|
||||
<html>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<style>
|
||||
@import url('https://fonts.googleapis.com/css?family=Open+Sans');
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<title>*|Mail peppino|*</title>
|
||||
|
||||
body {
|
||||
/*background-color: red;*/
|
||||
font-family: 'Open Sans','Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
<meta property="og:title" content="*|MC:SUBJECT|*">
|
||||
|
||||
<style type="text/css">
|
||||
@import url('https://fonts.googleapis.com/css?family=Open+Sans');
|
||||
|
||||
.ExternalClass {
|
||||
width: 100%;
|
||||
}
|
||||
.ExternalClass,
|
||||
.ExternalClass p,
|
||||
.ExternalClass span,
|
||||
.ExternalClass font,
|
||||
.ExternalClass td,
|
||||
.ExternalClass div {
|
||||
line-height: 100%;
|
||||
}
|
||||
body {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
text-size-adjust: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
table {
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table td {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
img {
|
||||
-ms-interpolation-mode: bicubic;
|
||||
display: block;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: #333333;
|
||||
line-height: 100%;
|
||||
}
|
||||
body,
|
||||
#body_style {
|
||||
width: 100%!important;
|
||||
min-height: 1000px;
|
||||
color: #333333;
|
||||
background: #fff;
|
||||
font-family: 'Open Sans','Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
font-size: 13px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
a {
|
||||
color: #114eb1;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:link {
|
||||
color: #114eb1;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: #183082;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:focus {
|
||||
color: #0066ff!important;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #0066ff!important;
|
||||
}
|
||||
|
||||
a[href^="tel"],
|
||||
a[href^="sms"] {
|
||||
text-decoration: none;
|
||||
color: #333333;
|
||||
pointer-events: none;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.mobile_link a[href^="tel"],
|
||||
.mobile_link a[href^="sms"] {
|
||||
text-decoration: default;
|
||||
color: #6e5c4f!important;
|
||||
pointer-events: auto;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 639px) {
|
||||
.hide {
|
||||
display: none!important;
|
||||
}
|
||||
|
||||
body > div{
|
||||
/*display: table;*/
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
.table {
|
||||
width: 320px!important;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
.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;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="background-color:#FF5252; font-family: 'Open Sans','Segoe UI', Tahoma, Geneva, Verdana, sans-serif;">
|
||||
<body style="width:100%!important;min-height:1000px;color:#333333;background: #fff;font-family: 'Open Sans','Segoe UI', Tahoma, Geneva, Verdana, sans-serif;font-size:13px;line-height:1.4;" alink="#114eb1" link="#114eb1" bgcolor="#e0dbcf" text="#333333">
|
||||
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="http://" style="width:900px; height: 800px;" arcsize="2%" stroke="f" fillcolor="#FFFFFF">
|
||||
<w:anchorlock/>
|
||||
<![endif]-->
|
||||
<div href="http://"
|
||||
style="background-color:#FFFFFF;border-radius:4px;display:inline-block;-webkit-text-size-adjust:none;">
|
||||
<div id="body_style">
|
||||
|
||||
<table cellpadding="0" cellspacing="0" border="0" align="center" style="width:100%!important;margin:0;padding:0;font-family: 'Open Sans';">
|
||||
<tbody>
|
||||
<tr bgcolor="#fff">
|
||||
<td>
|
||||
|
||||
<div id="card" style="margin-left: auto; margin-right: auto; margin: 16px;" >
|
||||
<table width="600" cellpadding="0" cellspacing="0" border="0" align="center" class="table" style="
|
||||
border: solid 1px #d3d3d3;
|
||||
">
|
||||
|
||||
<img style="margin-left: 8px;" src="http://www.integry.it/integry-resources/images/Image/immagini-struttura/integry.png" style="margin-top: 8px;" />
|
||||
<tbody>
|
||||
|
||||
<hr style="color: #95a5a6; margin-top: 14px; margin-bottom: 14px; width: 96%;" size="1" noshade />
|
||||
<tr>
|
||||
<td>
|
||||
<table bgcolor="#fff" width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||
<tbody>
|
||||
<tr style="text-align: center;">
|
||||
|
||||
<td width="100%" style="
|
||||
padding-top: 24px;
|
||||
padding-bottom: 24px;
|
||||
">
|
||||
<center>
|
||||
<img alt="" height="60" src="https://www.integry.it/assets/common/logo/logo_integry_completo_1024w.png" />
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<p style="margin-left: 24px;font-size: 2em;">
|
||||
Attenzione!
|
||||
</p>
|
||||
<p style="margin-left: 24px;">
|
||||
Si è verificato un errore con eccezione <b>#exception_name#</b>.<br />
|
||||
<br /><br />
|
||||
Di seguito lo stacktrace dell'eccezione:<br />
|
||||
<br />
|
||||
<small>#stacktrace#</small>
|
||||
</p><br />
|
||||
<p style="margin-left: 24px;">
|
||||
(#azienda_nome#)
|
||||
</p>
|
||||
</tr>
|
||||
|
||||
<p style="margin-left: 24px; font-size: .75em; color: #7f8c8d;">
|
||||
#current_date#
|
||||
</p>
|
||||
<tr style="
|
||||
background: #319be5;
|
||||
">
|
||||
<td style="
|
||||
padding: 24px;
|
||||
line-height: 1.6;
|
||||
">
|
||||
<span style="
|
||||
color: white;
|
||||
opacity: 0.7;
|
||||
">__APP_NAME__</span>
|
||||
|
||||
<span style="
|
||||
color: white;
|
||||
opacity: 0.7;
|
||||
font-size: 20px;
|
||||
line-height: 0.2;
|
||||
">·</span>
|
||||
<span style="
|
||||
color: white;
|
||||
opacity: 0.7;
|
||||
">__APP_PACKAGE__ v__APP_VERSION__ (__APP_VERSION_CODE__)</span>
|
||||
<br><span style="
|
||||
color: white;
|
||||
font-size: 24px;
|
||||
">Nuova segnalazione (__CUSTOMER_NAME__)</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="
|
||||
background: #ebeff2;
|
||||
">
|
||||
<td style="
|
||||
padding: 32px 0 0px 0;
|
||||
">
|
||||
|
||||
<center style="padding: 0 100px 0 100px;">
|
||||
|
||||
<table>
|
||||
<tbody style="">
|
||||
<tr style="
|
||||
">
|
||||
<td style="
|
||||
padding: 24px;
|
||||
color: white;
|
||||
font-size: 20px;
|
||||
background: #fab301;
|
||||
border-radius: 5px 5px 0 0;
|
||||
">
|
||||
<center>
|
||||
|
||||
<img src="https://www.integry.it/images/exclamation.png" width="80" height="80" />
|
||||
|
||||
<br> Dai forza! È stato riscontrato un problema fatale: __ERROR_TITLE__
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr style="
|
||||
">
|
||||
<td style="
|
||||
padding: 20px 15px;
|
||||
border: solid 1px #d3d3d3;
|
||||
background: white;
|
||||
">
|
||||
<span style="
|
||||
font-weight: bold;
|
||||
">__ERROR_DETAIL__ (__ERROR_DATE__)</span>
|
||||
<pre>__ERROR_STACKTRACE__</pre>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</center>
|
||||
|
||||
<hr style="
|
||||
border: solid 0.5px #d3d3d3;
|
||||
margin-top: 24px;
|
||||
">
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="
|
||||
background: #ebeff2;
|
||||
">
|
||||
<td style="
|
||||
padding: 24px;
|
||||
">
|
||||
<center>
|
||||
<span style="
|
||||
color: #7c7d81;
|
||||
font-size: small;
|
||||
font-weight: bold;
|
||||
">Questa email è solo una notifica riguardo un errore che si è verificatosi in un progetto</span>
|
||||
</center>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!--[if mso]>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -175,6 +175,7 @@
|
||||
<string name="no_supplier_selected">Seleziona un fornitore prima</string>
|
||||
|
||||
<string name="num_ords">Numero ordine</string>
|
||||
<string name="order_cod_jcoms">Commessa</string>
|
||||
<string name="customer">Cliente</string>
|
||||
<string name="recipient">Destinatario</string>
|
||||
<string name="ship_date">Data consegna</string>
|
||||
|
||||
@ -178,6 +178,7 @@
|
||||
|
||||
|
||||
<string name="num_ords">Orders number</string>
|
||||
<string name="order_cod_jcoms">Orders job</string>
|
||||
<string name="customer">Customer</string>
|
||||
<string name="recipient">Recipient</string>
|
||||
<string name="ship_date">Ship date</string>
|
||||
|
||||
@ -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'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user