Merge branch 'master' of https://repositorio.acatlan.unam.mx/CIDWA/servicio_social_api into dev
This commit is contained in:
@@ -6,7 +6,6 @@ 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 { EROFS } = require('constants');
|
||||
|
||||
const get = async (body) => {
|
||||
const year = validar.validarNumero(body.year, 4);
|
||||
|
||||
@@ -68,9 +68,9 @@ const registroValidado = async (body) => {
|
||||
.then((res) =>
|
||||
Servicio.update(
|
||||
// Producción
|
||||
// { idStatus: 3, direccion, telefono, fechaNacimiento },
|
||||
{ idStatus: 3, direccion, telefono, fechaNacimiento },
|
||||
// Pruebas
|
||||
{ idStatus: 4, direccion, telefono, fechaNacimiento },
|
||||
// { idStatus: 4, direccion, telefono, fechaNacimiento },
|
||||
{ where: { idServicio } }
|
||||
)
|
||||
)
|
||||
|
||||
@@ -40,7 +40,7 @@ const serviciosResponsable = async (body) => {
|
||||
},
|
||||
},
|
||||
{ model: Carrera },
|
||||
{ model: Status },
|
||||
{ model: Status, where: { idStatus: { [Op.not]: 10 } } },
|
||||
],
|
||||
order: [['updatedAt', 'DESC']],
|
||||
});
|
||||
|
||||
@@ -1,313 +0,0 @@
|
||||
const csv = require('csvtojson');
|
||||
const Carrera = require('./tablas/Carrera');
|
||||
const CuestionarioAlumno = require('./tablas/CuestionarioAlumno');
|
||||
const CuestionarioPrograma = require('./tablas/CuestionarioPrograma');
|
||||
const Programa = require('./tablas/Programa');
|
||||
const Servicio = require('./tablas/Servicio');
|
||||
const Usuario = require('./tablas/Usuario');
|
||||
|
||||
const guardar = async () => {
|
||||
const idsProgramas = [];
|
||||
const idsAlumnos = [];
|
||||
const idsRegistros = [];
|
||||
const responsables = await csv().fromFile('db/responsable.csv');
|
||||
let programas = await csv().fromFile('db/programa.csv');
|
||||
let alumnos = await csv().fromFile('db/alumno.csv');
|
||||
let registros = await csv().fromFile('db/registro.csv');
|
||||
let cuestionariosAlumno = await csv().fromFile('db/cuestionarioA.csv');
|
||||
let cuestionariosPrograma = await csv().fromFile('db/cuestionarioP.csv');
|
||||
|
||||
/* Insertar Responsables */
|
||||
for (let i = 0; i < responsables.length; i++) {
|
||||
await Usuario.create({
|
||||
idTipoUsuario: 2,
|
||||
usuario: responsables[i].correo,
|
||||
password: responsables[i].password,
|
||||
nombre: responsables[i].nombreResp,
|
||||
activo: true,
|
||||
})
|
||||
.then(async (res) => {
|
||||
console.log(
|
||||
`Fila ${i}\nSe agrego correctamente al responsable ${res.usuario}`
|
||||
);
|
||||
/* Insertar Programas de Responsable */
|
||||
for (let j = 0; j < programas.length; j++) {
|
||||
if (responsables[i].idResponsable === programas[j].idResponsable) {
|
||||
await Programa.create({
|
||||
institucion: programas[j].institucion,
|
||||
dependencia: programas[j].dependencia,
|
||||
programa: programas[j].programa,
|
||||
clavePrograma: programas[j].clavePrograma,
|
||||
acatlan: responsables[i].acatlanContigo === 'true' ? true : false,
|
||||
activo: false,
|
||||
idUsuario: res.idUsuario,
|
||||
})
|
||||
.then((res2) => {
|
||||
console.log(
|
||||
`Se agrego correctamente el programa ${res2.clavePrograma} al responsable con id ${res.idUsuario} y correo ${res.usuario}`
|
||||
);
|
||||
idsProgramas.push({
|
||||
nuevo: res2.idPrograma,
|
||||
viejo: programas[j].idPrograma,
|
||||
});
|
||||
programas.splice(j, 1);
|
||||
j--;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw err;
|
||||
});
|
||||
}
|
||||
}
|
||||
console.log('\n');
|
||||
})
|
||||
.catch((err) => {
|
||||
throw err;
|
||||
});
|
||||
}
|
||||
|
||||
/* Insertar Alumnos */
|
||||
for (let i = 0; i < alumnos.length; i++) {
|
||||
let nombre = '';
|
||||
let usuario = alumnos[i].idAlumno;
|
||||
|
||||
for (let j = 0; j < registros.length; j++) {
|
||||
if (alumnos[i].idAlumno === registros[j].idAlumno) {
|
||||
nombre = registros[j].nombre;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (alumnos[i].idAlumno.length === 8) usuario = '0' + usuario;
|
||||
await Usuario.create({
|
||||
idTipoUsuario: 3,
|
||||
usuario,
|
||||
password: alumnos[i].password ? alumnos[i].password : null,
|
||||
nombre,
|
||||
activo: alumnos[i].password ? true : false,
|
||||
})
|
||||
.then((res) => {
|
||||
idsAlumnos.push({
|
||||
nuevo: res.idUsuario,
|
||||
viejo: alumnos[i].idAlumno,
|
||||
});
|
||||
console.log(`Se agrego correctamente al alumno ${res.usuario}`);
|
||||
})
|
||||
.catch((err) => {
|
||||
throw err;
|
||||
});
|
||||
}
|
||||
|
||||
for (let i = 0; i < registros.length; i++) {
|
||||
let idUsuario;
|
||||
let idPrograma;
|
||||
let idStatus;
|
||||
let idCarrera = await Carrera.findOne({
|
||||
where: {
|
||||
carrera: registros[i].carrera,
|
||||
},
|
||||
})
|
||||
.then(async (res) => {
|
||||
if (!res) {
|
||||
return await Carrera.create({ carrera: registros[i].carrera })
|
||||
.then((res) => res.idCarrera)
|
||||
.catch((err) => {
|
||||
throw err;
|
||||
});
|
||||
}
|
||||
return res.idCarrera;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw err;
|
||||
});
|
||||
|
||||
for (let j = 0; j < idsAlumnos.length; j++) {
|
||||
if (registros[i].idAlumno === idsAlumnos[j].viejo) {
|
||||
idUsuario = idsAlumnos[j].nuevo;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (let j = 0; j < idsProgramas.length; j++) {
|
||||
if (registros[i].idPrograma === idsProgramas[j].viejo) {
|
||||
idPrograma = idsProgramas[j].nuevo;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch (Number(registros[i].idStatus)) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
idStatus = Number(registros[i].idStatus);
|
||||
break;
|
||||
case 7:
|
||||
if (registros[i].cartaTermino || registros[i].informeGlobal)
|
||||
idStatus = 8;
|
||||
else idStatus = 7;
|
||||
break;
|
||||
case 8:
|
||||
idStatus = 10;
|
||||
break;
|
||||
}
|
||||
|
||||
await Servicio.create({
|
||||
creditos: registros[i].creditos,
|
||||
correo: registros[i].correo,
|
||||
fechaInicio: registros[i].fechaInicio,
|
||||
fechaFin: registros[i].fechaFin,
|
||||
cartaAceptacion: registros[i].cartaAceptacion,
|
||||
// carpeta: registros[i]., // hay que limpiar drive de carpetas de mas
|
||||
telefono: registros[i].telefono ? registros[i].telefono : null,
|
||||
direccion: registros[i].direccion ? registros[i].direccion : null,
|
||||
fechaNacimiento: registros[i].fechaNacimiento
|
||||
? registros[i].fechaNacimiento
|
||||
: null,
|
||||
cartaTermino: registros[i].cartaTermino
|
||||
? registros[i].cartaTermino
|
||||
: null,
|
||||
informeGlobal: registros[i].informeGlobal
|
||||
? registros[i].informeGlobal
|
||||
: null,
|
||||
programaInterno: registros[i].progInterno
|
||||
? registros[i].progInterno
|
||||
: null,
|
||||
profesor: registros[i].prof ? registros[i].prof : null,
|
||||
vistoBuenoAcatlan:
|
||||
registros[i].vistoBuenoAcatlan === 'true' ? true : null,
|
||||
createdAt: registros[i].createdAt,
|
||||
idUsuario,
|
||||
idPrograma,
|
||||
idStatus,
|
||||
idCarrera,
|
||||
})
|
||||
.then((res) => {
|
||||
idsRegistros.push({
|
||||
nuevo: res.idServicio,
|
||||
viejo: registros[i].idRegistro,
|
||||
});
|
||||
console.log(
|
||||
`Linea ${i}\nSe agrego correctamente el servico social del alumno ${res.idUsuario} con numero de cuenta ${registros[i].idAlumno}`
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
throw err;
|
||||
});
|
||||
console.log('\n');
|
||||
}
|
||||
|
||||
/* Insertar Cuestionarios de Programa */
|
||||
for (let i = 0; i < cuestionariosPrograma.length; i++) {
|
||||
if (cuestionariosPrograma[i].idRegistro != '') {
|
||||
let idServicio;
|
||||
let idCuestionarioPrograma;
|
||||
|
||||
for (let j = 0; j < idsRegistros.length; j++) {
|
||||
if (cuestionariosPrograma[i].idRegistro === idsRegistros[j].viejo) {
|
||||
idServicio = idsRegistros[j].nuevo;
|
||||
break;
|
||||
}
|
||||
}
|
||||
await CuestionarioPrograma.create({
|
||||
actividad1: cuestionariosPrograma[i].actividadUno,
|
||||
actividad2: cuestionariosPrograma[i].actividadDos,
|
||||
actividad3: cuestionariosPrograma[i].actividadTres,
|
||||
actividad4: cuestionariosPrograma[i].actividadCuatro,
|
||||
actividad5: cuestionariosPrograma[i].actividadCinco,
|
||||
retroalimentacion: cuestionariosPrograma[i].retroalimentacion,
|
||||
p6: cuestionariosPrograma[i].pSeis,
|
||||
p7: cuestionariosPrograma[i].pSiete,
|
||||
createdAt: cuestionariosPrograma[i].createdAt,
|
||||
})
|
||||
.then((res) => {
|
||||
idCuestionarioPrograma = res.idCuestionarioPrograma;
|
||||
return Servicio.update(
|
||||
{ idCuestionarioPrograma },
|
||||
{ where: { idServicio } }
|
||||
);
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(
|
||||
`Linea ${
|
||||
i + 2
|
||||
}\nSe agrego correctamente el cuestionario de Programa al servicio ${idServicio} con id ${idCuestionarioPrograma}`
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
throw err;
|
||||
});
|
||||
console.log('\n');
|
||||
}
|
||||
}
|
||||
|
||||
/* Insertar Cuestionarios de Alumnos */
|
||||
for (let i = 0; i < cuestionariosAlumno.length; i++) {
|
||||
if (cuestionariosAlumno[i].idRegistro != '') {
|
||||
let idServicio;
|
||||
let idCuestionarioAlumno;
|
||||
|
||||
for (let j = 0; j < idsRegistros.length; j++) {
|
||||
if (cuestionariosAlumno[i].idRegistro === idsRegistros[j].viejo) {
|
||||
idServicio = idsRegistros[j].nuevo;
|
||||
break;
|
||||
}
|
||||
}
|
||||
await CuestionarioAlumno.create({
|
||||
sexo: cuestionariosAlumno[i].sexo,
|
||||
edad: cuestionariosAlumno[i].edad,
|
||||
servicioMedico: cuestionariosAlumno[i].servicioMedico,
|
||||
p1: cuestionariosAlumno[i].pUno === 's' ? true : false,
|
||||
p2: cuestionariosAlumno[i].pDos === 's' ? true : false,
|
||||
p3: cuestionariosAlumno[i].pTres,
|
||||
p4: cuestionariosAlumno[i].pCuatro === 's' ? true : false,
|
||||
p5: cuestionariosAlumno[i].pCinco,
|
||||
p6: cuestionariosAlumno[i].pSeis === 's' ? true : false,
|
||||
p7: cuestionariosAlumno[i].pSiete === 's' ? true : false,
|
||||
p8: cuestionariosAlumno[i].pOcho,
|
||||
p9: cuestionariosAlumno[i].pNueve === 's' ? true : false,
|
||||
p10: cuestionariosAlumno[i].pDiez === 's' ? true : false,
|
||||
p11: cuestionariosAlumno[i].pOnce === 's' ? true : false,
|
||||
p12: cuestionariosAlumno[i].pDoce === 's' ? true : false,
|
||||
p13: cuestionariosAlumno[i].pTrece === 's' ? true : false,
|
||||
p14: cuestionariosAlumno[i].pCatorce,
|
||||
p15: cuestionariosAlumno[i].pQuince,
|
||||
p16: cuestionariosAlumno[i].pDieciseis,
|
||||
p17: cuestionariosAlumno[i].pDiecisiete,
|
||||
p18: cuestionariosAlumno[i].pDieciocho === 's' ? true : false,
|
||||
p19: cuestionariosAlumno[i].pDiecinueve === 's' ? true : false,
|
||||
p20: cuestionariosAlumno[i].pVeinte === 's' ? true : false,
|
||||
p21: cuestionariosAlumno[i].pVeintiuno,
|
||||
p22: cuestionariosAlumno[i].pVeintidos,
|
||||
p23: cuestionariosAlumno[i].pVeintitres,
|
||||
p24: cuestionariosAlumno[i].pVeinticuatro,
|
||||
p25: cuestionariosAlumno[i].pVeinticinco === 's' ? true : false,
|
||||
p26: cuestionariosAlumno[i].pVeintiseis === 's' ? true : false,
|
||||
p27: cuestionariosAlumno[i].pVeintisiete,
|
||||
p28: cuestionariosAlumno[i].pVeintiocho,
|
||||
p29: cuestionariosAlumno[i].pVeintinueve,
|
||||
p30: cuestionariosAlumno[i].pTreinta,
|
||||
createdAt: cuestionariosAlumno[i].createdAt,
|
||||
})
|
||||
.then((res) => {
|
||||
idCuestionarioAlumno = res.idCuestionarioAlumno;
|
||||
return Servicio.update(
|
||||
{ idCuestionarioAlumno },
|
||||
{ where: { idServicio } }
|
||||
);
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(
|
||||
`Linea ${
|
||||
i + 2
|
||||
}\nSe agrego correctamente el cuestionario de Alumno al servicio ${idServicio} con id ${idCuestionarioAlumno}`
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
throw err;
|
||||
});
|
||||
console.log('\n');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
guardar();
|
||||
@@ -1,73 +0,0 @@
|
||||
const drive = require('../helper/drive');
|
||||
const Usuario = require('./tablas/Usuario');
|
||||
const Servicio = require('./tablas/Servicio');
|
||||
|
||||
const buscarCarpetas = (array, numeroCuenta) => {
|
||||
let arrayAux = [];
|
||||
|
||||
for (let i = 0; i < array.length; i++)
|
||||
if (array[i].name === numeroCuenta) arrayAux.push(array[i]);
|
||||
return arrayAux;
|
||||
};
|
||||
|
||||
const buscarArchivos = (array, idParent) => {
|
||||
let arrayAux = [];
|
||||
|
||||
for (let i = 0; i < array.length; i++)
|
||||
if (array[i].parents[0] === idParent) arrayAux.push(array[i]);
|
||||
return arrayAux;
|
||||
};
|
||||
|
||||
const borrarCarpetas = async () => {
|
||||
const { pdf, carpetas } = await drive.archivosFicheros();
|
||||
|
||||
console.log('Sa cargo todo el drive correctamente.');
|
||||
await Usuario.findAll({ where: { idTipoUsuario: 3 } }).then(async (res) => {
|
||||
console.log(`Hay ${res.length} alumnos.`);
|
||||
for (let i = 0; i < res.length; i++) {
|
||||
let carpetasAlumno = buscarCarpetas(carpetas, res[i].usuario);
|
||||
|
||||
console.log(`${(100 * (i + 1)) / res.length}%`);
|
||||
console.log(
|
||||
`El numero de cuenta ${res[i].usuario} tiene ${
|
||||
carpetasAlumno.length
|
||||
} carpeta${carpetasAlumno.length > 1 ? 's' : ''}.`
|
||||
);
|
||||
if (carpetasAlumno.length > 0) {
|
||||
console.log(
|
||||
`La carpeta ${carpetasAlumno[0].name} con la que nos quedaremos es ${carpetasAlumno[0].id}.`
|
||||
);
|
||||
await Servicio.update(
|
||||
{ carpeta: carpetasAlumno[0].id },
|
||||
{ where: { idUsuario: res[i].idUsuario } }
|
||||
);
|
||||
}
|
||||
if (carpetasAlumno.length > 1) {
|
||||
for (let j = 1; j < carpetasAlumno.length; j++) {
|
||||
let archivosCarpeta = buscarArchivos(pdf, carpetasAlumno[j].id);
|
||||
|
||||
console.log(
|
||||
`La carpeta ${carpetasAlumno[j].id} tiene ${
|
||||
archivosCarpeta.length
|
||||
} archivo${archivosCarpeta.length > 1 ? 's' : ''}.`
|
||||
);
|
||||
for (let k = 0; k < archivosCarpeta.length; k++) {
|
||||
await drive.update(
|
||||
archivosCarpeta[k].id,
|
||||
carpetasAlumno[0].id,
|
||||
carpetasAlumno[j].id
|
||||
);
|
||||
console.log(
|
||||
`Se movio el archivo ${archivosCarpeta[k].name} con id ${archivosCarpeta[k].id} de la carpeta ${carpetasAlumno[j].id} a la carpeta ${carpetasAlumno[0].id}.`
|
||||
);
|
||||
}
|
||||
await drive.deleteFile(carpetasAlumno[j].id);
|
||||
console.log(`Se elimino la carpeta con id ${carpetasAlumno[j].id}`);
|
||||
}
|
||||
}
|
||||
console.log('------------------------------------------------------');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
borrarCarpetas();
|
||||
@@ -1,48 +0,0 @@
|
||||
const moment = require('moment');
|
||||
const Usuario = require('./tablas/Usuario');
|
||||
const Servicio = require('./tablas/Servicio');
|
||||
|
||||
const corregir = async () => {
|
||||
const dosMilVeinte = moment('2020-01-01');
|
||||
|
||||
await Servicio.findAll({ include: [{ model: Usuario }] }).then((res) => {
|
||||
for (let i = 0; i < res.length; i++) {
|
||||
let fechaInicio = moment(res[i].fechaInicio);
|
||||
let fechaFin = moment(res[i].fechaFin);
|
||||
|
||||
if (fechaFin.year() < dosMilVeinte.year()) {
|
||||
console.log(
|
||||
`El servicio ${res[i].idServicio} del usario ${
|
||||
res[i].Usuario.usuario
|
||||
} con id ${
|
||||
res[i].idUsuario
|
||||
} tiene la fecha Fin mal ${fechaFin.year()} status ${res[i].idStatus}`
|
||||
);
|
||||
}
|
||||
if (fechaInicio.year() < dosMilVeinte.year()) {
|
||||
console.log(
|
||||
`El servicio ${res[i].idServicio} del usario ${
|
||||
res[i].Usuario.usuario
|
||||
} con id ${
|
||||
res[i].idUsuario
|
||||
} tiene la fecha inicio mal ${fechaInicio.year()} status ${
|
||||
res[i].idStatus
|
||||
}`
|
||||
);
|
||||
}
|
||||
if (
|
||||
res[i].idStatus != 10 &&
|
||||
res[i].idStatus != 7 &&
|
||||
res[i].idStatus > 3 &&
|
||||
(!res[i].direccion ||
|
||||
!res[i].telefono ||
|
||||
!res[i].carpeta ||
|
||||
!res[i].fechaNacimiento)
|
||||
) {
|
||||
console.log(res[i].dataValues);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
corregir();
|
||||
@@ -71,7 +71,7 @@ Servicio.init(
|
||||
defaultValue: null,
|
||||
},
|
||||
programaInterno: {
|
||||
type: DataTypes.STRING(150),
|
||||
type: DataTypes.STRING(250),
|
||||
allowNull: true,
|
||||
defaultValue: null,
|
||||
},
|
||||
|
||||
@@ -30,7 +30,7 @@ const diario = async () => {
|
||||
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 serviciosponsable ${servicios[i].Programa.Usuario.nombre} con id ${servicios[i].Programa.Usuario.idUsuario} y correo ${servicios[i].Programa.Usuario.usuario}\n`;
|
||||
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,
|
||||
|
||||
@@ -101,7 +101,7 @@ const list = (pageToken) => {
|
||||
spaces: 'drive',
|
||||
pageSize: 1000,
|
||||
pageToken,
|
||||
fields: '*',
|
||||
// fields: '*',
|
||||
orderBy: 'name',
|
||||
},
|
||||
(err, resp) => {
|
||||
|
||||
@@ -54,6 +54,7 @@ const caracteresEspeciales = (char) => {
|
||||
'"',
|
||||
"'",
|
||||
'_',
|
||||
'%',
|
||||
'\n',
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user