From 43a1dcfa14160d60800cd2b2704281e1ca5eab65 Mon Sep 17 00:00:00 2001 From: Lemuel Marquez Date: Sun, 11 Jul 2021 20:06:39 -0500 Subject: [PATCH] grupo dia hora --- server/db/install.js | 209 ++++++++++++++++++++++++------------------- 1 file changed, 116 insertions(+), 93 deletions(-) diff --git a/server/db/install.js b/server/db/install.js index 4cf51e9..9452b81 100644 --- a/server/db/install.js +++ b/server/db/install.js @@ -1,6 +1,6 @@ require('../config/config'); +const { Op } = require('sequelize'); const colors = require('colors'); -const { min } = require('./tablas/Carrera'); const Carrera = require('./tablas/Carrera'); const CarreraDiaHora = require('./tablas/CarreraDiaHora'); const Dia = require('./tablas/Dia'); @@ -76,157 +76,135 @@ const sync = async () => { const data = [ { carrera: 'ACTUARÍA', - primeroMatutino: 4, - primeroDespertino: 3, - segundoMatutino: 4, - segundoDespertino: 3, + matutino: 4, + despertino: 3, + horarioAsignado: { dia: '2021/08/12', horaInicio: '08:00' }, }, { carrera: 'ARQUITECTURA', - primeroMatutino: 4, - primeroDespertino: 3, - segundoMatutino: 4, - segundoDespertino: 3, + matutino: 4, + despertino: 3, + horarioAsignado: { dia: '2021/08/10', horaInicio: '10:40' }, }, { carrera: 'CIENCIAS POLÍTICAS Y ADMON. PÚBLICA', - primeroMatutino: 3, - primeroDespertino: 2, - segundoMatutino: 3, - segundoDespertino: 2, + matutino: 3, + despertino: 2, + horarioAsignado: { dia: '2021/08/12', horaInicio: '13:00' }, }, { carrera: 'COMUNICACIÓN', - primeroMatutino: 4, - primeroDespertino: 4, - segundoMatutino: 4, - segundoDespertino: 4, + matutino: 4, + despertino: 4, + horarioAsignado: { dia: '2021/08/11', horaInicio: '08:00' }, }, { carrera: 'DERECHO', - primeroMatutino: 9, - primeroDespertino: 9, - segundoMatutino: 9, - segundoDespertino: 9, + matutino: 9, + despertino: 9, + horarioAsignado: { dia: '2021/08/09', horaInicio: '08:00' }, }, { carrera: 'DISEÑO GRÁFICO', - primeroMatutino: 4, - primeroDespertino: 4, - segundoMatutino: 4, - segundoDespertino: 4, + matutino: 4, + despertino: 4, + horarioAsignado: { dia: '2021/08/10', horaInicio: '08:00' }, }, { carrera: 'ECONOMÍA', - primeroMatutino: 3, - primeroDespertino: 2, - segundoMatutino: 3, - segundoDespertino: 2, + matutino: 3, + despertino: 2, + horarioAsignado: { dia: '2021/08/13', horaInicio: '08:00' }, }, { carrera: 'ENSEÑANZA DE INGLÉS', - primeroMatutino: 1, - primeroDespertino: 1, - segundoMatutino: 1, - segundoDespertino: 1, + matutino: 1, + despertino: 1, + horarioAsignado: { dia: '2021/08/11', horaInicio: '15:00' }, }, { carrera: 'FILOSOFÍA', - primeroMatutino: 1, - primeroDespertino: 1, - segundoMatutino: 1, - segundoDespertino: 1, + matutino: 1, + despertino: 1, + horarioAsignado: { dia: '2021/08/11', horaInicio: '12:40' }, }, { carrera: 'HISTORIA', - primeroMatutino: 2, - primeroDespertino: 1, - segundoMatutino: 2, - segundoDespertino: 1, + matutino: 2, + despertino: 1, + horarioAsignado: { dia: '2021/08/11', horaInicio: '14:00' }, }, { carrera: 'INGENIERÍA CIVIL', - primeroMatutino: 3, - primeroDespertino: 2, - segundoMatutino: 3, - segundoDespertino: 2, + matutino: 3, + despertino: 2, + horarioAsignado: { dia: '2021/08/09', horaInicio: '14:00' }, }, { carrera: 'LENGUA Y LITERATURA HISPÁNICAS', - primeroMatutino: 1, - primeroDespertino: 1, - segundoMatutino: 1, - segundoDespertino: 1, + matutino: 1, + despertino: 1, + horarioAsignado: { dia: '2021/08/11', horaInicio: '13:20' }, }, { carrera: 'MATEMÁTICAS. APL. Y COMP. (1999)', - primeroMatutino: 4, - primeroDespertino: 4, - segundoMatutino: 4, - segundoDespertino: 4, + matutino: 4, + despertino: 4, + horarioAsignado: { dia: '2021/08/12', horaInicio: '10:20' }, }, { carrera: 'PEDAGOGÍA', - primeroMatutino: 4, - primeroDespertino: 2, - segundoMatutino: 4, - segundoDespertino: 2, + matutino: 4, + despertino: 2, + horarioAsignado: { dia: '2021/08/11', horaInicio: '10:40' }, }, { carrera: 'RELACIONES INTERNACIONALES', - primeroMatutino: 3, - primeroDespertino: 3, - segundoMatutino: 3, - segundoDespertino: 3, + matutino: 3, + despertino: 3, + horarioAsignado: { dia: '2021/08/10', horaInicio: '13:00' }, }, { carrera: 'SOCIOLOGÍA', - primeroMatutino: 2, - primeroDespertino: 2, - segundoMatutino: 2, - segundoDespertino: 2, + matutino: 2, + despertino: 2, + horarioAsignado: { dia: '2021/08/13', horaInicio: '09:40' }, }, // { // carrera: 'DERECHO (SUA)', - // primeroMatutino: 0, - // primeroDespertino: 0, - // segundoMatutino: 0, - // segundoDespertino: 0, + // matutino: 0, + // despertino: 0, + // horarioAsignado:{dia:'',horaInicio:''} // }, // { // carrera: 'ENSEÑANZA DE ESPAÑOL(LENG EXTRANJERA)SUA', - // primeroMatutino: 0, - // primeroDespertino: 0, - // segundoMatutino: 0, - // segundoDespertino: 0, + // matutino: 0, + // despertino: 0, + // horarioAsignado:{dia:'',horaInicio:''} // }, // { // carrera: 'ENSEÑANZA DE FRANCES(LENG EXTRANJERA)SUA', - // primeroMatutino: 0, - // primeroDespertino: 0, - // segundoMatutino: 0, - // segundoDespertino: 0, + // matutino: 0, + // despertino: 0, + // horarioAsignado:{dia:'',horaInicio:''} // }, // { // carrera: 'ENSEÑANZA DE INGLES (LENG EXTRANJERA)SUA', - // primeroMatutino: 0, - // primeroDespertino: 0, - // segundoMatutino: 0, - // segundoDespertino: 0, + // matutino: 0, + // despertino: 0, + // horarioAsignado:{dia:'',horaInicio:''} // }, // { // carrera: 'ENSEÑANZA DE ITALIANO(LENG EXTRANJ.)SUA', - // primeroMatutino: 0, - // primeroDespertino: 0, - // segundoMatutino: 0, - // segundoDespertino: 0, + // matutino: 0, + // despertino: 0, + // horarioAsignado:{dia:'',horaInicio:''} // }, // { // carrera: 'RELACIONES INTERNACIONALES (SUA)', - // primeroMatutino: 0, - // primeroDespertino: 0, - // segundoMatutino: 0, - // segundoDespertino: 0, + // matutino: 0, + // despertino: 0, + // horarioAsignado:{dia:'',horaInicio:''} // }, ]; @@ -243,7 +221,7 @@ const dataCarrera = async () => { const dataGrupo = async () => { console.log('\nPaso 4) Instalando catalogo Grupo.'.bold.blue); for (let i = 0; i < data.length; i++) { - for (let j = 1; j <= data[i].primeroMatutino; j++) { + for (let j = 1; j <= data[i].matutino; j++) { const grupo = `110${j}`; await Grupo.create({ grupo, idCarrera: i + 1 }); @@ -252,7 +230,8 @@ const dataGrupo = async () => { .magenta ); } - for (let j = 1; j <= data[i].primeroDespertino; j++) { + console.log(); + for (let j = 1; j <= data[i].despertino; j++) { const grupo = `115${j}`; await Grupo.create({ grupo, idCarrera: i + 1 }); @@ -261,7 +240,8 @@ const dataGrupo = async () => { .magenta ); } - for (let j = 1; j <= data[i].segundoMatutino; j++) { + console.log(); + for (let j = 1; j <= data[i].matutino; j++) { const grupo = `220${j}`; await Grupo.create({ grupo, idCarrera: i + 1 }); @@ -270,7 +250,8 @@ const dataGrupo = async () => { .magenta ); } - for (let j = 1; j <= data[i].segundoDespertino; j++) { + console.log(); + for (let j = 1; j <= data[i].despertino; j++) { const grupo = `225${j}`; await Grupo.create({ grupo, idCarrera: i + 1 }); @@ -279,6 +260,7 @@ const dataGrupo = async () => { .magenta ); } + console.log('\n'); } }; @@ -344,6 +326,46 @@ const dataDiaHora = async () => { .magenta ); } + console.log(); + } +}; + +const dataGrupoDiaHora = async () => { + console.log('\nPaso 8) Instalando catalogo GrupoDiaHora.'.bold.blue); + for (let i = 0; i < data.length; i++) { + const gruposCarrera = await Grupo.findAll({ + where: { grupo: { [Op.like]: '22%' }, idCarrera: i + 1 }, + }); + let idDiaHora = await DiaHora.findOne({ + include: [ + { model: Dia, where: { dia: data[i].horarioAsignado.dia } }, + { model: Hora, where: { hora: data[i].horarioAsignado.horaInicio } }, + ], + }).then((res) => res.idDiaHora); + + for (let j = 0; j < gruposCarrera.length; j++) { + await GrupoDiaHora.create({ + idDiaHora, + idGrupo: gruposCarrera[j].idGrupo, + }) + .then((res) => + GrupoDiaHora.findOne({ + where: { idGrupoDiaHora: res.idGrupoDiaHora }, + include: [ + { model: Grupo, include: [{ model: Carrera }] }, + { model: DiaHora, include: [{ model: Dia }, { model: Hora }] }, + ], + }) + ) + .then((res) => { + console.log( + `Se le asigno al grupo ${res.Grupo.grupo} de la carrera ${res.Grupo.Carrera.carrera} el horario ${res.DiaHora.Dium.dia} ${res.DiaHora.Hora.hora}` + .magenta + ); + idDiaHora++; + }); + } + console.log(); } }; @@ -355,6 +377,7 @@ const exe = async () => { await dataHora(); await dataDia(); await dataDiaHora(); + await dataGrupoDiaHora(); console.log( '\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green