se agregaron nuevas tablas

This commit is contained in:
2025-11-20 10:50:13 -06:00
parent 882160432d
commit 519dba72fe
9 changed files with 96 additions and 1 deletions
Binary file not shown.
Binary file not shown.
+10 -1
View File
@@ -51,6 +51,15 @@ export class CreateEquipoDto {
@IsInt()
id_periferico: number;
@IsInt()
@IsOptional()
id_laboratorio?: number;
@IsInt()
@IsOptional()
id_proyecto?: number;
@IsNotEmpty()
isImpresora: Boolean;
@IsOptional()
isImpresora?: Boolean;
}
+8
View File
@@ -45,4 +45,12 @@ export class UpdateEquipoDto extends PartialType(CreateEquipoDto) {
@IsInt()
@IsOptional()
id_periferico?: number;
@IsInt()
@IsOptional()
id_proyecto?: number;
@IsInt()
@IsOptional()
id_laboratorio?: number;
}
+24
View File
@@ -18,6 +18,30 @@ export class Uso {
equipo: Equipo[];
}
@Entity()
export class Laboratorio {
@PrimaryGeneratedColumn()
id_laboratorio: number;
@Column({ type: 'varchar', length: 20 })
laboratorio: string;
@OneToMany(() => Equipo, (equipo) => equipo.laboratorio)
equipo: Equipo[];
}
@Entity()
export class Proyecto {
@PrimaryGeneratedColumn()
id_proyecto: number;
@Column({ type: 'varchar', length: 10 })
proyecto: string;
@OneToMany(() => Equipo, (equipo) => equipo.proyecto)
equipo: Equipo[];
}
@Entity()
export class Marca {
@PrimaryGeneratedColumn()
+14
View File
@@ -9,9 +9,11 @@ import {
import {
Adscripcion,
Estado,
Laboratorio,
Marca,
Periferico,
Procesador,
Proyecto,
SistemaOperativo,
TipoEquipo,
Uso,
@@ -83,4 +85,16 @@ export class Equipo {
@JoinColumn({ name: 'id_periferico' })
@ManyToOne(() => Periferico, (Periferico) => Periferico.equipo)
periferico: Periferico;
@JoinColumn({ name: 'id_laboratorio' })
@ManyToOne(() => Laboratorio, (laboratorio) => laboratorio.equipo, {
nullable: true,
})
laboratorio?: Laboratorio | null;
@JoinColumn({ name: 'id_proyecto' })
@ManyToOne(() => Proyecto, (proyecto) => proyecto.equipo, {
nullable: true,
})
proyecto?: Proyecto | null;
}
+12
View File
@@ -106,6 +106,18 @@ export class EquipoController {
return this.equipoService.findAllProcesadores();
}
@UseGuards(AuthGuard('jwt'))
@Get('laboratorios')
findLaboratorios() {
return this.equipoService.findAllLaboratorios();
}
@UseGuards(AuthGuard('jwt'))
@Get('proyectos')
findProyectos() {
return this.equipoService.findAllProyectos();
}
@UseGuards(AuthGuard('jwt'))
@Get('perifericos')
findPerifericos() {
+4
View File
@@ -12,6 +12,8 @@ import {
SistemaOperativo,
Procesador,
Periferico,
Proyecto,
Laboratorio,
} from './entities/catalogo.entities';
import { MovimientoModule } from 'src/movimiento/movimiento.module';
@@ -27,6 +29,8 @@ import { MovimientoModule } from 'src/movimiento/movimiento.module';
SistemaOperativo,
Procesador,
Periferico,
Proyecto,
Laboratorio,
]),
MovimientoModule,
],
+24
View File
@@ -13,9 +13,11 @@ import * as ExcelJS from 'exceljs';
import {
Adscripcion,
Estado,
Laboratorio,
Marca,
Periferico,
Procesador,
Proyecto,
SistemaOperativo,
TipoEquipo,
Uso,
@@ -55,6 +57,10 @@ export class EquipoService {
@InjectRepository(Periferico)
private readonly perifericoRepo: Repository<Periferico>,
@InjectRepository(Laboratorio)
private readonly laboratorioRepo: Repository<Laboratorio>,
@InjectRepository(Proyecto)
private readonly proyectoRepo: Repository<Proyecto>,
) {}
async deleteEquipo(inventario: string): Promise<{ message: string }> {
@@ -183,6 +189,12 @@ export class EquipoService {
periferico: equipoNuevo.id_periferico
? { id_periferico: equipoNuevo.id_periferico }
: undefined,
laboratorio: equipoNuevo.id_laboratorio
? { id_laboratorio: equipoNuevo.id_laboratorio }
: undefined,
proyecto: equipoNuevo.id_proyecto
? { id_proyecto: equipoNuevo.id_proyecto }
: undefined,
};
console.log(updateData);
@@ -211,6 +223,8 @@ export class EquipoService {
'procesador',
'tipoUso',
'periferico',
'proyecto',
'laboratorio',
],
});
@@ -271,6 +285,8 @@ export class EquipoService {
tipoUso: { id_uso: equipo.id_uso },
marca: { id_marca: equipo.id_marca },
tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo },
proyecto: { id_proyecto: equipo.id_proyecto },
laboratorio: { id_laboratorio: equipo.id_laboratorio },
};
const nuevoEquipo = this.equipoRepository.create(
@@ -310,6 +326,14 @@ export class EquipoService {
return await this.estadoRepo.find();
}
async findAllProyectos() {
return await this.proyectoRepo.find();
}
async findAllLaboratorios() {
return await this.laboratorioRepo.find();
}
async findAllAdscripciones() {
return await this.adscripcionRepo.find();
}