aparentemente listo conexión profesores

This commit is contained in:
2021-09-02 12:13:55 -05:00
parent 873fada472
commit 7f210e5cb6
2 changed files with 68 additions and 20 deletions
+32 -2
View File
@@ -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');
+36 -18
View File
@@ -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 },