creacion de excel

This commit is contained in:
2020-10-19 02:33:48 -05:00
parent e79fa2f9ec
commit 7a514b6c2e
5 changed files with 460 additions and 4 deletions
+4 -4
View File
@@ -52,7 +52,7 @@ async function sendEmail( destination, idPersona ) {
https://drive.google.com/file/d/1ygl7kQDTHOmLN9UNZ1D_Bx1u2IOBww7g/view?usp=sharing https://drive.google.com/file/d/1ygl7kQDTHOmLN9UNZ1D_Bx1u2IOBww7g/view?usp=sharing
Nota: En el número de CLABE le pedimos que se base en la que aparece en las imágenes de acuerdo al banco desde el que lo realice. Nota: En el número de CLABE le pedimos que se base en la que aparece en las imágenes de acuerdo al banco desde el que lo realice.
*Si realiza el pago desde BBVA, deberán dirigirse a pago de servicios, ingresar el número de convenio, que inicia con 14 y aparecerán los datos de la UNAM, después deberá ingresar la referencia. Si realiza el pago desde BBVA, deberán dirigirse a pago de servicios, ingresar el número de convenio, que inicia con 14 y aparecerán los datos de la UNAM, después deberá ingresar la referencia.
@@ -60,7 +60,7 @@ async function sendEmail( destination, idPersona ) {
La referencia tiene una vigencia de 3 días. En este lapso deberá enviar su comprobante para poder validar que el pago fue realizado correctamente. De no usarla, la referencia será cancelada. La referencia tiene una vigencia de 3 días. En este lapso deberá enviar su comprobante para poder validar que el pago fue realizado correctamente. De no usarla, la referencia será cancelada.
Una vez realizado el pago, deberá ingresar nuevamente a la plataforma y adjuntar el voucher o imagen del pago realizado con los siguientes datos: Una vez realizado el pago, deberá ingresar nuevamente a la plataforma donde realizaste tu registro para adjuntar el archivo en pdf del voucher de pago con los siguientes datos:
-Número de referencia o convenio -Número de referencia o convenio
-Banco de procedencia -Banco de procedencia
@@ -70,9 +70,9 @@ async function sendEmail( destination, idPersona ) {
-Cuenta de depósito e importe. -Cuenta de depósito e importe.
De no tener estos datos, su pago no podrá ser rastreado. De no tener estos datos, su pago no podrá ser rastreado.
Ahí podrá solicitar su factura. El tiempo de envío es entre 15 y 20 días hábiles.El uso del CFDI en las facturas será generara en automático por Gastos en General, si requiere de otro tipo notificarlo al correo asinea103@fa.unam.mx Ahí podrá solicitar su factura. El tiempo de envío es entre 15 y 20 días hábiles una vez validado el comprobante.El uso del CFDI en las facturas será generara en automático por Gastos en General, si requiere de otro tipo notificarlo al correo asinea103@fa.unam.mx
Se adjunta una imagen de guia del proceso para subir tu comprobante de pago. La siguiente imagen te apoyará para saber como subir tu comprobante de pago y los datos antes mencionados a la plataforma, además adjuntamos a este correo un manual para realizar transferencias a los Convenios BBVA Bancome
`, // plain text body `, // plain text body
attachments: [ attachments: [
{ {
+37
View File
@@ -0,0 +1,37 @@
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('/getEventos', async(req, res) => {
try {
let idPersona = req.query.idPersona;
let sqlString = `SELECT * FROM evento order by tipoEvento;`;
let eventos = await query(sqlString);
//console.log(eventos);
res.status(200).json({error: false, msj: '', datos: eventos });
}
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;
+208
View File
@@ -0,0 +1,208 @@
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('/getExcelEvento', async(req, res) => {
try{
if( typeof(req.query.idEvento) === 'undefined' ){
return res.status(200).json({error: false, msj: 'Falta en identificador del evento'});
}
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");
await worksheet.addRow(encabezados)
let sqlString = `SELECT * FROM asistencia where idEvento = ${req.query.idEvento};`;
let asistencia = await query(sqlString);
sqlString = `SELECT * FROM evento where idEvento = ${req.query.idEvento};`;
let evento = await query(sqlString);
evento = evento[0];
for(let item in asistencia){
sqlString = `SELECT * FROM persona where idPersona = ${asistencia[item].idPersona};`;
let datosPersona = await query(sqlString);
datosPersona = datosPersona[0];
let rowPersona = [];
rowPersona.push(datosPersona.nombre);
rowPersona.push(datosPersona.apellidoPaterno);
rowPersona.push(datosPersona.apellidoMaterno);
rowPersona.push(datosPersona.correo);
rowPersona.push(datosPersona.telefono);
rowPersona.push(datosPersona.comunidad);
rowPersona.push(datosPersona.institucion);
rowPersona.push(datosPersona.curp);
await worksheet.addRow(rowPersona);
}
res.attachment(path.join('./public', `Asistencia-${evento.nombreEvento}.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;
+207
View File
@@ -0,0 +1,207 @@
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;
+4
View File
@@ -22,4 +22,8 @@ app.use(require('./getRechazados'));
app.use(require('./getPagados')); app.use(require('./getPagados'));
app.use(require('./getFactura')); app.use(require('./getFactura'));
app.use(require('./getEventos'));
app.use(require('./getExcelEvento'));
app.use(require('./getExcelInscritos'));
module.exports = app; module.exports = app;