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 () => { let idsProgramas = []; let idsAlumnos = []; let idsRegistros = []; let responsables = await csv() .fromFile('csv/responsable.csv') .then((res) => res); let programas = await csv() .fromFile('csv/programa.csv') .then((res) => res); let alumnos = await csv() .fromFile('csv/alumno.csv') .then((res) => res); let registros = await csv() .fromFile('csv/registro.csv') .then((res) => res); let cuestionariosAlumno = await csv() .fromFile('csv/cuestionarioA.csv') .then((res) => res); let cuestionariosPrograma = await csv() .fromFile('csv/cuestionarioP.csv') .then((res) => res); 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: true, 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();