crear relaciones en tabla intermedia
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -21,7 +21,7 @@ import type { Response } from 'express';
|
||||
|
||||
@Controller('equipos')
|
||||
export class EquipoController {
|
||||
constructor(private readonly equipoService: EquipoService) { }
|
||||
constructor(private readonly equipoService: EquipoService) {}
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@Get('buscar')
|
||||
async buscarEquipos(
|
||||
@@ -128,7 +128,7 @@ export class EquipoController {
|
||||
try {
|
||||
return await this.equipoService.generar_reporte();
|
||||
} catch (error) {
|
||||
throw new BadRequestException('Error al generar el Excel:', error);
|
||||
throw new BadRequestException('Error al generar el reporte:', error);
|
||||
}
|
||||
}
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
import { BadRequestException, Injectable } from '@nestjs/common';
|
||||
import {
|
||||
BadRequestException,
|
||||
Injectable,
|
||||
NotFoundException,
|
||||
} from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { Equipo } from './entities/equipo.entity';
|
||||
@@ -55,7 +59,7 @@ export class EquipoService {
|
||||
|
||||
@InjectRepository(ProcesadorTipoEquipo)
|
||||
private readonly procesadorTipoEquipoRepo: Repository<ProcesadorTipoEquipo>,
|
||||
) { }
|
||||
) {}
|
||||
|
||||
async buscarEquipos(filtros: any, page: number = 1, limit: number = 10) {
|
||||
const query = this.equipoRepository
|
||||
@@ -131,12 +135,35 @@ export class EquipoService {
|
||||
};
|
||||
}
|
||||
async updateEquipo(equipoNuevo: UpdateEquipoDto, id_equipo: number, id_user) {
|
||||
let equipo = await this.equipoRepository.findOne({
|
||||
where: { id_equipo },
|
||||
relations: ['tipoEquipo'],
|
||||
});
|
||||
if (!equipo) {
|
||||
throw new NotFoundException('No se encontó equipo');
|
||||
}
|
||||
|
||||
let procesador_tipoequipo;
|
||||
|
||||
if (equipoNuevo.id_procesador) {
|
||||
procesador_tipoequipo = await this.procesadorTipoEquipoRepo.findOne({
|
||||
where: { procesador: { id_procesador: equipoNuevo.id_procesador } },
|
||||
where: {
|
||||
procesador: { id_procesador: equipoNuevo.id_procesador },
|
||||
tipoEquipo: {
|
||||
id_tipo_de_equipo: equipo.tipoEquipo.id_tipo_de_equipo,
|
||||
},
|
||||
},
|
||||
relations: ['procesador', 'tipoEquipo'],
|
||||
});
|
||||
|
||||
if (!procesador_tipoequipo) {
|
||||
procesador_tipoequipo = await this.procesadorTipoEquipoRepo.save({
|
||||
procesador: { id_procesador: equipoNuevo.id_procesador },
|
||||
tipoEquipo: {
|
||||
id_tipo_de_equipo: equipo.tipoEquipo.id_tipo_de_equipo,
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const updateData = {
|
||||
@@ -252,17 +279,33 @@ export class EquipoService {
|
||||
tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo },
|
||||
});
|
||||
} else {
|
||||
const procesador_tipoequipo =
|
||||
await this.procesadorTipoEquipoRepo.findOneBy({
|
||||
procesador: { id_procesador: equipo.id_procesador },
|
||||
tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo },
|
||||
});
|
||||
let procesador = await this.procesadorRepo.findOne({
|
||||
where: { id_procesador: equipo.id_procesador },
|
||||
relations: ['procesador', 'tipoEquipo'],
|
||||
});
|
||||
let tipo_equipo = await this.tipoEquipoRepo.findOne({
|
||||
where: { id_tipo_de_equipo: equipo.id_procesador },
|
||||
});
|
||||
|
||||
if (!procesador_tipoequipo) {
|
||||
throw new Error(
|
||||
`No se encontró la combinación de procesador y tipo de equipo proporcionados.`,
|
||||
if (!procesador || !tipo_equipo) {
|
||||
throw new NotFoundException(
|
||||
'No se encontro procesador ni tipo de equipo',
|
||||
);
|
||||
}
|
||||
let procesador_tipoequipo = await this.procesadorTipoEquipoRepo.findOne({
|
||||
where: { procesador: procesador, tipoEquipo: tipo_equipo },
|
||||
});
|
||||
if (!procesador_tipoequipo) {
|
||||
procesador_tipoequipo = await this.procesadorTipoEquipoRepo.create({
|
||||
procesador,
|
||||
tipoEquipo: tipo_equipo,
|
||||
});
|
||||
|
||||
procesador_tipoequipo = await this.procesadorTipoEquipoRepo.save(
|
||||
procesador_tipoequipo,
|
||||
);
|
||||
}
|
||||
|
||||
nuevoEquipo = this.equipoRepository.create({
|
||||
procesador_tipoequipo: procesador_tipoequipo,
|
||||
inventario: equipo.inventario,
|
||||
@@ -276,7 +319,7 @@ export class EquipoService {
|
||||
sistemaOperativo: { id_sistema_operativo: equipo.id_sistema_operativo },
|
||||
tipoUso: { id_uso: equipo.id_uso },
|
||||
marca: { id_marca: equipo.id_marca },
|
||||
tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo },
|
||||
tipoEquipo: tipo_equipo,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -832,11 +875,7 @@ export class EquipoService {
|
||||
}
|
||||
}
|
||||
|
||||
let escritorio = [
|
||||
'ESCRITORIO PC',
|
||||
'ESCRITORIO MAC OS ',
|
||||
'ESCRITORIO LINUX',
|
||||
];
|
||||
let escritorio = ['ESCRITORIO PC', 'ESCRITORIO MAC OS ', 'ESCRITORIO LINUX'];
|
||||
let portatil = [
|
||||
'PORTÁTILES WINDOWS',
|
||||
'PORTÁTILES CHROMEBOOK',
|
||||
|
||||
Reference in New Issue
Block a user