From f0f6c8bf474185837e1d46cfb08474f40ddd1a1e Mon Sep 17 00:00:00 2001 From: Soka_jplr Date: Fri, 24 May 2024 23:34:59 -0600 Subject: [PATCH] cambios de documentos --- Base/universidad.sql | 10 +- backend/.vscode/settings.json | 3 + backend/src/main/java/mx/uv/App.java | 43 ++- .../src/main/java/mx/uv/Controller/DAO.java | 69 ++--- .../main/java/mx/uv/Controller/DAOTutor.java | 42 ++- .../java/mx/uv/Controller/DAO_Carrrera.java | 79 +----- .../mx/uv/Controller/DAO_Documentacion.java | 44 ++- .../src/main/java/mx/uv/Model/Documento.java | 12 +- backend/src/main/java/mx/uv/Model/Tutor.java | 8 +- .../src/main/java/mx/uv/Model/Usuario.java | 17 +- frontend/src/App.jsx | 2 + frontend/src/Components/Nav.jsx | 1 + frontend/src/Components/ProtectorDeRutas.jsx | 2 +- frontend/src/Views/Inscripcion.jsx | 252 +++++++++++++++--- frontend/src/Views/Login.jsx | 3 +- frontend/src/main.jsx | 2 +- 16 files changed, 385 insertions(+), 204 deletions(-) create mode 100644 backend/.vscode/settings.json diff --git a/Base/universidad.sql b/Base/universidad.sql index c1eab3d..833c897 100644 --- a/Base/universidad.sql +++ b/Base/universidad.sql @@ -1,9 +1,7 @@ create database universidad; -drop database universidad; CREATE USER 'UserRemoto' @'localhost' IDENTIFIED BY 'password123'; -DROP USER 'UserRemoto'@'localhost'; GRANT ALL PRIVILEGES ON universidad.* TO 'UserRemoto'@'LOCALHOST'; FLUSH PRIVILEGES; @@ -36,9 +34,11 @@ create table tutor( id integer auto_increment primary key, nombre varchar(40), apellido varchar(40), - numeroDeTelefono integer, + numeroDeTelefono double, idUsuario integer references usuario ); +ALTER TABLE usuario +MODIFY COLUMN inscrito int; create table documento( id integer auto_increment primary key, @@ -63,6 +63,7 @@ INSERT INTO usuario ( ) VALUES ( 'Juan', 'Perez', 'SIU241001', 'password123', 'juan.perez@example.com', 'Mexicana', 'O+', '1990-05-15', 'JUAP900515HDFLRN03', 'estudiante', 1, 1 ); + ALTER TABLE carrera ADD COLUMN campus VARCHAR(40), ADD COLUMN descripcion VARCHAR(600), @@ -126,6 +127,9 @@ SET campus = 'Xalapa', objetivo = 'Nuestro objetivo es formar psicólogos con una sólida base científica y habilidades prácticas para evaluar, diagnosticar y tratar problemas psicológicos. Fomentamos el pensamiento crítico, la empatía y la ética profesional, preparando a los estudiantes para contribuir al bienestar mental y emocional de las personas y comunidades que atienden.' WHERE id = 6; +UPDATE `tutor` SET `nombre` = ?, `apellido` = ?, `numeroDeTelefono` = ? WHERE `idUsuario` = ?; + + diff --git a/backend/.vscode/settings.json b/backend/.vscode/settings.json new file mode 100644 index 0000000..c5f3f6b --- /dev/null +++ b/backend/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/backend/src/main/java/mx/uv/App.java b/backend/src/main/java/mx/uv/App.java index 16ac2cd..d2571b8 100644 --- a/backend/src/main/java/mx/uv/App.java +++ b/backend/src/main/java/mx/uv/App.java @@ -4,11 +4,15 @@ import static spark.Spark.*; import java.util.HashMap; -import com.google.gson.*; +import com.google.gson.Gson; +import com.google.gson.JsonObject; import mx.uv.Controller.DAO; +import mx.uv.Controller.DAOTutor; import mx.uv.Controller.DAO_Carrrera; -import mx.uv.Model.*; +import mx.uv.Model.Mensaje; +import mx.uv.Model.Tutor; +import mx.uv.Model.Usuario; public class App { static Gson gson = new Gson(); @@ -51,7 +55,7 @@ public class App { return respuesta; }); - put("/editarAlumno", (request, response) -> { + put("/editarUsuario", (request, response) -> { String payload = request.body(); Usuario usuario = gson.fromJson(payload, Usuario.class); boolean verificado = DAO.editarAlumno(usuario); @@ -60,12 +64,21 @@ public class App { return respuesta; }); - delete("/eliminarAlumno", (request, response) -> { + put("/editarTutor", (request, response) -> { String payload = request.body(); - Usuario usuario = gson.fromJson(payload, Usuario.class); - boolean verificado = DAO.eliminarAlumno(usuario.getId()); + Tutor tutor = gson.fromJson(payload, Tutor.class); + boolean verificado = DAOTutor.editarTutor(tutor); JsonObject respuesta = new JsonObject(); - respuesta.addProperty("existe", verificado); + respuesta.addProperty("Editado", verificado); + return respuesta; + }); + + post("/agregarTutor", (request, response) -> { + String payload = request.body(); + Tutor tutor = gson.fromJson(payload, Tutor.class); + Boolean agregado = DAOTutor.agregarTutor(tutor); + JsonObject respuesta = new JsonObject(); + respuesta.addProperty("msj", agregado); return respuesta; }); @@ -82,6 +95,7 @@ public class App { respuesta.addProperty("matricula", usuario.getMatricula()); respuesta.addProperty("authToken", usuario.crearToken()); respuesta.addProperty("authRol", usuario.getRol()); + respuesta.addProperty("authId", usuario.getId()); respuesta.addProperty("message", "Binevenido " + usuario.getNombre()); return gson.toJson(respuesta); }); @@ -95,9 +109,24 @@ public class App { return respuesta; }); + post("/traerDatosAlumno", (request, response) -> { + String payload = request.body(); + response.type("application/json"); + Usuario u = gson.fromJson(payload, Usuario.class); + return gson.toJson(DAO.traeUsuario(u.getId())); + }); + get("/carreras", (request, response) -> { response.type("application/json"); return gson.toJson(DAO_Carrrera.dameCarreras()); }); + + post("/traerDatosTutor", (request, response) -> { + String payload = request.body(); + response.type("application/json"); + Usuario u = gson.fromJson(payload, Usuario.class); + return gson.toJson(DAOTutor.tarerTutor(u.getId())); + }); + } } diff --git a/backend/src/main/java/mx/uv/Controller/DAO.java b/backend/src/main/java/mx/uv/Controller/DAO.java index ab46514..366f1b1 100644 --- a/backend/src/main/java/mx/uv/Controller/DAO.java +++ b/backend/src/main/java/mx/uv/Controller/DAO.java @@ -6,6 +6,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; +import com.google.gson.JsonElement; + import mx.uv.Model.Usuario; import mx.uv.Model.Mensaje; import mx.uv.Model.Registro; @@ -52,7 +54,6 @@ public class DAO { } catch (Exception e) { System.out.println(e); } finally { - cerrarConexiones(null, conn); } return resultado; } @@ -78,7 +79,6 @@ public class DAO { } catch (SQLException ex) { System.err.println(ex); } finally { - cerrarConexiones(stm, conn); } return verificacion; } @@ -113,7 +113,6 @@ public class DAO { } catch (Exception e) { System.out.println(e); } finally { - cerrarConexiones(stm, conn); } return mensaje; } @@ -129,24 +128,6 @@ public class DAO { return contrasena.toString(); } - private static void cerrarConexiones(PreparedStatement stm, Connection conn) { - if (stm != null) { - try { - stm.close(); - } catch (Exception e) { - System.out.println(e); - } - } - try { - if (conn != null) { - conn.close(); - cn.cerrarConexion(); - } - } catch (Exception e) { - System.out.println(e); - } - } - public static boolean eliminarAlumno(int idAlumno) { return false; } @@ -157,23 +138,23 @@ public class DAO { boolean verificacion = false; conn = cn.conectar(); try { - String sql = "UPDATE " + nombreTabla + " SET " + colNombre + " = ?, " + colApellido + " = ?, " - + colFechaNacimiento + " = ?, " + colNacionalidad + " = ?, " + colTipoSangre + " = ?, " - + colContrasena + " = ? WHERE " + colId + " = ?"; + String sql = "UPDATE `usuario` SET `nombre` = ?, `apellido` = ?, `correo` = ?, `nacionalidad` = ?, `tipoSangre` = ?, `fecha_nacimiento` = ?, `curp` = ?, `idCarrera` = ? WHERE `id` = ?;"; stm = conn.prepareStatement(sql); stm.setString(1, usuario.getNombre()); stm.setString(2, usuario.getApellido()); - stm.setString(3, usuario.getFecha_nacimiento()); + stm.setString(3, usuario.getCorreo()); stm.setString(4, usuario.getNacionalidad()); stm.setString(5, usuario.getTipoSangre()); - stm.setString(6, usuario.getContrasena()); - stm.setInt(7, usuario.getId()); - stm.executeUpdate(); - verificacion = true; + stm.setString(6, usuario.getFecha_nacimiento()); + stm.setString(7, usuario.getCurp()); + stm.setInt(8, usuario.getIdCarrera()); + stm.setInt(9, usuario.getId()); + if (stm.executeUpdate() > 0) { + verificacion = true; + } } catch (SQLException ex) { System.err.println(ex); } finally { - cerrarConexiones(stm, conn); cn.cerrarConexion(); } return verificacion; @@ -199,7 +180,6 @@ public class DAO { } catch (Exception e) { System.out.println(e); } finally { - cerrarConexiones(null, conn); } return usuario; } @@ -233,4 +213,31 @@ public class DAO { } return ultimoID; } + + public static Usuario traeUsuario(int id) { + PreparedStatement stm = null; + Connection conn = null; + Usuario user = null; + ResultSet rs = null; + conn = cn.conectar(); + try { + String sql = "SELECT `id`,`nombre`,`apellido`,`matricula`,`correo`,`nacionalidad`,`tipoSangre`,`fecha_nacimiento`,`curp`,`idCarrera`,`inscrito`\n" + + // + "FROM `usuario` where id = ? ;"; + stm = conn.prepareStatement(sql); + stm.setInt(1, id); + rs = stm.executeQuery(); + while (rs.next()) { + user = new Usuario(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), + rs.getString(6), rs.getString(7), rs.getString(8), rs.getString(9), rs.getInt(10), + rs.getInt(11)); + } + + } catch (SQLException ex) { + System.err.println(ex); + } finally { + } + return user; + } + } diff --git a/backend/src/main/java/mx/uv/Controller/DAOTutor.java b/backend/src/main/java/mx/uv/Controller/DAOTutor.java index 6fb321f..a713564 100644 --- a/backend/src/main/java/mx/uv/Controller/DAOTutor.java +++ b/backend/src/main/java/mx/uv/Controller/DAOTutor.java @@ -27,7 +27,7 @@ public class DAOTutor { stm = conn.createStatement(); rs = stm.executeQuery(sql); while (rs.next()) { - Tutor u = new Tutor(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getInt(5)); + Tutor u = new Tutor(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getInt(4), rs.getInt(5)); resultado.add(u); } } catch (Exception e) { @@ -72,7 +72,7 @@ public class DAOTutor { stm = (PreparedStatement) conn.prepareStatement(sql); stm.setString(1, tutor.getNombre()); stm.setString(2, tutor.getApellido()); - stm.setString(3, tutor.getNumeroDeTelefono()); + stm.setInt(3, tutor.getNumeroDeTelefono()); stm.setInt(4, tutor.getIdUsuario()); } catch (Exception e) { System.out.println(e); @@ -109,11 +109,15 @@ public class DAOTutor { boolean verificacion = false; conn = cn.conectar(); try { - String sql = "UPDATE `tutor` SET `nombre` = '" + tutor.getNombre() + "',`apellido` = '" - + tutor.getApellido() + "';"; + String sql = "UPDATE `tutor` SET `nombre` = ?, `apellido` = ?, `numeroDeTelefono` = ? WHERE `idUsuario` = ?;"; stm = conn.prepareStatement(sql); - stm.executeQuery(); - verificacion = true; + stm.setString(1, tutor.getNombre()); + stm.setString(2, tutor.getApellido()); + stm.setInt(3, tutor.getNumeroDeTelefono()); + stm.setInt(4, tutor.getIdUsuario()); + if (stm.executeUpdate() > 0) { + verificacion = true; + } } catch (SQLException ex) { System.out.println(ex); } finally { @@ -123,4 +127,30 @@ public class DAOTutor { return verificacion; } + public static Tutor tarerTutor(int id) { + PreparedStatement stm = null; + Connection conn = null; + Tutor tutor = null; + ResultSet rs = null; + conn = cn.conectar(); + try { + String sql = "SELECT `id`,`nombre`,`apellido`,`numeroDeTelefono`,`idUsuario`\n" + + + "FROM `tutor` where idUsuario = ? ;"; + stm = conn.prepareStatement(sql); + stm.setInt(1, id); + rs = stm.executeQuery(); + if (rs.next()) { + tutor = new Tutor(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getInt(4), rs.getInt(5)); + } + + } catch (SQLException ex) { + System.err.println(ex); + } finally { + cerrarConexiones(stm, conn); + cn.cerrarConexion(); + } + return tutor; + } + } diff --git a/backend/src/main/java/mx/uv/Controller/DAO_Carrrera.java b/backend/src/main/java/mx/uv/Controller/DAO_Carrrera.java index f7c24d4..34673bf 100644 --- a/backend/src/main/java/mx/uv/Controller/DAO_Carrrera.java +++ b/backend/src/main/java/mx/uv/Controller/DAO_Carrrera.java @@ -15,7 +15,7 @@ public class DAO_Carrrera { ResultSet rs = null; Connection conn = null; List resultado = new ArrayList<>(); - + System.out.println("Aqui"); conn = cn.conectar(); try { @@ -30,86 +30,9 @@ public class DAO_Carrrera { } catch (Exception e) { System.out.println(e); } finally { - cerrarConexiones(null, conn); } return resultado; } - /* - * public static boolean agregarCarrera(Carrera carrera) { - * PreparedStatement stm = null; - * Connection conn = null; - * boolean msj = false; - * - * conn = cn.conectar(); - * - * try { - * String sql = - * "INSERT INTO `carrera` (`area`,`nombre`, `modalidad`, `campus`, `costo`) VALUES(?,?,?,?,?);" - * ; - * stm = (PreparedStatement) conn.prepareStatement(sql); - * stm.setString(1, carrera.getArea()); - * stm.setString(2, carrera.getNombre()); - * stm.setString(3, carrera.getModalidad()); - * stm.setString(4, carrera.getCampus()); - * stm.setDouble(5, carrera.getCosto()); - * - * } catch (Exception e) { - * System.out.println(e); - * } finally { - * cerrarConexiones(stm, conn); - * } - * return msj; - * } - */ - - private static void cerrarConexiones(PreparedStatement stm, Connection conn) { - if (stm != null) { - try { - stm.close(); - } catch (Exception e) { - System.out.println(e); - } - stm = null; - } - try { - conn.close(); - cn.cerrarConexion(); - } catch (Exception e) { - System.out.println(e); - } - } - - public static boolean eliminarCarrera(int idCarrera) { - return false; - } - - /* - * public static boolean editarCarrera(Carrera carrera) { - * PreparedStatement stm = null; - * Connection conn = null; - * boolean verificacion = false; - * conn = cn.conectar(); - * - * try { - * String sql = "UPDATE `alumno` SET `area` = '" + carrera.getArea() + - * "',`nombre` = '" + carrera.getNombre() - * + "',`modalidad` = '" + carrera.getModalidad() + "',`campus` = '" - * + carrera.getCampus() + "', `costo` = '" + carrera.getCosto() + - * "' WHERE `id` = '" - * + carrera.getId() + "';"; - * stm = conn.prepareStatement(sql); - * stm.executeUpdate(); - * verificacion = true; - * } catch (SQLException ex) { - * System.err.println(ex); - * } finally { - * cerrarConexiones(stm, conn); - * cn.cerrarConexion(); - * } - * return verificacion; - * } - */ - } \ No newline at end of file diff --git a/backend/src/main/java/mx/uv/Controller/DAO_Documentacion.java b/backend/src/main/java/mx/uv/Controller/DAO_Documentacion.java index afa65e1..672fe82 100644 --- a/backend/src/main/java/mx/uv/Controller/DAO_Documentacion.java +++ b/backend/src/main/java/mx/uv/Controller/DAO_Documentacion.java @@ -81,37 +81,27 @@ public class DAO_Documentacion { return false; } - public static boolean editarDocumentacion(Documento documentacion) { + public static boolean agregarDocumento(Documento doc) { PreparedStatement stm = null; Connection conn = null; - boolean verificacion = false; - conn = cn.conectar(); + boolean msj = false; + conn = cn.conectar(); + String sql = "INSERT INTO documento (titulo, archivo, idUsuario, valido) VALUES (?, ?, ?, ?)"; try { - /* - * String sql = "UPDATE `documentacion` SET `acta_nacimiento` = '" + - * documentacion.getActaNacimiento() - * + "',`certificado_bachillerato` = '" + - * documentacion.getCertificadoBachillerato() + "',`curp` = '" - * + documentacion.getCurp() + "',`ine` = '" + documentacion.getIne() + - * "', `ine_tutor` = '" - * + documentacion.getIneTutor() + "',`certificado_medico` = '" + - * documentacion.getCertificadoMedico() - * + "',`comprobante` = '" + documentacion.getComprobante() + - * "',`fotografia` = '" - * + documentacion.getFotografia() + "',`constancia` = '" + - * documentacion.getConstancia() - * + "' WHERE `id` = '" + documentacion.getId() + "';"; - */ - stm = conn.prepareStatement(""); - stm.executeUpdate(); - verificacion = true; - } catch (SQLException ex) { - System.err.println(ex); - } finally { - cerrarConexiones(stm, conn); - cn.cerrarConexion(); + stm = conn.prepareStatement(sql); + stm.setString(1, doc.getTitulo()); + stm.setBlob(2, doc.getArchivo()); + stm.setInt(3, doc.getIdUsuario()); + stm.setInt(4, doc.getValido()); + + if (stm.executeUpdate() > 0) { + msj = true; + } + } catch (SQLException e) { + e.printStackTrace(); + // Manejar cualquier excepción y retornar falso en caso de error } - return verificacion; + return msj; } } diff --git a/backend/src/main/java/mx/uv/Model/Documento.java b/backend/src/main/java/mx/uv/Model/Documento.java index 80b47ac..8fe8a85 100644 --- a/backend/src/main/java/mx/uv/Model/Documento.java +++ b/backend/src/main/java/mx/uv/Model/Documento.java @@ -1,14 +1,16 @@ package mx.uv.Model; +import java.io.InputStream; + + public class Documento { private int id; private String titulo; - private byte[] archivo; + private InputStream archivo; private int idUsuario; private int valido; - public Documento(int id, String titulo, byte[] archivo, int idUsuario, int valido) { - this.id = id; + public Documento(String titulo, InputStream archivo, int idUsuario, int valido) { this.titulo = titulo; this.archivo = archivo; this.idUsuario = idUsuario; @@ -23,7 +25,7 @@ public class Documento { return titulo; } - public byte[] getArchivo() { + public InputStream getArchivo() { return archivo; } @@ -43,7 +45,7 @@ public class Documento { this.titulo = titulo; } - public void setArchivo(byte[] archivo) { + public void setArchivo(InputStream archivo) { this.archivo = archivo; } diff --git a/backend/src/main/java/mx/uv/Model/Tutor.java b/backend/src/main/java/mx/uv/Model/Tutor.java index ba88183..2276127 100644 --- a/backend/src/main/java/mx/uv/Model/Tutor.java +++ b/backend/src/main/java/mx/uv/Model/Tutor.java @@ -4,10 +4,10 @@ public class Tutor { private int id; private String nombre; private String apellido; - private String numeroDeTelefono; + private int numeroDeTelefono; private int idUsuario; - public Tutor(int id, String nombre, String apellido, String numeroDeTelefono, int idUsuario) { + public Tutor(int id, String nombre, String apellido, int numeroDeTelefono, int idUsuario) { this.id = id; this.nombre = nombre; this.apellido = apellido; @@ -27,7 +27,7 @@ public class Tutor { return apellido; } - public String getNumeroDeTelefono() { + public int getNumeroDeTelefono() { return numeroDeTelefono; } @@ -47,7 +47,7 @@ public class Tutor { this.apellido = apellido; } - public void setNumeroDeTelefono(String numeroDeTelefono) { + public void setNumeroDeTelefono(int numeroDeTelefono) { this.numeroDeTelefono = numeroDeTelefono; } diff --git a/backend/src/main/java/mx/uv/Model/Usuario.java b/backend/src/main/java/mx/uv/Model/Usuario.java index d5c2058..845c1ca 100644 --- a/backend/src/main/java/mx/uv/Model/Usuario.java +++ b/backend/src/main/java/mx/uv/Model/Usuario.java @@ -34,7 +34,6 @@ public class Usuario { this.idCarrera = idCarrera; this.inscrito = inscrito; } - public Usuario(int id, String nombre, String apellido, String matricula) { this.id = id; @@ -42,8 +41,6 @@ public class Usuario { this.apellido = apellido; this.matricula = matricula; } - - public Usuario(int id, String nombre, String apellido, String matricula, String rol) { this.id = id; @@ -53,6 +50,20 @@ public class Usuario { this.rol = rol; } + public Usuario(int id, String nombre, String apellido, String matricula, String correo, String nacionalidad, + String tipoSangre, String fecha_nacimiento, String curp, int idCarrera, int inscrito) { + this.id = id; + this.nombre = nombre; + this.apellido = apellido; + this.matricula = matricula; + this.correo = correo; + this.nacionalidad = nacionalidad; + this.tipoSangre = tipoSangre; + this.fecha_nacimiento = fecha_nacimiento; + this.curp = curp; + this.idCarrera = idCarrera; + this.inscrito = inscrito; + } public Usuario(String matricula, String contrasena) { this.matricula = matricula; diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 45a837e..5b0b8fe 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -17,11 +17,13 @@ function App() {