Files
AsineApi/routes/getFactura.js
T
2020-10-18 09:49:57 -05:00

71 lines
2.3 KiB
JavaScript

const connection = require('../conf/connection.js');
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('/getFactura', async(req, res) => {
try {
let idPersona = req.query.idPersona;
let sqlString = `SELECT * FROM persona WHERE validarPago = true and requiereFactura = true order by participacion;`;
let pagados = await query(sqlString);
//console.log(pagados);
for(indice in pagados){
sqlString = `SELECT * FROM asistencia where idPersona = ${pagados[indice].idPersona};`;
let asistenciaPersona = await query ( sqlString );
let actividad = [];
let estudiosPractica = [];
let recorridos = [];
for( indiceAsistencia in asistenciaPersona ){
sqlString = `SELECT * FROM evento where idEvento = ${ asistenciaPersona[indiceAsistencia].idEvento }; `;
let eventoPersona = await query ( sqlString );
if( eventoPersona[0].tipoEvento === 'Actividad' ) actividad.push(eventoPersona[0]);
if( eventoPersona[0].tipoEvento === 'Estudios de practica' ) estudiosPractica.push(eventoPersona[0]);
if( eventoPersona[0].tipoEvento === 'Recorridos' ) recorridos.push(eventoPersona[0]);
}
pagados[indice].actividad = actividad;
pagados[indice].estudiosPractica = estudiosPractica;
pagados[indice].recorridos = recorridos;
sqlString = `Select * from factura where idPersona = ${pagados[indice].idPersona}`;
let facturaDatos = await query ( sqlString );
pagados[indice].facturaDatos = facturaDatos;
}
res.status(200).json({error: false, msj: '', datos: pagados });
}
catch(error){
console.log(error);
res.status(400).json({ error: true, msj: `Sucedio un error al traer a las personas inscritas msj: ${error}` });
return;
}
});
module.exports = app;