diff --git a/mariadb/aria_log.00000001 b/mariadb/aria_log.00000001 index e375562..cd6b75e 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 9aa713c..fb1f6f3 100644 Binary files a/mariadb/aria_log_control and b/mariadb/aria_log_control differ diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index 63901a7..4f4af5a 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -8,7 +8,7 @@ import { Repository } from 'typeorm'; import { Equipo } from './entities/equipo.entity'; import { UpdateEquipoDto } from './dto/update-equipo.dto'; import axios from 'axios'; -import { Response } from 'express'; +import e, { Response } from 'express'; import * as ExcelJS from 'exceljs'; import { Adscripcion, @@ -251,49 +251,51 @@ export class EquipoService { return response.data; } - async create(equipo: CreateEquipoDto) { - let nuevoEquipo; - const equipoExixtente = await this.equipoRepository.findOne({ + async create(equipo: CreateEquipoDto, id_usuario: number) { + const equipoExistente = await this.equipoRepository.findOne({ where: { inventario: equipo.inventario }, }); - if (equipoExixtente) { + if (equipoExistente) { throw new BadRequestException('El equipo ya existe'); } - if (equipo.isImpresora) { - nuevoEquipo = this.equipoRepository.create({ - inventario: equipo.inventario, - serie: equipo.serie ? equipo.serie : undefined, - lugar: equipo.lugar, - fechaFactura: equipo.fechaFactura, - antiguedad: equipo.antiguedad, - modelo: equipo.modelo, - estado: { id_estado: equipo.id_estado }, - adscripcion: { id_adscripcion: equipo.id_adscripcion }, - tipoUso: { id_uso: equipo.id_uso }, - marca: { id_marca: equipo.id_marca }, - periferico: { id_periferico: equipo.id_periferico }, - tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo }, - }); - } else { - nuevoEquipo = this.equipoRepository.create({ - inventario: equipo.inventario, - serie: equipo.serie, - lugar: equipo.lugar, - fechaFactura: equipo.fechaFactura, - antiguedad: equipo.antiguedad, - modelo: equipo.modelo, - estado: { id_estado: equipo.id_estado }, - adscripcion: { id_adscripcion: equipo.id_adscripcion }, - 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 }, - procesador: { id_procesador: equipo.id_procesador }, - }); - } + const datosBase = { + inventario: equipo.inventario, + serie: equipo.serie, + lugar: equipo.lugar, + fechaFactura: equipo.fechaFactura, + antiguedad: equipo.antiguedad, + modelo: equipo.modelo, + estado: { id_estado: equipo.id_estado }, + adscripcion: { id_adscripcion: equipo.id_adscripcion }, + tipoUso: { id_uso: equipo.id_uso }, + marca: { id_marca: equipo.id_marca }, + tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo }, + }; - return this.equipoRepository.save(nuevoEquipo); + const nuevoEquipo = this.equipoRepository.create( + equipo.isImpresora + ? { ...datosBase, periferico: { id_periferico: equipo.id_periferico } } + : { + ...datosBase, + sistemaOperativo: { + id_sistema_operativo: equipo.id_sistema_operativo, + }, + procesador: { id_procesador: equipo.id_procesador }, + }, + ); + + let equip = await this.equipoRepository.save(nuevoEquipo); + + if (!equip) throw new Error('No se creó el equipo'); + + // Crear movimiento asociado + await this.movimiento.crear({ + idEquipo: equip.id_equipo, + idUsuario: id_usuario, + }); + + return equip; } async findAllUsos() { diff --git a/src/movimiento/movimiento.service.ts b/src/movimiento/movimiento.service.ts index fbaf63d..ae5fca3 100644 --- a/src/movimiento/movimiento.service.ts +++ b/src/movimiento/movimiento.service.ts @@ -24,18 +24,12 @@ export class MovimientoService { return await this.movimientoRepo.save(movimiento); } - async buscar(idEquipo: number): Promise { + async buscar(idEquipo: number) { const movimiento = await this.movimientoRepo.findOne({ where: { equipo: { id_equipo: idEquipo } }, order: { fechaMovimiento: 'DESC' }, }); - if (!movimiento) { - throw new NotFoundException( - `No se encontraron movimientos para el equipo con id ${idEquipo}`, - ); - } - return movimiento; } }