202 lines
5.9 KiB
JavaScript
202 lines
5.9 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 Status = require('./tablas/Status');
|
|
const TipoUsuario = require('./tablas/TipoUsuario');
|
|
const Usuario = require('./tablas/Usuario');
|
|
|
|
const guardar = async () => {
|
|
let idsProgramas = [];
|
|
let idsAlumnos = [];
|
|
let responsables = await csv()
|
|
.fromFile('responsable.csv')
|
|
.then((res) => res);
|
|
let programas = await csv()
|
|
.fromFile('programa.csv')
|
|
.then((res) => res);
|
|
let alumnos = await csv()
|
|
.fromFile('alumno.csv')
|
|
.then((res) => res);
|
|
let registros = await csv()
|
|
.fromFile('registro.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 (registros[i].idStatus) {
|
|
case 1:
|
|
case 2:
|
|
case 3:
|
|
case 4:
|
|
case 5:
|
|
case 6:
|
|
idStatus = 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,
|
|
idUsuario,
|
|
idPrograma,
|
|
idStatus,
|
|
idCarrera,
|
|
createdAt: registros[i].createdAt,
|
|
updatedAt: registros[i].updatedAt,
|
|
})
|
|
.then((res) => {
|
|
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');
|
|
}
|
|
};
|
|
|
|
guardar();
|