Se agregaron

This commit is contained in:
2025-11-04 10:01:02 -06:00
parent dec89fd9e7
commit 91f151d14b
5 changed files with 47 additions and 0 deletions
Binary file not shown.
Binary file not shown.
+3
View File
@@ -65,6 +65,9 @@ export class TipoEquipo {
@OneToMany(() => ProcesadorTipoEquipo, (pte) => pte.tipoEquipo)
procesadorTipoEquipos: ProcesadorTipoEquipo[];
@OneToMany(() => Equipo, (eqp) => eqp.tipoEquipo)
equipo: Equipo[];
}
@Entity()
+4
View File
@@ -62,6 +62,10 @@ export class Equipo {
)
sistemaOperativo: SistemaOperativo;
@JoinColumn({ name: 'id_tipo_equipo' })
@ManyToOne(() => TipoEquipo, (tipoEquipo) => tipoEquipo.equipo)
tipoEquipo: TipoEquipo;
@JoinColumn({ name: 'id_procesador_tipoEquipo' })
@ManyToOne(
() => ProcesadorTipoEquipo,
+40
View File
@@ -293,4 +293,44 @@ export class EquipoService {
relations: ['procesador', 'tipoEquipo'],
});
}
async contar_tipoEquipos_tipoUso(): Promise<any> {
try {
const count = await this.equipoRepository
.createQueryBuilder('e')
.innerJoin('e.tipoEquipo', 't') // une la tabla usuario
.innerJoin('e.tipoUso', 'u') // une la tabla categoria
.select(['u.tipo_uso AS uso', 't.tipo_equipo AS categoria'])
.addSelect('COUNT(*) AS total')
.groupBy('t.id_tipo_de_equipo')
.addGroupBy('u.id_tipo_uso')
.getRawMany();
return count;
} catch (error) {
console.error('Error al contar equipos por tipo y uso:', error);
throw error;
}
}
async contar_tipoEquipos_sistemasOperativos(
tipo_equipo: string[],
): Promise<any> {
try {
const count = await this.equipoRepository
.createQueryBuilder('e')
.innerJoin('e.tipoEquipo', 't') // une la tabla usuario
.innerJoin('e.sistemaOperativo', 's') // une la tabla categoria
.where('t.tipo_equipo IN (:...tipo_equipo)', { tipo_equipo })
.select(['s.sistema_operativo AS sistema_operativo'])
.addSelect('COUNT(*) AS total')
.groupBy('s.sistema_operativo')
.getRawMany();
return count;
} catch (error) {
console.error('Error al contar equipos por tipo y uso:', error);
throw error;
}
}
}