Files
servicio_social_api/server/db/csv.js
T
Lemuel Marquez 0fe0969db2 no se
2021-01-17 19:44:36 -06:00

311 lines
10 KiB
JavaScript

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');
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.dataValues.usuario}`
);
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.dataValues.idUsuario,
})
.then((res) => {
console.log(
`Se agrego correctamente el programa ${res.dataValues.programa}`
);
idsProgramas.push({
nuevo: res.dataValues.idPrograma,
viejo: programas[j].idPrograma,
});
programas.splice(j, 1);
j--;
})
.catch((err) => {
throw err;
});
}
}
console.log('\n');
})
.catch((err) => {
throw err;
});
}
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.dataValues.idUsuario,
viejo: alumnos[i].idAlumno,
});
console.log(
`Se agrego correctamente al alumno ${res.dataValues.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.dataValues.idCarrera)
.catch((err) => {
throw err;
});
}
return res.dataValues.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.dataValues.idServicio,
viejo: registros[i].idRegistro,
});
console.log(
`Linea ${i}\nSe agrego correctamente el servico social del alumno ${res.dataValues.idUsuario} con numero de cuenta ${registros[i].idAlumno}`
);
})
.catch((err) => {
throw err;
});
console.log('\n');
}
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.dataValues.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');
}
}
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.dataValues.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();