From 7a301754e5d33212794b8dbef52934647f2c93f6 Mon Sep 17 00:00:00 2001 From: DanielRamirezGe Date: Mon, 12 Oct 2020 09:49:32 -0500 Subject: [PATCH] descargar pagos --- routes/aceptarPago.js | 36 +++++++++++++++++++++++ routes/descargarPago.js | 35 +++++++++++++++++++++++ routes/getPagados.js | 63 +++++++++++++++++++++++++++++++++++++++++ routes/getRechazados.js | 63 +++++++++++++++++++++++++++++++++++++++++ routes/index.js | 5 ++++ routes/rechazarPago.js | 36 +++++++++++++++++++++++ 6 files changed, 238 insertions(+) create mode 100644 routes/aceptarPago.js create mode 100644 routes/descargarPago.js create mode 100644 routes/getPagados.js create mode 100644 routes/getRechazados.js create mode 100644 routes/rechazarPago.js diff --git a/routes/aceptarPago.js b/routes/aceptarPago.js new file mode 100644 index 0000000..af895dc --- /dev/null +++ b/routes/aceptarPago.js @@ -0,0 +1,36 @@ +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.post('/aceptarPago', async(req, res) => { + try { + let data = req.body; + if( typeof( data.idPersona) === 'undefined' ) + res.status(200).json({ error: true, msj: `No se encotro el ID de la persona en los datos: ${error}` }); + + let sqlQuery = `update persona persona set validarPago = true where idPersona = ${data.idPersona};`; + await query(sqlQuery); + res.status(200).json({ error: false, msj: "exito"}); + return; + } + catch(error){ + console.log(error); + res.status(400).json({ error: true, msj: `Sucedio un error al actualizar el pago: ${error}` }); + return; + } +}); + + + +module.exports = app; diff --git a/routes/descargarPago.js b/routes/descargarPago.js new file mode 100644 index 0000000..df6632e --- /dev/null +++ b/routes/descargarPago.js @@ -0,0 +1,35 @@ +const connection = require('../conf/connection.js'); +const express = require('express'); +var path = require('path'); + +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('/descargarPago', async(req, res) => { + try { + let data = req.query; + if( typeof( data.idPersona) === 'undefined' ) + res.status(200).json({ error: true, msj: `No se encotro el ID de la persona en los datos: ${error}` }); + console.log(path.join('./files/recibos', `recibo-${data.idPersona}.pdf`)); + console.log(data); + res.download(path.join('./files/recibos', `recibo-${data.idPersona}.pdf`)); + return; + } + catch(error){ + console.log(error); + res.status(400).json({ error: true, msj: `Sucedio un error al actualizar el pago: ${error}` }); + return; + } +}); + + + +module.exports = app; diff --git a/routes/getPagados.js b/routes/getPagados.js new file mode 100644 index 0000000..3db9ac7 --- /dev/null +++ b/routes/getPagados.js @@ -0,0 +1,63 @@ +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('/getPagados', async(req, res) => { + try { + + let idPersona = req.query.idPersona; + + let sqlString = `SELECT * FROM persona WHERE validarPago = true;`; + 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; + } + + 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; diff --git a/routes/getRechazados.js b/routes/getRechazados.js new file mode 100644 index 0000000..e676575 --- /dev/null +++ b/routes/getRechazados.js @@ -0,0 +1,63 @@ +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('/getRechazados', async(req, res) => { + try { + + let idPersona = req.query.idPersona; + + let sqlString = `SELECT * FROM persona WHERE rechazado = true;`; + let rechazados = await query(sqlString); + + //console.log(rechazados); + + + + for(indice in rechazados){ + + sqlString = `SELECT * FROM asistencia where idPersona = ${rechazados[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]); + + } + + rechazados[indice].actividad = actividad; + rechazados[indice].estudiosPractica = estudiosPractica; + rechazados[indice].recorridos = recorridos; + } + + res.status(200).json({error: false, msj: '', datos: rechazados }); + + + } + 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; diff --git a/routes/index.js b/routes/index.js index ad1c867..4df328f 100644 --- a/routes/index.js +++ b/routes/index.js @@ -14,7 +14,12 @@ app.use(require('./enviarFicha')); app.use(require('./enviarRecibo')); app.use(require('./enviar')); app.use(require('./getPersonasPendientes')); +app.use(require('./aceptarPago')); +app.use(require('./descargarPago')); +app.use(require('./rechazarPago')); +app.use(require('./getRechazados')); +app.use(require('./getPagados')); module.exports = app; \ No newline at end of file diff --git a/routes/rechazarPago.js b/routes/rechazarPago.js new file mode 100644 index 0000000..c127445 --- /dev/null +++ b/routes/rechazarPago.js @@ -0,0 +1,36 @@ +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.post('/rechazarPago', async(req, res) => { + try { + let data = req.body; + if( typeof( data.idPersona) === 'undefined' ) + res.status(200).json({ error: true, msj: `No se encotro el ID de la persona en los datos: ${error}` }); + + let sqlQuery = `update persona persona set rechazado = true where idPersona = ${data.idPersona};`; + await query(sqlQuery); + res.status(200).json({ error: false, msj: "exito"}); + return; + } + catch(error){ + console.log(error); + res.status(400).json({ error: true, msj: `Sucedio un error al actualizar el pago: ${error}` }); + return; + } +}); + + + +module.exports = app;