faturas
This commit is contained in:
@@ -1,37 +0,0 @@
|
||||
package com.example.lifegrid.menu;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.example.lifegrid.R;
|
||||
|
||||
/**
|
||||
* DocumentosFragment é a área orientada ao scan, compilação de faturas e arquivo seguro.
|
||||
* Foca-se unicamente nas componentes não contabéis mas sim em anotações em anexo faturado.
|
||||
*/
|
||||
public class DocumentosFragment extends Fragment {
|
||||
|
||||
public DocumentosFragment() {
|
||||
// Construtor público vazio obrigatório
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
// Inflaciona o layout para este fragmento
|
||||
View root = inflater.inflate(R.layout.fragment_documentos, container, false);
|
||||
|
||||
|
||||
return root;
|
||||
}
|
||||
}
|
||||
@@ -50,9 +50,12 @@ public class TransacoesFragment extends Fragment {
|
||||
private RecyclerView rvTransacoes;
|
||||
private TransacaoAdapter transacaoAdapter;
|
||||
private List<Transacao> transacoesList;
|
||||
private List<Transacao> allTransacoesList;
|
||||
private TextView tvEmptyState;
|
||||
private DatabaseReference databaseReference;
|
||||
private String userId;
|
||||
private int currentMes = -1;
|
||||
private String currentAno = "";
|
||||
|
||||
public TransacoesFragment() {
|
||||
// Construtor público vazio obrigatório
|
||||
@@ -65,6 +68,14 @@ public class TransacoesFragment extends Fragment {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (getActivity() instanceof com.example.lifegrid.TelaInicialActivity) {
|
||||
((com.example.lifegrid.TelaInicialActivity) getActivity()).atualizarDadosHome();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
@@ -88,6 +99,7 @@ public class TransacoesFragment extends Fragment {
|
||||
|
||||
rvTransacoes.setLayoutManager(new LinearLayoutManager(requireContext()));
|
||||
transacoesList = new ArrayList<>();
|
||||
allTransacoesList = new ArrayList<>();
|
||||
|
||||
transacaoAdapter = new TransacaoAdapter(transacoesList, transacao -> {
|
||||
new AlertDialog.Builder(requireContext())
|
||||
@@ -119,23 +131,15 @@ public class TransacoesFragment extends Fragment {
|
||||
databaseReference.child("users").child(userId).child("transacoes").addValueEventListener(new ValueEventListener() {
|
||||
@Override
|
||||
public void onDataChange(@NonNull DataSnapshot snapshot) {
|
||||
transacoesList.clear();
|
||||
allTransacoesList.clear();
|
||||
for (DataSnapshot ds : snapshot.getChildren()) {
|
||||
Transacao t = ds.getValue(Transacao.class);
|
||||
if (t != null) {
|
||||
t.setId(ds.getKey());
|
||||
transacoesList.add(t);
|
||||
allTransacoesList.add(t);
|
||||
}
|
||||
}
|
||||
transacaoAdapter.notifyDataSetChanged();
|
||||
|
||||
if (transacoesList.isEmpty()) {
|
||||
tvEmptyState.setVisibility(View.VISIBLE);
|
||||
rvTransacoes.setVisibility(View.GONE);
|
||||
} else {
|
||||
tvEmptyState.setVisibility(View.GONE);
|
||||
rvTransacoes.setVisibility(View.VISIBLE);
|
||||
}
|
||||
aplicarFiltro();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -145,6 +149,61 @@ public class TransacoesFragment extends Fragment {
|
||||
});
|
||||
}
|
||||
|
||||
private void aplicarFiltro() {
|
||||
transacoesList.clear();
|
||||
for (Transacao t : allTransacoesList) {
|
||||
if (currentMes != -1 && !currentAno.isEmpty() && t.getData() != null) {
|
||||
String[] parts = t.getData().split("/");
|
||||
if (parts.length == 3) {
|
||||
try {
|
||||
int mesTransacao = Integer.parseInt(parts[1]);
|
||||
String anoTransacao = parts[2];
|
||||
if (mesTransacao == currentMes && anoTransacao.equals(currentAno)) {
|
||||
transacoesList.add(t);
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
transacoesList.add(t);
|
||||
}
|
||||
}
|
||||
|
||||
java.util.Collections.sort(transacoesList, new java.util.Comparator<Transacao>() {
|
||||
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy", java.util.Locale.getDefault());
|
||||
@Override
|
||||
public int compare(Transacao t1, Transacao t2) {
|
||||
try {
|
||||
java.util.Date d1 = sdf.parse(t1.getData());
|
||||
java.util.Date d2 = sdf.parse(t2.getData());
|
||||
if (d1 != null && d2 != null) {
|
||||
return d2.compareTo(d1); // Ordem decrescente (mais recentes no topo)
|
||||
}
|
||||
} catch (java.text.ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
|
||||
transacaoAdapter.notifyDataSetChanged();
|
||||
|
||||
if (transacoesList.isEmpty()) {
|
||||
tvEmptyState.setVisibility(View.VISIBLE);
|
||||
rvTransacoes.setVisibility(View.GONE);
|
||||
} else {
|
||||
tvEmptyState.setVisibility(View.GONE);
|
||||
rvTransacoes.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
public void setFiltro(int mesSelecionado, String anoSelecionado) {
|
||||
this.currentMes = mesSelecionado;
|
||||
this.currentAno = anoSelecionado;
|
||||
aplicarFiltro();
|
||||
}
|
||||
|
||||
public void showNovaTransacaoDialog() {
|
||||
showNovaTransacaoDialog(0.0, "", "", "");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user