diff --git a/mariadb/aria_log.00000001 b/mariadb/aria_log.00000001 index fec2dbf..6cb9c53 100644 Binary files a/mariadb/aria_log.00000001 and b/mariadb/aria_log.00000001 differ diff --git a/mariadb/aria_log_control b/mariadb/aria_log_control index 04cf65b..cba2c77 100644 Binary files a/mariadb/aria_log_control and b/mariadb/aria_log_control differ diff --git a/src/equipo/equipo.module.ts b/src/equipo/equipo.module.ts index 42a7223..e38c6e1 100644 --- a/src/equipo/equipo.module.ts +++ b/src/equipo/equipo.module.ts @@ -3,12 +3,33 @@ import { EquipoService } from './equipo.service'; import { EquipoController } from './equipo.controller'; import { TypeOrmModule } from '@nestjs/typeorm'; import { Equipo } from './entities/equipo.entity'; -import { Estado, Marca, Uso, Adscripcion, TipoEquipo, SistemaOperativo, Procesador } from './entities/catalogo.entities'; +import { + Estado, + Marca, + Uso, + Adscripcion, + TipoEquipo, + SistemaOperativo, + Procesador, + ProcesadorTipoEquipo, +} from './entities/catalogo.entities'; @Module({ - imports:[TypeOrmModule.forFeature([Equipo, Estado, Marca, Uso, Adscripcion, TipoEquipo, SistemaOperativo, Procesador])], + imports: [ + TypeOrmModule.forFeature([ + Equipo, + Estado, + Marca, + Uso, + Adscripcion, + TipoEquipo, + SistemaOperativo, + Procesador, + ProcesadorTipoEquipo, + ]), + ], controllers: [EquipoController], providers: [EquipoService], - exports:[EquipoService], + exports: [EquipoService], }) export class EquipoModule {} diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index f2b21c5..e3f47f2 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -9,6 +9,7 @@ import { Estado, Marca, Procesador, + ProcesadorTipoEquipo, SistemaOperativo, TipoEquipo, Uso, @@ -44,6 +45,9 @@ export class EquipoService { @InjectRepository(Equipo) private readonly perifericoRepo: Repository, + + @InjectRepository(ProcesadorTipoEquipo) + private readonly procesadorTipoEquipoRepo: Repository, ) {} async buscarEquipos(filtros: any, page: number = 1, limit: number = 10) { @@ -199,7 +203,7 @@ export class EquipoService { return response.data; } - create(equipo: CreateEquipoDto) { + async create(equipo: CreateEquipoDto) { let nuevoEquipo; if (equipo.isImpresora) { @@ -212,13 +216,24 @@ export class EquipoService { modelo: equipo.modelo, estado: { id_estado: equipo.id_estado }, adscripcion: { id_adscripcion: equipo.id_adscripcion }, - tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo }, tipoUso: { id_tipo_uso: equipo.id_uso }, marca: { id_marca: equipo.id_marca }, periferico: { id_periferico: equipo.id_periferico }, }); } else { + const procesador_tipoequipo = + await this.procesadorTipoEquipoRepo.findOneBy({ + procesador: { id_procesador: equipo.id_procesador }, + tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo }, + }); + + if (!procesador_tipoequipo) { + throw new Error( + `No se encontró la combinación de procesador y tipo de equipo proporcionados.`, + ); + } nuevoEquipo = this.equipoRepository.create({ + procesador_tipoequipo: procesador_tipoequipo, inventario: equipo.inventario, serie: equipo.serie, lugar: equipo.lugar, @@ -227,11 +242,9 @@ export class EquipoService { modelo: equipo.modelo, estado: { id_estado: equipo.id_estado }, adscripcion: { id_adscripcion: equipo.id_adscripcion }, - tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo }, sistemaOperativo: { id_sistema_operativo: equipo.id_sistema_operativo }, tipoUso: { id_tipo_uso: equipo.id_uso }, marca: { id_marca: equipo.id_marca }, - procesador: { id_procesador: equipo.id_procesador }, }); }