From a95a49fc8a79fd12651cd0e1b8a47ad95f7ad0b3 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Wed, 8 Jun 2022 23:52:05 -0500 Subject: [PATCH] listo activos --- ...os.dto copy.ts => prestamo-activos.dto.ts} | 10 ++++++-- src/prestamo/prestamo.controller.ts | 8 +++++-- src/prestamo/prestamo.service.ts | 24 +++++++++++++++++++ 3 files changed, 38 insertions(+), 4 deletions(-) rename src/prestamo/dto/{prestamo-activos.dto copy.ts => prestamo-activos.dto.ts} (78%) diff --git a/src/prestamo/dto/prestamo-activos.dto copy.ts b/src/prestamo/dto/prestamo-activos.dto.ts similarity index 78% rename from src/prestamo/dto/prestamo-activos.dto copy.ts rename to src/prestamo/dto/prestamo-activos.dto.ts index 6d166ad..596b79d 100644 --- a/src/prestamo/dto/prestamo-activos.dto copy.ts +++ b/src/prestamo/dto/prestamo-activos.dto.ts @@ -1,7 +1,13 @@ -import { IsNumberString, IsOptional, IsString } from 'class-validator'; +import { + IsBoolean, + IsNumberString, + IsOptional, + IsString, +} from 'class-validator'; export class PrestamoActivosDto { - activo: true; + @IsBoolean() + activo = true; @IsNumberString() pagina: string; diff --git a/src/prestamo/prestamo.controller.ts b/src/prestamo/prestamo.controller.ts index 4800a82..66def0e 100644 --- a/src/prestamo/prestamo.controller.ts +++ b/src/prestamo/prestamo.controller.ts @@ -1,7 +1,8 @@ -import { Body, Controller, Get, Post, Put } from '@nestjs/common'; +import { Body, Controller, Get, Post, Put, Query } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { PrestamoService } from './prestamo.service'; import { PrestamoPedirDto } from './dto/prestamo-pedir.dto'; +import { PrestamoActivosDto } from './dto/prestamo-activos.dto'; @Controller('prestamo') @ApiTags('prestamo') @@ -9,7 +10,10 @@ export class PrestamoController { constructor(private prestamoService: PrestamoService) {} @Get('activos') - activos() {} + activos(@Query() query: PrestamoActivosDto) { + console.log(query); + return this.prestamoService.findAll(query); + } @Put('cancelar-operador') cancelarOperador() {} diff --git a/src/prestamo/prestamo.service.ts b/src/prestamo/prestamo.service.ts index fc3dd8c..e30cfd6 100644 --- a/src/prestamo/prestamo.service.ts +++ b/src/prestamo/prestamo.service.ts @@ -125,6 +125,21 @@ export class PrestamoService { id_prestamo?: string; usuario?: string; }) { + const join: { + e: string; + u: string; + c: string; + m: string; + tc: string; + oe?: string; + or?: string; + } = { + e: 'p.equipo', + u: 'p.usuario', + c: 'e.carrito', + m: 'c.modulo', + tc: 'c.tipoCarrito', + }; const busqueda: { activo?: boolean; fechaInicio?: Date; @@ -175,9 +190,14 @@ export class PrestamoService { ) : null; + console.log(filtros.activo); if (filtros.activo) { if (typeof filtros.activo === 'boolean') busqueda.activo = filtros.activo; else busqueda.activo = filtros.activo === 'true'; + } else { + console.log('hola'); + join.oe = 'p.operadorEntrega'; + join.or = 'p.operadorRegreso'; } if (filtros.carrito) busqueda.equipo.carrito.carrito = Like(`%${filtros.carrito}%`); @@ -192,6 +212,10 @@ export class PrestamoService { if (tipoCarrito) busqueda.equipo.carrito.tipoCarrito = tipoCarrito; if (tipoUsuario) busqueda.usuario.tipoUsuario = tipoUsuario; return this.repository.findAndCount({ + join: { + alias: 'p', + innerJoinAndSelect: join, + }, where: busqueda, skip: (parseInt(filtros.pagina) - 1) * 25, take: 25,