grupo dia hora

This commit is contained in:
Lemuel Marquez
2021-07-11 20:06:39 -05:00
parent a6520e89a5
commit 43a1dcfa14
+116 -93
View File
@@ -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