Files
red_de_investigacion/routes/traer_datos_proyecto.js
T
2020-01-28 12:50:23 -06:00

118 lines
4.0 KiB
JavaScript

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.get('/traer_datos_proyecto', async(req, res) => {
const id = req.query.id_proyecto;
//console.log(id);
let respuesta = {};
try {
let cad = `select * from proyecto where id_proyecto=${id}`;
let r = await query(cad);
respuesta.proyecto = r;
} catch {
return;
}
try {
let campo = '';
let cad = `select nombre from campo_conocimiento as c inner join proyecto_campo as p where p.id_proyecto=${id} and p.id_campo=c.id_campo;`;
let r = await query(cad);
for (let i = 0; i < r.length; i++) {
campo += r[i].nombre;
if (i < r.length - 2)
campo += ', ';
if (i == r.length - 2)
campo += ' y ';
}
respuesta.campo_proyecto = campo;
} catch {
return;
}
try {
let cad = `select objetivo_texto from proyecto_objetivo where id_proyecto=${id} ;`;
let r = await query(cad);
respuesta.objetivo = r;
} catch (error) {
res.status(400).json({ msj: "MALO", res: error })
}
try {
let cad = `select nombre from producto as p inner join proyecto_producto as pp where pp.id_proyecto=${id} and p.id_producto=pp.id_producto;`;
let r = await query(cad);
respuesta.producto = r;
} catch (error) {
res.status(400).json({ msj: "MALO", res: error })
}
try {
let cad = `select tipo, nombre_entidad from entidades inner join proyecto_entidad where id_proyecto=${ id } and proyecto_entidad.id_entidad=entidades.id_entidad;`;
let r = await query(cad);
//console.log("entidad ", r);
respuesta.entidad = r;
} catch (error) {
res.status(400).json({ msj: "MALO", res: error })
}
try {
let cad = `select nombre, tipo_particicipacion from persona as p inner join proyecto_entidad as p_e where p_e.nombre_entidad = "FES-Acatlan"and p_e.id_pro_entidad = p.id_proyecto_entidad and p.tipo = "alumno" and p_e.id_proyecto = ${ id };`;
let r = await query(cad);
respuesta.alumnos_internos = r;
} catch (error) {
res.status(400).json({ msj: "MALO", res: error })
}
try {
let cad = `select nombre, tipo_particicipacion, nombre_entidad, e.tipo from persona as p inner join proyecto_entidad as p_e inner join entidades as e where e.id_entidad = p_e.id_entidad and p_e.nombre_entidad != "FES-Acatlan"and p_e.id_pro_entidad = p.id_proyecto_entidad and p.tipo = "alumno"and p_e.id_proyecto = ${ id };`;
let r = await query(cad);
respuesta.alumnos_externos = r;
} catch (error) {
res.status(400).json({ msj: "MALO", res: error })
}
try {
let cad = `select nombre, tipo_particicipacion from persona as p inner join proyecto_entidad as p_e where p_e.nombre_entidad = "FES-Acatlan"and p_e.id_pro_entidad = p.id_proyecto_entidad and p.tipo = "profesor"and p_e.id_proyecto = ${ id };`;
let r = await query(cad);
respuesta.profesores_internos = r;
} catch (error) {
res.status(400).json({ msj: "MALO", res: error })
}
try {
let cad = `select nombre, tipo_particicipacion, nombre_entidad, e.tipo from persona as p inner join proyecto_entidad as p_e inner join entidades as e where e.id_entidad = p_e.id_entidad and p_e.nombre_entidad != "FES-Acatlan"and p_e.id_pro_entidad = p.id_proyecto_entidad and p.tipo = "profesor"and p_e.id_proyecto = ${ id };`;
let r = await query(cad);
respuesta.profesores_externos = r;
} catch (error) {
res.status(400).json({ msj: "MALO", res: error })
}
res.status(200).json({ msj: "exito", data: respuesta })
});
module.exports = app;