59 lines
2.2 KiB
JavaScript
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();
|