diff --git a/healthmanager_back/src/main/java/mx/uv/App.java b/healthmanager_back/src/main/java/mx/uv/App.java index 5effe96..4183549 100644 --- a/healthmanager_back/src/main/java/mx/uv/App.java +++ b/healthmanager_back/src/main/java/mx/uv/App.java @@ -89,5 +89,47 @@ public class App response.type("application/json"); return gson.toJson(DaoUsuario.dameMiReceta(nombre)); }); + + get("/datosUsuarioMedico", (request, response) -> { + String correo = request.queryParams("correo"); + response.type("application/json"); + return gson.toJson(DaoMedico.datosMedico(correo)); + }); + + post("/realizarReceta", (request, response) -> { + response.type("application/json"); + String payload = request.body(); + Receta receta = gson.fromJson(payload, Receta.class); + System.out.println("payload " + payload); + String respuesta = DaoReceta.realizarReceta(receta); + + return respuesta; + }); + + get("/MisPacientes", (request, response) -> { + String nombre = request.queryParams("idUsuario"); + response.type("application/json"); + return gson.toJson(DaoUsuario.dameMiPaciente(nombre)); + }); + + get("/eliminarPaciente", (request, response) -> { + response.type("application/json"); + String idPaciente = request.queryParams("idPac"); + System.out.println("Paciente con id: " + idPaciente); + boolean respuesta = DaoPaciente.eliminarPaciente(idPaciente); + JsonObject mensaje = new JsonObject(); + mensaje.addProperty("respuesta", respuesta); + return mensaje; + }); + + post("/AgregarUsuario", (request, response) -> { + response.type("application/json"); + String payload = request.body(); + Usuario usuario = gson.fromJson(payload, Usuario.class); + System.out.println("payload " + payload); + String respuesta = DaoUsuario.agregarUsuario(usuario); + + return respuesta; + }); } } diff --git a/healthmanager_back/src/main/java/mx/uv/DaoMedico.java b/healthmanager_back/src/main/java/mx/uv/DaoMedico.java index 13ede15..0f652d5 100644 --- a/healthmanager_back/src/main/java/mx/uv/DaoMedico.java +++ b/healthmanager_back/src/main/java/mx/uv/DaoMedico.java @@ -10,7 +10,7 @@ import java.util.List; public class DaoMedico implements IDaoMedico{ - private final Conexion con; + private static Conexion con = new Conexion(); private Connection connection; private PreparedStatement ps; private ResultSet rs; @@ -111,5 +111,27 @@ public class DaoMedico implements IDaoMedico{ connection.close(); return medicos; } + + public static Medico datosMedico(String correoUsuario) throws SQLException { + Connection conn = con.obtenerConexion(); + Medico medico = null; + try { + Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery("SELECT idMed , nombreMed , cedProf, contacto, fk_idUsuario FROM Medico INNER JOIN Usuario ON Medico.fk_idUsuario = Usuario.idUsuario WHERE correo='" + correoUsuario + "'"); + while (rs.next()) { + medico = new Medico(rs.getInt("idMed"), rs.getString("nombreMed"),rs.getString("cedProf"),rs.getString("contacto"),rs.getInt("fk_idUsuario")); + } + System.out.println(medico); + } catch (Exception ex) { + System.out.println("Error al obtener datos del usuario: " + ex.toString()); + }finally { + try { + conn.close(); + } catch (Exception e) { + System.out.println(e); + } + } + return medico; + } } diff --git a/healthmanager_back/src/main/java/mx/uv/DaoPaciente.java b/healthmanager_back/src/main/java/mx/uv/DaoPaciente.java index f01d2ce..6db4da9 100644 --- a/healthmanager_back/src/main/java/mx/uv/DaoPaciente.java +++ b/healthmanager_back/src/main/java/mx/uv/DaoPaciente.java @@ -118,6 +118,7 @@ public class DaoPaciente implements IDaoPaciente{ while (rs.next()) { paciente = new Paciente(rs.getString("nombre"), rs.getInt("edad"),rs.getFloat("peso"),rs.getString("contacto"),rs.getInt("idPac")); } + System.out.println(paciente); } catch (Exception ex) { System.out.println("Error al obtener datos del usuario: " + ex.toString()); }finally { @@ -129,5 +130,64 @@ public class DaoPaciente implements IDaoPaciente{ } return paciente; } + + public static Boolean eliminarPaciente(String idPac) throws SQLException { + Connection conn = con.obtenerConexion(); + boolean eliminado = false; + try { + PreparedStatement ps = conn.prepareStatement("DELETE FROM Paciente WHERE idPac='" + idPac + "'"); + ps.executeUpdate(); + eliminado = true; + }catch (Exception ex) { + System.out.println("Error al eliminar paciente: " + ex.toString()); + }finally { + try { + conn.close(); + } catch (Exception e) { + System.out.println(e); + } + } + return eliminado; + } + + public static String agregarPaciente(Paciente p) throws SQLException { + PreparedStatement stm = null; + Connection conn = null; + String msj = ""; + + conn = con.obtenerConexion(); + try { + String sql = "INSERT INTO Paciente (idPac, nombre, edad, peso, contacto, fk_idUsuario) values (?,?,?,?,?,?)"; + stm = (PreparedStatement) conn.prepareStatement(sql); + stm.setInt(1, p.getIdPac()); + stm.setString(2, p.getNombre()); + stm.setInt(3, p.getEdad()); + stm.setFloat(4, p.getPeso()); + stm.setString(5,p.getContacto()); + stm.setInt(6,p.getIdUsuario()); + if (stm.executeUpdate() > 0) + msj = "Usuario agregado"; + else + msj = "usuario no agregado"; + + } catch (Exception e) { + System.out.println(e); + } finally { + if (stm != null) { + try { + stm.close(); + } catch (Exception e) { + System.out.println(e); + } + stm = null; + } + try { + conn.close(); + } catch (Exception e) { + System.out.println(e); + } + } + return msj; + } } diff --git a/healthmanager_back/src/main/java/mx/uv/DaoReceta.java b/healthmanager_back/src/main/java/mx/uv/DaoReceta.java index 65a4fa9..0196c69 100644 --- a/healthmanager_back/src/main/java/mx/uv/DaoReceta.java +++ b/healthmanager_back/src/main/java/mx/uv/DaoReceta.java @@ -1,8 +1,6 @@ package mx.uv; -import java.sql.Blob; import java.sql.Connection; -import java.sql.Date; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -11,7 +9,7 @@ import java.util.ArrayList; import java.util.List; public class DaoReceta implements IDaoReceta{ - private final Conexion con; + private static Conexion con = new Conexion(); private Connection connection; private PreparedStatement ps; private ResultSet rs; @@ -28,12 +26,12 @@ public class DaoReceta implements IDaoReceta{ ps = connection.prepareStatement(consulta); //Receta(String nombreMed, Blob firmaMed, String contactoMed, float pesoPac, int edadPac, Date fecha,float presArt, float tempPac, Paciente paciente, Medico medico) ps.setString(1, receta.getNombreMed()); - ps.setBlob(2, receta.getFirmaMed()); + ps.setString(2, receta.getFirmaMed()); ps.setString(3, receta.getContactoMed()); ps.setFloat(4, receta.getPesoPac()); ps.setInt(5, receta.getEdadPac()); - ps.setDate(6, receta.getFecha()); - ps.setFloat(7, receta.getPresArt()); + ps.setString(6, receta.getFecha()); + ps.setString(7, receta.getPresArt()); ps.setFloat(8, receta.getTempPac()); ps.setInt(9, receta.getIdPaciente()); ps.setInt(10, receta.getIdMedico()); @@ -53,12 +51,12 @@ public class DaoReceta implements IDaoReceta{ ps = connection.prepareStatement(consulta); //Receta(String nombreMed, Blob firmaMed, String contactoMed, float pesoPac, int edadPac, Date fecha,float presArt, float tempPac, Paciente paciente, Medico medico) ps.setString(1, receta.getNombreMed()); - ps.setBlob(2, receta.getFirmaMed()); + ps.setString(2, receta.getFirmaMed()); ps.setString(3, receta.getContactoMed()); ps.setFloat(4, receta.getPesoPac()); ps.setInt(5, receta.getEdadPac()); - ps.setDate(6, receta.getFecha()); - ps.setFloat(7, receta.getPresArt()); + ps.setString(6, receta.getFecha()); + ps.setString(7, receta.getPresArt()); ps.setFloat(8, receta.getTempPac()); ps.setInt(9, receta.getIdPaciente()); ps.setInt(10, receta.getIdMedico()); @@ -91,18 +89,19 @@ public class DaoReceta implements IDaoReceta{ int idRec = rs.getInt("idRec"); String nombreMed = rs.getString("nombreMed"); - Blob firmaMed = rs.getBlob("firmaMed"); + String firmaMed = rs.getString("firmaMed"); String contactoMed = rs.getString("contactoMed"); float pesoPac = rs.getFloat("pesoPac"); int edadPac = rs.getInt("edadPac"); - Date fecha = rs.getDate("fecha"); - float presArt = rs.getFloat("presArt"); + String fecha = rs.getString("fecha"); + String presArt = rs.getString("presArt"); float tempPac = rs.getFloat("tempPac"); + String contenido = rs.getString("contenido"); int idPaciente = rs.getInt("fk_idMed"); int idMedico = rs.getInt("fk_idPac"); recetas.add(new Receta(idRec, nombreMed, firmaMed, contactoMed, pesoPac, edadPac, - fecha, presArt, tempPac, idPaciente, idMedico)); + fecha, presArt, tempPac,contenido, idPaciente, idMedico)); } connection.close(); return recetas; @@ -121,21 +120,57 @@ public class DaoReceta implements IDaoReceta{ int idRec = rs.getInt("idRec"); String nombreMed = rs.getString("nombreMed"); - Blob firmaMed = rs.getBlob("firmaMed"); + String firmaMed = rs.getString("firmaMed"); String contactoMed = rs.getString("contactoMed"); float pesoPac = rs.getFloat("pesoPac"); int edadPac = rs.getInt("edadPac"); - Date fecha = rs.getDate("fecha"); - float presArt = rs.getFloat("presArt"); + String fecha = rs.getString("fecha"); + String presArt = rs.getString("presArt"); float tempPac = rs.getFloat("tempPac"); + String contenido = rs.getString("contenido"); int idPaciente = rs.getInt("fk_idMed"); int idMedico = rs.getInt("fk_idPac"); recetas.add(new Receta(idRec, nombreMed, firmaMed, contactoMed, pesoPac, edadPac, - fecha, presArt, tempPac, idPaciente, idMedico)); + fecha, presArt, tempPac,contenido, idPaciente, idMedico)); } connection.close(); return recetas; } + + public static String realizarReceta(Receta r) throws SQLException{ + Connection conn = con.obtenerConexion(); + PreparedStatement stm = null; + String msj = ""; + try{ + String sql = "INSERT INTO Receta values (?,?,?,?,?,?,?,?,?,?,?,?)"; + stm = (PreparedStatement) conn.prepareStatement(sql); + stm.setInt(1, r.getIdRec()); + stm.setString(2, r.getNombreMed()); + stm.setString(3, r.getFirmaMed()); + stm.setString(4, r.getContactoMed()); + stm.setFloat(5, r.getPesoPac()); + stm.setInt(6,r.getEdadPac()); + stm.setString(7, r.getFecha()); + stm.setString(8,r.getPresArt()); + stm.setFloat(9, r.getTempPac()); + stm.setString(10,r.getContenido()); + stm.setInt(11,r.getIdPaciente()); + stm.setInt(12, r.getIdMedico()); + if (stm.executeUpdate() > 0) + msj = "Receta creada"; + else + msj = "La receta no se creo"; + } catch (SQLException e){ + System.out.println(e.getMessage()); + }finally { + try { + conn.close(); + } catch (Exception e) { + System.out.println(e); + } + } + return msj; + } } diff --git a/healthmanager_back/src/main/java/mx/uv/DaoUsuario.java b/healthmanager_back/src/main/java/mx/uv/DaoUsuario.java index 4ffeaa2..b7f100d 100644 --- a/healthmanager_back/src/main/java/mx/uv/DaoUsuario.java +++ b/healthmanager_back/src/main/java/mx/uv/DaoUsuario.java @@ -147,11 +147,11 @@ public class DaoUsuario implements IDaoUsuario{ ArrayList recetas = new ArrayList<>(); try{ Statement st = conn.createStatement(); - ResultSet rs = st.executeQuery("SELECT idRec, nombreMed, firmaMed, contactoMed, pesoPac, edadPac, fecha, presArt, tempPac FROM Receta WHERE fk_idPac = '" + nombreUsuario + "';"); + ResultSet rs = st.executeQuery("SELECT idRec, nombreMed, firmaMed, contactoMed, pesoPac, edadPac, fecha, presArt, tempPac, contenido FROM Receta WHERE fk_idPac = '" + nombreUsuario + "';"); while (rs.next()){ Receta receta = new Receta(rs.getInt("idRec"), rs.getString("nombreMed"), - rs.getBlob("firmaMed"), rs.getString("contactoMed"),rs.getFloat("pesoPac"), - rs.getInt("edadPac"),rs.getDate("fecha"),rs.getString("presArt"),rs.getFloat("tempPac")); + rs.getString("firmaMed"), rs.getString("contactoMed"),rs.getFloat("pesoPac"), + rs.getInt("edadPac"),rs.getString("fecha"),rs.getString("contenido"),rs.getString("presArt"),rs.getFloat("tempPac")); recetas.add(receta); } } catch (SQLException e){ @@ -166,4 +166,65 @@ public class DaoUsuario implements IDaoUsuario{ return recetas; } + public static List dameMiPaciente(String nombreUsuario) throws SQLException{ + Connection conn = con.obtenerConexion(); + ArrayList pacientes = new ArrayList<>(); + try{ + Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery("SELECT idPac, nombre, edad, peso, contacto, fk_idUsuario FROM Paciente;"); + while (rs.next()){ + Paciente paciente = new Paciente(rs.getInt("idPac"), rs.getString("nombre"), + rs.getInt("edad"), rs.getFloat("peso"),rs.getString("contacto"), + rs.getInt("fk_idUsuario")); + pacientes.add(paciente); + } + } catch (SQLException e){ + System.out.println(e.getMessage()); + }finally { + try { + conn.close(); + } catch (Exception e) { + System.out.println(e); + } + } + return pacientes; + } + + public static String agregarUsuario(Usuario u) throws SQLException { + PreparedStatement stm = null; + Connection conn = null; + String msj = ""; + + conn = con.obtenerConexion(); + try { + String sql = "INSERT INTO Usuario (idUsuario, correo, contrasena, esMedico) values (?,?,?,?)"; + stm = (PreparedStatement) conn.prepareStatement(sql); + stm.setInt(1, u.getIdUsuario()); + stm.setString(2, u.getCorreo()); + stm.setString(3, u.getContraseƱa()); + stm.setBoolean(4, u.esMedico()); + if (stm.executeUpdate() > 0) + msj = "Usuario agregado"; + else + msj = "usuario no agregado"; + + } catch (Exception e) { + System.out.println(e); + } finally { + if (stm != null) { + try { + stm.close(); + } catch (Exception e) { + System.out.println(e); + } + stm = null; + } + try { + conn.close(); + } catch (Exception e) { + System.out.println(e); + } + } + return msj; + } } diff --git a/healthmanager_back/src/main/java/mx/uv/Medico.java b/healthmanager_back/src/main/java/mx/uv/Medico.java index 2c9505e..238db6f 100644 --- a/healthmanager_back/src/main/java/mx/uv/Medico.java +++ b/healthmanager_back/src/main/java/mx/uv/Medico.java @@ -3,7 +3,7 @@ package mx.uv; import java.sql.Blob; public class Medico { - private int medId; + private int idMed; private String nombreMed; private String cedProf; private String contacto; @@ -35,8 +35,8 @@ public class Medico { - public Medico(int medId, String nombreMed, String cedProf, String contacto, int idUsuario) { - this.medId = medId; + public Medico(int idMed, String nombreMed, String cedProf, String contacto, int idUsuario) { + this.idMed = idMed; this.nombreMed = nombreMed; this.cedProf = cedProf; this.contacto = contacto; @@ -45,8 +45,8 @@ public class Medico { - public Medico(int medId, String nombreMed, String cedProf, String contacto, Blob fotoMed, int idUsuario) { - this.medId = medId; + public Medico(int idMed, String nombreMed, String cedProf, String contacto, Blob fotoMed, int idUsuario) { + this.idMed = idMed; this.nombreMed = nombreMed; this.cedProf = cedProf; this.contacto = contacto; @@ -63,8 +63,8 @@ public class Medico { } - public Medico(int medId, String nombreMed, String cedProf, String contacto) { - this.medId = medId; + public Medico(int idMed, String nombreMed, String cedProf, String contacto) { + this.idMed = idMed; this.nombreMed = nombreMed; this.cedProf = cedProf; this.contacto = contacto; @@ -77,8 +77,8 @@ public class Medico { this.fotoMed = fotoMed; } - public Medico(int medId, String nombreMed, String cedProf, String contacto, Blob fotoMed) { - this.medId = medId; + public Medico(int idMed, String nombreMed, String cedProf, String contacto, Blob fotoMed) { + this.idMed = idMed; this.nombreMed = nombreMed; this.cedProf = cedProf; this.contacto = contacto; @@ -87,11 +87,11 @@ public class Medico { - public int getMedId() { - return medId; + public int getidMed() { + return idMed; } - public void setMedId(int medId) { - this.medId = medId; + public void setidMed(int idMed) { + this.idMed = idMed; } public String getNombreMed() { return nombreMed; diff --git a/healthmanager_back/src/main/java/mx/uv/Receta.java b/healthmanager_back/src/main/java/mx/uv/Receta.java index 57a6582..15355d8 100644 --- a/healthmanager_back/src/main/java/mx/uv/Receta.java +++ b/healthmanager_back/src/main/java/mx/uv/Receta.java @@ -1,18 +1,16 @@ package mx.uv; -import java.sql.Blob; -import java.sql.Date; - public class Receta { private int idRec; private String nombreMed; - private Blob firmaMed; + private String firmaMed; private String contactoMed; private float pesoPac; private int edadPac; - private Date fecha; + private String fecha; private String presArt; private float tempPac; + private String contenido; private int idPaciente; private int idMedico; @@ -22,7 +20,7 @@ public class Receta { - public Receta(String nombreMed, Blob firmaMed, String contactoMed, float pesoPac, int edadPac, Date fecha, + public Receta(String nombreMed, String firmaMed, String contactoMed, float pesoPac, int edadPac, String fecha, String contenido, String presArt, float tempPac) { this.nombreMed = nombreMed; this.firmaMed = firmaMed; @@ -31,13 +29,14 @@ public class Receta { this.edadPac = edadPac; this.fecha = fecha; this.presArt = presArt; + this.contenido = contenido; this.tempPac = tempPac; } - public Receta(int idRec, String nombreMed, Blob firmaMed, String contactoMed, float pesoPac, int edadPac, - Date fecha, String presArt, float tempPac) { + public Receta(int idRec, String nombreMed, String firmaMed, String contactoMed, float pesoPac, int edadPac, + String fecha, String presArt,String contenido, float tempPac) { this.idRec = idRec; this.nombreMed = nombreMed; this.firmaMed = firmaMed; @@ -46,12 +45,13 @@ public class Receta { this.edadPac = edadPac; this.fecha = fecha; this.presArt = presArt; + this.contenido = contenido; this.tempPac = tempPac; } - public Receta(String nombreMed, Blob firmaMed, String contactoMed, float pesoPac, int edadPac, Date fecha, + public Receta(String nombreMed, String firmaMed, String contactoMed, float pesoPac, int edadPac, String fecha,String contenido, String presArt, float tempPac, int idPaciente, int idMedico) { this.nombreMed = nombreMed; this.firmaMed = firmaMed; @@ -60,6 +60,7 @@ public class Receta { this.edadPac = edadPac; this.fecha = fecha; this.presArt = presArt; + this.contenido = contenido; this.tempPac = tempPac; this.idPaciente = idPaciente; this.idMedico = idMedico; @@ -67,8 +68,8 @@ public class Receta { - public Receta(int idRec, String nombreMed, Blob firmaMed, String contactoMed, float pesoPac, int edadPac, - Date fecha, String presArt, float tempPac, int idPaciente, int idMedico) { + public Receta(int idRec, String nombreMed, String firmaMed, String contactoMed, float pesoPac, int edadPac, + String fecha, String presArt, float tempPac,String contenido, int idPaciente, int idMedico) { this.idRec = idRec; this.nombreMed = nombreMed; this.firmaMed = firmaMed; @@ -78,6 +79,7 @@ public class Receta { this.fecha = fecha; this.presArt = presArt; this.tempPac = tempPac; + this.contenido = contenido; this.idPaciente = idPaciente; this.idMedico = idMedico; } @@ -100,11 +102,11 @@ public class Receta { this.nombreMed = nombreMed; } - public Blob getFirmaMed() { + public String getFirmaMed() { return firmaMed; } - public void setFirmaMed(Blob firmaMed) { + public void setFirmaMed(String firmaMed) { this.firmaMed = firmaMed; } @@ -132,11 +134,11 @@ public class Receta { this.edadPac = edadPac; } - public Date getFecha() { + public String getFecha() { return fecha; } - public void setFecha(Date fecha) { + public void setFecha(String fecha) { this.fecha = fecha; } @@ -148,6 +150,14 @@ public class Receta { this.presArt = presArt; } + public String getContenido(){ + return contenido; + } + + public void setContenido(String contenido){ + this.contenido = contenido; + } + public float getTempPac() { return tempPac; } diff --git a/healthmanager_back/target/classes/mx/uv/App.class b/healthmanager_back/target/classes/mx/uv/App.class index ee0e34d..39ce8ae 100644 Binary files a/healthmanager_back/target/classes/mx/uv/App.class and b/healthmanager_back/target/classes/mx/uv/App.class differ diff --git a/healthmanager_back/target/classes/mx/uv/DaoMedico.class b/healthmanager_back/target/classes/mx/uv/DaoMedico.class index cc24f7b..38d565e 100644 Binary files a/healthmanager_back/target/classes/mx/uv/DaoMedico.class and b/healthmanager_back/target/classes/mx/uv/DaoMedico.class differ diff --git a/healthmanager_back/target/classes/mx/uv/DaoPaciente.class b/healthmanager_back/target/classes/mx/uv/DaoPaciente.class index 63fbca4..6901360 100644 Binary files a/healthmanager_back/target/classes/mx/uv/DaoPaciente.class and b/healthmanager_back/target/classes/mx/uv/DaoPaciente.class differ diff --git a/healthmanager_back/target/classes/mx/uv/DaoReceta.class b/healthmanager_back/target/classes/mx/uv/DaoReceta.class index c0ec6ef..2779e2c 100644 Binary files a/healthmanager_back/target/classes/mx/uv/DaoReceta.class and b/healthmanager_back/target/classes/mx/uv/DaoReceta.class differ diff --git a/healthmanager_back/target/classes/mx/uv/DaoUsuario.class b/healthmanager_back/target/classes/mx/uv/DaoUsuario.class index c01d7e7..6dd0ead 100644 Binary files a/healthmanager_back/target/classes/mx/uv/DaoUsuario.class and b/healthmanager_back/target/classes/mx/uv/DaoUsuario.class differ diff --git a/healthmanager_back/target/classes/mx/uv/Medico.class b/healthmanager_back/target/classes/mx/uv/Medico.class index 1cd6442..a8c6293 100644 Binary files a/healthmanager_back/target/classes/mx/uv/Medico.class and b/healthmanager_back/target/classes/mx/uv/Medico.class differ diff --git a/healthmanager_back/target/classes/mx/uv/Receta.class b/healthmanager_back/target/classes/mx/uv/Receta.class index 3a9f857..57c08a4 100644 Binary files a/healthmanager_back/target/classes/mx/uv/Receta.class and b/healthmanager_back/target/classes/mx/uv/Receta.class differ