aparentemente listo conexión profesores
This commit is contained in:
@@ -8,15 +8,23 @@ const pool = mariadb.createPool({
|
||||
database: process.env.ESCOLARES_DB,
|
||||
});
|
||||
|
||||
const pool2 = mariadb.createPool({
|
||||
host: process.env.PROFESORES_HOST,
|
||||
user: process.env.PROFESORES_USER,
|
||||
password: process.env.PROFESORES_PASSWORD,
|
||||
database: process.env.PROFESORES_DB,
|
||||
});
|
||||
|
||||
const obtenerAlumno = async (numeroCuenta) => {
|
||||
const conn = await pool.getConnection().catch((err) => {
|
||||
throw new Error('No se pudo conectar con la db.' + err);
|
||||
throw new Error('No se pudo conectar con la db. ' + err);
|
||||
});
|
||||
|
||||
return conn
|
||||
.query(`CALL busca_alumno_pcpuma('${numeroCuenta}')`)
|
||||
.then((rows) => {
|
||||
conn.end();
|
||||
console.log(rows, rows.length);
|
||||
if (rows[0].length === 0) return null;
|
||||
return rows[0][0];
|
||||
})
|
||||
@@ -26,4 +34,26 @@ const obtenerAlumno = async (numeroCuenta) => {
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = obtenerAlumno;
|
||||
const obtenerProfesor = async (numeroCuenta) => {
|
||||
const conn = await pool2.getConnection().catch((err) => {
|
||||
throw new Error('No se pudo conectar con la db. ' + err);
|
||||
});
|
||||
|
||||
return conn
|
||||
.query(`SELECT * FROM profesor WHERE no_trabajador = ${numeroCuenta}`)
|
||||
.then((rows) => {
|
||||
conn.end();
|
||||
console.log(rows[0]);
|
||||
if (rows.length === 0) return null;
|
||||
return rows[0];
|
||||
})
|
||||
.catch((err) => {
|
||||
conn.end();
|
||||
throw new Error('Hubo un problema con el querry.' + err);
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = { obtenerAlumno, obtenerProfesor };
|
||||
|
||||
// obtenerAlumno('316313528');
|
||||
// obtenerProfesor('138158');
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const obtenerAlumno = require('../../config/mariadb.conf');
|
||||
const { obtenerAlumno, obtenerProfesor } = require('../../config/mariadb.conf');
|
||||
const validar = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
@@ -14,29 +14,47 @@ const escolares = async (body) => {
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) {
|
||||
let alumno = {};
|
||||
let usuario = {};
|
||||
let esAlumno = false;
|
||||
|
||||
return obtenerAlumno(numeroCuenta)
|
||||
.then(async (res) => {
|
||||
alumno = res;
|
||||
if (!alumno)
|
||||
throw new Error('Este alumno no existe o no esta inscrito.');
|
||||
if (alumno.inscrito != 'SI')
|
||||
throw new Error('Este alumno no esta inscrito este semestre.');
|
||||
return Carrera.findOne({ where: { carrera: alumno.carrera } });
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) return Carrera.create({ carrera: alumno.carrera });
|
||||
if (!res) return obtenerProfesor(numeroCuenta);
|
||||
esAlumno = true;
|
||||
return res;
|
||||
})
|
||||
.then((res) =>
|
||||
Usuario.create({
|
||||
.then(async (res) => {
|
||||
usuario = res;
|
||||
if (!usuario)
|
||||
throw new Error(
|
||||
'Este número de cuenta o de trabajador no existe.'
|
||||
);
|
||||
if (esAlumno) {
|
||||
if (usuario.inscrito != 'SI')
|
||||
throw new Error('Este alumno no esta inscrito este semestre.');
|
||||
await Carrera.findOne({
|
||||
where: { carrera: usuario.carrera },
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) return Carrera.create({ carrera: usuario.carrera });
|
||||
return res;
|
||||
})
|
||||
.then((res) => {
|
||||
usuario.Carrera = res;
|
||||
usuario.nombre = usuario.nombre.trim();
|
||||
usuario.idTipoUsuario = 4;
|
||||
});
|
||||
} else {
|
||||
usuario.idTipoUsuario = 3;
|
||||
usuario.nombre = `${usuario.a_paterno.trim()} ${usuario.a_materno.trim()} ${usuario.nombre.trim()}`;
|
||||
}
|
||||
return Usuario.create({
|
||||
usuario: numeroCuenta,
|
||||
nombre: alumno.nombre.trim(),
|
||||
idCarrera: res.idCarrera,
|
||||
idTipoUsuario: 4,
|
||||
})
|
||||
)
|
||||
nombre: usuario.nombre,
|
||||
idCarrera: usuario.Carrera.idCarrera,
|
||||
idTipoUsuario: usuario.idTipoUsuario,
|
||||
});
|
||||
})
|
||||
.then((res) =>
|
||||
Usuario.findOne({
|
||||
where: { usuario: numeroCuenta },
|
||||
|
||||
Reference in New Issue
Block a user