diff --git a/server/controller/CuestionarioAlumno/nuevo.js b/server/controller/CuestionarioAlumno/nuevo.js index 758da58..5637a8f 100644 --- a/server/controller/CuestionarioAlumno/nuevo.js +++ b/server/controller/CuestionarioAlumno/nuevo.js @@ -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; diff --git a/server/controller/CuestionarioPrograma/nuevo.js b/server/controller/CuestionarioPrograma/nuevo.js index fd1dcfe..53c3b6d 100644 --- a/server/controller/CuestionarioPrograma/nuevo.js +++ b/server/controller/CuestionarioPrograma/nuevo.js @@ -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; }) diff --git a/server/db/tablas/Cuestionario.js b/server/db/tablas/Cuestionario.js index 4502023..a849371 100644 --- a/server/db/tablas/Cuestionario.js +++ b/server/db/tablas/Cuestionario.js @@ -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' }); diff --git a/server/db/tablas/CuestionarioAlumno2.js b/server/db/tablas/CuestionarioAlumno2.js index 0e8e1d6..92bbb68 100644 --- a/server/db/tablas/CuestionarioAlumno2.js +++ b/server/db/tablas/CuestionarioAlumno2.js @@ -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; diff --git a/server/db/tablas/CuestionarioPrograma2.js b/server/db/tablas/CuestionarioPrograma2.js index 780f173..29d9ad7 100644 --- a/server/db/tablas/CuestionarioPrograma2.js +++ b/server/db/tablas/CuestionarioPrograma2.js @@ -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;