From 732fe20c4499af8167b209f796e10c372efed4f3 Mon Sep 17 00:00:00 2001 From: Lemuel Marquez Date: Sun, 11 Jul 2021 21:49:23 -0500 Subject: [PATCH] tabla horario reemplazado en install --- server/db/install.js | 170 +++++++----------- .../{CarreraDiaHora.js => CarreraHorario.js} | 20 +-- server/db/tablas/Dia.js | 27 --- server/db/tablas/DiaHora.js | 41 ----- .../{GrupoDiaHora.js => GrupoHorario.js} | 20 +-- server/db/tablas/{Hora.js => Horario.js} | 16 +- server/db/tablas/PrimerSemestre.js | 6 +- 7 files changed, 93 insertions(+), 207 deletions(-) rename server/db/tablas/{CarreraDiaHora.js => CarreraHorario.js} (61%) delete mode 100644 server/db/tablas/Dia.js delete mode 100644 server/db/tablas/DiaHora.js rename server/db/tablas/{GrupoDiaHora.js => GrupoHorario.js} (63%) rename server/db/tablas/{Hora.js => Horario.js} (64%) diff --git a/server/db/install.js b/server/db/install.js index 9452b81..935a641 100644 --- a/server/db/install.js +++ b/server/db/install.js @@ -1,13 +1,12 @@ require('../config/config'); const { Op } = require('sequelize'); +const moment = require('moment'); const colors = require('colors'); const Carrera = require('./tablas/Carrera'); -const CarreraDiaHora = require('./tablas/CarreraDiaHora'); -const Dia = require('./tablas/Dia'); -const DiaHora = require('./tablas/DiaHora'); +const CarreraHorario = require('./tablas/CarreraHorario'); const Grupo = require('./tablas/Grupo'); -const GrupoDiaHora = require('./tablas/GrupoDiaHora'); -const Hora = require('./tablas/Hora'); +const GrupoHorario = require('./tablas/GrupoHorario'); +const Horario = require('./tablas/Horario'); const PrimerSemestre = require('./tablas/PrimerSemestre'); const TercerSemestre = require('./tablas/TercerSemestre'); @@ -20,23 +19,17 @@ const drop = async () => { await PrimerSemestre.drop(); console.log('La tabla PrimerSemestre se desinstalo correctamente.'.magenta); - await GrupoDiaHora.drop(); - console.log('La tabla GrupoDiaHora se desinstalo correctamente.'.magenta); + await GrupoHorario.drop(); + console.log('La tabla GrupoHorario se desinstalo correctamente.'.magenta); - await CarreraDiaHora.drop(); - console.log('La tabla CarreraDiaHora se desinstalo correctamente.'.magenta); - - await DiaHora.drop(); - console.log('La tabla DiaHora se desinstalo correctamente.'.magenta); + await CarreraHorario.drop(); + console.log('La tabla CarreraHorario se desinstalo correctamente.'.magenta); await Grupo.drop(); console.log('La tabla Grupo se desinstalo correctamente.'.magenta); - await Dia.drop(); - console.log('La tabla Dia se desinstalo correctamente.'.magenta); - - await Hora.drop(); - console.log('La tabla Hora se desinstalo correctamente.'.magenta); + await Horario.drop(); + console.log('La tabla Horario se desinstalo correctamente.'.magenta); await Carrera.drop(); console.log('La tabla Carrera se desinstalo correctamente.'.magenta); @@ -48,23 +41,17 @@ const sync = async () => { await Carrera.sync(); console.log('La tabla Carrera se instalo correctamente.'.magenta); - await Hora.sync(); - console.log('La tabla Hora se instalo correctamente.'.magenta); - - await Dia.sync(); - console.log('La tabla Dia se instalo correctamente.'.magenta); + await Horario.sync(); + console.log('La tabla Horario se instalo correctamente.'.magenta); await Grupo.sync(); console.log('La tabla Grupo se instalo correctamente.'.magenta); - await DiaHora.sync(); - console.log('La tabla DiaHora se instalo correctamente.'.magenta); + await CarreraHorario.sync(); + console.log('La tabla CarreraHorario se instalo correctamente.'.magenta); - await CarreraDiaHora.sync(); - console.log('La tabla CarreraDiaHora se instalo correctamente.'.magenta); - - await GrupoDiaHora.sync(); - console.log('La tabla GrupoDiaHora se instalo correctamente.'.magenta); + await GrupoHorario.sync(); + console.log('La tabla GrupoHorario se instalo correctamente.'.magenta); await PrimerSemestre.sync(); console.log('La tabla PrimerSemestre se instalo correctamente.'.magenta); @@ -264,105 +251,74 @@ const dataGrupo = async () => { } }; -const dataHora = async () => { - let horaInicio = 8; - let minutoInicio = 0; - const horaFin = 15; - const minutoFin = 20; - let parar = false; +const dataHorario = async () => { + const diaFin = 13; + const diaInicio = 2; - console.log('\nPaso 5) Instalando catalogo Hora.'.bold.blue); - while (!parar) { - const hora = `${horaInicio < 10 ? '0' + horaInicio : horaInicio}:${ - minutoInicio < 10 ? '0' + minutoInicio : minutoInicio - }`; + console.log('\nPaso 5) Instalando catalogo Horario.'.bold.blue); + for (let i = diaInicio; i <= diaFin; i++) { + const dia = `2021/08/${i < 10 ? '0' + i : i}`; + const horaFin = 15; + const minutoFin = 20; + let horaInicio = 8; + let minutoInicio = 0; + let parar = false; - await Hora.create({ hora }); - console.log(`Se agrego la hora ${hora} correctamente.`.magenta); - if (horaInicio === horaFin && minutoInicio === minutoFin) parar = true; - else { - minutoInicio += 20; - if (minutoInicio == 60) { - horaInicio++; - minutoInicio = 0; + if (i === 7 || i === 8) continue; + while (!parar) { + const hora = `${horaInicio < 10 ? '0' + horaInicio : horaInicio}:${ + minutoInicio < 10 ? '0' + minutoInicio : minutoInicio + }`; + + await Horario.create({ horario: `${dia} ${hora}` }); + console.log(`Se agrego el horario ${dia} ${hora} correctamente.`.magenta); + if (horaInicio === horaFin && minutoInicio === minutoFin) parar = true; + else { + minutoInicio += 20; + if (minutoInicio == 60) { + horaInicio++; + minutoInicio = 0; + } } } } }; -const dataDia = async () => { - let diaInicio = 2; - const diaFin = 13; - const finSemana = [7, 8]; - let parar = false; - - console.log('\nPaso 6) Instalando catalogo Dia.'.bold.blue); - while (!parar) { - let saltar = false; - - for (let i = 0; i < finSemana.length; i++) - if (finSemana[i] === diaInicio) saltar = true; - if (!saltar) { - const dia = `2021/08/${diaInicio < 10 ? '0' + diaInicio : diaInicio}`; - - await Dia.create({ dia }); - console.log(`Se agrego el dia ${dia} correctamente.`.magenta); - } - if (diaInicio === diaFin) parar = true; - else diaInicio++; - } -}; - -const dataDiaHora = async () => { - const dias = await Dia.findAll().then((res) => res.length); - const horas = await Hora.findAll().then((res) => res.length); - - console.log('\nPaso 7) Instalando catalogo DiaHora.'.bold.blue); - for (let i = 1; i <= dias; i++) { - for (let j = 1; j <= horas; j++) { - await DiaHora.create({ idDia: i, idHora: j }); - console.log( - `Se agrego el diaHora con idDia: ${i} y idHora: ${j} correctamente.` - .magenta - ); - } - console.log(); - } -}; - -const dataGrupoDiaHora = async () => { - console.log('\nPaso 8) Instalando catalogo GrupoDiaHora.'.bold.blue); +const dataGrupoHorario = async () => { + console.log('\nPaso 6) Instalando catalogo GrupoHorario.'.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); + let idHorario = await Horario.findOne({ + where: { + horario: new Date( + `${data[i].horarioAsignado.dia} ${data[i].horarioAsignado.horaInicio}` + ), + }, + }).then((res) => res.idHorario); for (let j = 0; j < gruposCarrera.length; j++) { - await GrupoDiaHora.create({ - idDiaHora, + await GrupoHorario.create({ + idHorario, idGrupo: gruposCarrera[j].idGrupo, }) .then((res) => - GrupoDiaHora.findOne({ - where: { idGrupoDiaHora: res.idGrupoDiaHora }, + GrupoHorario.findOne({ + where: { idGrupoHorario: res.idGrupoHorario }, include: [ { model: Grupo, include: [{ model: Carrera }] }, - { model: DiaHora, include: [{ model: Dia }, { model: Hora }] }, + { model: Horario }, ], }) ) .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 + `Se le asigno al grupo ${res.Grupo.grupo} de la carrera ${ + res.Grupo.Carrera.carrera + } el horario ${moment(res.Horario.horario).format()}`.magenta ); - idDiaHora++; + idHorario++; }); } console.log(); @@ -374,10 +330,8 @@ const exe = async () => { await sync(); await dataCarrera(); await dataGrupo(); - await dataHora(); - await dataDia(); - await dataDiaHora(); - await dataGrupoDiaHora(); + await dataHorario(); + await dataGrupoHorario(); console.log( '\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green diff --git a/server/db/tablas/CarreraDiaHora.js b/server/db/tablas/CarreraHorario.js similarity index 61% rename from server/db/tablas/CarreraDiaHora.js rename to server/db/tablas/CarreraHorario.js index 3ffbf67..c148fa6 100644 --- a/server/db/tablas/CarreraDiaHora.js +++ b/server/db/tablas/CarreraHorario.js @@ -1,12 +1,12 @@ const { DataTypes, Model } = require('sequelize'); const sequelize = require('../../config/sequelize.conf'); const Carrera = require('./Carrera'); -const DiaHora = require('./DiaHora'); +const Horario = require('./Horario'); -class CarreraDiaHora extends Model {} -CarreraDiaHora.init( +class CarreraHorario extends Model {} +CarreraHorario.init( { - idCarreraDiaHora: { + idCarreraHorario: { type: DataTypes.INTEGER, primaryKey: true, allowNull: false, @@ -16,21 +16,21 @@ CarreraDiaHora.init( }, { sequelize, - modelName: 'CarreraDiaHora', - tableName: 'carrera_dia_hora', + modelName: 'CarreraHorario', + tableName: 'carrera_horario', timestamps: false, } ); -CarreraDiaHora.belongsTo(DiaHora, { +CarreraHorario.belongsTo(Horario, { foreignKey: { - name: 'idDiaHora', + name: 'idHorario', type: DataTypes.INTEGER, allowNull: false, }, }); -CarreraDiaHora.belongsTo(Carrera, { +CarreraHorario.belongsTo(Carrera, { foreignKey: { name: 'idCarrera', type: DataTypes.INTEGER, @@ -38,4 +38,4 @@ CarreraDiaHora.belongsTo(Carrera, { }, }); -module.exports = CarreraDiaHora; +module.exports = CarreraHorario; diff --git a/server/db/tablas/Dia.js b/server/db/tablas/Dia.js deleted file mode 100644 index 2c7049f..0000000 --- a/server/db/tablas/Dia.js +++ /dev/null @@ -1,27 +0,0 @@ -const { DataTypes, Model } = require('sequelize'); -const sequelize = require('../../config/sequelize.conf'); - -class Dia extends Model {} -Dia.init( - { - idDia: { - type: DataTypes.INTEGER, - primaryKey: true, - allowNull: false, - unique: true, - autoIncrement: true, - }, - dia: { - type: DataTypes.STRING(10), - allowNull: false, - }, - }, - { - sequelize, - modelName: 'Dia', - tableName: 'dia', - timestamps: false, - } -); - -module.exports = Dia; diff --git a/server/db/tablas/DiaHora.js b/server/db/tablas/DiaHora.js deleted file mode 100644 index 2e8a499..0000000 --- a/server/db/tablas/DiaHora.js +++ /dev/null @@ -1,41 +0,0 @@ -const { DataTypes, Model } = require('sequelize'); -const sequelize = require('../../config/sequelize.conf'); -const Dia = require('./Dia'); -const Hora = require('./Hora'); - -class DiaHora extends Model {} -DiaHora.init( - { - idDiaHora: { - type: DataTypes.INTEGER, - primaryKey: true, - allowNull: false, - unique: true, - autoIncrement: true, - }, - }, - { - sequelize, - modelName: 'DiaHora', - tableName: 'dia_hora', - timestamps: false, - } -); - -DiaHora.belongsTo(Dia, { - foreignKey: { - name: 'idDia', - type: DataTypes.INTEGER, - allowNull: false, - }, -}); - -DiaHora.belongsTo(Hora, { - foreignKey: { - name: 'idHora', - type: DataTypes.INTEGER, - allowNull: false, - }, -}); - -module.exports = DiaHora; diff --git a/server/db/tablas/GrupoDiaHora.js b/server/db/tablas/GrupoHorario.js similarity index 63% rename from server/db/tablas/GrupoDiaHora.js rename to server/db/tablas/GrupoHorario.js index 440d49c..1c0c905 100644 --- a/server/db/tablas/GrupoDiaHora.js +++ b/server/db/tablas/GrupoHorario.js @@ -1,12 +1,12 @@ const { DataTypes, Model } = require('sequelize'); const sequelize = require('../../config/sequelize.conf'); -const DiaHora = require('./DiaHora'); +const Horario = require('./Horario'); const Grupo = require('./Grupo'); -class GrupoDiaHora extends Model {} -GrupoDiaHora.init( +class GrupoHorario extends Model {} +GrupoHorario.init( { - idGrupoDiaHora: { + idGrupoHorario: { type: DataTypes.INTEGER, primaryKey: true, allowNull: false, @@ -16,21 +16,21 @@ GrupoDiaHora.init( }, { sequelize, - modelName: 'GrupoDiaHora', - tableName: 'grupo_dia_hora', + modelName: 'GrupoHorario', + tableName: 'grupo_horario', timestamps: false, } ); -GrupoDiaHora.belongsTo(DiaHora, { +GrupoHorario.belongsTo(Horario, { foreignKey: { - name: 'idDiaHora', + name: 'idHorario', type: DataTypes.INTEGER, allowNull: false, }, }); -GrupoDiaHora.belongsTo(Grupo, { +GrupoHorario.belongsTo(Grupo, { foreignKey: { name: 'idGrupo', type: DataTypes.INTEGER, @@ -38,4 +38,4 @@ GrupoDiaHora.belongsTo(Grupo, { }, }); -module.exports = GrupoDiaHora; +module.exports = GrupoHorario; diff --git a/server/db/tablas/Hora.js b/server/db/tablas/Horario.js similarity index 64% rename from server/db/tablas/Hora.js rename to server/db/tablas/Horario.js index abb5ffb..6468b41 100644 --- a/server/db/tablas/Hora.js +++ b/server/db/tablas/Horario.js @@ -1,27 +1,27 @@ const { DataTypes, Model } = require('sequelize'); const sequelize = require('../../config/sequelize.conf'); -class Hora extends Model {} -Hora.init( +class Horario extends Model {} +Horario.init( { - idHora: { + idHorario: { type: DataTypes.INTEGER, primaryKey: true, allowNull: false, unique: true, autoIncrement: true, }, - hora: { - type: DataTypes.STRING(5), + horario: { + type: DataTypes.DATE, allowNull: false, }, }, { sequelize, - modelName: 'Hora', - tableName: 'hora', + modelName: 'Horario', + tableName: 'horario', timestamps: false, } ); -module.exports = Hora; +module.exports = Horario; diff --git a/server/db/tablas/PrimerSemestre.js b/server/db/tablas/PrimerSemestre.js index 8d1e2c5..3e4e386 100644 --- a/server/db/tablas/PrimerSemestre.js +++ b/server/db/tablas/PrimerSemestre.js @@ -1,6 +1,6 @@ const { DataTypes, Model } = require('sequelize'); const sequelize = require('../../config/sequelize.conf'); -const DiaHora = require('./DiaHora'); +const Horario = require('./Horario'); const Grupo = require('./Grupo'); class PrimerSemestre extends Model {} @@ -44,9 +44,9 @@ PrimerSemestre.belongsTo(Grupo, { }, }); -PrimerSemestre.belongsTo(DiaHora, { +PrimerSemestre.belongsTo(Horario, { foreignKey: { - name: 'idDiaHora', + name: 'idHorario', type: DataTypes.INTEGER, allowNull: true, defaultValue: null,