Files
AsineApi/routes/getExcelInscritos.js
T
2020-10-19 02:33:48 -05:00

207 lines
6.3 KiB
JavaScript

const connection = require('../conf/connection.js');
const express = require('express');
const fs = require('fs');
var app = express()
const Excel = require('exceljs');
var path = require('path');
function query(consulta) {
return new Promise(function(resolve, reject) {
connection.query(`${consulta}`, (error, results, files) => {
if (error) reject(error);
resolve(results);
});
})
}
app.get('/getExcelInscritos', async(req, res) => {
try{
const workbook = new Excel.Workbook();
const worksheet = workbook.addWorksheet('Datos alumno');
let encabezados = [];
encabezados.push("Nombre");
encabezados.push("Apellido Paterno");
encabezados.push("Apellido Materno");
encabezados.push("Correo");
encabezados.push("Telefono");
encabezados.push("Comunidad");
encabezados.push("Institucion");
encabezados.push("CURP");
encabezados.push("Situación academica");
encabezados.push("Grado Academico");
encabezados.push("Participacion");
encabezados.push("Codigo Grupal");
encabezados.push("Total a pagar");
await worksheet.addRow(encabezados)
let sqlString = `SELECT * FROM persona WHERE validarPago = true order by participacion;`;
let pagados = await query(sqlString);
for(let item in pagados){
let rowPersona = [];
rowPersona.push(pagados[item].nombre);
rowPersona.push(pagados[item].apellidoPaterno);
rowPersona.push(pagados[item].apellidoMaterno);
rowPersona.push(pagados[item].correo);
rowPersona.push(pagados[item].telefono);
rowPersona.push(pagados[item].comunidad);
rowPersona.push(pagados[item].institucion);
rowPersona.push(pagados[item].curp);
rowPersona.push(pagados[item].situacionAcademica);
rowPersona.push(pagados[item].gradoAcademico);
rowPersona.push(pagados[item].participacion);
rowPersona.push(pagados[item].codigoGrupal);
rowPersona.push(pagados[item].totalPagar);
await worksheet.addRow(rowPersona);
}
res.attachment(path.join('./public', `Inscritos.xlsx`));
workbook.xlsx.write(res).then( ()=>{
res.end();
}).catch(error =>{
console.log(`error desc: ${error}`);
res.status(400).json({ error: false, msj: "no se pudo descargar" });
})
}
catch(error){
console.log(`error desc: ${error}`);
res.status(400).json({ error: false, msj: "no se pudo descargar" });
}
/* for (let i = 0; i < data.alumno.length; i++) {
let d = data.alumno[i];
let a = [];
console.log(d);
a.push(d.nombre);
a.push(d.apellido_p);
a.push(d.apellido_m);
a.push(d.correo);
a.push(d.comunidad);
a.push(d.conversatorio_asistente);
a.push(d.conversatorio_ponente);
a.push(d.magistral_1);
a.push(d.magistral_2);
a.push(d.taller);
a.push(d.visita);
a.push(d.tipo_pago);
a.push(d.pago);
a.push(d.rfc)
a.push(d.domicilio);
a.push(d.f_telefono);
a.push(d.f_correo);
/*aux.rfc='No_registrado';
aux.domicilio='No_registrado';
aux.f_telefono='No_registrado';
aux.f_correo='No_registrado';
worksheet.addRow(a);
}
enc = [];
worksheet.addRow(enc);
enc = [];
worksheet.addRow(enc);
enc = [];
worksheet.addRow(enc);
enc.push("");
enc.push("");
enc.push("");
enc.push("Academico");
worksheet.addRow(enc);
enc = [];
enc.push("Nombre");
enc.push("Apellido Paterno");
enc.push("Apellido Materno");
enc.push("Correo");
enc.push("Comunidad");
enc.push("Conversatorio Asistente");
enc.push("Conversatorio Ponente");
enc.push("Diálogo magistral 1");
enc.push("Diálogo magistral 2");
enc.push("Taller");
enc.push("Ruta");
enc.push("Tipo de Pago");
enc.push("Total de Pago");
enc.push("RFC");
enc.push("Domicilio para la factura");
enc.push("Telefono para la factura");
enc.push("Correo para la factura");
worksheet.addRow(enc);
for (let i = 0; i < data.academico.length; i++) {
let d = data.academico[i];
let a = [];
console.log(d);
a.push(d.nombre);
a.push(d.apellido_p);
a.push(d.apellido_m);
a.push(d.correo);
a.push(d.comunidad);
a.push(d.conversatorio_asistente);
a.push(d.conversatorio_ponente);
a.push(d.magistral_1);
a.push(d.magistral_2);
a.push(d.taller);
a.push(d.visita);
a.push(d.tipo_pago);
a.push(d.pago);
a.push(d.rfc)
a.push(d.domicilio);
a.push(d.f_telefono);
a.push(d.f_correo);
worksheet.addRow(a);
}
res.attachment(__dirname + `/../public/ASINEA-2020.xlsx`)
workbook
.xlsx
.write(res)
.then(() => {
res.end()
})
.catch((err) => {
res.status(400).json({ error: false, msj: "no se pudo descargar" });
}*/
});
module.exports = app;