This commit is contained in:
2026-04-30 17:56:08 +01:00
parent dd8a80ca2e
commit 6f16f635e5
4 changed files with 34 additions and 22 deletions

View File

@@ -75,17 +75,20 @@ public class DetalhesReservasActivity extends AppCompatActivity {
private void loadReservas() {
databaseReference = com.google.firebase.database.FirebaseDatabase.getInstance().getReference("reservas");
databaseReference.orderByChild("restauranteEmail").equalTo(restaurantEmail)
.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
databaseReference.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
@Override
public void onDataChange(
@androidx.annotation.NonNull com.google.firebase.database.DataSnapshot snapshot) {
reservas.clear();
String targetEmail = restaurantEmail != null ? restaurantEmail.trim() : "";
for (com.google.firebase.database.DataSnapshot data : snapshot.getChildren()) {
com.example.pap_teste.models.Reserva r = data
.getValue(com.example.pap_teste.models.Reserva.class);
if (r != null && r.getEstado() != null && !"Arquivada".equals(r.getEstado())) {
reservas.add(r);
String rEmail = r.getRestauranteEmail();
if (rEmail != null && rEmail.trim().equalsIgnoreCase(targetEmail)) {
reservas.add(r);
}
}
}
refreshList();

View File

@@ -112,13 +112,14 @@ public class EstablishmentDashboardActivity extends AppCompatActivity {
}
}
final String targetEmail = email != null ? email.trim() : "";
java.util.Calendar cal = java.util.Calendar.getInstance();
String todayDate = cal.get(java.util.Calendar.DAY_OF_MONTH) + "/" +
(cal.get(java.util.Calendar.MONTH) + 1) + "/" +
cal.get(java.util.Calendar.YEAR);
com.google.firebase.database.FirebaseDatabase.getInstance().getReference("reservas")
.orderByChild("restauranteEmail").equalTo(email)
.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
@Override
public void onDataChange(@androidx.annotation.NonNull com.google.firebase.database.DataSnapshot snapshot) {
@@ -128,8 +129,11 @@ public class EstablishmentDashboardActivity extends AppCompatActivity {
for (com.google.firebase.database.DataSnapshot ds : snapshot.getChildren()) {
com.example.pap_teste.models.Reserva r = ds.getValue(com.example.pap_teste.models.Reserva.class);
if (r != null && r.getEstado() != null && (r.getEstado().startsWith("Confirmada") || r.getEstado().equals("Concluída")) && todayDate.equals(r.getData())) {
found = true;
addReservaView(llProximasReservas, r);
String rEmail = r.getRestauranteEmail();
if (rEmail != null && rEmail.trim().equalsIgnoreCase(targetEmail)) {
found = true;
addReservaView(llProximasReservas, r);
}
}
}
@@ -189,7 +193,7 @@ public class EstablishmentDashboardActivity extends AppCompatActivity {
return;
}
}
final String finalEmail = email;
final String finalEmail = email != null ? email.trim() : "";
java.util.Calendar cal = java.util.Calendar.getInstance();
String todayDate = cal.get(java.util.Calendar.DAY_OF_MONTH) + "/" +
@@ -197,19 +201,20 @@ public class EstablishmentDashboardActivity extends AppCompatActivity {
cal.get(java.util.Calendar.YEAR);
com.google.firebase.database.DatabaseReference refReservas = com.google.firebase.database.FirebaseDatabase.getInstance().getReference("reservas");
refReservas.orderByChild("restauranteEmail").equalTo(finalEmail)
.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
refReservas.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
@Override
public void onDataChange(@androidx.annotation.NonNull com.google.firebase.database.DataSnapshot snapshot) {
int reservasHoje = 0;
int listaEspera = 0;
for (com.google.firebase.database.DataSnapshot ds : snapshot.getChildren()) {
com.example.pap_teste.models.Reserva r = ds.getValue(com.example.pap_teste.models.Reserva.class);
if (r != null && r.getEstado() != null) {
if ((r.getEstado().startsWith("Confirmada") || r.getEstado().equals("Concluída") || r.getEstado().equals("Arquivada")) && todayDate.equals(r.getData())) {
reservasHoje++;
} else if ("Pendente".equals(r.getEstado())) {
listaEspera++;
if (r != null && r.getRestauranteEmail() != null && r.getRestauranteEmail().trim().equalsIgnoreCase(finalEmail)) {
if (r.getEstado() != null) {
if ((r.getEstado().startsWith("Confirmada") || r.getEstado().equals("Concluída") || r.getEstado().equals("Arquivada")) && todayDate.equals(r.getData())) {
reservasHoje++;
} else if ("Pendente".equals(r.getEstado())) {
listaEspera++;
}
}
}
}
@@ -229,7 +234,7 @@ public class EstablishmentDashboardActivity extends AppCompatActivity {
int mesasLivres = 0;
for (com.google.firebase.database.DataSnapshot ds : snapshot.getChildren()) {
com.example.pap_teste.models.Mesa mesa = ds.getValue(com.example.pap_teste.models.Mesa.class);
if (mesa != null && finalEmail.equals(mesa.getRestauranteEmail())) {
if (mesa != null && mesa.getRestauranteEmail() != null && mesa.getRestauranteEmail().trim().equalsIgnoreCase(finalEmail)) {
if ("Livre".equalsIgnoreCase(mesa.getEstado())) {
mesasLivres++;
}

View File

@@ -211,15 +211,18 @@ public class ListaEsperaActivity extends AppCompatActivity {
private void loadReservasPendentes() {
databaseReference = FirebaseDatabase.getInstance().getReference("reservas");
databaseReference.orderByChild("restauranteEmail").equalTo(restaurantEmail)
.addValueEventListener(new ValueEventListener() {
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@androidx.annotation.NonNull DataSnapshot snapshot) {
reservasPendentes.clear();
String targetEmail = restaurantEmail != null ? restaurantEmail.trim() : "";
for (DataSnapshot data : snapshot.getChildren()) {
Reserva r = data.getValue(Reserva.class);
if (r != null && "Pendente".equals(r.getEstado())) {
reservasPendentes.add(r);
String rEmail = r.getRestauranteEmail();
if (rEmail != null && rEmail.trim().equalsIgnoreCase(targetEmail)) {
reservasPendentes.add(r);
}
}
}
refreshList();

View File

@@ -213,7 +213,7 @@ public class NovaReservaActivity extends AppCompatActivity {
int totalMesas = 0;
for (com.google.firebase.database.DataSnapshot ds : snapshot.getChildren()) {
com.example.pap_teste.models.Mesa m = ds.getValue(com.example.pap_teste.models.Mesa.class);
if (m != null && restEmail.equals(m.getRestauranteEmail())) {
if (m != null && m.getRestauranteEmail() != null && restEmail.trim().equalsIgnoreCase(m.getRestauranteEmail().trim())) {
totalMesas++;
}
}
@@ -238,8 +238,7 @@ public class NovaReservaActivity extends AppCompatActivity {
com.google.firebase.database.DatabaseReference reservasRef = com.google.firebase.database.FirebaseDatabase
.getInstance().getReference("reservas");
reservasRef.orderByChild("restauranteEmail").equalTo(restEmail)
.addListenerForSingleValueEvent(new com.google.firebase.database.ValueEventListener() {
reservasRef.addListenerForSingleValueEvent(new com.google.firebase.database.ValueEventListener() {
@Override
public void onDataChange(
@androidx.annotation.NonNull com.google.firebase.database.DataSnapshot snapshot) {
@@ -249,7 +248,9 @@ public class NovaReservaActivity extends AppCompatActivity {
for (com.google.firebase.database.DataSnapshot ds : snapshot.getChildren()) {
com.example.pap_teste.models.Reserva r = ds
.getValue(com.example.pap_teste.models.Reserva.class);
if (r != null && selectedDate.equals(r.getData()) && !"Cancelada".equals(r.getEstado())
if (r != null && r.getRestauranteEmail() != null &&
r.getRestauranteEmail().trim().equalsIgnoreCase(restEmail.trim()) &&
selectedDate.equals(r.getData()) && !"Cancelada".equals(r.getEstado())
&& !"Recusada".equals(r.getEstado())) {
int count = ocupacaoPorHora.getOrDefault(r.getHora(), 0) + 1;
ocupacaoPorHora.put(r.getHora(), count);