tablas y controllers actualizados de cuestionarios

This commit is contained in:
Tu Nombre
2025-01-28 12:22:19 -06:00
parent d181790277
commit f1d041e891
5 changed files with 80 additions and 57 deletions
+11 -6
View File
@@ -168,11 +168,10 @@ const nuevoOld = async (body) => {
const nuevo = async (body) => {
// console.log(body);
let idServicio = body.idServicio;
let idServicio = body.idServicio;
/*
const idServicio = validar.validarNumeroEntero(
body.idServicio,
@@ -229,7 +228,7 @@ const nuevo = async (body) => {
// throw new Error('Id status no valido.'); // si no coincide con nada, error por defecto
Cuestionario.findOne({});
// Cuestionario.findOne({});
let dataCuestionario = await Cuestionario.findOne({
where: { idServicio, dirigidoA: 'estudiantes' },
@@ -240,12 +239,10 @@ const nuevo = async (body) => {
throw new Error('Ya existe un cuestionario para este servicio social');
}
let respuestasRegistradas = await CuestionarioAlumno2.create({ ...body });
console.log('despues de registrar cuestionario', respuestasRegistradas);
let cuestionarioRegistro = await Cuestionario.create({
idServicio,
idCuestionarioAlumno: respuestasRegistradas.idCuestionarioAlumno,
// idCuestionarioAlumno: respuestasRegistradas.idCuestionarioAlumno,
version: '2',
dirigidoA: 'estudiantes',
titulo: 'Cuestionario de Alumn v2',
@@ -253,6 +250,13 @@ const nuevo = async (body) => {
createdAt: new Date(),
});
console.log("datos a registrar en la tabla cuestionarioAlumno2", { ...body, idCuestionario: cuestionarioRegistro.idCuestionario } );
let respuestasRegistradas = await CuestionarioAlumno2.create({ ...body, idCuestionario: cuestionarioRegistro.idCuestionario });
console.log('despues de registrar cuestionario', respuestasRegistradas);
console.log('cuestionario registrado', cuestionarioRegistro);
return cuestionarioRegistro;
@@ -263,4 +267,5 @@ const nuevo = async (body) => {
}));
};
module.exports = nuevo;
@@ -135,6 +135,10 @@ const nuevo = async (body) => {
throw new Error(messageByStatus[res.idStatus]); */
// throw new Error('Id status no valido.'); // si no coincide con nada, error por defecto
let dataCuestionario = await Cuestionario.findOne({
where: { idServicio, dirigidoA: 'programas' },
});
@@ -144,14 +148,9 @@ const nuevo = async (body) => {
throw new Error('Ya existe un cuestionario para este servicio social');
}
let respuestasRegistradas = await CuestionarioPrograma2.create({
...body,
});
console.log('despues de registrar cuestionario', respuestasRegistradas);
// si el cuestionario ya existe solo hay que actualizar el id de cuestionarioprograma o alumno
let cuestionarioRegistro = await Cuestionario.create({
idServicio,
idCuestionarioPrograma: respuestasRegistradas.idCuestionarioPrograma,
@@ -164,6 +163,21 @@ const nuevo = async (body) => {
console.log('cuestionario registrado', cuestionarioRegistro);
let respuestasRegistradas = await CuestionarioPrograma2.create({
...body,
idCuestionario: cuestionarioRegistro.idCuestionario
});
console.log('despues de registrar cuestionario', respuestasRegistradas);
// si el cuestionario ya existe solo hay que actualizar el id de cuestionarioprograma o alumno
return cuestionarioRegistro;
})
+8 -42
View File
@@ -1,13 +1,11 @@
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
const Usuario = require('./Usuario');
const Carrera = require('./Carrera');
const Programa = require('./Programa');
const Servicio = require('./Servicio');
const CuestionarioAlumno2 = require('./CuestionarioAlumno2');
const CuestionarioPrograma2 = require('./CuestionarioPrograma2');
class Cuestionario extends Model {}
Cuestionario.init(
{
idCuestionario: {
@@ -15,7 +13,6 @@ Cuestionario.init(
primaryKey: true,
autoIncrement: true,
},
idServicio: {
type: DataTypes.INTEGER,
allowNull: false,
@@ -24,39 +21,11 @@ Cuestionario.init(
key: 'idServicio',
},
},
idCuestionarioAlumno: {
type: DataTypes.INTEGER,
allowNull: true,
},
idCuestionarioPrograma: {
type: DataTypes.INTEGER,
allowNull: true,
},
version: {
type: DataTypes.STRING(50),
allowNull: false,
},
titulo: {
type: DataTypes.STRING(50),
allowNull: false,
},
desc: {
type: DataTypes.STRING(50),
allowNull: false,
},
dirigidoA: {
type: DataTypes.STRING(50),
allowNull: false,
},
createdAt: {
type: DataTypes.DATE,
allowNull: false,
},
version: DataTypes.STRING(50),
titulo: DataTypes.STRING(50),
desc: DataTypes.STRING(50),
dirigidoA: DataTypes.STRING(50),
createdAt: DataTypes.DATE,
},
{
sequelize,
@@ -66,9 +35,6 @@ Cuestionario.init(
}
);
Cuestionario.belongsTo(Servicio, { foreignKey: 'idServicio' });
Servicio.hasMany(Cuestionario, { foreignKey: 'idServicio' });
+21 -3
View File
@@ -1,3 +1,4 @@
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
@@ -8,10 +9,17 @@ CuestionarioAlumno2.init(
idCuestionarioAlumno2: {
type: DataTypes.INTEGER,
primaryKey: true,
allowNull: false,
unique: true,
autoIncrement: true,
},
idCuestionario: {
type: DataTypes.INTEGER,
allowNull: true,
},
p1: {
type: DataTypes.STRING(100),
@@ -202,6 +210,9 @@ CuestionarioAlumno2.init(
type: DataTypes.STRING(50),
allowNull: true,
},
},
{
sequelize,
@@ -209,8 +220,15 @@ CuestionarioAlumno2.init(
tableName: 'cuestionario_alumno_2',
timestamps: true,
createdAt: true,
updatedAt: false, // Ajusta según tus necesidades
updatedAt: false,
}
);
// Importación después de la definición para evitar dependencias circulares
const Cuestionario = require('./Cuestionario');
// Definir relaciones después de importar correctamente
CuestionarioAlumno2.belongsTo(Cuestionario, { foreignKey: 'idCuestionario' });
Cuestionario.hasMany(CuestionarioAlumno2, { foreignKey: 'idCuestionario' });
module.exports = CuestionarioAlumno2;
+20
View File
@@ -1,6 +1,9 @@
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
const Cuestionario = require('./Cuestionario');
class CuestionarioPrograma2 extends Model {}
CuestionarioPrograma2.init(
@@ -13,6 +16,14 @@ CuestionarioPrograma2.init(
autoIncrement: true,
},
idCuestionario: {
type: DataTypes.INTEGER,
allowNull: true,
},
// Sección p3_A_*
p3_A_1: {
type: DataTypes.STRING(50),
@@ -131,4 +142,13 @@ CuestionarioPrograma2.init(
}
);
CuestionarioPrograma2.belongsTo(Cuestionario, { foreignKey: 'idCuestionario' });
Cuestionario.hasMany(CuestionarioPrograma2, { foreignKey: 'idCuestionario' });
module.exports = CuestionarioPrograma2;