package clinica;
import javax.swing.JOptionPane;
public class doctor {
public static void main(String[] args) {}
private String id;
private String nombre;
private String apellidos;
private String especialidad;
public doctor(String id, String nombre, String apellidos, String especialidad) {
this.id = id;
this.nombre = nombre;
this.apellidos = apellidos;
this.especialidad = especialidad;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellidos() {
return apellidos;
}
public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}
public String getEspecialidad() {
return especialidad;
}
public void setEspecialidad(String especialidad) {
this.especialidad = especialidad;
}
/**
* Muestra por panel todos los datos del doctor
*/
public void mostrar() {
String mensaje = "ID doctor: " + id + "\nNombre: " + nombre
+ "\nApellidos: " + apellidos + "\nEspecialidad: " + especialidad;
JOptionPane.showMessageDialog(null, mensaje, "Mostrar doctor", JOptionPane.INFORMATION_MESSAGE);
}
}
package clinica;
import javax.swing.JOptionPane;
public class Doctor {
public static void main(String[] args) {}
private String id;
private String nombre;
private String apellidos;
private String especialidad;
public Doctor(String id, String nombre, String apellidos, String especialidad) {
this.id = id;
this.nombre = nombre;
this.apellidos = apellidos;
this.especialidad = especialidad;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellidos() {
return apellidos;
}
public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}
public String getEspecialidad() {
return especialidad;
}
public void setEspecialidad(String especialidad) {
this.especialidad = especialidad;
}
/**
* Muestra por panel todos los datos del doctor
*/
public void mostrar() {
String mensaje = "ID doctor: " + id + "\nNombre: " + nombre
+ "\nApellidos: " + apellidos + "\nEspecialidad: " + especialidad;
JOptionPane.showMessageDialog(null, mensaje, "Mostrar doctor", JOptionPane.INFORMATION_MESSAGE);
}
}
package clinica;
public final class TestClinica {
static GestorPacientes pacientes = new GestorPacientes();
public static void main(String[] args) {
pacientes.nuevoPaciente();
pacientes.nuevoPaciente();
pacientes.mostrarPacientes();
pacientes.modificarPaciente();
pacientes.mostrarPacientes();
pacientes.borrarPaciente();
pacientes.mostrarPacientes();
}
}
tambien podrias ayudarme con el codigo Tener control de acceso mediante administradores: solo ciertos usuarios podrán acceder al sistema mediante un identificador y una contraseña.
public class Administrador {
private String nombre;
private String password;
public Administrador(String nom, String pass) {
nombre = nom;
password = pass;
}
@Override
public boolean equals(Object objeto) {
if (objeto instanceof Administrador) { //Objeto si es clase Administrador
//Casteamos objeto a Administrador
Administrador otroAdmin = (Administrador)objeto;
//Comparamos si coinciden nombre y password
if (nombre.equals(otroAdmin.nombre) && password.equals(otroAdmin.password))
return true; //Coinciden ambos, los objetos representan al mismo Administrador
else
return false;//Nombre o contraseña no coinciden, son Administradores diferentes.
}
else //Objeto a comparar no es de clase Administrador
return false;
}
}public class Clinica {
private static ArrayList<Administrador> administradores = new ArrayList<Administrador>();
private static Scanner teclado = new Scanner(System.in);
public static void main(String[] args) {
crearAdmins();
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
//Comienza el programa
//...
//...
//...
//...
}
else
System.out.println("\nUsuario no autorizado.");
System.out.println("\n\t\tFIN DE PROGRAMA");
}
private static void crearAdmins() {
administradores.add(new Administrador("Kabuto", "1234"));
administradores.add(new Administrador("jonatthan23", "5678"));
administradores.add(new Administrador("Ogramar", "0000"));
}
private static boolean validarAcceso( ) {
System.out.println("ACCESO AL SISTEMA");
System.out.println("------ -- -------\n");
System.out.print("Nombre: ");
String nombre = teclado.nextLine();
System.out.print("Password: ");
String password = teclado.nextLine();
Administrador admin = new Administrador(nombre, password);
return administradores.contains(admin);
}
}package clinica;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public final class TestClinica {
private static ArrayList<Administrador> administradores = new ArrayList<Administrador>();
private static Scanner teclado = new Scanner(System.in);
static GestorPacientes pacientes = new GestorPacientes();
static GestorCita citas = new GestorCita();
static GestorDoctor doctores = new GestorDoctor();
public static void main(String[] args) {
crearAdmins();
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
//Comienza el programa
//...
//...
//...
//...
}
else
System.out.println("\nUsuario no autorizado.");
System.out.println("\n\t\tFIN DE PROGRAMA");
}
private static void crearAdmins() {
administradores.add(new Administrador("Kabuto", "1234"));
administradores.add(new Administrador("jonatthan23", "5678"));
administradores.add(new Administrador("Ogramar", "0000"));
}
private static boolean validarAcceso( ) {
System.out.println("ACCESO AL SISTEMA");
System.out.println("------ -- -------\n");
System.out.print("Nombre: ");
String nombre = teclado.nextLine();
System.out.print("Password: ");
String password = teclado.nextLine();
Administrador admin = new Administrador(nombre, password);
return administradores.contains(admin);
}
{
doctores.nuevoDoctor();
doctores.modificarDoctor();
doctores.mostrarDoctores();
pacientes.nuevoPaciente();
pacientes.mostrarPacientes();
pacientes.modificarPaciente();
pacientes.borrarPaciente();
citas.nuevoCita();
citas.mostrarCitas();
}
}
public static void main(String[] args) {
crearAdmins();
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
doctores.nuevoDoctor();
doctores.modificarDoctor();
doctores.mostrarDoctores();
pacientes.nuevoPaciente();
pacientes.mostrarPacientes();
pacientes.modificarPaciente();
pacientes.borrarPaciente();
citas.nuevoCita();
citas.mostrarCitas();
}
else
System.out.println("\nUsuario no autorizado.");
System.out.println("\n\t\tFIN DE PROGRAMA");
}
public String generaLineaCSV() {
return String.format("%s;%s;%s;%s\n", id, nombre, apellidos, especialidad);
}
public void crearCSV() {
File archivo = new File("D:/csv/doctores.csv");
try {
//Si no existe archivo, intentamos crearlo
if (!archivo.exists()) {
File carpeta = archivo.getParentFile();
carpeta.mkdirs();
archivo.createNewFile();
}
FileWriter escritor = new FileWriter(archivo);
//Cabecera para datos del CSV
escritor.append("#ID;Nombre;Apellidos;Especialidad\n");
//Datos de los doctores
for (Doctor doc: doctores)
escritor.append(doc.generaLineaCSV());//Insertamos linea CSV
escritor.close();
} catch (IOException e) {
System.out.println("Error de acceso a: " + archivo.getAbsolutePath());
}
} public static void main(String[] args) {
crearAdmins();
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
doctores.nuevoDoctor();
doctores.nuevoDoctor();
doctores.nuevoDoctor();
doctores.crearCSV();
}
else
System.out.println("\nUsuario no autorizado.");
System.out.println("\n\t\tFIN DE PROGRAMA");
}ACCESO AL SISTEMA
------ -- -------
Nombre: Kabuto
Password: 1234
Usuario autorizado
ALTA NUEVO DOCTOR
---- ----- ------
ID: ID001
Nombre: Ramon
Apellidos: Luna
Especialidad: Cardiologia
ALTA NUEVO DOCTOR
---- ----- ------
ID: ID002
Nombre: Susana
Apellidos: Lopez
Especialidad: Hematologia
ALTA NUEVO DOCTOR
---- ----- ------
ID: ID003
Nombre: Raul
Apellidos: Molino
Especialidad: Endoscopia
FIN DE PROGRAMA
package clinica;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public final class TestClinica {
private static ArrayList<Administrador> administradores = new ArrayList<Administrador>();
private static Scanner teclado = new Scanner(System.in);
static GestorPacientes pacientes = new GestorPacientes();
static GestorCita citas = new GestorCita();
static GestorDoctor doctores = new GestorDoctor();
public static void main(String[] args) {
crearAdmins();
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
doctores.nuevoDoctor();
doctores.modificarDoctor();
doctores.mostrarDoctores();
pacientes.nuevoPaciente();
pacientes.mostrarPacientes();
pacientes.modificarPaciente();
pacientes.borrarPaciente();
citas.nuevoCita();
citas.mostrarCitas();
doctores.crearCSV();
citas.crearCSV();
pacientes.crearCSV();
}
else
System.out.println("\nUsuario no autorizado.");
System.out.println("\t\tFIN DE PROGRAMA");
}
package clinica;
import javax.swing.JOptionPane;
public class Paciente {
private String id;
private String nombre;
private String apellidos;
public String generaLineaCSV() {
return String.format("%s;%s;%s;%s\n", id, nombre, apellidos);
}
public Paciente(String id, String nombre, String apellidos) {
this.id = id;
this.nombre = nombre;
this.apellidos = apellidos;
}
package clinica;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public final class GestorPacientes {
private ArrayList<Paciente> pacientes;
public void crearCSV() {
File archivo = new File("C:/csv/pacientes.csv");
try {
//Si no existe archivo, intentamos crearlo
if (!archivo.exists()) {
File carpeta = archivo.getParentFile();
carpeta.mkdirs();
archivo.createNewFile();
}
FileWriter escritor = new FileWriter(archivo);
//Cabecera para datos del CSV
escritor.append("#ID;Nombre;Apellidos\n");
//Datos de los pacientes
for (Paciente doc: pacientes)
escritor.append(doc.generaLineaCSV());//Insertamos linea CSV
escritor.close();
} catch (IOException e) {
System.out.println("Error de acceso a: " + archivo.getAbsolutePath());
}
}
FileWriter escritor = new FileWriter(archivo, true);
public void crearCSV() {
File archivo = new File("D:/csv/doctores.csv");
try {
//Si no existe archivo, intentamos crearlo
boolean primeraVez = false;
if (!archivo.exists()) {
File carpeta = archivo.getParentFile();
carpeta.mkdirs();
archivo.createNewFile();
primeraVez = true; //Primera vez que trabajamos en este archivo
}
FileWriter escritor = new FileWriter(archivo, true);
//Cabecera para datos del CSV, solo si es la primera vez
if (primeraVez)
escritor.append("#ID;Nombre;Apellidos;Especialidad\n");
//Datos del último Doctor registrado
int ultimo = doctores.size() - 1;
escritor.append(doctores.get(ultimo).generaLineaCSV());//Insertamos linea CSV
escritor.close();
} catch (IOException e) {
System.out.println("Error de acceso a: " + archivo.getAbsolutePath());
}
}
public void nuevoDoctor() {
System.out.println("\nALTA NUEVO DOCTOR");
System.out.println("---- ----- ------\n");
System.out.print("ID: ");
String id = teclado.nextLine();
System.out.print("Nombre: ");
String nombre = teclado.nextLine();
System.out.print("Apellidos: ");
String apell = teclado.nextLine();
System.out.print("Especialidad: ");
String espe = teclado.nextLine();
doctores.add(new Doctor(id, nombre, apell, espe));
crearCSV(); //Añadimos nueva línea CSV al archivo en disco
}
public class Cita {
private String id;
private String fecha;
private String hora;
private String motivo;
private Doctor doctor;
private Paciente paciente;
public Cita(String id, String fecha, String hora, String motivo,
Doctor doctor, Paciente paciente) {
this.id = id;
this.fecha = fecha;
this.hora = hora;
this.motivo = motivo;
this.doctor = doctor;
this.paciente = paciente;
}
public Cita(String id, String fecha, String hora, String motivo) {
this.id = id;
this.fecha = fecha;
this.hora = hora;
this.motivo = motivo;
}
public String getMotivo() {
return motivo;
}
public void setMotivo(String motivo) {
this.motivo = motivo;
}
public Paciente getPaciente() {
return paciente;
}
public void setPaciente(Paciente paciente) {
this.paciente = paciente;
}
}
public boolean nuevoCita() {
String id = JOptionPane.showInputDialog(null, "Introduzca Identificador:", "Nuevo Cita", JOptionPane.QUESTION_MESSAGE);
String fecha = JOptionPane.showInputDialog(null, "Fecha:", "Nuevo Fecha", JOptionPane.QUESTION_MESSAGE);
String hora = JOptionPane.showInputDialog(null, "Hora:", "Nuevo Hora", JOptionPane.QUESTION_MESSAGE);
String motivo = JOptionPane.showInputDialog(null, "Motivo:", "Nuevo Motivo", JOptionPane.QUESTION_MESSAGE);
Doctor doctor = JOptionPane.showInputDialog(null, "Doctor:", "Nuevo Doctor", JOptionPane.QUESTION_MESSAGE);
Paciente paciente = JOptionPane.showInputDialog(null, "Paciente:", "Nuevo Paciente", JOptionPane.QUESTION_MESSAGE);
Cita nuevoCita = new Cita(id, fecha, hora, motivo, doctor, paciente);
return citas.add(nuevoCita);
//Devuelve TRUE si se insertó correctamente, FALSE si no se pudo insertar
}package clinica;
import javax.swing.JOptionPane;
public final class Cita {
private String id;
private String fecha;
private String hora;
private String motivo;
private Doctor doctor;
private Paciente paciente;
public String generaLineaCSV() {
return String.format("%s;%s;%s;%s;%s;%s\n", id, fecha, hora, motivo, doctor, paciente);
}
public Cita(String id, String fecha, String hora, String motivo, Doctor doctor, Paciente paciente) {
this.id = id;
this.fecha = fecha;
this.hora = hora;
this.motivo = motivo;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getFecha() {
return fecha;
}
public void setFecha(String fecha) {
this.fecha = fecha;
}
public String getHora() {
return hora;
}
public void setHora(String hora) {
this.hora = hora;
}
public String getMotivo() {
return motivo;
}
public void setMotivo(String motivo) {
this.motivo = motivo;
}
public Doctor getDoctor() {
return doctor;
}
public void setDoctor(Doctor doctor) {
this.doctor = doctor;
}
public Paciente getPaciente() {
return paciente;
}
public void setPaciente(Paciente paciente) {
this.paciente = paciente;
}
/**
* Muestra por panel todos los datos de la cita
*/
public void mostrar() {
String mensaje = "\nid cita: " + id + "\nFecha: " + fecha
+ "\nHora: " + hora + "\nMotivo: " + motivo;
JOptionPane.showMessageDialog(null, mensaje, "Mostrar Cita", JOptionPane.INFORMATION_MESSAGE);
}
}
Doctor doctor = JOptionPane.showInputDialog(null, "Doctor:", "Nuevo Doctor", JOptionPane.QUESTION_MESSAGE);
Paciente paciente = JOptionPane.showInputDialog(null, "Paciente:", "Nuevo Paciente", JOptionPane.QUESTION_MESSAGE);
public Doctor getDoctor(String id) {
for (Doctor doc: doctores)
if (doc.getId().equals(id))
return doc; //Doctor encontrado
//Si el bucle no ha retornado ningún Doctor, es que no existe ese ID
return null;
}public class GestorCita {
private ArrayList<Cita> citas;
//Referencias a las instancias de los gestores de doctores y pacientes
private GestorDoctor doctores;
private GestorPaciente pacientes;
public GestorCita(GestorDoctor gestDoc, GestorPaciente gestPaci) {
citas = new ArrayList<Cita>();
doctores = gestDoc;
pacientes = gestPaci;
}
public boolean nuevoCita() {
String id = JOptionPane.showInputDialog(null, "Introduzca Identificador:", "Nuevo Cita", JOptionPane.QUESTION_MESSAGE);
String fecha = JOptionPane.showInputDialog(null, "Fecha:", "Nuevo Fecha", JOptionPane.QUESTION_MESSAGE);
String hora = JOptionPane.showInputDialog(null, "Hora:", "Nuevo Hora", JOptionPane.QUESTION_MESSAGE);
String motivo = JOptionPane.showInputDialog(null, "Motivo:", "Nuevo Motivo", JOptionPane.QUESTION_MESSAGE);
String iDdoctor = JOptionPane.showInputDialog(null, "ID del Doctor:", "Nuevo Doctor", JOptionPane.QUESTION_MESSAGE);
String iDpaciente = JOptionPane.showInputDialog(null, "ID del Paciente:", "Nuevo Paciente", JOptionPane.QUESTION_MESSAGE);
//Pedimos los datos a los gestores que tenemos referenciados
Doctor doctor = doctores.getDoctor(iDdoctor);
Paciente paciente = pacientes.getPaciente(iDpaciente);
Cita nuevoCita = new Cita(id, fecha, hora, motivo, doctor, paciente);
return citas.add(nuevoCita);
//Devuelve TRUE si se insertó correctamente, FALSE si no se pudo insertar
}
}
public class Clinica {
private static ArrayList<Administrador> administradores = new ArrayList<Administrador>();
private static GestorDoctor doctores = new GestorDoctor();
private static GestorPaciente pacientes = new GestorPaciente();
private static GestorCita citas = new GestorCita(doctores, pacientes);//Pasamos referencias
private static Scanner teclado = new Scanner(System.in);
public static void main(String[] args) {
crearAdmins();
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
................
................
................
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public final class Clinica {
private static ArrayList<Administrador> administradores = new ArrayList<Administrador>();
private static Scanner teclado = new Scanner(System.in);
static GestorPacientes pacientes = new GestorPacientes();
static GestorCita citas = new GestorCita();
static GestorDoctor doctores = new GestorDoctor();
public static void main(String[] args) {
crearAdmins();
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
doctores.nuevoDoctor();
doctores.modificarDoctor();
doctores.mostrarDoctores();
pacientes.nuevoPaciente();
pacientes.mostrarPacientes();
pacientes.modificarPaciente();
pacientes.borrarPaciente();
citas.nuevoCita();
citas.mostrarCitas();
}
else
System.out.println("\nUsuario no autorizado.");
System.out.println("\n\t\tFIN DE PROGRAMA");
}
private static void crearAdmins() {
administradores.add(new Administrador("Kabuto", "1234"));
administradores.add(new Administrador("EmethP", "5678"));
administradores.add(new Administrador("AnaT", "0000"));
}
private static boolean validarAcceso( ) {
System.out.println("ACCESO AL SISTEMA");
System.out.println("------ -- -------\n");
System.out.print("Nombre: ");
String nombre = teclado.nextLine();
System.out.print("Password: ");
String password = teclado.nextLine();
Administrador admin = new Administrador(nombre, password);
return administradores.contains(admin);
}
}
}package clinica;
import javax.swing.JOptionPane;
public class Doctor {
private String id;
private String nombre;
private String apellidos;
private String especialidad;
public Doctor(String id, String nombre, String apellidos, String especialidad) {
this.id = id;
this.nombre = nombre;
this.apellidos = apellidos;
this.especialidad = especialidad;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellidos() {
return apellidos;
}
public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}
public String getEspecialidad() {
return especialidad;
}
public void setEspecialidad(String especialidad) {
this.especialidad = especialidad;
}
/**
* Muestra por panel todos los datos del doctor
*/
public void mostrar() {
String mensaje = "ID doctor: " + id + "\nNombre: " + nombre
+ "\nApellidos: " + apellidos + "\nEspecialidad: " + especialidad;
JOptionPane.showMessageDialog(null, mensaje, "Mostrar doctor", JOptionPane.INFORMATION_MESSAGE);
}
public Doctor getDoctor(String id) {
for (Doctor doc: doctores)
if (doc.getId().equals(id))
return doc; //Doctor encontrado
//Si el bucle no ha retornado ningún Doctor, es que no existe ese ID
return null;
}
}import javax.swing.JOptionPane;
public class Paciente {
private String id;
private String nombre;
private String apellidos;
public String generaLineaCSV() {
return String.format("%s;%s;%s;%s\n", id, nombre, apellidos);
}
public Paciente(String id, String nombre, String apellidos) {
this.id = id;
this.nombre = nombre;
this.apellidos = apellidos;
}
}public class Administrador {
private String nombre;
private String password;
public Administrador(String nom, String pass) {
nombre = nom;
password = pass;
}
@Override
public boolean equals(Object objeto) {
if (objeto instanceof Administrador) { //Objeto si es clase Administrador
//Casteamos objeto a Administrador
Administrador otroAdmin = (Administrador)objeto;
//Comparamos si coinciden nombre y password
if (nombre.equals(otroAdmin.nombre) && password.equals(otroAdmin.password))
return true; //Coinciden ambos, los objetos representan al mismo Administrador
else
return false;//Nombre o contraseña no coinciden, son Administradores diferentes.
}
else //Objeto a comparar no es de clase Administrador
return false;
}
}public class Cita {
private String id;
private String fecha;
private String hora;
private String motivo;
private Doctor doctor;
private Paciente paciente;
public Cita(String id, String fecha, String hora, String motivo,
Doctor doctor, Paciente paciente) {
this.id = id;
this.fecha = fecha;
this.hora = hora;
this.motivo = motivo;
this.doctor = doctor;
this.paciente = paciente;
}
public Cita(String id, String fecha, String hora, String motivo) {
this.id = id;
this.fecha = fecha;
this.hora = hora;
this.motivo = motivo;
}
public String getMotivo() {
return motivo;
}
public void setMotivo(String motivo) {
this.motivo = motivo;
}
public Paciente getPaciente() {
return paciente;
}
public void setPaciente(Paciente paciente) {
this.paciente = paciente;
}
}import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public final class GestorPacientes {
private ArrayList<Paciente> pacientes;
public void crearCSV() {
File archivo = new File("C:\\Users\\Emeth.Paredes\\IdeaProjects\\EvidenciaFinal\\src");
try {
//Si no existe archivo, intentamos crearlo
boolean primeraVez = false;
if (!archivo.exists()) {
File carpeta = archivo.getParentFile();
carpeta.mkdirs();
archivo.createNewFile();
primeraVez = true; //Primera vez que trabajamos en este archivo
}
FileWriter escritor = new FileWriter(archivo, true);
//Cabecera para datos del CSV, solo si es la primera vez
if (primeraVez)
escritor.append("#ID;Nombre;Apellidos;Especialidad\n");
//Datos del último Doctor registrado
int ultimo = doctores.size() - 1;
escritor.append(doctores.get(ultimo).generaLineaCSV());//Insertamos linea CSV
escritor.close();
} catch (IOException e) {
System.out.println("Error de acceso a: " + archivo.getAbsolutePath());
}
}
}
public class GestorDoctor {
public void crearCSV() {
File archivo = new File("C:\\Users\\Emeth.Paredes\\IdeaProjects\\EvidenciaFinal\\src");
try {
//Si no existe archivo, intentamos crearlo
boolean primeraVez = false;
if (!archivo.exists()) {
File carpeta = archivo.getParentFile();
carpeta.mkdirs();
archivo.createNewFile();
primeraVez = true; //Primera vez que trabajamos en este archivo
}
FileWriter escritor = new FileWriter(archivo, true);
//Cabecera para datos del CSV, solo si es la primera vez
if (primeraVez)
escritor.append("#ID;Nombre;Apellidos;Especialidad\n");
//Datos del último Doctor registrado
int ultimo = doctores.size() - 1;
escritor.append(doctores.get(ultimo).generaLineaCSV());//Insertamos linea CSV
escritor.close();
} catch (IOException e) {
System.out.println("Error de acceso a: " + archivo.getAbsolutePath());
}
}
}
public class GestorCita {
private ArrayList<Cita> citas;
//Referencias a las instancias de los gestores de doctores y pacientes
private GestorDoctor doctores;
private GestorPaciente pacientes;
public GestorCita(GestorDoctor gestDoc, GestorPaciente gestPaci) {
citas = new ArrayList<Cita>();
doctores = gestDoc;
pacientes = gestPaci;
}
public boolean nuevoCita() {
String id = JOptionPane.showInputDialog(null, "Introduzca Identificador:", "Nuevo Cita", JOptionPane.QUESTION_MESSAGE);
String fecha = JOptionPane.showInputDialog(null, "Fecha:", "Nuevo Fecha", JOptionPane.QUESTION_MESSAGE);
String hora = JOptionPane.showInputDialog(null, "Hora:", "Nuevo Hora", JOptionPane.QUESTION_MESSAGE);
String motivo = JOptionPane.showInputDialog(null, "Motivo:", "Nuevo Motivo", JOptionPane.QUESTION_MESSAGE);
String iDdoctor = JOptionPane.showInputDialog(null, "ID del Doctor:", "Nuevo Doctor", JOptionPane.QUESTION_MESSAGE);
String iDpaciente = JOptionPane.showInputDialog(null, "ID del Paciente:", "Nuevo Paciente", JOptionPane.QUESTION_MESSAGE);
//Pedimos los datos a los gestores que tenemos referenciados
Doctor doctor = doctores.getDoctor(iDdoctor);
Paciente paciente = pacientes.getPaciente(iDpaciente);
Cita nuevoCita = new Cita(id, fecha, hora, motivo, doctor, paciente);
return citas.add(nuevoCita);
//Devuelve TRUE si se insertó correctamente, FALSE si no se pudo insertar
}
}public final class GestorPacientes {public class GestorCita {
private ArrayList<Cita> citas;
//Referencias a las instancias de los gestores de doctores y pacientes
private GestorDoctor doctores;
private GestorPaciente pacientes;
public GestorCita(GestorDoctor gestDoc, GestorPaciente gestPaci) {
citas = new ArrayList<Cita>();
doctores = gestDoc;
pacientes = gestPaci;
}
public final class Clinica {
private static ArrayList<Administrador> administradores = new ArrayList<Administrador>();
private static Scanner teclado = new Scanner(System.in);
static GestorPacientes pacientes = new GestorPacientes();
static GestorCita citas = new GestorCita();
static GestorDoctor doctores = new GestorDoctor();
public final class Clinica {
private static ArrayList<Administrador> administradores = new ArrayList<Administrador>();
private static Scanner teclado = new Scanner(System.in);
static GestorPacientes pacientes = new GestorPacientes();
static GestorDoctor doctores = new GestorDoctor();
static GestorCita citas = new GestorCita(doctores, pacientes);
public static void main(String[] args) {//Apertura de main
crearAdmins();
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
doctores.nuevoDoctor();
doctores.modificarDoctor();
doctores.mostrarDoctores();
pacientes.nuevoPaciente();
pacientes.mostrarPacientes();
pacientes.modificarPaciente();
pacientes.borrarPaciente();
citas.nuevoCita();
citas.mostrarCitas();
}
else
System.out.println("\nUsuario no autorizado.");
System.out.println("\n\t\tFIN DE PROGRAMA");
}
private static void crearAdmins() {
administradores.add(new Administrador("Kabuto", "1234"));
administradores.add(new Administrador("EmethP", "5678"));
administradores.add(new Administrador("AnaT", "0000"));
}
private static boolean validarAcceso( ) {
System.out.println("ACCESO AL SISTEMA");
System.out.println("------ -- -------\n");
System.out.print("Nombre: ");
String nombre = teclado.nextLine();
System.out.print("Password: ");
String password = teclado.nextLine();
Administrador admin = new Administrador(nombre, password);
return administradores.contains(admin);
}
}//Cierre de main
public static void main(String[] args) {//Apertura de main
crearAdmins();
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
doctores.nuevoDoctor();
doctores.modificarDoctor();
doctores.mostrarDoctores();
pacientes.nuevoPaciente();
pacientes.mostrarPacientes();
pacientes.modificarPaciente();
pacientes.borrarPaciente();
citas.nuevoCita();
citas.mostrarCitas();
}
else
System.out.println("\nUsuario no autorizado.");
System.out.println("\n\t\tFIN DE PROGRAMA");
}
}//Cierre de main
private static void crearAdmins() {
administradores.add(new Administrador("Kabuto", "1234"));
administradores.add(new Administrador("EmethP", "5678"));
administradores.add(new Administrador("AnaT", "0000"));
}
private static boolean validarAcceso( ) {
System.out.println("ACCESO AL SISTEMA");
System.out.println("------ -- -------\n");
System.out.print("Nombre: ");
String nombre = teclado.nextLine();
System.out.print("Password: ");
String password = teclado.nextLine();
Administrador admin = new Administrador(nombre, password);
return administradores.contains(admin);
}
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
doctores.nuevoDoctor();
doctores.modificarDoctor();
doctores.mostrarDoctores();
pacientes.nuevoPaciente();
pacientes.mostrarPacientes();
pacientes.modificarPaciente();
pacientes.borrarPaciente();
citas.nuevoCita();//Este es el único método que existe
citas.mostrarCitas();
}
//Pedimos los datos a los gestores que tenemos referenciados
Doctor doctor = doctores.getDoctor(iDdoctor);
Paciente paciente = pacientes.getPaciente(iDpaciente);
//Datos del último Doctor registrado
int ultimo = doctores.size() - 1;
escritor.append(doctores.get(ultimo).generaLineaCSV());//Insertamos linea CSV
public final class GestorPacientes {
private ArrayList<Paciente> pacientes;
FileWriter escritor = new FileWriter(archivo, true);
//Cabecera para datos del CSV, solo si es la primera vez
if (primeraVez)
escritor.append("#ID;Nombre;Apellidos;Especialidad\n");
//Datos del último Doctor registrado
int ultimo = doctores.size() - 1;
escritor.append(doctores.get(ultimo).generaLineaCSV());//Insertamos linea CSV