221 lines
8.4 KiB
JavaScript
221 lines
8.4 KiB
JavaScript
const connection = require('../conf/connection.js');
|
|
const express = require('express');
|
|
|
|
const fs = require('fs');
|
|
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_persona', async(req, res) => {
|
|
data = { alumno: [], academico: [] };
|
|
try {
|
|
let cad = `select * from persona;`;
|
|
let r = query(cad);
|
|
r.then(async(p) => {
|
|
for (let i = 0; i < p.length; i++) {
|
|
if (p[i].situacion_academica == 'Alumno') {
|
|
let aux = {}
|
|
cad = `select e.*, asi.* from evento as e inner join asistencia as asi where asi.id_persona=${p[i].id_persona} and e.id_evento=asi.id_evento`;
|
|
|
|
let n_ans = await query(cad);
|
|
console.log(p[i]);
|
|
console.log("nuevo ans ", n_ans);
|
|
|
|
|
|
|
|
|
|
aux.id_persona = p[i].id_persona;
|
|
aux.nombre = p[i].nombre;
|
|
aux.apellido_p = p[i].apellido_p;
|
|
aux.apellido_m = p[i].apellido_m;
|
|
aux.comunidad = p[i].comunidad;
|
|
aux.conversatorio_ponente = 'No';
|
|
aux.conversatorio_asistente = 'No';
|
|
aux.taller = 'No';
|
|
aux.visita = 'No';
|
|
aux.magistral = 'No';
|
|
aux.bienvenida = 'No';
|
|
aux.comprobante_pago = false;
|
|
aux.carta_aceptacion = false;
|
|
if (fs.existsSync(`./files/carta_aceptacion-${p[i].id_persona}.docx`)) {
|
|
|
|
aux.carta_aceptacion = true;
|
|
}
|
|
|
|
|
|
if (fs.existsSync(`./files/comprobante_pago-${p[i].id_persona}.docx`)) {
|
|
aux.comprobante_pago = true;
|
|
}
|
|
|
|
|
|
|
|
aux.correo = p[i].correo;
|
|
// let nueva_cadena = `select * from alumno where id_persona=${p[i].id_persona};`
|
|
// let nueva_query = await query(nueva_cadena);
|
|
// aux.tipo_pago = nueva_query[0].metodo_pago_asignado;
|
|
let ext = true;
|
|
if (aux.comunidad == 'UNAM')
|
|
ext = false;
|
|
|
|
let tot = 0;
|
|
for (let j = 0; j < n_ans.length; j++) {
|
|
|
|
console.log(aux.nombre, " ", aux.comunidad, " ", tot, " ", ext, " ", n_ans[j].tipo_de_participacion);
|
|
if (n_ans[j].tipo_evento == 'Conversatorio') {
|
|
if (n_ans[j].tipo_de_participacion == 'Video') {
|
|
if (ext == true)
|
|
tot += 700;
|
|
else
|
|
tot += 100;
|
|
aux.conversatorio_ponente = 'Video: ' + n_ans[j].nombre_evento;
|
|
|
|
} else
|
|
if (n_ans[j].tipo_de_participacion == 'Ensayo') {
|
|
if (ext == true)
|
|
tot += 700;
|
|
else
|
|
tot += 100;
|
|
aux.conversatorio_ponente = 'Ensayo: ' + n_ans[j].nombre_evento;
|
|
} else {
|
|
aux.conversatorio_asistente = n_ans[j].nombre_evento;
|
|
if (ext == true)
|
|
tot += 200;
|
|
else
|
|
tot += 100;
|
|
}
|
|
|
|
|
|
}
|
|
if (n_ans[j].tipo_evento == 'Taller alumno') {
|
|
if (ext == true)
|
|
tot += 900;
|
|
else
|
|
tot += 200;
|
|
aux.taller = n_ans[j].nombre_evento;
|
|
|
|
|
|
}
|
|
if (n_ans[j].tipo_evento == 'Visitas guiadas') {
|
|
if (ext == true)
|
|
tot += 500;
|
|
else
|
|
tot += 500;
|
|
aux.visita = n_ans[j].nombre_evento;
|
|
|
|
}
|
|
if (n_ans[j].tipo_evento == 'Dialogo magistral') {
|
|
aux.magistral = n_ans[j].nombre_evento;
|
|
}
|
|
if (n_ans[j].codigo == 'Bienvenida') {
|
|
aux.bienvenida = n_ans[j].nombre_evento;
|
|
}
|
|
aux.pago = tot;
|
|
|
|
}
|
|
|
|
data.alumno.push(aux);
|
|
console.log(" ");
|
|
console.log(" ");
|
|
}
|
|
if (p[i].situacion_academica == 'Académico') {
|
|
let aux = {}
|
|
cad = `select e.*, asi.* from evento as e inner join asistencia as asi where asi.id_persona=${p[i].id_persona} and e.id_evento=asi.id_evento`;
|
|
|
|
let n_ans = await query(cad);
|
|
aux.id_persona = p[i].id_persona;
|
|
aux.nombre = p[i].nombre;
|
|
aux.apellido_p = p[i].apellido_p;
|
|
aux.apellido_m = p[i].apellido_m;
|
|
aux.comunidad = p[i].comunidad;
|
|
aux.conversatorio_ponente = 'No';
|
|
aux.conversatorio_asistente = 'No';
|
|
aux.taller = 'No';
|
|
aux.visita = 'No';
|
|
aux.magistral = 'No';
|
|
aux.bienvenida = 'No';
|
|
|
|
aux.pago = 0;
|
|
aux.correo = p[i].correo;
|
|
|
|
// let nueva_cadena = `select * from academico where id_persona=${p[i].id_persona};`
|
|
// let nueva_query = await query(nueva_cadena);
|
|
// aux.tipo_pago = nueva_query[0].metodo_pago_asignado;
|
|
//aux.codigo = nueva_query[0].codigo;
|
|
|
|
let tot = 0;
|
|
let ext = true;
|
|
if (aux.comunidad == 'UNAM')
|
|
ext = false;
|
|
|
|
|
|
for (let j = 0; j < n_ans.length; j++) {
|
|
if (n_ans[j].tipo_evento == 'Conversatorio') {
|
|
|
|
if (n_ans[j].tipo_de_participacion == 'Ponente') {
|
|
if (ext == true)
|
|
tot += 1000;
|
|
else
|
|
tot += 500;
|
|
aux.conversatorio_ponente = n_ans[j].nombre_event;
|
|
|
|
} else {
|
|
aux.conversatorio_asistente = n_ans[j].nombre_evento;
|
|
if (ext == true)
|
|
tot += 1300;
|
|
else
|
|
tot += 650;
|
|
}
|
|
|
|
|
|
}
|
|
if (n_ans[j].tipo_evento == 'Taller profesor') {
|
|
if (ext == true)
|
|
tot += 1500;
|
|
else
|
|
tot += 750;
|
|
aux.taller = n_ans[j].nombre_evento;
|
|
|
|
|
|
}
|
|
if (n_ans[j].tipo_evento == 'Visitas guiadas') {
|
|
if (ext == true)
|
|
tot += 500;
|
|
else
|
|
tot += 500;
|
|
aux.visita = n_ans[j].nombre_evento;
|
|
|
|
}
|
|
if (n_ans[j].tipo_evento == 'Dialogo magistral') {
|
|
aux.magistral = n_ans[j].nombre_evento;
|
|
}
|
|
|
|
if (n_ans[j].codigo == 'Bienvenida') {
|
|
aux.bienvenida = n_ans[j].nombre_evento;
|
|
}
|
|
aux.pago = tot;
|
|
|
|
}
|
|
|
|
data.academico.push(aux);
|
|
}
|
|
}
|
|
console.log(p);
|
|
res.status(200).json({ error: false, datos: data });
|
|
})
|
|
|
|
} catch (err) {
|
|
return res.status(400).json({ error: true, msj: "Error al traer los datos" });
|
|
}
|
|
|
|
});
|
|
|
|
module.exports = app; |