tabla horario reemplazado en install
This commit is contained in:
+62
-108
@@ -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
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user