prestamo find all listo

This commit is contained in:
xXpuma99Xx 2022-06-03 08:47:36 -05:00
parent 8bbd2473d2
commit 30e190d35b
4 changed files with 101 additions and 51 deletions

View File

@ -1,19 +1,19 @@
import { Controller, Get, Post, Put } from '@nestjs/common'; import { Controller, Get, Post, Put } from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { PrestamoService } from './prestamo.service'; import { PrestamoService } from './prestamo.service';
import {ApiTags} from '@nestjs/swagger'
@Controller('prestamo') @Controller('prestamo')
// @ApiTags('prestamo') @ApiTags('prestamo')
export class PrestamoController { export class PrestamoController {
constructor(private prestamoService: PrestamoService) {} constructor(private prestamoService: PrestamoService) {}
@Get('activos') @Get('activos')
activos() {} activos() {}
@Put('cancelar_operador') @Put('cancelar-operador')
cancelarOperador() {} cancelarOperador() {}
@Put('cancelar_usuario') @Put('cancelar-usuario')
cancelarUsuario() {} cancelarUsuario() {}
@Put('entregar') @Put('entregar')
@ -22,27 +22,27 @@ export class PrestamoController {
@Get('historial') @Get('historial')
historial() {} historial() {}
@Get('historial_equipo') @Get('historial-equipo')
historialEquipo() {} historialEquipo() {}
@Get('historial_usuario') @Get('historial-usuario')
historialUsuario() {} historialUsuario() {}
@Post() @Post()
pedir() {} pedir() {}
@Get('prestamo_id_prestamo') @Get('prestamo-id-prestamo')
prestamoIdPrestamo() {} prestamoIdPrestamo() {}
@Get('prestamo_id_usuario') @Get('prestamo-id-usuario')
prestamoIdUsuario() {} prestamoIdUsuario() {}
@Get('prestamo_numero_inventario') @Get('prestamo-numero-inventario')
prestamoNumeroInventario() {} prestamoNumeroInventario() {}
@Put('regresar') @Put('regresar')
regresar() {} regresar() {}
@Get('reporte') // @Get('reporte')
reporte() {} // reporte() {}
} }

View File

@ -6,12 +6,23 @@ import { Prestamo } from './entity/prestamo.entity';
import { CarritoModule } from '../carrito/carrito.module'; import { CarritoModule } from '../carrito/carrito.module';
import { EquipoModule } from '../equipo/equipo.module'; import { EquipoModule } from '../equipo/equipo.module';
import { InstitucionModule } from '../institucion/institucion.module'; import { InstitucionModule } from '../institucion/institucion.module';
import { InstitucionCarreraModule } from '../institucion-carrera/institucion-carrera.module';
import { InstitucionTipoCarritoModule } from '../institucion-tipo-carrito/institucion-tipo-carrito.module'; import { InstitucionTipoCarritoModule } from '../institucion-tipo-carrito/institucion-tipo-carrito.module';
import { ModuloModule } from '../modulo/modulo.module'; import { ModuloModule } from '../modulo/modulo.module';
import { TipoUsuarioModule } from '../tipo-usuario/tipo-usuario.module'; import { TipoUsuarioModule } from '../tipo-usuario/tipo-usuario.module';
import { UsuarioModule } from '../usuario/usuario.module'; import { UsuarioModule } from '../usuario/usuario.module';
@Module({ @Module({
imports: [TypeOrmModule.forFeature([Prestamo])], imports: [
CarritoModule,
EquipoModule,
InstitucionModule,
InstitucionCarreraModule,
InstitucionTipoCarritoModule,
ModuloModule,
TypeOrmModule.forFeature([Prestamo]),
TipoUsuarioModule,
UsuarioModule,
],
controllers: [PrestamoController], controllers: [PrestamoController],
providers: [PrestamoService], providers: [PrestamoService],
exports: [PrestamoService], exports: [PrestamoService],

View File

@ -1,59 +1,98 @@
import { Injectable, NotFoundException } from '@nestjs/common'; import { Injectable, NotFoundException } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm'; import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm'; import { FindOperator, Like, Repository } from 'typeorm';
import { Carrera } from '../institucion-carrera/entity/carrera.entity'; import { Carrera } from '../institucion-carrera/entity/carrera.entity';
import { Carrito } from '../carrito/entity/carrito.entity';
import { Equipo } from '../equipo/entity/equipo.entity';
import { Institucion } from '../institucion/entity/institucion.entity';
import { Modulo } from '../modulo/entity/modulo.entity'; import { Modulo } from '../modulo/entity/modulo.entity';
import { Prestamo } from './entity/prestamo.entity'; import { Prestamo } from './entity/prestamo.entity';
import { TipoCarrito } from '../institucion-tipo-carrito/entity/tipo-carrito.entity'; import { TipoCarrito } from '../institucion-tipo-carrito/entity/tipo-carrito.entity';
import { TipoUsuario } from '../tipo-usuario/entity/tipo-usuario.entity'; import { TipoUsuario } from '../tipo-usuario/entity/tipo-usuario.entity';
import { Usuario } from '../usuario/entity/usuario.entity'; import { CarritoService } from '../carrito/carrito.service';
// import { CarritoService } from '../carrito/carrito.service'; import { EquipoService } from '../equipo/equipo.service';
// import { EquipoService } from '../equipo/equipo.service'; import { InstitucionService } from '../institucion/institucion.service';
// import { InstitucionService } from '../institucion/institucion.service'; import { ModuloService } from '../modulo/modulo.service';
// import { ModuloService } from '../modulo/modulo.service'; import { InstitucionCarreraService } from '../institucion-carrera/institucion-carrera.service';
// import { InstitucionTipoCarritoService } from '../institucion-tipo-carrito/institucion-tipo-carrito.service'; import { InstitucionTipoCarritoService } from '../institucion-tipo-carrito/institucion-tipo-carrito.service';
// import { TipoUsuarioService } from '../tipo-usuario/tipo-usuario.service'; import { TipoUsuarioService } from '../tipo-usuario/tipo-usuario.service';
// import { UsuarioService } from '../usuario/usuario.service'; import { UsuarioService } from '../usuario/usuario.service';
@Injectable() @Injectable()
export class PrestamoService { export class PrestamoService {
constructor( constructor(
@InjectRepository(Prestamo) private repository: Repository<Prestamo>, // private carreraService: CarreraService, // private carritoService: CarritoService, // private equipoService: EquipoService, // private institucionService: InstitucionService, // private institucionTipoCarritoService: InstitucionTipoCarritoService, // private moduloService: ModuloService, // private tipoUsuarioService: TipoUsuarioService, // private usuarioService: UsuarioService, @InjectRepository(Prestamo) private repository: Repository<Prestamo>,
private carritoService: CarritoService,
private equipoService: EquipoService,
private institucionService: InstitucionService,
private institucionTipoCarritoService: InstitucionTipoCarritoService,
private moduloService: ModuloService,
private institucionCarreraService: InstitucionCarreraService,
private tipoUsuarioService: TipoUsuarioService,
private usuarioService: UsuarioService,
) {} ) {}
findAll(filtros: { async findAll(filtros: {
pagina: string;
carrito?: string; carrito?: string;
equipo?: string; equipo?: string;
id_carrera?: number; id_carrera?: string;
id_institucion?: number; id_institucion?: string;
id_modulo?: number; id_modulo?: string;
id_tipo_carrito?: number; id_tipo_carrito?: string;
id_tipo_usuario?: number; id_tipo_usuario?: string;
// id_prestamo?: number; id_prestamo?: string;
pagina: number;
usuario?: string; usuario?: string;
}) { }) {
const busqueda: { const busqueda: {
carrera?: Carrera; equipo: {
carrito?: Carrito; equipo?: FindOperator<string>;
equipo?: Equipo; carrito: {
institucion?: Institucion; carrito?: FindOperator<string>;
modulo?: Modulo; modulo?: Modulo;
tipoCarrito?: TipoCarrito; tipoCarrito?: TipoCarrito;
tipoUsuario?: TipoUsuario; };
usuario?: Usuario; };
} = {}; usuario: {
// const carrera = this.carreraService.findBy(); usuario?: FindOperator<string>;
// const carrito = this.carritoService.find(); tipoUsuario?: TipoUsuario;
// const equipo = this.equipoService.find(); institucionCarrera: { carrera?: Carrera };
// const institucion = this.institucionService.find(); };
// const modulo = this.moduloService.find(); } = { equipo: { carrito: {} }, usuario: { institucionCarrera: {} } };
// const tipoCarrito = this.institucionTipoCarritoService.find(); const carrera = filtros.id_carrera
// const tipoUsuario = this.tipoUsuarioService.find(); ? await this.institucionCarreraService.findCarreraByIdCarrera(
// const usuario = this.usuarioService.find(); parseInt(filtros.id_carrera),
)
: null;
const institucion = filtros.id_institucion
? await this.institucionService.findById(parseInt(filtros.id_institucion))
: null;
const modulo = filtros.id_modulo
? await this.moduloService.findById(parseInt(filtros.id_modulo))
: null;
const tipoCarrito = filtros.id_tipo_carrito
? await this.institucionTipoCarritoService.findTipoCaritoById(
parseInt(filtros.id_tipo_carrito),
)
: null;
const tipoUsuario = filtros.id_tipo_usuario
? await this.tipoUsuarioService.findById(
parseInt(filtros.id_tipo_usuario),
)
: null;
if (filtros.usuario)
busqueda.usuario.usuario = Like(`%${filtros.usuario}%`);
if (filtros.equipo) busqueda.equipo.equipo = Like(`%${filtros.equipo}%`);
if (filtros.carrito)
busqueda.equipo.carrito.carrito = Like(`%${filtros.carrito}%`);
if (carrera) busqueda.usuario.institucionCarrera.carrera = carrera;
if (modulo) busqueda.equipo.carrito.modulo = modulo;
if (institucion) busqueda.equipo.carrito.modulo.institucion = institucion;
if (tipoCarrito) busqueda.equipo.carrito.tipoCarrito = tipoCarrito;
if (tipoUsuario) busqueda.usuario.tipoUsuario = tipoUsuario;
return this.repository.findAndCount({
where: busqueda,
skip: (parseInt(filtros.pagina) - 1) * 25,
take: 25,
});
} }
findById(id_prestamo: number) { findById(id_prestamo: number) {

View File

@ -42,7 +42,7 @@ export class Usuario {
{ eager: true }, { eager: true },
) )
@JoinColumn({ name: 'id_institucion_carrera' }) @JoinColumn({ name: 'id_institucion_carrera' })
institucionCarrera?: InstitucionCarrera; institucionCarrera: InstitucionCarrera;
@ManyToOne(() => TipoUsuario, (tipoUsuario) => tipoUsuario.usuarios, { @ManyToOne(() => TipoUsuario, (tipoUsuario) => tipoUsuario.usuarios, {
eager: true, eager: true,