se agregaron cambios al meter equipo

This commit is contained in:
2025-11-13 14:14:09 -06:00
parent 85f62efd7e
commit 6b29c582c7
4 changed files with 41 additions and 45 deletions
Binary file not shown.
Binary file not shown.
+40 -38
View File
@@ -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() {
+1 -7
View File
@@ -24,18 +24,12 @@ export class MovimientoService {
return await this.movimientoRepo.save(movimiento);
}
async buscar(idEquipo: number): Promise<Movimiento> {
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;
}
}