From 741144d1849d1f1ce356afb968092c7da03374de Mon Sep 17 00:00:00 2001 From: DanielRamirezGe Date: Sat, 30 Nov 2019 20:22:02 -0600 Subject: [PATCH] modificacion base de datos para las personas y terminado datos (4) --- data_base/scrip_db.sql | 7 +++- data_base/values.sql | 15 +++---- routes/datos_proyecto_1.js | 21 ++++++---- routes/datos_proyecto_2.js | 13 +++++- routes/datos_proyecto_3.js | 13 +----- routes/datos_proyecto_4.js | 86 ++++++++++++++++++++++++++++++++++++++ routes/index.js | 1 + 7 files changed, 126 insertions(+), 30 deletions(-) create mode 100644 routes/datos_proyecto_4.js diff --git a/data_base/scrip_db.sql b/data_base/scrip_db.sql index 44bafb8..a954977 100644 --- a/data_base/scrip_db.sql +++ b/data_base/scrip_db.sql @@ -82,14 +82,17 @@ CREATE TABLE `persona` ( `id_persona` int PRIMARY KEY AUTO_INCREMENT, `nombre` varchar(100), `entidad` varchar(50), + `id_proyecto_entidad` int, `tipo_particicipacion` varchar(50), `tipo` varchar(25), `id_proyecto` int + + ); ALTER TABLE `proyecto_campo` ADD FOREIGN KEY (`id_proyecto`) REFERENCES `proyecto` (`id_proyecto`); -ALTER TABLE `proyecto_campo` ADD FOREIGN KEY (`id_campo`) REFERENCES `Campo_conocimiento` (`id_campo`); +ALTER TABLE `proyecto_campo` ADD FOREIGN KEY (`id_campo`) REFERENCES `campo_conocimiento` (`id_campo`); ALTER TABLE `proyecto_linea` ADD FOREIGN KEY (`id_linea_investigacion`) REFERENCES `linea_investigacion` (`id_linea_investigacion`); @@ -106,3 +109,5 @@ ALTER TABLE `proyecto_producto` ADD FOREIGN KEY (`id_proyecto`) REFERENCES `proy ALTER TABLE `proyecto_producto` ADD FOREIGN KEY (`id_producto`) REFERENCES `producto` (`id_producto`); ALTER TABLE `persona` ADD FOREIGN KEY (`id_proyecto`) REFERENCES `proyecto` (`id_proyecto`); + +ALTER TABLE `persona` ADD FOREIGN KEY (`id_proyecto_entidad`) REFERENCES `proyecto_entidad` (`id_pro_entidad`); diff --git a/data_base/values.sql b/data_base/values.sql index 1358538..eeb3bdc 100644 --- a/data_base/values.sql +++ b/data_base/values.sql @@ -16,12 +16,13 @@ insert into campo_conocimiento values(null, "Ciencias Diseño y Edificación"); insert into campo_conocimiento values(null, "Humanidades"); insert into campo_conocimiento values(null, "Matemáticas e Ingenieria"); +insert into producto values(null, "producto 1"); +insert into producto values(null, "producto 2"); +insert into producto values(null, "producto 3"); +insert into producto values(null, "producto 4"); +insert into producto values(null, "producto 5"); - - - - - - - +insert into entidades values(null, "Otra facultad de la UNAM"); +insert into entidades values(null, "Otra universidad de Mexico"); +insert into entidades values (null, "Universidad en el extrajero"); diff --git a/routes/datos_proyecto_1.js b/routes/datos_proyecto_1.js index 7ac5825..64b598d 100644 --- a/routes/datos_proyecto_1.js +++ b/routes/datos_proyecto_1.js @@ -15,14 +15,6 @@ app.post('/datos_proyecto_1', async(req, res) => { if (req.body.nombre_proyecto == undefined || req.body.rfc == undefined || req.body.nombre_responsable == undefined || req.body.disciplina == undefined || req.body.objetivo_general == undefined || req.body.campo_conocimiento == undefined || req.body.linea_investigacion == undefined || req.body.objetivo_particular == undefined) { - console.log(req.body.nombre_proyecto); - console.log(req.body.rfc); - console.log(req.body.nombre_responsable); - console.log(req.body.disciplina); - console.log(req.body.objetivo_general); - console.log(req.body.campo_conocimiento); - console.log(req.body.linea_investigacion); - console.log(req.body.objetivo_particular); res.status(400).json({ error: true, msj: "No estan los datos que requiere la appi" }); return; } @@ -30,6 +22,11 @@ app.post('/datos_proyecto_1', async(req, res) => { try { let verificar = `select id_proyecto from proyecto where nombre_proyecto="${req.body.nombre_proyecto}";`; copia = query(verificar); + copia.catch(function(reason) { + console.log(reason); + res.status(400).json({ error: true, msj: "Error al verificar el nombre del proyecto" }); + return; + }) } catch (error) { res.status(400).json({ error: true, msj: "Error al verificar el nombre del proyecto" }); return; @@ -89,6 +86,7 @@ app.post('/datos_proyecto_1', async(req, res) => { } }); // objetivo particular array[] + let i = 1; await req.body.objetivo_particular.forEach(element => { let cad = `insert into proyecto_objetivo values ( null, ${id_proyecto}, "${element}" ); `; try { @@ -97,8 +95,13 @@ app.post('/datos_proyecto_1', async(req, res) => { res.status(400).json({ error: true, msj: "Error al insertar en la base de datos - particular" }); return; } + if (i == req.body.objetivo_particular.length) { + res.status(200).json({ error: false, msj: "exito", id: id_proyecto }); + return; + } + i++; }); - res.status(200).json({ error: false, msj: "exito", id: id_proyecto }); + diff --git a/routes/datos_proyecto_2.js b/routes/datos_proyecto_2.js index f1a6655..007cf91 100644 --- a/routes/datos_proyecto_2.js +++ b/routes/datos_proyecto_2.js @@ -22,13 +22,22 @@ app.post('/datos_proyecto_2', async(req, res) => { duracion="${req.body.duracion}", estado_avance="${req.body.estado}", avance=${req.body.avance}, fecha_inicio="${req.body.fecha_inicio}", fecha_final = "${req.body.fecha_final}" where id_proyecto=${req.body.id_proyecto};`; + console.log(req.body.id_proyecto); let respuesta = query(cad); + respuesta.catch(function(reason) { + console.log(reason); + res.status(400).json({ error: true, msj: "Error al insertar en la base" }); + return; + }).then(function(resp) { + //console.log(resp); + res.status(200).json({ error: true, msj: "Exito al insertar" }); + return; + }) } catch (error) { res.status(400).json({ error: true, msj: "Error al insertar en la base" }); return; } - res.status(200).json({ error: true, msj: "Exito al insertar" }); - return; + }); module.exports = app; \ No newline at end of file diff --git a/routes/datos_proyecto_3.js b/routes/datos_proyecto_3.js index da1b841..aadf017 100644 --- a/routes/datos_proyecto_3.js +++ b/routes/datos_proyecto_3.js @@ -49,18 +49,10 @@ app.post('/datos_proyecto_3', async(req, res) => { res.status(400).json({ error: true, msj: "Error al insertar en la base, proyecto-entidad" }); return; } - - // CREATE TABLE `proyecto_producto` ( - // `id_pro_producto` int PRIMARY KEY AUTO_INCREMENT, - // `id_proyecto` int, - // `id_producto` int - // ); try { let i = 1; await req.body.producto.forEach(async element => { - console.log(element); - console.log('\n'); - console.log('\n'); + let cad = `insert into proyecto_producto values (null, ${req.body.id_proyecto},${element});`; let respuesta = query(cad); await respuesta.catch(function(reason) { @@ -68,8 +60,7 @@ app.post('/datos_proyecto_3', async(req, res) => { res.status(400).json({ error: true, msj: "Error al insertar en la base, proyecto-producto" }); return; }) - console.log(i); - console.log(req.body.producto.length); + if (i == req.body.producto.length) { res.status(200).json({ error: false, msj: "exito" }); } diff --git a/routes/datos_proyecto_4.js b/routes/datos_proyecto_4.js new file mode 100644 index 0000000..3351e92 --- /dev/null +++ b/routes/datos_proyecto_4.js @@ -0,0 +1,86 @@ +const connection = require('../conf/connection'); +const express = require('express'); +var app = express(); + +function query(consulta) { + return new Promise(function(resolve, reject) { + connection.query(`${consulta}`, (error, results, files) => { + if (error) reject(error); + resolve(results); + }); + }) +} + +app.post('/datos_proyecto_4', async(req, res) => { + if (req.body.profesor_interno == undefined) { + res.status(400).json({ error: true, msj: "No estan los datos que requiere la appi" }); + return; + } + + try { + req.body.profesor_interno.forEach(async element => { + let cad = `insert into persona values (null, "${element[0]}", "interno", null,"${element[1]}", "profesor", ${req.body.id_proyecto});`; + let respuesta = query(cad); + await respuesta.catch(function(reason) { + console.log(reason); + res.status(400).json({ error: true, msj: "No se pudo insertar en la base, profesor interno" }); + return; + }) + }); + } catch (error) { + console.log(error); + res.status(400).json({ error: true, msj: "No se pudo insertar en la base, profesor interno" }); + return; + } + try { + req.body.profesor_externo.forEach(async element => { + let cad = `insert into persona values (null, "${element[0]}", "externo", ${element[2]},"${element[1]}", "profesor", ${req.body.id_proyecto});`; + let respuesta = query(cad); + await respuesta.catch(function(reason) { + console.log(reason); + res.status(400).json({ error: true, msj: "No se pudo insertar en la base, profesor externo" }); + return; + }) + }) + + } catch (error) { + console.log(error); + res.status(400).json({ error: true, msj: "No se pudo insertar en la base, profesor externo" }); + return; + } + try { + req.body.alumno_interno.forEach(async element => { + let cad = `insert into persona values (null, "${element[0]}", "interno", null,"${element[1]}", "alumno", ${req.body.id_proyecto});`; + let respuesta = query(cad); + await respuesta.catch(function(reason) { + console.log(reason); + res.status(400).json({ error: true, msj: "No se pudo insertar en la base, alumno interno" }); + return; + }) + }) + } catch (eror) { + res.status(400).json({ error: true, msj: "No se pudo insertar en la base, alumno interno" }); + return; + } + try { + let i = 1; + req.body.alumno_externo.forEach(async element => { + let cad = `insert into persona values (null, "${element[0]}", "externo", ${element[2]}, "${element[1]}", "alumno", ${req.body.id_proyecto});`; + let respuesta = query(cad); + await respuesta.catch(function(reason) { + console.log(reason); + res.status(400).json({ error: true, msj: "No se pudo insertar en la base, alumno externo" }); + return; + }) + if (i == req.body.alumno_externo.length) { + res.status(200).json({ error: false, msj: "exito" }); + return; + } + i++; + }) + } catch (eror) { + res.status(400).json({ error: true, msj: "No se pudo insertar en la base, alumno externo" }); + return; + } +}); +module.exports = app; \ No newline at end of file diff --git a/routes/index.js b/routes/index.js index 54d41b1..6df1381 100644 --- a/routes/index.js +++ b/routes/index.js @@ -4,4 +4,5 @@ app.use(require('./loggin')); app.use(require('./datos_proyecto_1')); app.use(require('./datos_proyecto_2')); app.use(require('./datos_proyecto_3')); +app.use(require('./datos_proyecto_4')); module.exports = app; \ No newline at end of file