From 7e0935621d4dceb17a3f4ccb543e55f85713cc4b Mon Sep 17 00:00:00 2001 From: Lemuel Marquez Date: Wed, 26 May 2021 16:39:07 -0500 Subject: [PATCH] activos con filtros --- server/controller/Equipo/equipo.js | 2 +- server/controller/Prestamo/activos.js | 50 ++++++++++++++++++--------- 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/server/controller/Equipo/equipo.js b/server/controller/Equipo/equipo.js index ccf55c6..7f44fc4 100644 --- a/server/controller/Equipo/equipo.js +++ b/server/controller/Equipo/equipo.js @@ -8,7 +8,7 @@ const Status = require(`${dbPath}/Status`); const TipoCarrito = require(`${dbPath}/TipoCarrito`); const equipo = async (body) => { - let numeroInventario = validarAlfanumerico( + const numeroInventario = validarAlfanumerico( body.numeroInventario, 'El numero de inventario', 20 diff --git a/server/controller/Prestamo/activos.js b/server/controller/Prestamo/activos.js index b9513ae..0573811 100644 --- a/server/controller/Prestamo/activos.js +++ b/server/controller/Prestamo/activos.js @@ -1,3 +1,4 @@ +const { Op } = require('sequelize'); const validar = require('../../helper/validar'); const dbPath = '../../db/tablas'; const Carrera = require(`${dbPath}/Carrera`); @@ -12,8 +13,20 @@ const Usuario = require(`${dbPath}/Usuario`); const activos = async (body) => { const idModulo = validar.validarId(body.idModulo); const pagina = validar.validarNumero(body.pagina, true); - // filtros + const usuario = body.usuario ? validar.validarNumeroCuenta(body.usuario) : ''; + const numeroInventario = body.numeroInventario + ? validar.validarAlfanumerico( + body.numeroInventario, + 'El numero de inventario', + 20 + ) + : ''; + const idTipoCarrito = body.idTipoCarrito + ? validar.validarId(body.idTipoCarrito) + : null; + let whereCarrito = [{ idModulo }]; + if (idTipoCarrito) whereCarrito.push({ idTipoCarrito }); return Modulo.findOne({ where: { idModulo } }) .then((res) => { if (!res) throw new Error('No existe este modulo.'); @@ -22,40 +35,45 @@ const activos = async (body) => { include: [ { model: Equipo, + where: { numeroInventario: { [Op.like]: `%${numeroInventario}%` } }, include: [ { model: Carrito, - where: { idModulo }, + where: { [Op.and]: whereCarrito }, include: [{ model: TipoCarrito }, { model: Modulo }], }, ], }, { model: Usuario, + where: { usuario: { [Op.like]: `%${usuario}%` } }, include: [{ model: TipoUsuario }, { model: Carrera }], }, ], limit: 25, offset: 25 * (pagina - 1), - order: [['idPrestamo', 'DESC']], }); }) .then((res) => { - for (let i = 0; i < res.length; i++) { - delete res[i].rows.dataValues.idUsuario; - delete res[i].rows.dataValues.idOperadorEntrega; - delete res[i].rows.dataValues.idOperadorRegreso; - delete res[i].rows.dataValues.idEquipo; - delete res[i].rows.dataValues.Equipo.dataValues.idPrograma; - delete res[i].rows.dataValues.Equipo.dataValues.idStatus; - delete res[i].rows.dataValues.Equipo.dataValues.idCarrito; - delete res[i].rows.dataValues.Equipo.dataValues.Carrito.dataValues + for (let i = 0; i < res.rows.length; i++) { + delete res.rows[i].dataValues.idUsuario; + delete res.rows[i].dataValues.idOperadorEntrega; + delete res.rows[i].dataValues.idOperadorRegreso; + delete res.rows[i].dataValues.idEquipo; + delete res.rows[i].dataValues.Equipo.dataValues.idPrograma; + delete res.rows[i].dataValues.Equipo.dataValues.idStatus; + delete res.rows[i].dataValues.Equipo.dataValues.idCarrito; + delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues .idTipoCarrito; - delete res[i].rows.dataValues.Equipo.dataValues.Carrito.dataValues + delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues .idModulo; - delete res[i].rows.dataValues.Usuario.dataValues.idTipoUsuario; - delete res[i].rows.dataValues.Usuario.dataValues.idCarrera; - delete res[i].rows.dataValues.Usuario.dataValues.password; + delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues + .activo; + delete res.rows[i].dataValues.Usuario.dataValues.idTipoUsuario; + delete res.rows[i].dataValues.Usuario.dataValues.multa; + delete res.rows[i].dataValues.Usuario.dataValues.activo; + delete res.rows[i].dataValues.Usuario.dataValues.idCarrera; + delete res.rows[i].dataValues.Usuario.dataValues.password; } return { count: res.count, activos: res.rows }; });