Files
2021-12-07 13:25:51 -06:00

59 lines
2.2 KiB
JavaScript

const moment = require('moment');
const gmail = require('./gmail');
const correos = require('./correos');
const Servicio = require('../db/tablas/Servicio');
const Usuario = require('../db/tablas/Usuario');
const Programa = require('../db/tablas/Programa');
const now = moment();
const diario = async () => {
return Servicio.findAll({
where: { idStatus: 3 },
include: [
{ model: Usuario },
{ model: Programa, include: [{ model: Usuario }] },
],
}).then(async (servicios) => {
let mensaje = '';
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 (fechaFin.year() < now.year())
fechaFinDate -= 365 * (now.year() - fechaFin.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\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\n`;
await Servicio.update(
{ idStatus: 4 },
{ where: { idServicio: servicios[i].idServicio } }
);
}
}
return gmail('Reporte función diario', 'lemuel@acatlan.unam.mx', mensaje);
});
};
diario();