const moment = require('moment'); const Servicio = require('../db/tablas/Servicio'); const Usuario = require('../db/tablas/Usuario'); const Programa = require('../db/tablas/Programa'); const gmail = require('./gmail'); const correos = require('./correos'); const diario = async () => { let mensaje = ''; const now = moment(); const servicios = await Servicio.findAll({ where: { idStatus: 3 }, include: [ { model: Usuario }, { model: Programa, include: [{ model: Usuario }] }, ], }); for (let i = 0; i < servicios.length; i++) { let fechaFin = moment(servicios[i].fechaFin); let fechaFinDate = fechaFin.dayOfYear(); if (fechaFin.year() > now.year()) fechaFinDate += 365 * (fechaFin.year() - now.year()); if (fechaFinDate - now.dayOfYear() === 7) { let correoAlumno = correos.avisoTerminoAlumno( servicios[i].Usuario.nombre ); let correoResponsable = correos.avisoTerminoResponsable( servicios[i].Usuario.nombre ); mensaje += `Se envio correo al alumno ${servicios[i].Usuario.usuario} con id ${servicios[i].Usuario.idUsuario} al correo ${servicios[i].correo} y al responsable ${servicios[i].Programa.Usuario.nombre} con id ${servicios[i].Programa.Usuario.idUsuario} y correo ${servicios[i].Programa.Usuario.usuario}\n`; await gmail(correoAlumno.subject, servicios[i].correo, correoAlumno.msj); await gmail( correoResponsable.subject, servicios[i].Programa.Usuario.usuario, correoResponsable.msj ); } else if (fechaFinDate - now.dayOfYear() <= -1) { mensaje += `El servicio con id ${servicios[i].idServicio} del alumno ${servicios[i].Usuario.usuario} con id ${servicios[i].Usuario.idUsuario} paso al status 4\n`; await Servicio.update( { idStatus: 4 }, { where: { idServicio: servicios[i].idServicio } } ); } } await gmail('Reporte función diario', 'lemuel@acatlan.unam.mx', mensaje); }; diario();