Files
red_de_investigacion/routes/datos_proyecto_4.js
T
2020-01-21 16:06:32 -06:00

135 lines
4.7 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.post('/datos_proyecto_4', async(req, res) => {
console.log(req.body);
if (req.body.profesor_interno == undefined || req.body.profesor_externo == undefined || req.body.alumno_interno == undefined || req.body.alumno_externo == undefined) {
console.log("faltan datos");
res.status(400).json({ error: true, msj: "Faltan datos" });
console.log(req.body);
return;
}
try {
let cad = `insert into proyecto_entidad values (null, null, ${req.body.id_proyecto}, 'FES-Acatlan');`;
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, insertar interno entidad' });
return;
})
} catch (error) {
console.log(error);
res.status(400).json({ error: true, msj: 'No se pudo insertar en la base, insertar interno entidad' });
return;
}
let id_interno;
try {
let cad = `select id_pro_entidad from proyecto_entidad where id_proyecto=${req.body.id_proyecto} and nombre_entidad='FES-Acatlan';`;
let respuesta = query(cad);
await respuesta.then(res => {
id_interno = res[0].id_pro_entidad;
})
await respuesta.catch(function(reason) {
console.log(reason);
res.status(400).json({ error: true, msj: 'No se pudo insertar en la base, select id poryecto entidad' });
return;
})
} catch (error) {
console.log(error);
res.status(400).json({ error: true, msj: 'No se pudo insertar en la base, select id poryecto entidad' });
return;
}
try {
await req.body.profesor_interno.forEach(async element => {
let cad = `insert into persona values (null, '${element[0]}', 'interno',${id_interno}, '${element[1]}', 'profesor');`;
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 {
await req.body.profesor_externo.forEach(async element => {
let cad = `insert into persona values (null, '${element[0]}', 'externo', ${element[2]},'${element[1]}', 'profesor');`;
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 {
await req.body.alumno_interno.forEach(async element => {
let cad = `insert into persona values (null, '${element[0]}', 'interno', ${id_interno},'${element[1]}', 'alumno');`;
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 {
await req.body.alumno_externo.forEach(async element => {
let cad = `insert into persona values (null, '${element[0]}', 'externo', ${element[2]}, '${element[1]}', 'alumno');`;
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;
})
})
res.status(200).json({ error: false, msj: 'exito' });
} catch (eror) {
res.status(400).json({ error: true, msj: 'No se pudo insertar en la base, alumno externo' });
return;
}
});
module.exports = app;