erore merge
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const CasoEspecial = require('../../db/tablas/CasoEspecial');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const TipoUsuario = require('../../db/tablas/TipoUsuario');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const Status = require('../../db/tablas/Status');
|
||||
const { validarId } = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const CasoEspecial = require(`${dbPath}/CasoEspecial`);
|
||||
const Status = require(`${dbPath}/Status`);
|
||||
const TipoUsuario = require(`${dbPath}/TipoUsuario`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const admin = async (body) => {
|
||||
const idCasoEspecial = validar.validarId(body.idCasoEspecial);
|
||||
const idCasoEspecial = validarId(body.idCasoEspecial);
|
||||
|
||||
return CasoEspecial.findOne({
|
||||
where: { idCasoEspecial },
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const CasoEspecial = require('../../db/tablas/CasoEspecial');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const helperPath = '../../helper';
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const { validarId } = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const CasoEspecial = require(`${dbPath}/CasoEspecial`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const liberacion = async (body) => {
|
||||
const idCasoEspecial = validar.validarId(body.idCasoEspecial);
|
||||
const idCasoEspecial = validarId(body.idCasoEspecial);
|
||||
let update = {};
|
||||
|
||||
return CasoEspecial.findOne({
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
const drive = require('../../helper/drive');
|
||||
const CasoEspecial = require('../../db/tablas/CasoEspecial');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const validar = require('../../helper/validar');
|
||||
const helperPath = '../../helper';
|
||||
const drive = require(`${helperPath}/drive`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const CasoEspecial = require(`${dbPath}/CasoEspecial`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const nuevo = async (body, file) => {
|
||||
const idUsuario = validar.validarId(body.idUsuario);
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
const { Op } = require('sequelize');
|
||||
const validar = require('../../helper/validar');
|
||||
const CasoEspecial = require('../../db/tablas/CasoEspecial');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const Status = require('../../db/tablas/Status');
|
||||
const TipoUsuario = require('../../db/tablas/TipoUsuario');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const CasoEspecial = require(`${dbPath}/CasoEspecial`);
|
||||
const Status = require(`${dbPath}/Status`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const serviciosEspeciales = async (body) => {
|
||||
const pagina = validar.validarId(body.pagina);
|
||||
const pagina = validar.validarNumero(body.pagina, true);
|
||||
const where = body.idStatus
|
||||
? { idStatus: validar.validarId(body.idStatus) }
|
||||
: { idStatus: { [Op.gt]: 10 } };
|
||||
@@ -17,41 +17,29 @@ const serviciosEspeciales = async (body) => {
|
||||
const numeroCuenta = body.numeroCuenta
|
||||
? validar.validarNumeroCuenta(body.numeroCuenta)
|
||||
: '';
|
||||
const data = [];
|
||||
|
||||
return CasoEspecial.findAll({
|
||||
return CasoEspecial.findAndCountAll({
|
||||
include: [
|
||||
{
|
||||
model: Usuario,
|
||||
include: { model: TipoUsuario },
|
||||
where: {
|
||||
usuario: { [Op.like]: `%${numeroCuenta}%` },
|
||||
nombre: { [Op.like]: `%${nombre}%` },
|
||||
[Op.and]: [
|
||||
{ usuario: { [Op.like]: `%${numeroCuenta}%` } },
|
||||
{ nombre: { [Op.like]: `%${nombre}%` } },
|
||||
],
|
||||
},
|
||||
},
|
||||
{ model: Carrera },
|
||||
{ model: Status, where },
|
||||
],
|
||||
order: [['updatedAt', 'DESC']],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
}).then((res) => {
|
||||
for (let i = pagina * 25 - 25; i < res.length && i < pagina * 25; i++)
|
||||
data.push({
|
||||
idCasoEspecial: res[i].idCasoEspecial,
|
||||
createdAt: res[i].createdAt,
|
||||
Usuario: {
|
||||
idUsuario: res[i].Usuario.idUsuario,
|
||||
usuario: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
TipoUsuario: res[i].Usuario.TipoUsuario,
|
||||
},
|
||||
Carrera: res[i].Carrera,
|
||||
Status: res[i].Status,
|
||||
});
|
||||
return {
|
||||
registros: res.length,
|
||||
faltantes: res.length - data.length - (pagina - 1) * 25,
|
||||
servicios: data,
|
||||
};
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
// delete res.rows[i].dataValues.idUsuario
|
||||
}
|
||||
return { count: res.count, serviciosEspeciales: res.rows };
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ const update = async (body) => {
|
||||
'El texto motivo.',
|
||||
1
|
||||
);
|
||||
if (validar.isObjectEmpty(dataUpdate))
|
||||
if (validar.validarObjetoVacio(dataUpdate))
|
||||
throw new Error(
|
||||
'No se envio nada para actualizar este Caso Especial.'
|
||||
);
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
const fs = require('fs');
|
||||
const { convertArrayToCSV } = require('convert-array-to-csv');
|
||||
const { Op } = require('sequelize');
|
||||
const validar = require('../../helper/validar');
|
||||
const CuestionarioAlumno = require('../../db/tablas/CuestionarioAlumno');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const helperPath = '../../helper';
|
||||
const helper = require(`${helperPath}/helper`);
|
||||
const { validarNumero } = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const CuestionarioAlumno = require(`${dbPath}/CuestionarioAlumno`);
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const get = async (body) => {
|
||||
const year = validar.validarNumero(body.year, 4);
|
||||
const path = `csv/${year}_cuestionario_alumno.csv`;
|
||||
const year = validarNumero(body.year, 4);
|
||||
const path = `server/uploads/${year}_cuestionario_alumno.csv`;
|
||||
const data = [];
|
||||
|
||||
return Servicio.findAll({
|
||||
@@ -21,61 +23,59 @@ const get = async (body) => {
|
||||
{ model: Programa, where: { clavePrograma: { [Op.like]: `${year}%` } } },
|
||||
{ model: Usuario },
|
||||
],
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.length; i++)
|
||||
data.push({
|
||||
idServicio: res[i].idServicio,
|
||||
clavePrograma: res[i].Programa.clavePrograma,
|
||||
usuario: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
idCuestionarioAlumno: res[i].CuestionarioAlumno.idCuestionarioAlumno,
|
||||
sexo: res[i].CuestionarioAlumno.sexo,
|
||||
edad: res[i].CuestionarioAlumno.edad,
|
||||
servicioMedico: res[i].CuestionarioAlumno.servicioMedico,
|
||||
p1: res[i].CuestionarioAlumno.p1,
|
||||
p2: res[i].CuestionarioAlumno.p2,
|
||||
p3: res[i].CuestionarioAlumno.p3,
|
||||
p4: res[i].CuestionarioAlumno.p4,
|
||||
p5: res[i].CuestionarioAlumno.p5,
|
||||
p6: res[i].CuestionarioAlumno.p6,
|
||||
p7: res[i].CuestionarioAlumno.p7,
|
||||
p8: res[i].CuestionarioAlumno.p8,
|
||||
p9: res[i].CuestionarioAlumno.p9,
|
||||
p10: res[i].CuestionarioAlumno.p10,
|
||||
p11: res[i].CuestionarioAlumno.p11,
|
||||
p12: res[i].CuestionarioAlumno.p12,
|
||||
p13: res[i].CuestionarioAlumno.p13,
|
||||
p14: res[i].CuestionarioAlumno.p14,
|
||||
p15: res[i].CuestionarioAlumno.p15,
|
||||
p16: res[i].CuestionarioAlumno.p16,
|
||||
p17: res[i].CuestionarioAlumno.p17,
|
||||
p18: res[i].CuestionarioAlumno.p18,
|
||||
p19: res[i].CuestionarioAlumno.p19,
|
||||
p20: res[i].CuestionarioAlumno.p20,
|
||||
p21: res[i].CuestionarioAlumno.p21,
|
||||
p22: res[i].CuestionarioAlumno.p22,
|
||||
p23: res[i].CuestionarioAlumno.p23,
|
||||
p24: res[i].CuestionarioAlumno.p24,
|
||||
p25: res[i].CuestionarioAlumno.p25,
|
||||
p26: res[i].CuestionarioAlumno.p26,
|
||||
p27: res[i].CuestionarioAlumno.p27,
|
||||
p28: res[i].CuestionarioAlumno.p28,
|
||||
p29: res[i].CuestionarioAlumno.p29,
|
||||
p30: res[i].CuestionarioAlumno.p30,
|
||||
createdAt: res[i].CuestionarioAlumno.createdAt,
|
||||
order: [['createdAt']],
|
||||
})
|
||||
.then(async (res) => {
|
||||
for (let i = 0; i < res.length; i++)
|
||||
data.push({
|
||||
idServicio: res[i].idServicio,
|
||||
clavePrograma: res[i].Programa.clavePrograma,
|
||||
usuario: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
idCuestionarioAlumno: res[i].CuestionarioAlumno.idCuestionarioAlumno,
|
||||
sexo: res[i].CuestionarioAlumno.sexo,
|
||||
edad: res[i].CuestionarioAlumno.edad,
|
||||
servicioMedico: res[i].CuestionarioAlumno.servicioMedico,
|
||||
p1: res[i].CuestionarioAlumno.p1,
|
||||
p2: res[i].CuestionarioAlumno.p2,
|
||||
p3: res[i].CuestionarioAlumno.p3,
|
||||
p4: res[i].CuestionarioAlumno.p4,
|
||||
p5: res[i].CuestionarioAlumno.p5,
|
||||
p6: res[i].CuestionarioAlumno.p6,
|
||||
p7: res[i].CuestionarioAlumno.p7,
|
||||
p8: res[i].CuestionarioAlumno.p8,
|
||||
p9: res[i].CuestionarioAlumno.p9,
|
||||
p10: res[i].CuestionarioAlumno.p10,
|
||||
p11: res[i].CuestionarioAlumno.p11,
|
||||
p12: res[i].CuestionarioAlumno.p12,
|
||||
p13: res[i].CuestionarioAlumno.p13,
|
||||
p14: res[i].CuestionarioAlumno.p14,
|
||||
p15: res[i].CuestionarioAlumno.p15,
|
||||
p16: res[i].CuestionarioAlumno.p16,
|
||||
p17: res[i].CuestionarioAlumno.p17,
|
||||
p18: res[i].CuestionarioAlumno.p18,
|
||||
p19: res[i].CuestionarioAlumno.p19,
|
||||
p20: res[i].CuestionarioAlumno.p20,
|
||||
p21: res[i].CuestionarioAlumno.p21,
|
||||
p22: res[i].CuestionarioAlumno.p22,
|
||||
p23: res[i].CuestionarioAlumno.p23,
|
||||
p24: res[i].CuestionarioAlumno.p24,
|
||||
p25: res[i].CuestionarioAlumno.p25,
|
||||
p26: res[i].CuestionarioAlumno.p26,
|
||||
p27: res[i].CuestionarioAlumno.p27,
|
||||
p28: res[i].CuestionarioAlumno.p28,
|
||||
p29: res[i].CuestionarioAlumno.p29,
|
||||
p30: res[i].CuestionarioAlumno.p30,
|
||||
createdAt: res[i].CuestionarioAlumno.createdAt,
|
||||
});
|
||||
await helper.eliminarArchivo(path).catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
try {
|
||||
fs.unlinkSync(path);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
fs.appendFile(path, convertArrayToCSV(data), (err) => {
|
||||
if (err) throw new Error(err);
|
||||
return helper.crearArchivo(path, convertArrayToCSV(data));
|
||||
})
|
||||
.then((res) => {
|
||||
return path;
|
||||
});
|
||||
return {
|
||||
message: `Se creo/actualizo correctamente el csv del cuestionario de alumno del año ${year}.`,
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = get;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const CuestionarioAlumno = require('../../db/tablas/CuestionarioAlumno');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const dbPath = '../../db/tablas';
|
||||
const CuestionarioAlumno = require(`${dbPath}/CuestionarioAlumno`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
|
||||
const nuevo = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
const fs = require('fs');
|
||||
const { convertArrayToCSV } = require('convert-array-to-csv');
|
||||
const { Op } = require('sequelize');
|
||||
const validar = require('../../helper/validar');
|
||||
const CuestionarioPrograma = require('../../db/tablas/CuestionarioPrograma');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const helperPath = '../../helper';
|
||||
const helper = require(`${helperPath}/helper`);
|
||||
const { validarNumero } = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const CuestionarioPrograma = require(`${dbPath}/CuestionarioPrograma`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const get = async (body) => {
|
||||
const year = validar.validarNumero(body.year, 4);
|
||||
const path = `csv/${year}_cuestionario_programa.csv`;
|
||||
const year = validarNumero(body.year, 4);
|
||||
const path = `server/uploads/${year}_cuestionario_programa.csv`;
|
||||
const data = [];
|
||||
|
||||
return Servicio.findAll({
|
||||
@@ -21,37 +24,35 @@ const get = async (body) => {
|
||||
{ model: Programa, where: { clavePrograma: { [Op.like]: `${year}-%` } } },
|
||||
{ model: Usuario },
|
||||
],
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.length; i++)
|
||||
data.push({
|
||||
idServicio: res[i].idServicio,
|
||||
clavePrograma: res[i].Programa.clavePrograma,
|
||||
usuario: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
idCuestionarioPrograma:
|
||||
res[i].CuestionarioPrograma.idCuestionarioPrograma,
|
||||
actividad1: res[i].CuestionarioPrograma.actividad1,
|
||||
actividad2: res[i].CuestionarioPrograma.actividad2,
|
||||
actividad3: res[i].CuestionarioPrograma.actividad3,
|
||||
actividad4: res[i].CuestionarioPrograma.actividad4,
|
||||
actividad5: res[i].CuestionarioPrograma.actividad5,
|
||||
retroalimentacion: res[i].CuestionarioPrograma.retroalimentacion,
|
||||
p6: res[i].CuestionarioPrograma.p6,
|
||||
p7: res[i].CuestionarioPrograma.p7,
|
||||
createdAt: res[i].CuestionarioPrograma.createdAt,
|
||||
order: [['createdAt']],
|
||||
})
|
||||
.then(async (res) => {
|
||||
for (let i = 0; i < res.length; i++)
|
||||
data.push({
|
||||
idServicio: res[i].idServicio,
|
||||
clavePrograma: res[i].Programa.clavePrograma,
|
||||
usuario: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
idCuestionarioPrograma:
|
||||
res[i].CuestionarioPrograma.idCuestionarioPrograma,
|
||||
actividad1: res[i].CuestionarioPrograma.actividad1,
|
||||
actividad2: res[i].CuestionarioPrograma.actividad2,
|
||||
actividad3: res[i].CuestionarioPrograma.actividad3,
|
||||
actividad4: res[i].CuestionarioPrograma.actividad4,
|
||||
actividad5: res[i].CuestionarioPrograma.actividad5,
|
||||
retroalimentacion: res[i].CuestionarioPrograma.retroalimentacion,
|
||||
p6: res[i].CuestionarioPrograma.p6,
|
||||
p7: res[i].CuestionarioPrograma.p7,
|
||||
createdAt: res[i].CuestionarioPrograma.createdAt,
|
||||
});
|
||||
await helper.eliminarArchivo(path).catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
try {
|
||||
fs.unlinkSync(path);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
fs.appendFile(path, convertArrayToCSV(data), (err) => {
|
||||
if (err) throw new Error(err);
|
||||
return helper.crearArchivo(path, convertArrayToCSV(data));
|
||||
})
|
||||
.then((res) => {
|
||||
return path;
|
||||
});
|
||||
return {
|
||||
message: `Se creo/actualizo correctamente el csv del cuestionario de programa del año ${year}.`,
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = get;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const CuestionarioPrograma = require('../../db/tablas/CuestionarioPrograma');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const dbPath = '../../db/tablas';
|
||||
const CuestionarioPrograma = require(`${dbPath}/CuestionarioPrograma`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
|
||||
const nuevo = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
const fs = require('fs');
|
||||
const moment = require('moment');
|
||||
const csv = require('csvtojson');
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const encriptar = require('../../helper/encriptar');
|
||||
const validar = require('../../helper/validar');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const moment = require('moment');
|
||||
const helperPath = '../../helper';
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const encriptar = require(`${helperPath}/encriptar`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const { validarCorreo } = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const cargaMasiva = async (file) => {
|
||||
const path = `server/uploads/${file}`;
|
||||
@@ -32,7 +34,7 @@ const cargaMasiva = async (file) => {
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
validar.validarCorreo(programas[i].correo);
|
||||
validarCorreo(programas[i].correo);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
mensaje += 'Esta linea contiene un correo no valido.\n\n';
|
||||
@@ -42,7 +44,7 @@ const cargaMasiva = async (file) => {
|
||||
const activo = Number(programas[i].clave.substr(0, 4)) === today.year();
|
||||
const responsable = await Usuario.findOne({
|
||||
where: { usuario: programas[i].correo, idTipoUsuario: 2 },
|
||||
}).then(async (res) => {
|
||||
}).then((res) => {
|
||||
if (!res) {
|
||||
const password = encriptar.generarPassword();
|
||||
const correo = correos.enviarSec(
|
||||
@@ -50,8 +52,6 @@ const cargaMasiva = async (file) => {
|
||||
programas[i].correo,
|
||||
programas[i].nombre
|
||||
);
|
||||
|
||||
await gmail(correo.subject, programas[i].correo, correo.msj);
|
||||
return Usuario.create({
|
||||
usuario: programas[i].correo,
|
||||
password: encriptar.encriptar(password),
|
||||
@@ -59,12 +59,13 @@ const cargaMasiva = async (file) => {
|
||||
activo: true,
|
||||
idTipoUsuario: 2,
|
||||
})
|
||||
.then((res) => {
|
||||
mensaje += `Se creo el responsable con id ${res.idUsuario} y correo ${res.usuario}\n`;
|
||||
.then(async (res) => {
|
||||
await gmail(correo.subject, programas[i].correo, correo.msj);
|
||||
mensaje += `Se creo al responsable con id ${res.idUsuario} y correo ${res.usuario}\n`;
|
||||
return res;
|
||||
})
|
||||
.catch((err) => {
|
||||
mensaje += err;
|
||||
mensaje = mensaje + err.message + err;
|
||||
});
|
||||
}
|
||||
return res;
|
||||
@@ -84,13 +85,13 @@ const cargaMasiva = async (file) => {
|
||||
activo,
|
||||
idUsuario: responsable.idUsuario,
|
||||
}).catch((err) => {
|
||||
mensaje += err;
|
||||
mensaje = mensaje + err.message + err;
|
||||
});
|
||||
}
|
||||
mensaje += `El programa ${res.clavePrograma} ya ${
|
||||
programas[i].correo === res.Usuario.usuario
|
||||
? 'le pertenece a este responsable'
|
||||
: 'fue asignado a otro responsable'
|
||||
: 'fue asignado al responsable'
|
||||
} con id ${res.Usuario.idUsuario} y correo ${
|
||||
res.Usuario.usuario
|
||||
}.\n`;
|
||||
@@ -98,7 +99,7 @@ const cargaMasiva = async (file) => {
|
||||
})
|
||||
.then((res) => {
|
||||
if (res)
|
||||
mensaje += `Se asigno el programa ${res.clavePrograma} con id ${res.idPrograma} al usuario con correo ${responsable.idUsuario} y correo ${responsable.usuario}\n`;
|
||||
mensaje += `Se asigno el programa ${res.clavePrograma} con id ${res.idPrograma} al usuario con id ${responsable.idUsuario} y correo ${responsable.usuario}\n`;
|
||||
});
|
||||
} else {
|
||||
await Programa.findOne({
|
||||
@@ -118,7 +119,7 @@ const cargaMasiva = async (file) => {
|
||||
acatlan,
|
||||
idUsuario: responsable.idUsuario,
|
||||
}).catch((err) => {
|
||||
mensaje += err;
|
||||
mensaje = mensaje + err.message + err;
|
||||
});
|
||||
}
|
||||
mensaje += `El programa ${res.clavePrograma} ya pertenece al responsable con id ${responsable.idUsuario} y correo ${responsable.usuario}\n`;
|
||||
@@ -126,15 +127,12 @@ const cargaMasiva = async (file) => {
|
||||
})
|
||||
.then((res) => {
|
||||
if (res)
|
||||
mensaje += `Se asigno el programa ${res.clavePrograma} con id ${res.idPrograma} al usuario con correo ${responsable.idUsuario} y correo ${responsable.usuario}\n`;
|
||||
mensaje += `Se asigno el programa ${res.clavePrograma} con id ${res.idPrograma} al usuario con id ${responsable.idUsuario} y correo ${responsable.usuario}\n`;
|
||||
});
|
||||
}
|
||||
mensaje += '\n';
|
||||
}
|
||||
await gmail('Reporte carga masiva', 'lemuel@acatlan.unam.mx', mensaje);
|
||||
await gmail('Reporte carga masiva', 'dscad@acatlan.unam.mx', mensaje);
|
||||
await gmail('Reporte carga masiva', 'tramites.ss@acatlan.unam.mx', mensaje);
|
||||
|
||||
fs.unlinkSync(path);
|
||||
});
|
||||
return {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const { validarId } = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const programasAdmin = async (body) => {
|
||||
const idUsuario = validar.validarId(body.idUsuario);
|
||||
const idUsuario = validarId(body.idUsuario);
|
||||
|
||||
return Usuario.findOne({
|
||||
where: { idUsuario },
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const { validarId } = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const programasResponsable = async (body) => {
|
||||
const idUsuario = validar.validarId(body.idUsuario);
|
||||
const idUsuario = validarId(body.idUsuario);
|
||||
|
||||
return Usuario.findOne({
|
||||
where: { idUsuario },
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
const { validarId, validarCorreo } = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const reasignarProgramas = async (body) => {
|
||||
const idUsuario = validarId(body.idUsuario);
|
||||
const correoOtroResponsable = validarCorreo(body.correoOtroResponsable);
|
||||
let otorResponsable = {};
|
||||
|
||||
return Usuario.findOne({
|
||||
where: { idUsuario },
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) throw new Error('No existe este usuario.');
|
||||
if (res.idTipoUsuario != 2)
|
||||
throw new Error('No es un usuario de tipo responsable');
|
||||
if (res.usuario === correoOtroResponsable)
|
||||
throw new Error('Son el mismo usuario.');
|
||||
return Usuario.findOne({ where: { usuario: correoOtroResponsable } });
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) throw new Error('No existe este usuario.');
|
||||
otorResponsable = res;
|
||||
return Programa.update(
|
||||
{ idUsuario },
|
||||
{
|
||||
where: { idUsuario: otorResponsable.idUsuario },
|
||||
}
|
||||
);
|
||||
})
|
||||
.then((res) =>
|
||||
Usuario.destroy({ where: { idUsuario: otorResponsable.idUsuario } })
|
||||
)
|
||||
.then((res) => ({
|
||||
message: `Se elimino correctamente al usuario ${correoOtroResponsable} y se reasigno correctamente sus programas.`,
|
||||
}));
|
||||
};
|
||||
|
||||
module.exports = reasignarProgramas;
|
||||
@@ -1,13 +1,14 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const TipoUsuario = require('../../db/tablas/TipoUsuario');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const Status = require('../../db/tablas/Status');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const { validarId } = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Status = require(`${dbPath}/Status`);
|
||||
const TipoUsuario = require(`${dbPath}/TipoUsuario`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const admin = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
const idServicio = validarId(body.idServicio);
|
||||
|
||||
return Servicio.findOne({
|
||||
where: { idServicio },
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
const { Op } = require('sequelize');
|
||||
const validar = require('../../helper/validar');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const Status = require('../../db/tablas/Status');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const { validarId } = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Status = require(`${dbPath}/Status`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const alumno = async (body) => {
|
||||
let idUsuario = validar.validarId(body.idUsuario);
|
||||
let idUsuario = validarId(body.idUsuario);
|
||||
|
||||
return Usuario.findOne({ where: { idUsuario } })
|
||||
.then((res) => {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const helperPath = '../../helper';
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const cancelar = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const drive = require('../../helper/drive');
|
||||
const helperPath = '../../helper';
|
||||
const drive = require(`${helperPath}/drive`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
|
||||
const cartaTermino = async (body, file) => {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const drive = require('../../helper/drive');
|
||||
const helperPath = '../../helper';
|
||||
const drive = require(`${helperPath}/drive`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
|
||||
const cartaTermino = async (body, file) => {
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
const fs = require('fs');
|
||||
const moment = require('moment');
|
||||
const { convertArrayToCSV } = require('convert-array-to-csv');
|
||||
const { Op } = require('sequelize');
|
||||
const validar = require('../../helper/validar');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const helperPath = '../../helper';
|
||||
const helper = require(`${helperPath}/helper`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const gustavoBazPrada = async (body) => {
|
||||
const year = validar.validarNumero(body.year, 4);
|
||||
const inicio = moment(`${year}-01-31`);
|
||||
const fin = moment(`${parseInt(year) + 1}-01-31`);
|
||||
const path = `csv/${year}_gustavo_baz_prada.csv`;
|
||||
const path = `server/uploads/${year}_gustavo_baz_prada.csv`;
|
||||
const data = [];
|
||||
|
||||
return Servicio.findAll({
|
||||
@@ -22,27 +24,25 @@ const gustavoBazPrada = async (body) => {
|
||||
],
|
||||
},
|
||||
include: [{ model: Usuario }, { model: Carrera }],
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.length; i++)
|
||||
data.push({
|
||||
numeroCuenta: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
licenciatura: res[i].Carrera.carrera,
|
||||
correo: res[i].correo,
|
||||
fechaLiberacion: validar.crearDDMMAAAA(res[i].fechaLiberacion),
|
||||
order: [['fechaLiberacion']],
|
||||
})
|
||||
.then(async (res) => {
|
||||
for (let i = 0; i < res.length; i++)
|
||||
data.push({
|
||||
numeroCuenta: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
licenciatura: res[i].Carrera.carrera,
|
||||
correo: res[i].correo,
|
||||
fechaLiberacion: helper.crearDDMMAAAA(res[i].fechaLiberacion),
|
||||
});
|
||||
await helper.eliminarArchivo(path).catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
try {
|
||||
fs.unlinkSync(path);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
fs.appendFile(path, convertArrayToCSV(data), (err) => {
|
||||
if (err) throw new Error(err);
|
||||
return helper.crearArchivo(path, convertArrayToCSV(data));
|
||||
})
|
||||
.then((res) => {
|
||||
return path;
|
||||
});
|
||||
return {
|
||||
message: `Se creo/actualizo correctamente el csv del reporte Gustavo Baz Prada.`,
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = gustavoBazPrada;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const drive = require('../../helper/drive');
|
||||
const helperPath = '../../helper';
|
||||
const drive = require(`${helperPath}/drive`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
|
||||
const informeGlobal = async (body, file) => {
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
const moment = require('moment');
|
||||
const validar = require('../../helper/validar');
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const helperPath = '../../helper';
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const liberacion = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
const update = { idStatus: 6, fechaLiberacion: moment() };
|
||||
const update = { idStatus: 6, fechaLiberacion: moment().format() };
|
||||
let correo = {};
|
||||
|
||||
return Servicio.findOne({
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
const { Op } = require('sequelize');
|
||||
const drive = require('../../helper/drive');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const validar = require('../../helper/validar');
|
||||
const helperPath = '../../helper';
|
||||
const drive = require(`${helperPath}/drive`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const nuevo = async (body, file) => {
|
||||
const idUsuario = validar.validarId(body.idUsuario);
|
||||
@@ -68,8 +70,8 @@ const nuevo = async (body, file) => {
|
||||
idCarrera,
|
||||
creditos,
|
||||
correo,
|
||||
fechaInicio,
|
||||
fechaFin,
|
||||
fechaInicio: fechaInicio.format(),
|
||||
fechaFin: fechaFin.format(),
|
||||
carpeta,
|
||||
cartaAceptacion: res,
|
||||
profesor,
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const helperPath = '../../helper';
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const cancelar = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const helperPath = '../../helper';
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const cancelar = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const helperPath = '../../helper';
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const cancelar = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const encriptar = require('../../helper/encriptar');
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const helperPath = '../../helper';
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const encriptar = require(`${helperPath}/encriptar`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const registro = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const helperPath = '../../helper';
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const registroValidado = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
|
||||
@@ -1,24 +1,26 @@
|
||||
const fs = require('fs');
|
||||
const { convertArrayToCSV } = require('convert-array-to-csv');
|
||||
const { Op } = require('sequelize');
|
||||
const validar = require('../../helper/validar');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const Status = require('../../db/tablas/Status');
|
||||
const helperPath = '../../helper';
|
||||
const helper = require(`${helperPath}/helper`);
|
||||
const { validarFecha } = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Status = require(`${dbPath}/Status`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const reporte = async (body) => {
|
||||
const inicio = validar.validarFecha(body.inicio);
|
||||
const fin = validar.validarFecha(body.fin);
|
||||
const path = `csv/reporte.csv`;
|
||||
const inicio = validarFecha(body.inicio);
|
||||
const fin = validarFecha(body.fin);
|
||||
const path = `server/uploads/reporte.csv`;
|
||||
const data = [];
|
||||
|
||||
return Servicio.findAll({
|
||||
where: {
|
||||
[Op.and]: [
|
||||
{ fechaInicio: { [Op.gte]: inicio } },
|
||||
{ fechaInicio: { [Op.lte]: fin } },
|
||||
{ fechaInicio: { [Op.gte]: inicio.format() } },
|
||||
{ fechaInicio: { [Op.lte]: fin.format() } },
|
||||
],
|
||||
},
|
||||
include: [
|
||||
@@ -27,35 +29,33 @@ const reporte = async (body) => {
|
||||
{ model: Carrera },
|
||||
{ model: Status },
|
||||
],
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.length; i++)
|
||||
data.push({
|
||||
numeroCuenta: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
licenciatura: res[i].Carrera.carrera,
|
||||
correo: res[i].correo,
|
||||
fechaInicio: validar.crearDDMMAAAA(res[i].fechaInicio),
|
||||
fechaFin: validar.crearDDMMAAAA(res[i].fechaFin),
|
||||
fechaLiberacion: validar.crearDDMMAAAA(res[i].fechaLiberacion),
|
||||
institucion: res[i].Programa.institucion,
|
||||
dependencia: res[i].Programa.dependencia,
|
||||
programa: res[i].Programa.programa,
|
||||
profesor: res[i].profesor,
|
||||
clave: res[i].Programa.clavePrograma,
|
||||
status: res[i].Status.status,
|
||||
order: [['fechaInicio']],
|
||||
})
|
||||
.then(async (res) => {
|
||||
for (let i = 0; i < res.length; i++)
|
||||
data.push({
|
||||
numeroCuenta: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
licenciatura: res[i].Carrera.carrera,
|
||||
correo: res[i].correo,
|
||||
fechaInicio: helper.crearDDMMAAAA(res[i].fechaInicio),
|
||||
fechaFin: helper.crearDDMMAAAA(res[i].fechaFin),
|
||||
fechaLiberacion: helper.crearDDMMAAAA(res[i].fechaLiberacion),
|
||||
institucion: res[i].Programa.institucion,
|
||||
dependencia: res[i].Programa.dependencia,
|
||||
programa: res[i].Programa.programa,
|
||||
profesor: res[i].profesor,
|
||||
clave: res[i].Programa.clavePrograma,
|
||||
status: res[i].Status.status,
|
||||
});
|
||||
await helper.eliminarArchivo(path).catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
try {
|
||||
fs.unlinkSync(path);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
fs.appendFile(path, convertArrayToCSV(data), (err) => {
|
||||
if (err) throw new Error(err);
|
||||
return helper.crearArchivo(path, convertArrayToCSV(data));
|
||||
})
|
||||
.then((res) => {
|
||||
return path;
|
||||
});
|
||||
return {
|
||||
message: `Se creo/actualizo correctamente el csv del reporte de servicios sociales.`,
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = reporte;
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
const moment = require('moment');
|
||||
const { Op } = require('sequelize');
|
||||
const validar = require('../../helper/validar');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const Status = require('../../db/tablas/Status');
|
||||
const TipoUsuario = require('../../db/tablas/TipoUsuario');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Status = require(`${dbPath}/Status`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const serviciosAdmin = async (body) => {
|
||||
const pagina = validar.validarId(body.pagina);
|
||||
const pagina = validar.validarNumero(body.pagina, true);
|
||||
const where = body.idStatus
|
||||
? { idStatus: validar.validarId(body.idStatus) }
|
||||
: {};
|
||||
@@ -17,43 +18,43 @@ const serviciosAdmin = async (body) => {
|
||||
const numeroCuenta = body.numeroCuenta
|
||||
? validar.validarNumeroCuenta(body.numeroCuenta)
|
||||
: '';
|
||||
const data = [];
|
||||
|
||||
return Servicio.findAll({
|
||||
return Servicio.findAndCountAll({
|
||||
include: [
|
||||
{
|
||||
model: Usuario,
|
||||
include: { model: TipoUsuario },
|
||||
where: {
|
||||
usuario: { [Op.like]: `%${numeroCuenta}%` },
|
||||
nombre: { [Op.like]: `%${nombre}%` },
|
||||
[Op.and]: [
|
||||
{ usuario: { [Op.like]: `%${numeroCuenta}%` } },
|
||||
{ nombre: { [Op.like]: `%${nombre}%` } },
|
||||
],
|
||||
},
|
||||
},
|
||||
{ model: Carrera },
|
||||
{ model: Status, where },
|
||||
],
|
||||
order: [['updatedAt', 'DESC']],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
}).then((res) => {
|
||||
for (let i = pagina * 25 - 25; i < res.length && i < pagina * 25; i++)
|
||||
let data = [];
|
||||
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
data.push({
|
||||
idServicio: res[i].idServicio,
|
||||
fechaInicio: res[i].fechaInicio,
|
||||
fechaFin: res[i].fechaFin,
|
||||
createdAt: res[i].createdAt,
|
||||
idServicio: res.rows[i].idServicio,
|
||||
fechaInicio: moment(res.rows[i].fechaInicio).format(),
|
||||
fechaFin: moment(res.rows[i].fechaFin).format(),
|
||||
createdAt: moment(res.rows[i].createdAt).format(),
|
||||
Usuario: {
|
||||
idUsuario: res[i].Usuario.idUsuario,
|
||||
usuario: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
TipoUsuario: res[i].Usuario.TipoUsuario,
|
||||
idUsuario: res.rows[i].Usuario.idUsuario,
|
||||
usuario: res.rows[i].Usuario.usuario,
|
||||
nombre: res.rows[i].Usuario.nombre,
|
||||
},
|
||||
Carrera: res[i].Carrera,
|
||||
Status: res[i].Status,
|
||||
Carrera: res.rows[i].Carrera,
|
||||
Status: res.rows[i].Status,
|
||||
});
|
||||
return {
|
||||
registros: res.length,
|
||||
faltantes: res.length - data.length - (pagina - 1) * 25,
|
||||
servicios: data,
|
||||
};
|
||||
}
|
||||
return { count: res.count, serviciosAdmin: data };
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
const moment = require('moment');
|
||||
const { Op } = require('sequelize');
|
||||
const validar = require('../../helper/validar');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const Status = require('../../db/tablas/Status');
|
||||
const TipoUsuario = require('../../db/tablas/TipoUsuario');
|
||||
const Programa = require('../../db/tablas/Programa');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
const Status = require(`${dbPath}/Status`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const serviciosResponsable = async (body) => {
|
||||
const pagina = validar.validarId(body.pagina);
|
||||
const pagina = validar.validarNumero(body.pagina, true);
|
||||
const idUsuario = validar.validarId(body.idUsuario);
|
||||
const where = body.idStatus
|
||||
? { idStatus: validar.validarId(body.idStatus) }
|
||||
@@ -20,52 +21,52 @@ const serviciosResponsable = async (body) => {
|
||||
const numeroCuenta = body.numeroCuenta
|
||||
? validar.validarNumeroCuenta(body.numeroCuenta)
|
||||
: '';
|
||||
const data = [];
|
||||
|
||||
return Usuario.findOne({ where: { idUsuario } })
|
||||
.then((res) => {
|
||||
if (!res) throw new Error('No existe este usuario.');
|
||||
if (res.idTipoUsuario !== 2)
|
||||
throw new Error('No es un usuario tipo responsable.');
|
||||
return Servicio.findAll({
|
||||
return Servicio.findAndCountAll({
|
||||
include: [
|
||||
{ model: Programa, where: { idUsuario } },
|
||||
{
|
||||
model: Usuario,
|
||||
include: { model: TipoUsuario },
|
||||
where: {
|
||||
usuario: { [Op.like]: `%${numeroCuenta}%` },
|
||||
nombre: { [Op.like]: `%${nombre}%` },
|
||||
[Op.and]: [
|
||||
{ usuario: { [Op.like]: `%${numeroCuenta}%` } },
|
||||
{ nombre: { [Op.like]: `%${nombre}%` } },
|
||||
],
|
||||
},
|
||||
},
|
||||
{ model: Carrera },
|
||||
{ model: Status, where },
|
||||
],
|
||||
order: [['updatedAt', 'DESC']],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
});
|
||||
})
|
||||
.then((res) => {
|
||||
for (let i = pagina * 25 - 25; i < res.length && i < pagina * 25; i++)
|
||||
let data = [];
|
||||
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
data.push({
|
||||
idServicio: res[i].idServicio,
|
||||
fechaInicio: res[i].fechaInicio,
|
||||
fechaFin: res[i].fechaFin,
|
||||
cartaTermino: res[i].cartaTermino,
|
||||
idCuestionarioPrograma: res[i].idCuestionarioPrograma,
|
||||
idServicio: res.rows[i].idServicio,
|
||||
fechaInicio: moment(res.rows[i].fechaInicio).format(),
|
||||
fechaFin: moment(res.rows[i].fechaFin).format(),
|
||||
cartaTermino: res.rows[i].cartaTermino,
|
||||
idCuestionarioPrograma: res.rows[i].idCuestionarioPrograma,
|
||||
Usuario: {
|
||||
idUsuario: res[i].Usuario.idUsuario,
|
||||
usuario: res[i].Usuario.usuario,
|
||||
nombre: res[i].Usuario.nombre,
|
||||
TipoUsuario: res[i].Usuario.TipoUsuario,
|
||||
idUsuario: res.rows[i].Usuario.idUsuario,
|
||||
usuario: res.rows[i].Usuario.usuario,
|
||||
nombre: res.rows[i].Usuario.nombre,
|
||||
},
|
||||
Carrera: res[i].Carrera,
|
||||
Status: res[i].Status,
|
||||
Carrera: res.rows[i].Carrera,
|
||||
Status: res.rows[i].Status,
|
||||
});
|
||||
return {
|
||||
registros: res.length,
|
||||
faltantes: res.length - data.length - (pagina - 1) * 25,
|
||||
servicios: data,
|
||||
};
|
||||
}
|
||||
return { count: res.count, serviciosResponsable: data };
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
const drive = require('../../helper/drive');
|
||||
const validar = require('../../helper/validar');
|
||||
const helperPath = '../../helper';
|
||||
const drive = require(`${helperPath}/drive`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
|
||||
const update = async (body, files) => {
|
||||
@@ -51,7 +52,7 @@ const update = async (body, files) => {
|
||||
);
|
||||
if (body.telefono)
|
||||
dataUpdate.telefono = validar.validarNumero(body.telefono, 15);
|
||||
if (validar.isObjectEmpty(dataUpdate))
|
||||
if (validar.validarObjetoVacio(dataUpdate))
|
||||
throw new Error(
|
||||
'No se envio nada para actualizar este Servicio Social'
|
||||
);
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
require('../../config/config');
|
||||
const validar = require('../../helper/validar');
|
||||
const axios = require('axios');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Carrera = require('../../db/tablas/Carrera');
|
||||
const { validarNumeroCuenta } = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const creditosCarreras = [
|
||||
{ carrera: 'LIC. EN ACTUARIA', creditos: 70 },
|
||||
{ carrera: 'LIC. EN ARQUITECTURA', creditos: 70 },
|
||||
@@ -32,7 +33,7 @@ const creditosCarreras = [
|
||||
];
|
||||
|
||||
const escolares = async (body) => {
|
||||
const numeroCuenta = validar.validarNumeroCuenta(body.numeroCuenta);
|
||||
const numeroCuenta = validarNumeroCuenta(body.numeroCuenta);
|
||||
let alumno;
|
||||
|
||||
return axios({
|
||||
@@ -63,7 +64,6 @@ const escolares = async (body) => {
|
||||
alumno.nombre = alumno.nombre.replace('Ã', 'Ñ');
|
||||
alumno.nombre = alumno.nombre.replace('', '');
|
||||
}
|
||||
|
||||
return Carrera.findOne({ where: { carrera: alumno.carrera } });
|
||||
})
|
||||
.then((res) => {
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
const encriptar = require('../../helper/encriptar');
|
||||
const validar = require('../../helper/validar');
|
||||
const { crearToken } = require('../../middleware/autentificacion');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const TipoUsuario = require('../../db/tablas/TipoUsuario');
|
||||
const { comparar } = require('../../helper/encriptar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
const TipoUsuario = require(`${dbPath}/TipoUsuario`);
|
||||
|
||||
const login = async (body) => {
|
||||
const usuario = validar.validar(body.usuario, 'El usuario', 60);
|
||||
const password = validar.validarAlfanumerico(
|
||||
body.password,
|
||||
'El password',
|
||||
'La contraseña',
|
||||
20
|
||||
);
|
||||
|
||||
@@ -18,7 +19,7 @@ const login = async (body) => {
|
||||
}).then((res) => {
|
||||
if (!res) throw new Error('No existe este usuario.');
|
||||
if (!res.activo) throw new Error('Este usuario no esta activo.');
|
||||
if (encriptar.comparar(password, res.password)) {
|
||||
if (comparar(password, res.password)) {
|
||||
delete res.dataValues.password;
|
||||
delete res.dataValues.activo;
|
||||
return {
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const encriptar = require('../../helper/encriptar');
|
||||
const validar = require('../../helper/validar');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const Servicio = require('../../db/tablas/Servicio');
|
||||
const helperPath = '../../helper';
|
||||
const { validarId } = require(`${helperPath}/validar`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const encriptar = require(`${helperPath}/encriptar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
const Servicio = require(`${dbPath}/Servicio`);
|
||||
|
||||
const newPasswordAlumno = async (body) => {
|
||||
const idServicio = validar.validarId(body.idServicio);
|
||||
const idServicio = validarId(body.idServicio);
|
||||
const password = encriptar.generarPassword();
|
||||
let idUsuario;
|
||||
let correo = {};
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
const gmail = require('../../helper/gmail');
|
||||
const correos = require('../../helper/correos');
|
||||
const encriptar = require('../../helper/encriptar');
|
||||
const validar = require('../../helper/validar');
|
||||
const helperPath = '../../helper';
|
||||
const { validarId } = require(`${helperPath}/validar`);
|
||||
const gmail = require(`${helperPath}/gmail`);
|
||||
const correos = require(`${helperPath}/correos`);
|
||||
const encriptar = require(`${helperPath}/encriptar`);
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
|
||||
const newPasswordResponsable = async (body) => {
|
||||
const idUsuario = await validar.validarId(body.idUsuario);
|
||||
const idUsuario = await validarId(body.idUsuario);
|
||||
const password = encriptar.generarPassword();
|
||||
let correo = {};
|
||||
|
||||
|
||||
@@ -1,36 +1,15 @@
|
||||
const { Op } = require('sequelize');
|
||||
const validar = require('../../helper/validar');
|
||||
const { validarId } = require('../../helper/validar');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
const TipoUsuario = require('../../db/tablas/TipoUsuario');
|
||||
|
||||
const responsable = async (body) => {
|
||||
const pagina = validar.validarId(body.pagina);
|
||||
const nombre = body.nombre
|
||||
? validar.validarTexto(body.nombre, 'El nombre', 60)
|
||||
: '';
|
||||
const correo = body.correo
|
||||
? validar.validar(body.correo, 'El correo', 1000)
|
||||
: '';
|
||||
const data = [];
|
||||
const idUsuario = validarId(body.idUsuario);
|
||||
|
||||
return Usuario.findAll({
|
||||
where: {
|
||||
usuario: { [Op.like]: `%${correo}%` },
|
||||
nombre: { [Op.like]: `%${nombre}%` },
|
||||
idTipoUsuario: 2,
|
||||
},
|
||||
include: [{ model: TipoUsuario }],
|
||||
return Usuario.findOne({
|
||||
where: { idUsuario },
|
||||
}).then((res) => {
|
||||
for (let i = pagina * 25 - 25; i < res.length && i < pagina * 25; i++) {
|
||||
delete res[i].dataValues.password;
|
||||
delete res[i].dataValues.idTipoUsuario;
|
||||
data.push(res[i]);
|
||||
}
|
||||
return {
|
||||
registros: res.length,
|
||||
faltantes: res.length - data.length - (pagina - 1) * 25,
|
||||
servicios: data,
|
||||
};
|
||||
delete res.dataValues.password;
|
||||
delete res.dataValues.idTipoUsuario;
|
||||
return res;
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ const responsableUpdate = async (body) => {
|
||||
if (!res)
|
||||
throw new Error('No existe este responsable en la base de datos.');
|
||||
if (res.idTipoUsuario !== 2)
|
||||
throw new Error('No es un usuaior de tipo responasble.');
|
||||
throw new Error('Este usuario no es un responsable de programa.');
|
||||
if (body.correo) {
|
||||
const yaUsado = await Usuario.findOne({
|
||||
where: { usuario: body.correo, idUsuario: { [Op.not]: idUsuario } },
|
||||
@@ -26,7 +26,7 @@ const responsableUpdate = async (body) => {
|
||||
if (body.nombre)
|
||||
dataUpdate.nombre = validar.validarTexto(body.nombre, 'el nombre', 70);
|
||||
|
||||
if (validar.isObjectEmpty(dataUpdate))
|
||||
if (validar.validarObjetoVacio(dataUpdate))
|
||||
throw new Error('No se a envio nada para actualizar.');
|
||||
return Usuario.update(dataUpdate, { where: { idUsuario } });
|
||||
})
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
const { Op } = require('sequelize');
|
||||
const validar = require('../../helper/validar');
|
||||
const Usuario = require('../../db/tablas/Usuario');
|
||||
|
||||
const responsables = async (body) => {
|
||||
const pagina = validar.validarNumero(body.pagina, true);
|
||||
const nombre = body.nombre
|
||||
? validar.validarTexto(body.nombre, 'El nombre', 60)
|
||||
: '';
|
||||
const correo = body.correo
|
||||
? validar.validar(body.correo, 'El correo', 1000)
|
||||
: '';
|
||||
|
||||
return Usuario.findAndCountAll({
|
||||
where: {
|
||||
[Op.and]: [
|
||||
{ usuario: { [Op.like]: `%${correo}%` } },
|
||||
{ nombre: { [Op.like]: `%${nombre}%` } },
|
||||
{ idTipoUsuario: 2 },
|
||||
],
|
||||
},
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
delete res.rows[i].dataValues.password;
|
||||
delete res.rows[i].dataValues.idTipoUsuario;
|
||||
}
|
||||
return { count: res.count, responsables: res.rows };
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = responsables;
|
||||
Reference in New Issue
Block a user