operadores corregido

This commit is contained in:
xXpuma99Xx
2022-05-11 10:40:00 -05:00
parent 640ba26a97
commit 495800415a
+20 -19
View File
@@ -4,10 +4,9 @@ import {
NotFoundException,
} from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Between, FindOperator, Like, MoreThan, Repository } from 'typeorm';
import { Between, Repository } from 'typeorm';
import { Institucion } from '../institucion/entity/institucion.entity';
import { Operador } from './entity/operador.entity';
import { TipoUsuario } from '../tipo-usuario/entity/tipo-usuario.entity';
import { BcryptService } from '../bcrypt/bcrypt.service';
import { InstitucionService } from '../institucion/institucion.service';
import { TipoUsuarioService } from '../tipo-usuario/tipo-usuario.service';
@@ -75,19 +74,6 @@ export class OperadorService {
id_tipo_usuario?: string;
operador?: string;
}) {
const busqueda: {
where: {
institucion?: Institucion;
operador?: FindOperator<string>;
tipoUsuario?: TipoUsuario;
};
skip;
take;
} = {
where: {},
skip: (parseInt(filtros.pagina) - 1) * 25,
take: 25,
};
const institucion = filtros.id_institucion
? await this.institucionService.findById(parseInt(filtros.id_institucion))
: null;
@@ -96,12 +82,27 @@ export class OperadorService {
parseInt(filtros.id_tipo_usuario),
)
: null;
const query = this.repository
.createQueryBuilder('o')
.innerJoinAndSelect('o.institucion', 'i')
.innerJoinAndSelect('o.tipoUsuario', 'tu')
.where('id_operador != 1 AND id_operador != 2')
.take(25)
.skip((parseInt(filtros.pagina) - 1) * 25);
if (filtros.operador)
busqueda.where.operador = Like(`${filtros.operador}%`);
if (institucion) busqueda.where.institucion = institucion;
if (tipoUsuario) busqueda.where.tipoUsuario = tipoUsuario;
return this.repository.find(busqueda);
query.andWhere('operador like :operador', {
operador: `${filtros.operador}%`,
});
if (institucion)
query.andWhere('i.id_institucion = :id_institucion', {
id_institucion: institucion.id_institucion,
});
if (tipoUsuario)
query.andWhere('tu.id_tipo_usuario = :id_tipo_usuario', {
id_tipo_usuario: tipoUsuario.id_tipo_usuario,
});
return query.getMany();
}
findById(id_operador: number) {