creacion de excel
This commit is contained in:
@@ -52,7 +52,7 @@ async function sendEmail( destination, idPersona ) {
|
||||
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.
|
||||
|
||||
*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.
|
||||
|
||||
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
|
||||
-Banco de procedencia
|
||||
@@ -70,9 +70,9 @@ async function sendEmail( destination, idPersona ) {
|
||||
-Cuenta de depósito e importe.
|
||||
|
||||
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
|
||||
attachments: [
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -22,4 +22,8 @@ app.use(require('./getRechazados'));
|
||||
app.use(require('./getPagados'));
|
||||
app.use(require('./getFactura'));
|
||||
|
||||
app.use(require('./getEventos'));
|
||||
app.use(require('./getExcelEvento'));
|
||||
app.use(require('./getExcelInscritos'));
|
||||
|
||||
module.exports = app;
|
||||
Reference in New Issue
Block a user