quero que mostre as consultas mas nao esta a dar
This commit is contained in:
@@ -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<>();
|
||||
|
||||
@@ -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 -> {
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
Reference in New Issue
Block a user