quero que mostre as consultas mas nao esta a dar

This commit is contained in:
2026-03-23 14:24:24 +00:00
parent d6b75cc25c
commit 2f4d8ca214
579 changed files with 49997 additions and 17278 deletions

View File

@@ -86,7 +86,7 @@ public class AgendaActivity extends AppCompatActivity {
if (doctorId == null) return;
db.collection("consultas")
.whereEqualTo("medicoId", doctorId)
.whereEqualTo("medicos", doctorId)
.addSnapshotListener((value, error) -> {
if (error != null || value == null) return;
List<Consulta> consultasList = new ArrayList<>();

View File

@@ -45,9 +45,9 @@ public class DetalhePacienteActivity extends AppCompatActivity {
consultaId = getIntent().getStringExtra("CONSULTA_ID");
if (pacienteId == null || pacienteId.isEmpty()) {
Toast.makeText(this, "Erro ao carregar dados do paciente.", Toast.LENGTH_SHORT).show();
finish();
return;
Toast.makeText(this, "Aviso: ID do paciente não encontrado, mostrando apenas detalhes disponíveis.", Toast.LENGTH_SHORT).show();
// Do not finish, allow exploring
pacienteId = "unknown";
}
btnChat.setOnClickListener(v -> {

View File

@@ -30,7 +30,7 @@ import java.util.Locale;
public class MainActivity extends AppCompatActivity implements ConsultaAdapter.OnConsultaActionClickListener, ConsultaAdapter.OnConsultaClickListener {
private View viewAgenda, viewPacientes, viewPerfil;
private View viewAgenda, viewPacientes, viewPerfil, layTop;
// Pacientes
private RecyclerView recyclerConsultas;
@@ -81,6 +81,7 @@ public class MainActivity extends AppCompatActivity implements ConsultaAdapter.O
viewAgenda = findViewById(R.id.view_agenda);
viewPacientes = findViewById(R.id.view_pacientes);
viewPerfil = findViewById(R.id.view_perfil);
layTop = findViewById(R.id.lay_top);
tvGreetingMain = findViewById(R.id.tv_greeting_main);
@@ -96,7 +97,7 @@ public class MainActivity extends AppCompatActivity implements ConsultaAdapter.O
textAgendaVazia = findViewById(R.id.text_agenda_vazia);
CalendarView calendarView = findViewById(R.id.calendarView);
recyclerAgenda.setLayoutManager(new LinearLayoutManager(this));
adapterAgenda = new ConsultaAdapter(null, consulta -> {
adapterAgenda = new ConsultaAdapter(this, consulta -> {
Intent intent = new Intent(MainActivity.this, DetalhePacienteActivity.class);
intent.putExtra("PACIENTE_ID", consulta.getPacienteId());
intent.putExtra("CONSULTA_ID", consulta.getId());
@@ -130,9 +131,11 @@ public class MainActivity extends AppCompatActivity implements ConsultaAdapter.O
viewAgenda.setVisibility(View.GONE);
viewPacientes.setVisibility(View.GONE);
viewPerfil.setVisibility(View.GONE);
layTop.setVisibility(View.GONE);
if (item.getItemId() == R.id.nav_agenda) {
viewAgenda.setVisibility(View.VISIBLE);
layTop.setVisibility(View.VISIBLE);
return true;
} else if (item.getItemId() == R.id.nav_pacientes) {
viewPacientes.setVisibility(View.VISIBLE);
@@ -155,6 +158,7 @@ public class MainActivity extends AppCompatActivity implements ConsultaAdapter.O
String selectedDate = String.format(Locale.getDefault(), "%02d/%02d/%d", dayOfMonth, month + 1, year);
loadConsultasAgendaForDate(selectedDate);
});
} catch(Exception e) {
Toast.makeText(this, "Erro Init: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
@@ -163,7 +167,7 @@ public class MainActivity extends AppCompatActivity implements ConsultaAdapter.O
// PACIENTES LOGIC
private void loadConsultasPacientes() {
db.collection("consultas")
.whereEqualTo("medicoId", currentMedicoId)
.whereEqualTo("medicos", currentMedicoId)
.addSnapshotListener((value, error) -> {
if (error != null) return;
List<Consulta> consultas = new ArrayList<>();
@@ -216,17 +220,15 @@ public class MainActivity extends AppCompatActivity implements ConsultaAdapter.O
private void loadConsultasAgendaForDate(String dateStr) {
if(currentMedicoId == null) return;
db.collection("consultas")
.whereEqualTo("medicoId", currentMedicoId)
.whereEqualTo("medicos", currentMedicoId)
.addSnapshotListener((value, error) -> {
if (error != null || value == null) return;
List<Consulta> consultasList = new ArrayList<>();
for (QueryDocumentSnapshot doc : value) {
Consulta c = doc.toObject(Consulta.class);
if (c.getData() != null && (c.getData().equals(dateStr) || c.getData().equals(getAlternativeDate(dateStr)))) {
if (c.getStatus() == null || !"cancelada".equalsIgnoreCase(c.getStatus())) {
c.setId(doc.getId());
consultasList.add(c);
}
if (c.getStatus() == null || !"cancelada".equalsIgnoreCase(c.getStatus())) {
c.setId(doc.getId());
consultasList.add(c);
}
}
adapterAgenda.setConsultas(consultasList);
@@ -263,7 +265,7 @@ public class MainActivity extends AppCompatActivity implements ConsultaAdapter.O
String fetchedName = doc.getString("nome");
tvNome.setText(fetchedName);
if (tvGreetingMain != null && fetchedName != null) {
tvGreetingMain.setText("Olá, " + fetchedName.split(" ")[0]);
tvGreetingMain.setText("Olá, " + fetchedName);
}
tvEmail.setText(doc.getString("email"));
tvEspecialidade.setText("Especialidade: " + doc.getString("especialidade"));

View File

@@ -4,7 +4,7 @@ public class Consulta {
private String id;
private String data;
private String hora;
private String medicoId;
private String medicos;
private String pacienteId;
private String pacienteNome;
private String status;
@@ -17,8 +17,8 @@ public class Consulta {
public void setData(String data) { this.data = data; }
public String getHora() { return hora; }
public void setHora(String hora) { this.hora = hora; }
public String getMedicoId() { return medicoId; }
public void setMedicoId(String medicoId) { this.medicoId = medicoId; }
public String getMedicos() { return medicos; }
public void setMedicos(String medicos) { this.medicos = medicos; }
public String getPacienteId() { return pacienteId; }
public void setPacienteId(String pacienteId) { this.pacienteId = pacienteId; }
public String getPacienteNome() { return pacienteNome; }

View File

@@ -34,7 +34,6 @@ public class LoginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
// Firebase Init
mAuth = FirebaseAuth.getInstance();
@@ -42,9 +41,13 @@ public class LoginActivity extends AppCompatActivity {
// Check if user is already logged in
if (mAuth.getCurrentUser() != null) {
checkIfMedicoAndProceed(mAuth.getCurrentUser().getUid());
startActivity(new Intent(LoginActivity.this, MainActivity.class));
finish();
return;
}
setContentView(R.layout.activity_login);
// UI References
emailEditText = findViewById(R.id.email_edit_text);
passwordEditText = findViewById(R.id.password_edit_text);

View File

@@ -21,7 +21,7 @@
android:id="@+id/tv_greeting_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Olá, Médico"
android:text="Olá"
android:textSize="26sp"
android:textStyle="bold"
android:textColor="?attr/colorPrimary"/>